Например TDA7294

РадиоКот > Схемы > Цифровые устройства > Игрушки

Простой игрушечный светофор

Автор: axillent
Опубликовано 30.12.2013.
Создано при помощи КотоРед.

Вступление

Целей у данного проекта было две. Первая - собственно игрушечный светофор для ребенка. Вторая - освоить и проверить на практике питание устройств на МК от одной батарейки с применением повышающих преобразователей.

Светофор

Функциональность игрушки была выбрана самая простая - переключение по циклу зеленого, желтого и красного с имитацией работы одиночного дорожного светофора. Задача простая, поэтому и схемное решение выбиралось максимально простым, за основу был взят самый маленький AVR8 - attiny9. Вместо attiny9 можно применить attiny10, отличие между ними только в том, что в attiny10 присутствует ADC, который в светофоре не задействован. В этой же серии есть attiny4/5, они эквивалентны за исключением размера программной памяти - их 512 байт мало для задачи. Эта статья продолжает цикл статей с применением этих мелких зверьков.

Питаем от одной батарейки

Возможность питания от одной батарейки представляет интерес, в основном для разного ряда датчиков домашней автоматизации. Сегодня есть целый ряд компактных микросхем, которые могут повысить напряжение от одной алкалиновой либо NiMh батареи до нужных нам 3.3В или 5.0В. Наибольший интерес представляют микросхемы с минимальным набором необходимых внешних компонентов. Приведу здесь короткий обзор трех заинтересовавших меня микросхем.

NCP1402

Это маленький чип от ON Semiconductor в корпусе SOT-23-5 стартует от 0.8В (после запуска работает вплоть до минимума 0.3В) и позволяет получить от 1.8В до 5.0В с током до 200мА. Ток потребления самой микросхемой 30мкА. Выходные напряжения фиксированные, наиболее интересные 3.3В - это NCP1402SN33T1, или 5.0В - для NCP1402SN50T1. Для работы нужны всего 4 внешних компонента:

 TPS6122x

Маленький чип в корпусе SC-70 от Texas Instruments, стартует от 0.7В, верхний предел входного напряжения 5.5В. Выходное напряжение от 1.8В до 5.5В. Ток переключения до 400мА (в некоторых режимах), ток переключения пропорционален току в нагрузке и примерно равен умноженному на коэффициент преобразования и эффективность току потребления. Ток потребления самой микросхемой 5.5мкА, есть режим сна в котором потребление не превышает 1мкА. Есть три варианта микросхемы: TPS61220DCK - настраиваемое выходное напряжение, TPS61221DCK - 3.3В, TPS61222DCK - 5.0В. Схема с настраиваемым выходным напряжением требует 5 внешних компонентов:

 

MCP1640

Третий в нашем списке маленький чип от Microchip в корпусе SOT23-6 или 2x3 DFN. Входное напряжение от 0.35В до 5.5В. Ток потребления до 800мА, ток потребления самой микросхемы 19мкА в активном режиме и менее 1мкА в режиме сна. Есть два варианта микросхемы: MCP1640B в режиме сна отключает нагрузку, MCP1640C/D в режиме сна замыкает вход на выход. Выходное напряжение настраивается резистивным делителем в диапазоне от 2.0В до 5.5В. В типовом включении требуется 5 внешних компонентов:

Чипы по возможностям очень схожи. Самый маленький TPS6122x - корпус 2х2 мм. Он же меньше всех потребляет ток в активном режиме. По количеству внешних компонентов выигрывают версии с фиксированным напряжением - это все NCP1402 и TPS61221DCK/TPS61222DCK. При этом NCP1402 требует индуктивности большей индуктивности – 47мкГн в типовом включении против 4.7мкГн для двух других. Применять микросхемы можно используя или не используя режим сна. Для MCP1640 и TPS6122x можно использовать с кнопкой включения без применения дополнительных транзисторов. По  возрастанию цены микросхемы  можно расположить так - NCP1402, MCP1640, TPS6122x. В схеме ниже применен MCP1640 примерной ценой 30р.

Схема

После обзора повышаюших преобразователей, в простой схеме, приведённой ниже, особо объяснять нечего, все просто:

Использованы две платы, на первой собственно запаяны все компоненты, на второй впаяны клипсы для фиксации батарейки формата AA. Платы конструктивно разнесены, так, чтобы более крупную батарейку разместить в основании светофора, соединены платы двумя проводами питания. Платы сделаны ЛУТом, минимальная толщина дорожек 0.3мм (зеркально, в приложении PDF):

Кроме кноки, светодиодов и клипс для батарейки все компоненты SMD. Светодиоды применены обычные 5мм соотвественно зеленого, желтого и красного цвета. Их forward voltage не должен быть больше 2-2.2В так как напряжение питания 2.4В. Указанные на схеме резисторы расчитаны исходя из forward voltage 2.0/1.9/1.9В для зеленого/желтого/красного соотвественно.

Вся конструкция собрана в корпусе напечатанном на 3D принтере. Модели для печати доступны здесь.

Собранная плата с нижней стороны (плата выше исправлена, перемычка проводом не требуется):

В процессе сборки:

В работе :) :

Программа

Единственная кнопка управляет включением и выключением светофора. Включение/выключение программное. Режим сна MCP1640 не используется, засыпает сам МК. Сделано это осознанно. С одной стороны хотелось протестировать именно режим непрерывной работы МК, что важно для сенсоров. С другой – программная кнопка позволяет при желании сделать не просто включение/выключение, но еще и смену режима работы светофора. После включения светофор начинает работать по циклу начиная с красного света. По истечении 20 минут светофор автоматически выключится.

Все необходимые действия реализованы на таймерах по прерываниям. Основной цикл отвечает только за режимы засыпания и за переключения режима включено/выключено. Последовательность переключения светодиодов и временные задержки заданы в массиве data01, его структура простая и позволяет легко перенастроить логику переключения, временные задержки задаются в тиках таймера который срабатывает 10 раз в секунду, т.е. задержка 150 означает 15 секунд. Хранится массив в программной памяти, в текущей версии программы есть запас более 200 байт, которые можно использовать для изменения логики переключения, увеличив массив и не меняя логики основной программы. Время автоматического отключения задано через #define TIMEOUT и задается так же в тиках таймера, 20 минут заданы как 20*60*10.

Из схемы и МК выжато все, что возможно для снижения энергопотребления. Частота снижена до 128кГц. Сторожевой таймер и ADC (если будет применена attiny10) отключены. Основное время МК спит. В режиме включено он спит в режиме IDLE при котором продолжает работать таймер и просыпается только для того, чтобы выбрать следующий цикл из массива data01, переключить светодиоды и заснуть снова. В этом режиме среднее потребление без учета тока через светодиод составляет порядка 60мкА. В режиме выключено он спит в режиме POWER_DOWN и реагирует только на прерывание от кнопки включения. В этом режиме он потребляет менее 1мкА. Напряжение питания тоже выбрано минимальное для снижения потребления от батарейки - 2.4В, при этом напряжении гарантировано загораются почти любые зеленые/желтые/красные светодиоды. В целом от батарейки устройство потребляет 12мА в режиме включено и 40мкА в режиме выключено (с учетом потребления MCP1640).

Проект в исходниках для Atmel Studio 6 и откомпилированный HEX приложены к статье.

Заключение

И небольшое видео работы светофора:


Файлы:
Архив ZIP


Все вопросы в Форум.


ID: 1857

Как вам эта статья?

 Нравится
 Так себе
 Не нравится

Заработало ли это устройство у вас?

 Заработало сразу
 Заработало после плясок с бубном
 Не заработало совсем

48 3 1