Привет всем Ардуинщикам и сугубо им сочувствующим.
Наткнулся я в интернете на данную плату, изучил характеристики и приглянулись, некоторые встроенные в чип, элементы которые нужны для моего проекта (зарядник для автомобильных аккумуляторов). В этот чип встроены - операционный усилитель, 2 компаратора, делитель напряжения, ускоритель вычислений, цифроаналоговый преобразователь 8 бит, АЦП 12 разрядный, и вычисления на частоте 30 МГц. Классно.
В первую очередь решил изучить встроенный в АЦП операционный усилитель. Мне он нужен для усиления напряжения с токового шунта. 2 недели я перелопачивал даташит, паял схемки и писал программу чтобы научится с ним работать. И кое что получилось. Он заработал как и было нужно.
Вот на данной схеме я проводил эксперименты с усилителем и АЦП. Напряжение на контакте А0 должно быть в районе 0,000477 В (4,77/10000). Это напряжение нужно зафиксировать и оцифровать. Опорное напряжение может быть 1.024V / 2.048V / 4,096V / напряжение питания / внешнее. Я выбрал 1,024 В. разрядность АЦП 12 бит 4096 (у обычной ардуино 10 бит 1024). 1,024/4096=0,00025 В - минимальная чувствительность АЦП. Этого не достаточно для более точного расчета напряжения с шунта. Нужно увеличить напряжение с помощью операционного усилителя.
В АЦП интегрирован внутренний дифференциальный операционный усилитель с программируемым усилением x1 / x8 / x16 / x32. Инвертирующий вход(-) нужно подключить к земле, не инвертирующий вход (+) к мультиплексору АЦП, чтобы нормально работала функция analogRead(0). Вход АЦП переключить на усилитель (смотри схему).
Вот скетч для данной схемы:
В расчет напряжения пришлось внести поправочный коэффициент, так как усилитель на выходе уже имеет напряжение и чем больше коэффициент усиления (x1 / x8 / x16 / x32) тем выше напряжение на выходе. При x16 это как раз 285 примерно, значение прыгает.
Итак, как бы оно там не было все работает. Напряжение замерено и почти соответствует расчетному напряжению и замеренному мультиметром.