![]() |
![]() |
||||||||||||
Электроника для силомера "BOXER"
Автор: uk8amk В статье предлагается новая схема электронной начинки для аттракциона взамен морально устаревшей и нестабильно работавшей.
Логика игры. На табло 5 групп цифр: рекорд силы и 4 результата. Когда нажимается кнопка "Игра", аппарат начинает игру и возвращает грушу(мишень) в положение удара. После этого игрок может сделать удар. При очередном ударе аппарат подсчитывает силу и выводит результат на табло. Вывод результата сопровождается звуком и соответствующим комментарием. Если результат больше установленного ранее рекорда, то принимается новый рекорд. После четвёртого удара игра заканчивается.
Механика. Механическая часть схематично изображена на рисунке: Боксёрская груша(или иная мишень) закреплена на оси. При достаточной силе удара ось поворачивается и фиксируется стопорным механизмом. Чтобы аппарат подготовить к следующему удару, необходимо подать напряжение на электромагнит. В этом случае стопорный механизм отпускает ось и она возвращается в исходное положение с помощью пружины. По сигналу с датчика скорости определяется относительная сила удара в "попугаях". В оригинальной конструкции использовался оптический датчик скорости на двух фотодиодах. При движении оси по очереди перекрываются оба фотодетектора, на основе их сигналов схема подсчитывала скорость движения. Вместо фотодатчика я применил магнитный. Когда постоянный магнит проходит возле катушки, в ней возникает напряжение. Чем быстрее движение, тем выше амплитуда сигнала.
Электроника. Схема поделена на 2 части: плата контроллера и плата индикации. Экранированный кабель датчика подключается к клемме J2 и сигнал далее подаётся на ОУ U1. Усилитель имеет симметричный вход и подавляет синфазные помехи с наводками. Подстроечным резистором RV1 устанавливается симметрия входов по наилучшему подавлению синфазной помехи. Подстроечник RV2 устанавливает коэффициент усиления сигнала. Сигнал с выхода ОУ проходит через ограничивающую цепь R13D1 и поступает на вход 12-битного АЦП МК U6. Фразы/звуки хранятся в SD/MMC карте памяти. Для воспроизведения используется встроенный в МК ЦАП. RV3 устанавливает уровень громкости, далее звуковой сигнал поступает на 10-ваттный УНЧ U2. К клемме J1 подключается динамик или небольшая колонка. Включение электромагнита происходит через симистор U8 и оптопару U7. Микросхема памяти U9 в данной схеме не используется и не устанавливается. Преобразователь уровней U10 ставится если планируется прошивка STM32 через COM-порт(UART bootloader). К разъёму J12 подключается кабель, идущий на плату индикации. DIP переключатель SW1 можно не устанавливать(зарезервирован на будущее). Вместо ОУ NJM4580 можно применить NE5532. Картоприёмники для SD/MMC я выпаиваю из USB картридеров. Микросхема УНЧ должна быть на радиаторе. Плата контроллера двухсторонняя, имеет размеры 98*89мм. Межслойные переходы в домашних условиях пропаиваются проволочками. Кнопки нормально разомкнутые, при нажатии замыкают линию на землю(GND). Назначение кнопок: ИГРА - начало игры. РЕКОРД - прибавляет к рекорду по 10 единиц(значение хранится в Flash). Можно использовать для установки начального значения рекорда. СБРОС - обнуляет счётчик клиентов(значение храниться в Flash). СЧЁТЧИК - показывает счётчик клиентов.
Индикация. Индикация статическая на 7-сегментных индикаторах т.к. динамическая может иметь недостаточную яркость для работы в уличных условиях. На плате 15 сдвиговых регистров 74HC595 + 15 транзисторных сборок ULN2003. Из-за простоты блока была сразу нарисована плата без схемы. Индикаторы с общим анодом. Для питания цифровых микросхем напряжение 5В можно взять прямо с платы контроллера(вых. 7805). Но для светодиодной части необходим отдельный блок питания(из-за большого потребления). Плата индикации односторонняя размером 76*155мм.
Магнитный датчик. Катушка примерно 50 витков на оправке Ф10мм(+/- сколько получится). Катушка припаивается к экранированному микрофонному кабелю, затем заворачивается в фольгу(например от шоколадки) и соединяется с экраном. Чтобы не было замыкания на экран, катушка предварительно обматывается изолентой.
Прошивка. Микроконтроллер STM32F100 шьётся через J10 SWD или если нет программатора-отладчика вроде ST-Link/J-Link, то через COM-порт с помощью программы Flash Loader Demonstrator(разъём J16). Для заливки через COM-порт замыкаем J11 BOOT, подаём питание на плату. В этой конфигурации активируется внутренний загрузчик. Заливаем HEX файл, Option bytes не трогаем. У меня не все микросхемы MAX232 стабильно работали на высокой скорости загрузки. Поэтому если идут ошибки коммуникации, то можно в программе выбрать меньшую скорость. После прошивки надо убрать перемычку с J11 BOOT. Карта памяти SD/MMC объёмом меньше или равно 2ГБ, файловая система FAT16. В корневую директорию надо скопировать все файлы из папки SD card. Звуки можно изменить в звуковом редакторе или записать свои. Формат файлов: WAV PCM 16-bit Mono. Если будет проблема с картой памяти(не установлена, не поддерживаемый тип или не та файловая система), то аппарат продолжает работать, но уже без звука. Файл конфигурации на карте config.txt содержит информацию о том, удар какой силы считать плохим, нормальным или хорошим.
Настройка. Усилитель. Если предполагается работа аппарата в несложной помеховой обстановке, то процедуру настройки симметрии(балансировки) можно пропустить. Вместо RV1 и R2 впаивается резистор 1к 5% (должен быть равен значению R1). Чтобы точно сбалансировать усилитель, на выход J3(SENS_OUT) подключаем осциллограф(Y=20-50мВ/Дел), замыкаем проволочкой входы IN+ и IN- на клемме J2 и дотрагиваемся до проволочки пальцем. На экране осциллографа увидим наводку. Вращаем RV1 и добиваемся минимальной амплитуды наводки. Убираем проволочную перемычку, подключаем датчик. Если быстро провести магнитом возле датчика, то на экране осциллографа должно быть изменение сигнала. Датчик. Настройка датчика заключается в подборе расстояния магнит-катушка(грубо) и настройке усиления RV2(точно) для получения адекватных результатов при ударе средней силы. Затем прописываем значения в файл config.txt на карту памяти, чтобы контроллер знал какие файлы играть при какой силе удара. Если сигнал с датчика будет иметь недостаточную величину, то возможен пропуск слабых ударов. УНЧ. Дотрагиваемся до первого вывода U2 УНЧ. В динамике должны быть слышны помехи/наводка. Если есть звук, то усилитель работает нормально. Резистором RV3 устанавливаем громкость звука.
Исходный код программы написан в Keil uVision4. В архиве вы найдёте 2 варианта прошивки: с прямым и зеркальным(по горизонтали) подключением цифр(123 или 321). Это сделано для удобства пайки.
Видеоролик с записью пробного запуска тут. После сборки и тестирования платы уехали в другой город где и были установлены в корпус. Поэтому у меня нет фотографий полностью готового изделия.
Файлы: Все вопросы в Форум.
|
|
||||||||||||
![]() |
![]() |


![]() |
![]() |
|||
|
||||
![]() |
![]() |