Данный автомат предназначен для приема оплаты за игровые аттракционы в парках, кинотеатрах и прочих общественных местах. Сфера применения этим не ограничивается. К примеру, один из автоматов обслуживает четыре стиральные машинки в студенческом общежитии и планируется установка подобных автоматов в пансионатах. Теоретически количество обслуживаемых нагрузок (аттракционов, стиральных машин и прочее) не ограниченна. Но не будет пускаться в маркетинг, а рассмотрим работу автомата.
Автомат состоит из купюроприемника, блока управления и индикации, блоков контроля нагрузки и, естественно, блока питания. Применительно к аттракционам алгоритм работы следующий: При получении купюр купюроприемником блок управления производит подсчет полученной суммы. Если сумма больше чем, установленный тариф, то при нажатии кнопки выбора аттракциона происходит подключение выбранного аттракциона к питающей сети на заданное время. При отсутствии потребления электрической энергии аттракционом в течении определенного времени считается, что аттракцион так и не была использован (аттракцион не рабочий, клиент передумал, ребенок закапризничал и прочее) и может быть выбран другой аттракцион. Если внесена сумма, более чем установленный тариф, то остаток может быть использован для другого платежа. Применительно к стиральным машинкам алгоритм немного другой: при отсутствии потребления электрической энергии считается, что стиральная машинка закончила стирку ранее заданного времени и можно её использовать снова. Конечно, в этом случае возможно, что стиральную машинку даже и не начали использовать, но это решается в каждом конкретном случае отдельно. Именно этот вариант устройства, программы и прошивки приложен к данной статье.
Перейдем к принципиальной схеме устройства и описанию программы.
Основной блок включает в себя микроконтроллер ATmega 8 (U1) с LCD индикатором (LCD1), микросхему RTC DS1307 (U11), микросхемы опроса 74HC165 (U12-U14), микросхемы управления нагрузкой 74HC574 (U6) и ULN2803 (U9). Нагрузка подключается к питающей сети посредством реле, подключенных к ULN2803. Микросхемы опроса служат для опроса состояния нагрузки и опроса кнопок выбора нагрузки (U14), а также опроса перемычек, определяющих режимы работы нагрузок (U12, U13). Микросхемы опроса и управления фактически образуют кольцевой сдвиговый регистр. Передача данных между микроконтроллером и микросхемами опроса и управления нагрузкой ведется по протоколу SPI. Интерфейс SPI аппаратно имеется в ATMega8. Для того, чтобы одновременно принимать и передавать данные по протоколу SPI необходимо согласовать уровни разрешения чтения в сдвиговых регистрах 74HC165 и записи в регистр 74HC574. Для этого используется один логический элемент микросхемы 7400, включенный как инвертор. Сопряжение блока управления с купюроприемником происходит по протоколу RS-232 на скорости 9600 бод. Для преобразования уровней используется преобразователь интерфейса на базе MAX232, подключенный к выводам 2 и 3 микроконтроллера.
Блок контроля нагрузки реализован на базе транзистора Q1. Диоды D3, D4 и резистор R10 образуют как-бы шунт, через который протекает ток нагрузки. Транзистор служит пороговым элементом, который при падении напряжения на шунте более чем напряжение база-эмиттер транзистора открывается и подается сигнал на оптопару U5. Первоначально было опасение, что переход база-эмиттер транзистора может быть пробит при больших токах, но эксплуатация показала надежную работу данной схемы. При открывании транзистора также загорается светодиод D2, установленный для визуального контроля. Подбором резистора R10 можно регулировать чувствительность блока к протекающему току. При указанных на схеме 2,2 Ома блок четко фиксирует лампочку мощностью в 100 Ватт; лампочку в 75 Ватт фиксирует при напряжении 220 Вольт, но при 200 Вольтах уже не фиксирует; лампочка в 60 Ватт уже не фиксирует при любом питающем напряжении. Диоды ограничивают падение напряжения и, соответственно, мощность, рассеиваемую резистором. Кстати, диоды, при малых токах нагрузки, необходимо подобрать. При указанных на схеме диодах 10A04 (10A10) и отсутствующем резисторе R10 четко фиксируется даже нагрузка в виде обмотки пускателя. В блоке на фото ниже применены диоды Д232, с которыми даже лампочка в 25 Ватт уже не фиксируется. Блок контроля нагрузок питается от своего параметрического стабилизатора на элементах D1, D5, R11. В целом данный блок можно заменить и трансформатором тока с выходом на оптопару, и четырьмя попарно-встречно-параллельно включенными диодами с оптопарой (см. ниже фото 2-го варианта).
Блок питания использован готовый от старого LCD-монитора. Блок питания вырабатывает напряжения +5 Вольт и +14 Вольт. Понятно, что +5 Вольт используется для питания логической части схемы, а +14 Вольт — для питания обмоток реле и купюроприемника.
А вот фото ещё одного устройства, в котором блок контроля нагрузок заменен диодным мостом с попарно-встречно-параллельно включенными диодами. Блок питания использован от старого ДВД-плеера. В качестве нагрузки 1-го канала использована лампа накаливания, а для 2-го канала используется пускатель, который коммутирует 3-хфазный двигатель. Рядом с диодными мостами есть места для установки резисторов, с помощью которых можно регулировать порог чувствительности.
Программа приложена для ознакомления. В ней не реализованы некоторые функции. Тем не менее это реально работающая версия, о чем можно судить по фото устройства.
Быстро пройдемся по структуре программы. Первоначально идет секция конфигурирования, объявления переменных, констант, прерываний (строки 1-72). Далее начинается бесконечный рабочий цикл, во время которого происходит опрос микросхемы часов DS1307 (строки 88-102); в зависимости от времени и дня недели установка тарифа (строки 104-113); опрос купюроприемника (строки 118-126); анализ ответа от купюроприемника (строки 128-170); запись состояния нагрузок (строки 172-182); анализ установленных перемычек (строки 184-211); в зависимости от полученной купюроприемником суммы фиксация нажатия кнопок выбора нагрузки и принятия решения об изменении состояния нагрузки (строки 213-262); анализ сигналов с оптопар, оповещающих о состоянии нагрузки (строки 264-329); подсчет времени работы каждой из нагрузок и изменения ее состояния по истечении времени работы (строки 331-380). На LCD дисплее отображаются в первой строке текущее время и действующий тариф. Во второй строке отображаются номера доступных для выбора нагрузок и принятая купюроприемником сумма. Третья и четвертая строки дисплея используются для вывода служебной информации для настройки. К примеру, на фото выведены на табло в третьей строке установленное перемычками время работы каждой из нагрузок (40, 55, 75 и 75 минут) и в четвертой строке состояние на входах микросхем опроса в десятичном виде. Поскольку дисплей подсоединен к основной плате на разъеме, то замена дисплея не составляет труда и при переходе с 4-х строчного дисплея, используемого при настройке, на 2-х строчный рядовой потребитель служебную информацию не видит.
Особо хочу отметить: поскольку используется протокол RS-232 и микроконтроллер работает от внутреннего осциллятора, частота которого может отличаться от 8 МГц, фактическая скорость может отличаться от заданной в 9600 бод. Это приводит к нестабильному обмену данными между купюроприемником и блоком управления. Для устранения этой проблемы можно использовать либо внешний кварцевый резонатор, либо корректировать значение OSCCAL микроконтроллера. Поскольку протокол RS-232 вполне нормально работает при отклонениях в скорости до 10 %, а частота внутреннего осциллятора меняется в меньшем диапазоне, то я использую корректировку значения OSCCAL микроконтроллера.
Все устройство собрано на односторонней плате размерами 240*180 мм. Реле, для подключения нагрузок, расположены непосредственно возле блоков контроля нагрузок. Катушки реле соединены с выходами микросхемы ULN2803 проводами. Блок питания, как уже писалось выше, взят готовый и просто смонтирован на плате на свободном месте.
В приложенном к статье архиве содержаться: файл печатной платы, проект в Proteus, исходник программы в среде BASCOM, HEX-файл. При программировании микроконтроллера ATmega 8 необходимо выставить фьюзы на работу от внутреннего генератора, частоту 8 МГц. В двоичном виде установка фьюзов будет иметь вид:
Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот
U1
МК AVR 8-битATmega81
U2-U5
ОптопараTLP521-41
На схеме 4-е оптопары PC817U6
ТриггерSN74HC5741
U7
ИС RS-232 интерфейсаMAX232A1
U9
Составной транзисторULN28031
U10
ВентильSN74HC001
U11
Часы реального времени (RTC)DS13071
U12-U14
Сдвиговый регистрSN74HC1653
Q1
Биполярный транзисторКТ361А4
На схеме: транзистор Q1 структуры PNP, всего 4-е каналаD1
СтабилитронД814В4
На схеме: стабилитрон 1N4739A , всего 4-е каналаD2
СветодиодАЛ307А4
На схеме: светодиод D2 LED-RED, всего 4-е каналаD3, D4
ДиодД2328
На схеме: диоды D3, D4 типа 10A04, всего 4-е каналаD5
Выпрямительный диод1N40074
На схеме: показан один канал, всего 4-е каналаD6
СветодиодАЛ307А1
C1-C4
Конденсатор0.1 мкФ4
R1-R8
Резистор2.2 кОм24
На схеме: показан один канал, всего 4-е каналаR9, R12
Резисторы220 Ом8
R10
Резисторы2.2 Ом4
R11
Резисторы51 кОм4
R13
Резистор220 Ом1
RL1
Реле1
X1
Кварцевый резонатор32.768 Гц1
BAT1
Батарея3.3 В1
L1
Лампа4
Нагрузка: обмотка пускателя стиральная машина и пр.Добавить все
Скачать список элементов (PDF)
Прикрепленные файлы:
- main 4.rar (66 Кб)