Здравствуйте, уважаемые Датагорцы!
Делюсь с вами собственным опытом по освоению платы Arduino UNO и контроллера Atmega 328, который на ней установлен. Данная плата была куплена давно, и тихо дожидалась своей очереди на какую-нибудь самую первую поделку в дальнем ящике моего стола.
Очередь подоспела неожиданно. Я располагаю проигрывателем винила «Эстония 010», который является полным автоматом. Поставил пластинку, нажал две кнопки: «Сеть» и «Пуск». Все остальное проигрыватель сделает за тебя. До определенного момента проигрыватель работал, добросовестно выполняя свои функции, как вдруг прекратил подавать признаки жизни, напрочь отказываясь шевелить тонармом и не реагируя на нажатия управляющих кнопок.
Содержание статьи / Table Of Contents
↑ Историческая справка
Это «Эстония 010», которую выпускала наша промышленность в 80-х годах прошлого века. Характеристики впечатляют. Номинальный диапазон частот, Гц - 20...20000. Коэффициент детонации, % - 0,08. Относительный уровень рокота, дБ —74. Габариты, мм - 480х108х384. Масса, кг - 12.
Как и многое другое (см. те же наушники ТДС-5), этот аппарат является чуть менее удачной советской копией заграничного, а именно SHARP Optonica RP-7100. Например, не реализована кварцевая стабилизация оборотов привода и пр.
А вот и прототип - японская Optonica.
При вскрытии «Эстонии» предо мной предстала плата автоматики. Та ещё платка! На ней размещены свыше 20 корпусов микросхем советской логики и операционников. Увидев такое количество микросхем, я поморщился и выкинул плату из проигрывателя.
Тыкать в неё щупом осциллографа мне очень не хотелось.
Выпаял две детали: дешифратор индикации песен К155ИД4 и резистор для питания инфракрасного светодиода, что установлен на дополнительном тонарме в детекторе пауз пластинки.
Вместо оригинальной начинки решено было попробовать приспособить для управления «ту самую Ардуину». И работа... совру, если скажу, что закипела. Стала работа лениво булькать в свободное для бульканья время.
↑ Скетч для управления «Эстония 010»
Лень – двигатель прогресса! Посчитав, что лучше тыкать пальцами в клавиатуру, чем щупом в плату, начал осваивать язык программирования для Ардуино.Данный скетч – мой самый первый, поэтому специалистов прошу не пинать сильно. К тому же, он вполне рабочий.
Можно взять архивом: 🎁sketch_aug01a.zip 2.17 Kb ⇣ 125
↑ Схема переделок «Эстония 010» под Arduino UNO
Пришлось полностью переделать схему клавиатуры с целью экономии входов управления. По новой схеме все кнопки были посажены на одну шину, каждая через свой резистор. Родные кнопки при нажатии имели некое сопротивление, и неверно распознавались, что никак не устраивало ни меня, ни ардуино.Требовалась замена кнопок, что и было сделано путем установки новых тактовых кнопок, которые, в отличие от старых, еще и приятно щелкают.
Затем для увязки с двигателем и соленоидом тонарма, а так же с оптикой датчика и для индикации порядкового номера песни была собрана вот такая схема:
Исключён фрагмент. Полный вариант доступен меценатам и полноправным членам сообщества.
Имеем три реле, индикация их положения, подтягивающие резисторы концевиков, дешифратор номера песен, и операционник КР544УД2 с подстроечными резисторами для регулирование порога срабатывания и усиления сигнала с фототранзистора.
↑ О настройке клавиатуры
Даже если взять указанные здесь резисторы строго по номиналу, трудно будет попасть в указанный в программе диапазон, поэтому, несколько побившись с расчетами величин, которые необходимо прописывать в скетч для той или иной кнопки (и резистора), я пошел другим путем.Вгрузил в Ардуино вспомогательный скетч.
🎁sketch_aug20a.zip 327 b ⇣ 77
const int analogInPin = A5; // клавиши
int sensorValue = 0; // считанное значение
void setup() {Serial.begin(9600);}
void loop() {
sensorValue = analogRead(analogInPin);
Serial.print("sensor = " );
Serial.print(sensorValue);
delay(200);}
Запустил программку «Terminal», настроив ее со следующими параметрами: скорость обмена данными 9600, 8-N-1 и СОМ-порт, на котором определилась Ардуино. У меня - СОМ12.
После установления коннекта по экрану побежали цифры, которые изменялись в зависимости от нажатия на ту или иную кнопку. Просто переписав их на бумагу для каждой нажатой кнопки, я смог выяснить весь диапазон значений, которые затем (с небольшими допусками) и подставил в основной скетч. Редактировался скетч программкой Arduino 1.7.8.
↑ О настройке оптики
Ох, и сложная это работа, изымать из болота енота…Настройка чувствительности сразу ставится на максимум, оперируем только порогом. Без осциллографа таки никуда. Ставим медленную развертку, чтоб зеленая точка еле ползла по экрану, встаем осциллографом на выход операционника и начинаем вращать подстроечный резистор чувствительности в бо?льшую сторону до изменения напряжения с 2,5 до 3,5 и более Вольт.
Напряжение изменится скачком. Совсем чуть отматываем назад, чтоб напряжение снова стало 2,5 Вольта. Медленно двигаем тонарм над пластинкой. Если напряжение подскакивает до 3,5 Вольт во время прохождения датчика над паузами – нам круто повезло, хвалим оловянного бога, воскурив ему фимиам из канифоли и больше к подстроечнику не притрагиваемся.
Если нет – кладем под датчик белый лист бумаги, чтоб удостовериться, что он исправен и мы ничего не напутали в схеме. Как правило, на белый лист есть безошибочная отработка.
Если на белый лист уровень напряжения изменяется, а на паузу на пластинке – нет, то пробуем настроить датчик, незначительно изменяя его высоту над пластинкой. После уверенной отработки над паузами и правильным подключением к двигателю и соленоиду, аппарат начинает работать исправно и дальнейшей настройки не требует.
↑ До и после. Итоги
Итогами полностью доволен. Ниже данные для сравнения.При вскрытии всё выглядело вот так:
Пуск, стоп, микролифт, повтор всей стороны, при нажатии на кнопку с номером песни на столько песен проматывает вперед (поиск только вперед), индикация о том, сколько песен осталось до искомой (в нормальном состоянии ничего не показывает), автостоп.
После замены получилось это:
Пуск, стоп, микролифт, повтор всей стороны, повтор одной песни, индикация текущей песни, при нажатии на кнопку с номером песни отыскивает ее (в любом направлении), автостоп.
Чтобы включить повтор одной песни, достаточно удержать кнопку "Повтор" подольше. Индикация изменится.
↑ Видео
Спасибо за внимание!
Камрад, рассмотри датагорские рекомендации
🌼 Полезные и проверенные железяки, можно брать
Опробовано в лаборатории редакции или читателями.