Например TDA7294

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

Электроника для силомера "BOXER"

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

В статье предлагается новая схема электронной начинки для аттракциона взамен морально устаревшей и нестабильно работавшей.

 

Логика игры.

На табло 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). Это сделано для удобства пайки.

 

Видеоролик с записью пробного запуска тут.

После сборки и тестирования платы уехали в другой город где и были установлены в корпус. Поэтому у меня нет фотографий полностью готового изделия.


Файлы:
Прошивка МК + файлы SD card
Платы, схемы и доп. информация
Исходник ARM MDK


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


ID: 2110