Проект tinyAVR 22. Электронная спичка без огня

December 21, 2014 by admin Комментировать »

Представьте себе спичку, которая после чирканья по коробку вспыхивает, но не загорается. Какой прок от такой спички? Она пригодится в театральных постановках и ее можно давать детям (которые не должны играть с огнем). Электронная спичка — это именно такое устройство, поскольку вы должны чиркнуть по коробку и только тогда она "вспыхнет". Для этого в устройстве есть катушка индуктивности (на спичке) и скрытый магнит (внутри коробка). На рис. 5.17 изображена блок- схема нашей спички.

Рис. 5.17. Блок-схема электронной спички

Спецификация проекта

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

Описание устройства

Поскольку спичка должна загораться после чирканья по коробку, то возникают два вопроса: как подать питание на нее и как создать сигнал запуска, зажигающий спичку. Для питания спички есть несколько способов. Вполне естественным вариантом могут быть батарейки. Однако при этом потребуется включатель и, что еще важнее, решение проблемы,’ как спичку выключать? Разумеется, программа микроконтроллера может выключить спичку через определенное время, но от этого процесс горения спички лишится элемента случайности. Поэтому батарею мы решили заменить ионистором. Ионистор может запасти большое количество энергии, которой хватит для питания устройства. Преимущество такого подхода в том, что ионистор будет естественным образом разряжаться через схему, и таким образом спичка погаснет сама.

Второй вопрос: как запустить горение спички. Для этого используется простой трюк с катушкой индуктивности. Как мы уже знаем, перемещение катушки в магнитном поле создает напряжение на ее выводах. Если скорость изменения магнитного поля достаточно велика, то генерируемого напряжения будет достаточно для вызова прерывания микроконтроллера, а дальше микроконтроллер сделает все, что нам нужно.

На рис. 5.18 приведена принципиальная схема устройства. Для питания спички выбран ионистор на 10 Ф. Его напряжение рабочее 2,7 В, т. е. его можно зарядить до этого напряжения, что позволяет запасти заряд в 27 кулонов. Для зарядки иони- стора предусмотрена внешняя батарея (лучше всего подходят две последовательно соединенные щелочные или никель-металлогидридные батареи по 1,5 В). Ионистор подключен к преобразователю МАХ756, который выдает 5 В. МАХ756 можно настроить и для выдачи 3,3 В, но нам нужно управлять белым светодиодом, а для этого 3,3 В недостаточно. Для работы преобразователь использует катушку L1 (22 мкГн) и диод Шоттки (1Ν5819). После того как ионистор зарядится выше 1,2 В, преобразователь выдает напряжение 5 В на микроконтроллер Tinyl3. Микроконтроллер получил питание и ждет внешнего запуска. Сигнал запуска приходит с катушки L2, индуктивность которой гораздо больше— 150 мГн. Когда спичку чиркают по коробку со скрытым магнитом, катушка выдает всплеск напряжения. Диод защищает микроконтроллер от выбросов отрицательной полярности. После запуска микроконтроллер выполняет код программы, которая случайным образом зажигает светодиод (точно так же, как в проекте светодиодной свечи). Светящийся светодиод потребляет гораздо больше энергии, чем микроконтроллер, поэтому ионистор быстро разряжается. После падения напряжения ионистора ниже 0,7 В преобразователь выключается, микроконтроллер прекращает работу и спичка "тухнет". В устройстве использован белый десятимиллиметровый светодиод, но подойдет и пятимиллиметровый.

Рис. 5.18. Принципиальная схема электронной спички

Конструкция

Компоновку платы в программе EAGLE (и принципиальную схему) можно скачать по ссылке: www.avrgenius.com/tinyavrl.

Печатная плата для данного устройства нестандартная (из-за специфических требований). Плата (рис. 5.19) спроектирована так, чтобы она была длинной и узкой (напоминающей спичку) и заключена в прозрачную трубку из оргстекла (рис. 5.20). Сначала на плату были припаяны все компоненты в корпусах SMD, а потом все остальные компоненты. Длина трубки выбрана такой, чтобы светодиод выступал из нее. Светодиод залит термоклеем, который можно окрасить в красный цвет.

Рис. 5.19. Печатная плата электронной спички

Рис. 5.20. Электронная спичка в сборе

Программирование

Откомпилированный код проекта (вместе с файлом MAKEFILE) можно скачать по ссылке: www.avrgenius.com/tinyavrl.

Тактовая частота равна 1,6 МГц. Главный бесконечный цикл программы приведен в листинге 5.5. Если переменная mode имеет значение on, то система генерирует

псевдослучайную переменную l’fsr (при помощи 32-разрядного сдвигового регистра LFSR с отводами от 32-го, 31-го, 29-го и первого разрядов). Это значение записывается в переменную temp (чтобы сохранить последнее состояние LFSR), а значение temp выводится на PORTB. Задержка системы тоже зависит от temp и поэтому она также псевдослучайна.

while(1)

{

ί=1;//3το сделано для игнорирования всех прерываний до этого if (mode==ON)

{

//Галуа

lfsr = (lfsr » 1) 74 (-(lfsr Sc lu) Sc OxdOOOOOOlu);

/* отводы 32 31 29 1 */ temp = (unsigned char) lfsr;

DDRB= -temp;

PORTB = temp;

temp = (unsigned char)

(lfsr » 24);

_delay_loop_2 (temp«7) ;

}

}

Значение переменной mode глобально устанавливается в off. Главная программа устанавливает переменную i в 1. Когда спичкой чиркают по коробку, в катушке возникает импульс напряжения, который прерывает процессор, и выполняется процедура обработки прерывания pcinto. В коде этой процедуры значение mode устанавливается в on, а маски gimsk и pcmsk устанавливаются в охоо при помощи процедуры обработки прерывания (листинг 5.6). После возврата в главную программу в бесконечном цикле выполняется код LFSR, который зажигает светодиод случайным образом.

ISR (PCINTO_vect)

{

if (i==l)

{ mode = ON;

GIMSK = 0x00;

PCMSK = 0x00;

}

}

Остальной код — различные инициализации, которые задают значения для используемых в программе масок и переменных.

Работа устройства

Для пользования спичкой нужно иметь специальный коробок со скрытым магнитом. Полярность магнита (какой полюс магнита направлен наружу) также важна. Ионистор в спичке нужно сначала зарядить. Для этого мы используем две соединенные последовательно батарейки размера АА. После подключения батареек к иони- стору для его полной зарядки может потребоваться некоторое время. После зарядки ионистора (это можно проверить, измерив напряжение на нем, которое для нормальной работы спички должно быть не менее 2 В) можно чиркнуть спичкой по коробку. Как вы догадываетесь, не обязательно "физически" чиркать спичкой по коробку. Если вы быстро махнете спичкой рядом с коробком, в катушке появится всплеск напряжения и устройство сработает. Если вам не удается заставить спичку работать надлежащим образом, посмотрите видеозапись по ссылке: www.avrgenius.com/tinyavrl.

Источник: Гадре, Д., Занимательные проекты на базе микроконтроллеров tinyAVR / Дхананья Гадре, Нигул Мэлхотра: Пер. с англ. — СПб.: БХВ-Петербург, 2012. — 352 с.: ил. — (Электроника)

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты