phoenix367 » 01 ноя 2013, 00:12
Сегодня получил заказ с операционниками и буквально час назад собрал схему контроля питания. Короче, берете ОУ, например, MCP601 и собираете на нем схему с figure 4-6(A) из даташита . По желанию схему можно приправить конденсаторами и защитными диодами. Номиналы резисторов выбираете в зависимости от того, какое у вас напряжение питания. Главное при этом, чтобы напряжение на выходе ОУ не превышало +3,6В - это максимальное напряжение, которое может измерить АЦП виртурилки. Подрубаете вход схемы к + источника питания, а выход ко входу одного из АЦП виртурилки (например, ADC0). ОУ нужен для того, чтобы низкое входное сопротивление АЦП (около 2 КОм) не влияло на напряжение, снимаемое с резистивного делителя.
Далее у вас два пути - либо писать читалку самостоятельно, либо воспользоваться моим поделием отсюда . Если выбираете первый вариант, то вам нужно нужно открывать устройство /dev/v2r_adc, вычитывать из него 12 байт, а затем закрывать. Каждая пара байт содержит двоичный код от 0 до 1023 значения на входе соответствующего АЦП. Соответственно 0 - это 0 В, а 1023 - это 3,6 В и выше. Переводите двоичный код в напряжение и умножаете его на коэффициент деления схемы, про которую я писал выше.
Если выбираете путь номер 2, то пишете свою читалку с использованием SDK, устанавливаете множитель и читаете из АЦП без лишнего гемора. В качестве примера можете посмотреть исходный код программы adcdemo.
Если интересно, то могу выложить видео (правда без звука) как это работает.