Данный автомат предназначен для приема оплаты за игровые аттракционы в парках, кинотеатрах и прочих общественных местах. Сфера применения этим не ограничивается. К примеру, один из автоматов обслуживает четыре стиральные машинки в студенческом общежитии и планируется установка подобных автоматов в пансионатах. Теоретически количество обслуживаемых нагрузок (аттракционов, стиральных машин и прочее) не ограниченна. Но не будет пускаться в маркетинг, а рассмотрим работу автомата.
Автомат состоит из купюроприемника, блока управления и индикации, блоков контроля нагрузки и, естественно, блока питания. Применительно к аттракционам алгоритм работы следующий: При получении купюр купюроприемником блок управления производит подсчет полученной суммы. Если сумма больше чем, установленный тариф, то при нажатии кнопки выбора аттракциона происходит подключение выбранного аттракциона к питающей сети на заданное время. При отсутствии потребления электрической энергии аттракционом в течении определенного времени считается, что аттракцион так и не была использован (аттракцион не рабочий, клиент передумал, ребенок закапризничал и прочее) и может быть выбран другой аттракцион. Если внесена сумма, более чем установленный тариф, то остаток может быть использован для другого платежа. Применительно к стиральным машинкам алгоритм немного другой: при отсутствии потребления электрической энергии считается, что стиральная машинка закончила стирку ранее заданного времени и можно её использовать снова. Конечно, в этом случае возможно, что стиральную машинку даже и не начали использовать, но это решается в каждом конкретном случае отдельно. Именно этот вариант устройства, программы и прошивки приложен к данной статье.
Перейдем к принципиальной схеме устройства и описанию программы.
Основной блок включает в себя микроконтроллер 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-го канала используется пускатель, который коммутирует трехфазный двигатель. Рядом с диодными мостами есть места для установки резисторов, с помощью которых можно регулировать порог чувствительности.
Программа приложена для ознакомления. В ней не реализованы некоторые функции. Тем не менее это реально работающая версия, о чем можно судить по фото устройства.
Быстро пройдемся по структуре программы. Первоначально идет секция конфигурирования, объявления переменных, констант, прерываний (строки 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-бит | ATmega8 | 1 | Поиск в магазине Отрон | ||
U2-U5 | Оптопара | TLP521-4 | 1 | На схеме 4-е оптопары PC817 | Поиск в магазине Отрон | |
U6 | Триггер | SN74HC574 | 1 | Поиск в магазине Отрон | ||
U7 | ИС RS-232 интерфейса | MAX232A | 1 | Поиск в магазине Отрон | ||
U9 | Составной транзистор | ULN2803 | 1 | Поиск в магазине Отрон | ||
U10 | Вентиль | SN74HC00 | 1 | Поиск в магазине Отрон | ||
U11 | Часы реального времени (RTC) | DS1307 | 1 | Поиск в магазине Отрон | ||
U12-U14 | Сдвиговый регистр | SN74HC165 | 3 | Поиск в магазине Отрон | ||
Q1 | Биполярный транзистор | КТ361А | 4 | На схеме: транзистор Q1 структуры PNP, всего 4-е канала | Поиск в магазине Отрон | |
D1 | Стабилитрон | Д814В | 4 | На схеме: стабилитрон 1N4739A , всего 4-е канала | Поиск в магазине Отрон | |
D2 | Светодиод | АЛ307А | 4 | На схеме: светодиод D2 LED-RED, всего 4-е канала | Поиск в магазине Отрон | |
D3, D4 | Диод | Д232 | 8 | На схеме: диоды D3, D4 типа 10A04, всего 4-е канала | Поиск в магазине Отрон | |
D5 | Выпрямительный диод | 1N4007 | 4 | На схеме: показан один канал, всего 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 Кб)
Комментарии (7) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
[Автор]
А по поводу устройства, то, думаю, это лучше в личной переписке. Статья приведена как возможность реализации (для бильярдных, для ландроматов и утюгов, аттракционов и пр.) и в ней описана рабочая версия, но отличающаяся от нормальной коммерческой версии как по функционалу, так и в аппаратной части.
[Автор]
И вопрос, чем же отличается коммерческая версия от рабочей версии?
[Автор]
Коммерческая версия отличается более стабильной работой и возможностью задавать параметры работы без модификации программы. Кроме того над коммерческой версией постоянно работаю, потому-что сколько людей столько и мнений.
Вот видео работы коммерческой версии:
1. Назначение и состав - https://yadi.sk/i/B0YcW9cqe9iJa
2. Включение в сеть - https://yadi.sk/i/cocO-GYQe9iJn
3. Работа (тариф отнимает неправильно) - https://yadi.sk/i/_JfB46O0e9gbd
4. Работа (возврат купюры) - https://yadi.sk/i/WMs4ED02e9eyK
5. Продолжение работы после сбоя в электропитании - https://yadi.sk/i/ZvNT-Unce9JYe
6. Программирование (задание параметров) - https://yadi.sk/i/l2GQ4hZfe9mQB
7. Работа (тариф отнимает правильно) - https://yadi.sk/i/OcNwpcpse9eFf