Чтение расходомеров с микрофонного порта

Я пытаюсь прочитать показания двух расходомеров с эффектом Холла через порт аудиовхода (микрофона) устройства Android. Я хочу иметь возможность считывать показания обоих расходомеров независимо друг от друга. Порт аудиовхода — это стандартный порт для гарнитуры, поэтому он имеет только один канал для микрофона.

Первая проблема заключается в том, что +5 В, поступающие от порта аудиовхода, обеспечивают только 2 мА, чего недостаточно для питания обоих расходомеров. Я подумал, что могу подключить USB-кабель, который будет питать / заряжать устройство Android, и использовать его + 5 В и землю для питания расходомеров.

Вторая проблема заключается в том, чтобы узнать, какой импульс поступил от какого расходомера. Мне предложили использовать R-2R для смешивания импульсов в один сигнал, но с напряжениями (и, следовательно, амплитудами) 25% и 50%. Таким образом, когда я считываю импульс, я знаю, имеет ли он амплитуду 25 % от расходомера A, 50 % от расходомера B, 75 % от обоих. Хороший ли это подход?

Теперь проблема заключается в том, как подать выходное напряжение с R-2R на землю порта аудиовхода. Кажется, мне нужно использовать выходное напряжение от R-2R для управления напряжением +5 В порта аудиовхода. Проведя некоторые исследования, я обнаружил, что вы можете использовать операционный усилитель для создания «повторителя напряжения», который будет согласовывать напряжение одной цепи с напряжением другой. Звучит как именно то, что мне нужно, но так ли это?


Я собрал схему как мог - я все еще довольно новичок в EE. Могу ли я получить какое-то подтверждение его правильности? Любые изменения или улучшения?: http://www.digikey.com/schemeit/#1fwi

Вот расходомеры, которыми я сейчас пользуюсь: http://www.adafruit.com/products/828 .

Вот расходомеры, которые я хочу использовать в конечном итоге: FT-330 от Gems Sensors (извините, могу разместить только 2 ссылки - можете погуглить "FT-330", и это первый и второй результат).


До сих пор я тестировал на своем настольном ПК. Я написал приложение Java, которое может обнаруживать импульсы (прерывания?) от порта аудиовхода (микрофона). Я могу подключить один расходомер, подключив +5 В от порта аудиовхода к +5 В расходомера и землю от порта аудиовхода к импульсной линии расходомера. Я не знаю, правильно ли это, но это работает, я получаю сигнал от расходомера и вижу импульсы вот так:

приложение для чтения импульсов расходомера


Ну, я собрал все свои части, и моя схема не работает.

Я обнаружил, что мои расходомеры переключаются между состояниями «включено» и «выключено» в зависимости от положения колеса и не посылают ни единого импульса, как я думал. Когда они «включены», +5 В можно прочитать с импульсного контакта на землю. Когда они "выключены", это 0v.

Р-2Р вроде работает. Когда ни один из расходомеров не «включен», я считываю +0,02 В с выхода R-2R (комбинированные импульсы) на землю. Когда включен только расходомер 1, я показываю +0,95 В. Когда включен только расходомер 2, я показываю +1,95 В. Когда оба включены, я читаю +3,24 В. Пока это будет работать, я ожидал получить +1,25 В (25%), 2,5 В (50%) и 3,75 В (75%) соответственно. Почему не я?

Операционный усилитель вообще не делает то, что я хочу. Когда VCC операционного усилителя составляет +3,24 В (оба расходомера включены), показания между выходом операционного усилителя и землей микрофона дают мне -1,2 В. Почему это отрицательное напряжение? Я думал, что операционный усилитель изменит напряжение с IN+ (+5 В микрофона) на OUT (земля микрофона), чтобы согласовать напряжение с VCC на GND. Что мне здесь не хватает?

Какой диапазон частот вы ожидаете получить от датчиков расхода? Я ожидаю, что микрофонный вход на вашем телефоне не будет работать на частотах ниже 100 Гц или около того. Микрофонный вход должен хорошо работать на частотах от 100 Гц до 15 кГц или около того.

Ответы (1)

В этом посте у вас много вопросов. В следующий раз рекомендую разбить их на отдельные посты или хотя бы пронумеровать.

1) Да, вы можете получить 5 В от зарядного USB-кабеля. Это будет работать просто отлично.

2) Да, подход с двумя резисторами, который вы описываете, хорош, если вы используете его с правильным типом выхода (двухтактный или открытый коллектор). Показанные вами схемы предполагают двухтактные выходы, в то время как FT-330 имеет открытый коллектор (вы можете сказать, потому что для них требуется подтягивающий резистор). Непонятно, какой у adafruit метр выход, но предположительно двухтактный, так как нет упоминания о подтягивающих резисторах.

3) Я не уверен, зачем вообще нужен операционный усилитель. Это не повредит, но вы должны иметь возможность просто подключить выход к входу микрофона. Выходное напряжение немного упадет, в зависимости от входного сопротивления телефона, но это может не быть проблемой. Добавляйте операционный усилитель только после того, как вы установили, что телефон создает слишком большую нагрузку.

4) Причина, по которой ваши операционные усилители не работают, заключается в том, что вы сделали ошибку в проводке. Судя по вашим схемам, ваш Vcc всегда должен быть 5 вольт. Если вы этого не видите, трижды проверьте, правильно ли вы все собрали.

дополнительно: из вашего скриншота видно, что у вас есть конденсатор на входе микрофона (вероятно, внутри телефона). Как видите, это приводит к тому, что «среднее» напряжение на входе будет равно 0 вольт. Вы можете видеть это на графике — если подать, скажем, +5В вольт, то через несколько десятков мс конденсатор зарядится до +5В и на входе будет 0 вольт (+5 - +5). Если теперь подать на вход 0 В, карта увидит -5 вольт (0 - +5 В). Но вскоре конденсатор разрядится и вы снова увидите 0В.