Часто, в разных местах, требуется освещение типа «лишь бы не полная тьма». Например, лестничная клетка многоквартирного дома, где иголки на полу искать не требуется, а достаточно лишь минимального света, чтобы не оступиться или иметь возможность попасть ключом в замочную скважину. Обычно, в таких случаях, вкручивается либо 20-40 ваттная «лампочка Ильича» или «экономичная» на 7-9Ватт. Лампа накаливания имеет свойство часто перегорать, а «экономички», просто, банально крадут (у меня с лестничной клетки, за 3 года, стырили штук пять, мною вкрученных — мелочь, но неприятно). Если вам нужен экономичный и защищенный от воровства (ну, скажем так, более защищенный, чем просто лампочка) источник света, то читайте дальше.
Дмитрий @lnx
User
Многоканальный программный ШИМ в AVR
5 min
134KЧто такое ШИМ и как он работает особо подробно расписывать не буду, информацию без труда найдёте на просторах интернета. Коснусь лишь общих понятий. ШИМ — это Широтно-Импульсная Модуляция, (по-английски PWM — Pulse Width Modulation) уже из самого названия ясно, что здесь что-то связанное с импульсами и их шириной. Если изменять ширину (длительность) импульсов постоянной частоты, то можно управлять, например, яркостью источника света, скоростью вращения вала электродвигателя или температурой какого-либо нагревательного элемента. Обычно, именно с помощью ШИМ микроконтроллер управляет подобной нагрузкой. Микроконтроллеры имеют аппаратную реализацию ШИМ, но, к сожалению, количество аппаратных ШИМ-каналов ограничено, например, в AТmega88 их аж шесть штук, в ATtiny2313 — четыре, в ATmega8 — три, а в ATtiny13 только два. В AVR ШИМ-каналы используют таймеры и их регистры сравнения OCRxx. Изменяя их содержимое и задавая параметры таймеров, в зависимости от задач, можно управлять состоянием, связанного с регистром, выхода — подавать на него 1 либо 0. То же самое можно организовать программно, управляя любым выводом контроллера, а главное, реализовать большее количество ШИМ-каналов, чем имеется на борту аппаратных. Практически, количество каналов ограничено лишь количеством ножек-выводов микроконтроллера (по крайней мере, если говорить о семействах Mega или Tiny). Как оказалось, алгоритм довольно прост, но у меня ушло некоторое время на его понимание и полное осознание.
+10
Information
- Rating
- Does not participate
- Location
- Латвия
- Date of birth
- Registered
- Activity