Digital speed controller for ILET 103 reel-to-reel deck | Цифровой контроллер скорости ленты катушечного магнитофона ИЛЕТЬ 103
Данный репозиторий содержит инструкцию по переделке катушечного магнитофона на примере ИЛЕТЬ 103-1 для добавления цифровой регулировки скорости, замены асинхронного двигателя на двигатель постоянного тока, роликовой передачи на пассик, а также, исходный код контроллера с ПИД-регулятором скорости.
Кроме ИЛЕТЬ 103-1, данная переделка возможна для любых других катушечных магнитофонов с подобным устройством и принципом работы.
Авторка репозитория не несёт ответственности за любой причинённый моральный / материальный / физический или иной ущерб, связанный с использованием данного репозитория / кода / 3д-моделей / схем / иных других материалов. Вы всё делаете на свой страх и риск! Сетевое напряжение может быть смертельно!
- Подберите мощный двигатель постонного тока. Например, от старого принтера. Обычно для питания таких двигателей можно использовать блок питания напряжением 24V и током не менее 2А.
ВАЖНО
⚠️ : Для питания двигателя используйте отдельный экранированный блок питания, PEN проводник которого необходимо соединить с общим корпусом магнитофона и сетевым проводником PEN.
-
На заднюю часть двигателя установите готовый или самодельный оптический энкодер. Я использовала самодельный энкодер, содержащий 4 чёрных и 4 белых сегмента;
-
Собранный и установленный контроллер и мотор должны выглядеть следующим образом:
Ваши компоненты, их номиналы и т.д. могут отличаться. Экспериментируйте!
Ниже представлены фото подключенного переключателя включения мотора и переключателя скорости. Переключатель паузы подключен последовательно с кнопкой включения мотора
ВАЖНО
⚠️ : Отключите и заизолируйте от переключателя паузы все остальные провода, т.к. на них высокий потенциал!
Если в процессе работы мотор нагревается, можно установить небольшой кулер
В ИЛЕТЬ 103-1 изначально крайне шумный привод капстана. Чтобы убрать шум (также, после установки контроллера и мотора постоянного тока необходимости в механическом изменении скорости нет), необходимо заменить привод на пассик, в качестве которого можно отрезать 8-10мм диэлектрической перчатки
- Распечатайте на 3Д-принтере или изготовьте иным образом детали шкива
3d/ILET103-Top.stl
и3d/ILET103-Bottom.stl
; - Соберите шкив, как показано на фото ниже:
- Клонируйте репозиторий с модулями:
git clone --recursive https://github.com/F33RNI/ilet-103-motor-controller.git
cd ilet-103-motor-controlle
-
IDE версия:
- Откройте репозиторий
ilet-103-motor-controller
в IDE и запустите сборку.
- Откройте репозиторий
-
Консольная версия (PlatformIO Core):
pio run
- Клонируйте репозиторий с модулями:
git clone --recursive https://github.com/F33RNI/ilet-103-motor-controller.git
cd ilet-103-motor-controlle
-
IDE версия
- Откройте файл
ilet-103-motor-controller.ino
в IDE, выберите нужную платформу и запустите сборку.
- Откройте файл
-
Консольная версия (arduino-cli)
- Создайте директорию
build
:
mkdir build
- Запустите сборку (заменив
arduino:avr:uno
на требуюмую платформу):
arduino-cli compile --verbose --build-path ./build -b arduino:avr:uno ilet-103-motor-controller.ino
- Создайте директорию
- Все настройки находятся в файле
include/config.h
- Настройки портов находятся в файле
include/pins.h
Если, указанные в настройках, параметры ПИД не подошли для вашей сборки, настройте ПИД вручную. Для этого:
К сожалению, автоматическая настройка PID-регулятора методом Циглера-Никольса не подходит для данного проекта, хотя, можете попробовать. Для этого, обратитесь к документации библиотеки PetalPID
- Включите режим
DEBUG
. Используйте любую программу плоттера последовательного порта, чтобы следить за графиками скорости; - Установите все параметры в 0 (
PID_P_GAIN = 0.f
,PID_I_GAIN = 0.f
иPID_D_GAIN = 0.f
); - Установите среднюю скорость;
- Постепенно повышайте
PID_P_GAIN
до тех пор, пока не начнутся осцилляции; - Уменьшите
PID_P_GAIN
до тех пор, пока осцилляции не пропадут полностью и ещё немного; - Увеличьте
PID_I_GAIN
так, чтобы скорость достигалась максимально быстро без осцилляций; - Плавно повышайте
PID_D_GAIN
,PID_P_GAIN
иPID_I_GAIN
, стараясь добиться максимальной стабильности и скорости реакции.
- Клонируйте репозиторий с модулями:
git clone --recursive https://github.com/F33RNI/ilet-103-motor-controller.git
- При редактиовании / добавлении кода, следуйте стилю, указанному в
.clang-format
; - При создании коммитов, используйте стиль Conventional Commits
- Создайте пул-реквест.