Подключение и запуск мотора от FDD (JCM5044)
Подключение и запуск мотора от FDD (JCM5044)
Дело было вечером, делать было нечего. Разбирал коробки с разной всячиной, и нашёл древний флопик.
Выкинуть вроде жалко, а применить негде. Решил просто немного поиграться, а именно — запустить мотор от него. Чтобы достать мотор, откручиваем 4 винта
Добрался до мотора
Мотор бесколлекторный, с датчиками Холла. В качестве драйвера использована микросхема JCM5044, даташит на которую я так и не нашёл.
Так как даташита нет, а флопик был рабочий, я подключу логический анализатор к выводам мотора, и посмотрю как работает управление.
Подпаиваю провода. Для работы мотора используются следующие выводы шлейфа:
- GND (общий)
- V (питание)
- SP
- CLK
- I/D
- MON
Остальные выводы идут на концевики, они меня не интересуют.
Цепляю логический анализатор (обзор Saleae Logic).
Если вставить дискету (или замкнуть концевик), мотор крутится в течении 1. 2 секунд. Этого более чем достаточно, чтобы посмотреть на сигналы управления. Приступим.
Здесь видно, что на выводе «SP» постоянно висит 0. Для чего нужен этот вывод — пока не понятно, разберусь позже. На выводе «I/D» присутствуют импульсы — один импульс на один оборот вала. Если мотор крутится — на выводе «MON» висит 0, если не крутится — висит 1. Также когда мотор крутится, на выводе «CLK» присутствует тактовый сигнал частотой 1 МГц.
Теперь я удерживаю вал движка рукой, чтобы он не смог крутиться, и опять подаю питание. Замыкаю концевик, смотрю что показывает логический анализатор.
На выводе «I/D» теперь нет импульсов, т.к. вал заблокирован. Вывод «MON» периодически «дёргался», пытаясь растолкать мотор. Синхронно с работой вывода «MON» появлялась генерация тактовых импульсов на ножке «CLK».
Для начала экспериментов информации достаточно. Отпаиваю шлейф, подключаю мотор к макетной плате с микроконтроллером ATmega32.
Так как контроль оборотов вала мне не нужен, вывод «I/D» не подключаю. Получается 2 провода питания и 3 провода управления. Подключение ATmega32 Motor JCM5044:
- GND G
- VCC V
- PB1 SP
- PB2 MON
- PB3 CLK
Итак, для работы мотора нужно подать тактовый сингал 1 МГц на вывод CLK, а также прижать на землю вывод «MON». Затем если мотор начнёт крутиться, попробовать поменять состояние вывода «SP». По-быстрому пишу код (его можно скачать в конце статьи), прошиваю микроконтроллер, и вуаля — мотор крутится. Теперь пробую поиграться с выводом «SP». Оказалось, что этот вывод отвечает за скорость вращения вала. Если SP=0, тогда вал вращается со скоростью 300 об/мин. Если SP=1, тогда на валу 360 об/мин. Оно и логично — «SP» означает «Speed». Далее я попробовал разгонять/замедлять мотор, подавая на него различные тактовые частоты. С повышением скорости проблем не было, мотор крутился быстро. А вот с пониженными оборотами не всё так гладко — вращение было не совсем плавным, с небольшими рывками.
Подведу итог. Чтобы включить электронику мотора, нужно установить MON=0, при этом ротор начинает притягиваться катушками, но не вращается. Для того, чтобы мотор начал вращение, нужно подать тактовый сигнал на вывод «CLK». Скорость вращения зависит от подаваемой тактовой частоты, а также немного меняется при помощи вывода «SP».
Новая жизнь дискет: что такое флопотрон и как его сделать
Многие ли помнят флоппи-диски? История похоронила гибкие носители ещё в 90-х. Единственное, что осталось от них — это дизайн иконки «Сохранить». Дискеты не могли идти в ногу с технологиями — объёмы программ и данных стремительно увеличивались. 2,88 МБ данных, которые помещались на стандартные 3,5-дюймовые дискеты, стало не хватать. Потребители перешли на оптические носители. Спустя десятилетия пользователи забыли о дискетах, а флоппи-дисководы стали чем-то вроде посуды в серванте. Но только не для польского инженера Павла Задрожняка. В далёком 2011 году он собрал устройство, состоящее из двух флоппи-приводов и назвал его соответствующе — «Floppotron». На нём он «сыграл» Имперский Марш. Ролик завирусился и Павел двинулся дальше.
В 2016 году инженер представил миру вторую версию своего музыкального инструмента. Его комплектация стала более внушительной: 64 флоппи-дисковода, 8 жёстких дисков и 2 сканера. На своём YouTube-канале Павел исполнил более сотни популярных песен.
Он вдохновил многих людей. Кто-то собирал несложные флопотроны из нескольких приводов, а кто-то пробовал извлекать звуки из более нестандартных для флопотрона устройств. Например, канал Device Orchestra создаёт мелодии с помощью платёжных терминалов, зубных электрощёток и даже паровых очистителей.
Floppotron v2 — детище польского инженера Павла Задрожняка
Принцип звучания
В флоппи-приводах, сканерах или же платёжных терминалах источник звука один — шаговый двигатель. В случае с флоппи-приводом он перемещает считывающую головку. При работе двигателя издаётся звук. Изменяя скорость шагового двигателя можно изменять частоту извлекаемого звука, т. е. ноты. Как правило, последовательность этих нот достаётся из midi-файла.
Управление флоппи-приводом
У привода два разъёма — один для питания («mini-molex») и второй для управления (FDD). Запитывается дисковод сразу от 5В и 12В. Отличным решением будет использовать компьютерный блок питания. При работе с ним не забудьте замкнуть контакт PS_ON с контактом COM, чтобы включить его. Однако, подойдёт любой другой БП с такими же напряжениями. Главное, чтобы хватало выходного ампеража.
Разъём «mini-molex» имеет два контакта земли посередине и контакты 12В и 5В по бокам. Контакт 12В расположен слева и нередко с его стороны имеется «ключ», не дающий присоединить штекер не той стороной.
Хоть разъем FDD имеет пугающее количество контактов, оттуда понадобится всего два — 18 и 20.
18 контакт называется «Stepper Direction», и по нему устанавливается направление движения пишущей головки. 20 контакт называется «Step Pulse» и он уже непосредственно «толкает» шаговый двигатель.
Помимо этого нужно разрешить работу двигателя. Для этого нужно замкнуть на землю 12 контакт разъёма «Drive Select B». Это можно сделать либо джампером (перемычкой) между этим контактом и нижним (11 — землёй), либо непосредственно присоединить 12 контакт к проводу земли. Варвары же могут попросту загнуть этот контакт вниз, чтобы тот соприкасался с нижним контактом.
Схема подключения к флоппи-приводу
Контроллер
Управлять флопотроном можно со всего, что только можно запрограммировать: Arduino, Raspberry, STM. Подойдут даже обычные микроконтроллеры AVR или PIC. Главное, чтобы контроллер работал на 5-вольтовой логике, иначе нужно будет использовать конвертер логических уровней. В этой статье будет использоваться самая популярная модель платформы Arduino — Uno.
Коммутация
Для простого флопотрона кроме самих флоппи-дисководов и контроллера понадобятся только соединительные провода. Всего к приводу должно идти 5 проводов: 2 управляющих, 12В, 5В и земля.
Подключение проводов к флоппи-приводу
Обратный конец управляющий проводов будет подключаться к Uno. Остальные же провода (т. е. шины питания) нужно будет подключить к блоку питания. Если дисководов не слишком много, отличным решением будет подключить их через клеммный зажим. Провода от дисководов будут вкручиваться с одной стороны, провода от блока питания — с другой. В таком случае всегда можно будет без труда запитать новые дисководы, ничего при этом не распаивая.
Один из способов подключения питания флоппи-приводов
Дополнительными проводами нужно отвести шину питания 5В и землю и подключить их к пинам платы Uno.
Коммутация проводов с платой Uno
Программная часть
Если вы решили использовать Arduino, то в первую очередь нужно установить Arduino IDE. Также стоит помнить, что для работы с клонами Arduino нужно установить соответствующий драйвер CH340G. Обо всём этом можно почитать в нашей статье.
Вначале стоит проверить флоппи-приводы на работоспособность. Для этого можно запрограммировать контроллер на какие-нибудь простые операции. Например такие:
Этот скетч должен заставить флоппи-привод, подключённый к первому каналу (2 и 3 пин), двигать считывающую головку равномерно по всей рабочей длине. Как только головка подходит к концу, направление движения инвертируется и цикл повторяется.
После того, как вы проверите все приводы, можно приступить к созданию программной части для флопотрона или просто использовать уже готовое решение.
Moppy — продвинутый контроллер для флопотрона. Он состоит из двух частей: прошивки для Arduino, которая непосредственно управляет флоппи-приводами, и компьютерной программы, которая посылает команды на контроллер по USB-кабелю.
Скачиваем последний релиз программы. Первый архив содержит скетч для Arduino, второй — программу для ПК.
Примечание Для работы прошивки нужна библиотека «TimerOne». Её можно найти в Менеджере Библиотек. Для этого откройте Скетч→Подключить Библиотеку→Управлять Библиотеками. Через поисковую строку открывшегося Менеджера Библиотек можно найти необходимую библиотеку «TimerOne».
После установки библиотеки прошивка готова к работе. Осталось выбрать порт, к которому подключена Uno, и прошить её.
Первый привод подключается к 2 и 3 пину платы («Stepper Direction» и «Step Pulse» соответственно). Следующий привод к 4 и 5, потом к 6 и 7 и так далее. К Uno можно подключить до 9 приводов (до пина A5). После подключения всех флоппи-приводов можно включать блок питания.
Воспроизведение
В папке с программой для ПК нужно запустить файл bin/MoppyControlGUI.bat. В открывшемся интерфейсе важны только два окна: окно выбора файла и окно выбора порта.
Остаётся лишь выбрать порт, к которому подключена Uno, загрузить midi-файл и нажать на кнопку воспроизведения. Однако, это не весь функционал Moppy. В этой программе, к примеру, можно воспроизводить звук напрямую от midi-устройств.
Хоть флоппи-приводы и способны извлекать из себя звук, их громкости хватает не всегда. Эту проблему можно решить двумя способами. Первый — дублирование одного midi-канала несколькими приводами. В таком случае флопотрон обретёт тембр для каждого канала. Второй же способ более экономичен — каждый привод можно поставить на какой-нибудь резонатор. Подойдёт обычная картонная коробка. В таком случае громкость даже от одного привода значительно увеличится.
Откуда брать midi-файлы?
Есть несколько источников:
- Найти готовый midi-файл нужной песни. Однако, шанс того, что файл сразу подойдёт для флопотрона, очень мал. Скорее всего, его нужно будет редактировать.
- Специальные программы для midi-файлов. Например MidiEditor. В ней вы сможете как создать новый файл, так и отредактировать существующий (поменять местами или объединить дорожки).
- Нотный редактор. Например Guitar Pro. Для него есть множество готовых композиций, которые с лёгкостью можно экспортировать в midi-файл. Обратите внимание, что каждый канал в midi-файле соответствует отдельному подключённому флоппи-приводу. Обычно к одной нотной дорожке в Guitar Pro подвязываются сразу два канала. Привязку каналов к дорожкам, естественно, можно редактировать.
- Использовать готовые midi-файлы, созданные специально для флопотрона. Например в этом репозитории, или в документах этой группы.
двигатель от FDD
Дмитрий, вам нужна ссылка на описание авторской методики по модификации системы управления двигателем SP-10mkII?
Страниц 150 на доступном японском языке с общирным графическим материалом. Я с полчаса разглядывал, чтобы убедиться — нехера лезть в эти вопросы.
Цитата |
---|
Дмитрий, вам нужна ссылка на описание авторской методики по модификации системы управления двигателем SP-10mkII? |
Нет, мне нужен дешёвый качественный двигатель для различных нужд, в том числе и для виниловода.
Честно говоря , Михаил, именно от вас я ожидал более подробного ответа на этот вопрос.
Цитата |
---|
Дим! 1) Почему-то твоя ссылка не работает. Так что ничего ответить тебе не могу, к сожалению, при всем желании. 2) Скажи, а разве на audioword плохие специалисты? Почему ты ЗДЕСЬ спрашиваешь, да еще такие вещи? Издеваешься над местным населением с подачи Genna? |
Картинка классная. Идея тоже.
Требования к мотору — сильно зависят от общей концепции. На одном конце спекта Аудионот ТТ-3 — три очень больших сильных мотора на легкий диск — на другом Ноттингем с тяжелым диском и мотором, который не может сам стартовать этот диск.
А не проще мотор в кожухе, например у Еуролаб/Томас Шо купыть?
Проект вертушки с движком от флоппа меня сильно заинтересовал! Возможно, что возьмусь за реализацию проекта. Сейчас хочу уточнить некоторые моменты по подготовке двигателя:
1. От платы контроллера отключаются лишь шлейфы к головкам и шаговому двигателю?
2. Расположенные на плате три микропереключателя чем нибудь фиксируются в постоянно нажатом состоянии, иммитируя вставленную дискету?
3. Не совсем вьехал в положении перемычек на IDE-колодке — на приведенном рисунке автор замыкает группы 11-12 и 15-16, при этом в комментарии тут же пишет про группу 10-12 и 15-16?! Так какую комбинацию замыкать: 11-12 или 10-12 ?? Боюсь, что можно контроллер спалить..
4. Автор отсекает у фишки 12-вольтовую группу питания, оставляя лишь 5вольт. В тоже время по общепринятым стандартам IDE-устройст 5 вольт идет на питание управляющих схем, а 12 вольт идет на моторы. Так будет реально работать мотор при 5вольтах?
В итоге: при соблюдении всех 4х пунктов мотор должен заработать или я что-то упустил?
Буду благодарен всем, кто поможет разобраться в моих вопросах.
Привет Виктор.
Да, у автора небольшой балаган в статье.
Я по причине отсутствия времени дома, могу только на работе, в перерывах, заниматься этим.
Имеется следующая собранная информация:
1. Да, остаются лишь 2 платки соединённые между собой, двигателя и IDE интерфейса (есть флоппи (mitsumi) где двигатель жёстко завязан с корпусом использование такого флоппи проблематично.
2. закорачивается только один микропереключатель из 3х
узнать какой можно опытным путём (думаю что в зависимости от модели могут менятся) но есть одна тонкость о которой ниже.
3. На IDE-колодке замыкаются контакты 11 с 12 и 15 с 16 обыкновенными джамперами.
4. Питание только 5В чёрый и красный провода стандартной колоки. 12 В там просто не используется, открытый контакт.
В итоге при соблюдении всех 4х пунктов мотор должен заработать при одном условии (у меня), некий стартовый сигнал от оптического датчика считывающей головки, я просто перекрываю на секунду щель датчика.
Или при уже поданном питании размыкание и замыкание контактов 15 и 16 IDE интерфейса
Конструкция конечно не отработанная но для проверки
стабильность двигателя и применения в виниловоде подойдёт.
Если будет видно что движёк хороший (не хуже Папста)
можно будет сделать стабильный генератор управления скоростью. Тогда это будет хорошая альтернатива движкам в аппаратах средней цены, типа Торенс 160, зависящим от колебаний частот сети.
Гена, моторы в кожухе, например у Еуролаб/Томас Шо, думаю будут стоит не один на порядок дороже, поэтому для применений указаных выше не подойдут.
Спасибо за разжовывание материала, к счастью мне удалось самостоятельно решить все вопросы и мотор работает. У меня (судя по признакам) начинка OEM от NEC, хотя сам флоппик под брендом SONY Нашел ответственный за пуск микрик, возможно задействую его как стартующий. Все отлично работает, вращательный момент у двигателя будь здоров! Осталось выявить регулирующий обороты резистор, чтобы в последствии была возможность сделать подстройку скорости и изготовить (приспособить готовый) шпиндель под пассик. Тады движка будет полностью готова ))
Есть небольшой фотоотч0т о проделанной работе:
http://foto.mail.ru/mail/vertack/DIY/
Хочу установить тонарм от Б1-01, да и диск от нее родимой подошел бы. Вот разместил обьяву, ждемс..