Предыдущая Следующая

Создание световых эффектов с помощью АЦП

51

скоростью, пропорциональной преобразованному АЦП напряжению. Цифровой код устанавливается как временные промежутки между моментами включениями светодиодов. Для расширения количества выводов микроконтроллера используется дешифратор. Работа схемы (рис. 2.2) подробно описана в [9].

Рис. 2.2. Принципиальная схема устройства

Монтажная плата представлена на рис. 2.3.

Автор собрал схему на макетной плате. На это с учетом устранения всех ошибок монтажа и программирования микроконтроллера ушло три часа. Размещение светодиодов — такое же, как и в предыдущей версии схемы. Новшеством является использование резисторов R12, R13 и конденсатора СЗ. С помощью резистора R12 на входе АЦП 3 (альтернативная функция вывода РВ4) можно установить напряжение от 0 до 5 В (для несимметричных входов диапазон входных напряжений составляет O..Vcc) [8]. Конденсатор СЗ позволяет сгладить всплески напряжения при изменении регулятора R12. Тем самым АЦП преобразует интегрированное значение напряжения на входе. Для ограничения тока на вход АЦП установлен резистор R13. Для более эффективного сброса микроконтроллера в схеме установлена цепочка Rll, С2. Дешифратор VI управляет непосредственно светодиодами.

Глава 2

0 0 0 0

Рис. 2.3. Монтажная плата устройства

Создание световых эффектов с помощью АЦП

53

I

Рис. 2.3. Окончание

Алгоритм работы

При включении питания все параметры обнуляются. В начале программы опрашиваются выводы порта В микроконтроллера, после чего АЦП считывает введенную константу для задержки включения. Последовательно выполняются подпрограммы задержки включения и выбора светового эффекта и светодиода, а затем происходит возврат в начало программы с обнулением параметров.

Работа АЦП микроконтроллера tinyl 5 отличается от правил, установленных в [10] (для более развитых моделей семейства AVR). На первом этапе необходимо выполнить коммутацию аналогового входа АЦП с помощью встроенного аналогового мультиплексора. Для этого в разрядах 0-2 регистра ADMUX устанавливается соответствующая комбинация нулей и единиц. Кроме того, необходимо установить источник опорного напряжения с помощью разрядов 6 и 7 регистра ADMUX.

На втором этапе с помощью разрядов 0-2 регистра ADCSR задается тактовая частота АЦП путем деления тактовой частоты микроконтроллера. 'Затем разрешается работа АЦП, выбирается режим его работы

54

Глава 2

(в данном случае — одиночное преобразование), и активизируется преобразование.

По завершении преобразования, которое длится 25 тактов АЦП, данные записываются в регистры ADCL и ADCH. Чтение этих регистров выполняют в строгой последовательности: вначале ADCL, затем ADCH.

В таком виде считывания данных АЦП программа работает нестабильно из-за наводок и шумов от питающей сети (переключение светодиодов происходит хаотически, с разной скоростью). Во время чтения АЦП автор не использовал "спящего" режима, поскольку эксперименты показали, что это необязательно.


Предыдущая Следующая






Warning: include(./news.php) [function.include]: failed to open stream: No such file or directory in /var/www/picprof/data/www/picprof.com/book/book8_22.html on line 136

Warning: include(./news.php) [function.include]: failed to open stream: No such file or directory in /var/www/picprof/data/www/picprof.com/book/book8_22.html on line 136

Warning: include() [function.include]: Failed opening './news.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/picprof/data/www/picprof.com/book/book8_22.html on line 136