|
- |
Как настроить АЦП |
- |
Иными словами меняю
сопротивление резистора на входе МК и получаю изменение скорости
шаговика.
Частота МК 4 мегагерца МК ATMega16 изменение напряжения на входе 0..5 вольт AREF = 5 вольт Сложность задачи в том научится конфигурировать ацп программно т.е. как там чего и из чего???? Итак, приступим. Как я понимаю, в программе читается только один канал АЦП, следовательно, при старте программы надо установить мультиплексор на этот канал. Но в регистре мультиплексора есть еще биты, выбирающие режим опорного напряжения. Поскольку тут 0-5В, значит, на вход AREF надо их же и подать (обязательно!). Значит, будет так:
Для 4 МГц тактовой предделитель надо установить на CK/32, то есть
Если работаем без прерываний и прочих тонкостей, то настройка АЦП на этом закончена. Да, да, все так просто. В программе для снятия отсчета делается следующее:
WaitADC:
Все... В R17:R16 имеем 10-ти разряднеое число, при 0В на входе АЦП оно будет =0, при 5В - 0x3FF. Ну, ессно, младший разряд будет "скакать", для борьбы с этим надо уже лезть в сложности. Это самый простой вариант, конечно. АЦП в мегах достаточно "навороченный", но тут, как я понимаю, навороты без надобности.
Предделитель - счетчик с регулируемым
коэффициентом деления, с тактовой процессора на тактовую
АЦП. Тактовая процессора 4 МГц, тактовая АЦП для его нормальной работы должна быть в пределах
50-200 кГц, значит, считаем: |
(с)nml 12-Jul-2009