Новая жизнь дискет: что такое флопотрон и как его сделать

Дискеты возвращаются в новом амплуа — теперь они играют музыку. Рассказываем, что такое флопотрон и как сделать такую штуку себе.

Управление флоппи-приводом

У привода два разъёма — один для питания («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 контакт к проводу земли. Варвары же могут попросту загнуть этот контакт вниз, чтобы тот соприкасался с нижним контактом.

Схема подключения к флоппи-приводу

Распиновка интерфейса IDE FDD

Разъём интерфейса 34-пиновый, но на практике не все контакты нижнего ряда могут быть установлены.

Нижний ряд может быть и почти совсем «беззубым» (зависит от конкретной модели), нам не принципиально.

В общем случае, нижний ряд (нечетные контакты) – это минус (Ground), верхний ряд (чётные контакты) – сигнальные линии.

В разных документах описывается как минимум два варианта распайки разъема IDE FDD.

Вариант первый

Контакт Сигнал Контакт Сигнал
2 М/С 20 Step Pulse
4 N/C 22 Write Data
6 N/C 24 Write Enable
8 Index 26 Track 0
10 Motor Enable А 28 Write Protect
12 Drive Select В 30 Read Data
14 Drive Select A 32 Select Head 1
16 Motor Enable В 34 (Spare)
18 Stepper Direction

Вариант второй

Контакт Сигнал Контакт Сигнал
2 Reduced Write 20 Step
4 Reserved 22 Write Data
6 Drive Select 3 24 Write Gate
8 Index 26 Track 0
10 Drive Select 0 28 Write Protect
12 Drive Select 1 30 Read Data
14 Drive Select 2 32 Side 1 Select
16 Motor On 33 Diskette Change
18 Direction Select

Не указанные в таблицах контакты – это минус (Ground)
или же контакт отсутствует или не подключён.

Контакты нижнего ряда замкнуты на минус (общий провод). Исключения могут составить не подключённый 1 и сигнальный 33 контакты. 34 контакт верхнего ряда также может быть минусовым. Корпус дисковода также, как правило, замкнут на минус. Всё это зависит от конкретной модели флоппика. Всегда можно воспользоваться тестером и определить минусовые контакты конкретного экземпляра.

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

Нам интересны только несколько контактов:

Контакт Сигнал Значение
12
(6, 10, 14)
Drive Select Активизация привода
18 Direction Select Смена направления движения головки
20 Step Импульсы смещения головки
16
(10)
Motor Enable Включение двигателя вращения диска *

* Двигатель вращения диска громких звуков не производит,
поэтому в флопотроне он задействован не будет.

Питание дисковода FDD

Дисковод требует напряжения в 5 В. Запитать флоппик можно от компьютерного блока питания. Чтобы запустить блок питания, нужно на самом длинном разъеме перемкнуть контакт зеленого и любого из черных проводов.

Если вы впервые так «заводите» блок питания, то настоятельно рекомендую прочитать в интернете инструкцию на эту тему.

Ни в коем случае, не включайте блок питания компьютера без нагрузки!

Питание к дисководу подводится через четырехконтактный разъём (Mate-N-Lock). Чёрные провода – это минус, красный – +5 В, жёлтый – +12В. Напряжение в двенадцать вольт в дисководе не используется, поэтому соответствующий контакт впаян в плату, но ни к чему не подключён.

Для проведения экспериментов, мне оказалось комфортнее запитать дисковод от внешнего блока питания для жёсткого диска. Воспользовался переходником с Molex на Floppy. Такие переходники еще потребуются, поэтому рекомендую их подкупить заблаговременно.

На фотографии видно, что для питания действительно достаточно только двух проводов: +5 В (красный) и минус (чёрный).

Программная часть

Если вы решили использовать 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). После подключения всех флоппи-приводов можно включать блок питания.

Откуда брать midi-файлы?

Есть несколько источников:

Найти готовый midi-файл нужной песни. Однако, шанс того, что файл сразу подойдёт для флопотрона, очень мал. Скорее всего, его нужно будет редактировать.
Специальные программы для midi-файлов. Например MidiEditor. В ней вы сможете как создать новый файл, так и отредактировать существующий (поменять местами или объединить дорожки).
Нотный редактор. Например Guitar Pro. Для него есть множество готовых композиций, которые с лёгкостью можно экспортировать в midi-файл

Обратите внимание, что каждый канал в midi-файле соответствует отдельному подключённому флоппи-приводу. Обычно к одной нотной дорожке в Guitar Pro подвязываются сразу два канала

Привязку каналов к дорожкам, естественно, можно редактировать.
Использовать готовые midi-файлы, созданные специально для флопотрона. Например в этом репозитории, или в документах этой группы.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделитесь с друзьями:
Технарь
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.