Почему АЦП Ардуино может получать неверные данные?
- Войдите на сайт для отправки комментариев
Собрал устройство, пошли месяцы тестирования. И вдруг...
В случайный момент времени показания с терморезистора (NTC 10K) становятся неадекватно высокими (то есть, функция analogRead() возвращает вместо значения 800 значение 1000).
В момент, когда это происходит, работает исключительно 2 SSR-реле, коммутирующие ТЭНы на 1500 и 750 Вт.
В аналоговый пин воткнуты вышеупомянутый терморезистор (вторая нога на +5в) и резистор 2200 Ом (вторая нога на -5 в).
Одновременно увеличиваются показания с двух аналоговых пинов. При этом остальные функции работают нормально.
Пока подозрения такие:
- скачок напряжения. Замечал, что если питать плату напряжением несколько отличающимся от 5 вольт, показания немного отличаются. Но не настолько, как написано выше (800 - > 1000).
- какая-то помеха
Проблема с ошибкой в том, что она возникает очень редко и отловить её не представляется возможным. При перезагрузке устройства (выключении-включении блока питания) ошибка мгновенно устраняется.
Через USB ещё не питал, замеры блока питания вольтметром не делал. Ищу тех, кто сталкивался с подобным.
Ну так это нормальное явление для плохо спроектированной схемы. Любые помехи по питанию и наводки на опорное напряжение АЦП часто приводят к подобному результату. Да и что ожидать от игрушки, разводка платы которой не соответствует требованиям мануала на МК?
Ну так это нормальное явление для плохо спроектированной схемы. Любые помехи по питанию и наводки на опорное напряжение АЦП часто приводят к подобному результату. Да и что ожидать от игрушки, разводка платы которой не соответствует требованиям мануала на МК?
Спасибо. Помеха в моём понимании приведёт к некоемому скачку, сбою, прекращению работы . А тут в состоянии покоя просто добавляется некий коэффициент и обратно не уходит.
Подскажите, даст ли подобную помеху симмистор, подключённый к цифровому пину и к -5в обычными 0.125мм неэкранированными медными проводами и как правильно его подключать для исключения помех. Может, через резистор?
Помеху может давать, в том числе, нагрузка, подключенная к симистору. В сети есть мануалы, где описывают приёмы уменьшения наводок на АЦП. Среди прочего отключение любой активности МК на время работы АЦП. Аппнота от AD около 40 страниц текста. TI тоже даёт много материала по вопросам наводок и борьбы с ними. Надеюсь переписывать в форум мне всё это не надо? Хватит сил найти и прочитать?
А про вопросы - для меня они выглядят как крошка сын к отцу пришёл и спросила кроха... ответы да или нет ни как не приблизят к решению задачи. А объяснить - надо прочитать несколько лекций. А это явно не формат форума.
Об этом как раз было в удалённом посте #1.
Пока не нашёл ни от AD ни от TI.