Сообщение от putmannn
|
Измерение однополярное.
Делитель не шунтирован (не знаю как это ... новичок в электронике).
Как это инициализировались ? не очень понимаю это слово... значение в них попало по окончании преобразования (непрерывного) ацп, по прерыванию иду на процедуру обработки значений,
беру из ADCH:ADCL данные и всякие действия выполняю.
|
Насчёт камня сам лопухнулся, виноват.
Теперь об измерениях. Между общим проводом резистивного делителя и аналоговой землёй микроконтролллера не должно быть сегмента силового проводника. Это раз.
К резистору, подключенному к общему проводу и выводу Aref микроконтроллера, необходимо (параллельно) подключить конденсатор, иначе вход Aref будет ловить помехи и из за этого будет дополнительная погрешность измерений. Какой ёмкости, точно не скажу, но можно попробовать 0.1 мкФ, 1.0 мкФ (керамику). Может, народ, поточнее подскажет.
Перед началом измерений, регистры микроконтроллера необходимо сконфигурировать (стр. 193 даташита) "Analog-To-Digital Converter". Т.е. в регистры микроконтроллера (регулирующие работу АЦП) записать значения необходимые:
- по какому каналу проводить измерения;
- тип измерений (дифф., однополярное)
- источник опорного напряжения и пр.
Контроллер имеет внутреннее опорное 2.56В.
Для отладки алгоритма измерения, сначала не надо заморачиваться со светодиодом. испорльзовать внутренний опорник. Подать на вход напряжение (0.5В, 1.0В, 2.0В, 2.5В). Научиться пользоваться АЦП. Затем заменить внутренний опорник, на внешний. Чтобы не тратить время из-за ошибки в программе, внешнее опорное должно отличаться (заметно).
Снова повторить измерения. Затем перейти на требуемый диапазон. Симитировать сигнал от шунта (шунт подключать не напрямую, а через RC фильтр).
Могут быть возражения - но это же долго. Да, немного дольше, чем запаять и сразу получить результат. Но это обучение. Один раз потратитесь, зато разберётесь, как АЦП работает, как в работе АЦП участвуют конфигурационные регистры, в схемотехнике, как смоделировать интересующую ситуацию, как создать условия, чтобы выявить место ошибки. А в следующий раз уже не будет подобных проблем, даже на другом типе контроллеров. Полученные навыки не пропадут. Схема сразу будет рисоваться и разводиться правильно. Будут исключены ошибки в конфигурировании и программировании.