Двигатель вращения жесткого диска



Запуск старых HDD для прикладных применений

При использовании старых HDD приводов в прикладных целях иногда возникает проблема с тем, что шпиндельный двигатель останавливается через некоторое время после запуска. Есть у них такая «фишка» — если с блока головок не поступают сигналы на микросхему-контроллер, то она запрещает микросхеме-драйверу вращать двигатель. На примере несколько моделей приводов попробуем разобраться, как это исправить.

Всё началось с того, что привезли несколько старых винчестеров (рис.1) и сказали, что здесь рабочие вперемешку с «убитыми», хочешь – выбирай, не хочешь – делай что хочешь. Но если разберёшься, как их использовать в качестве небольшого наждака для правки инструмента, расскажи. Ну, вот – рассказываю…

Первый HDD – «Quantum» семейства «Fireball TM» с микросхемой привода TDA5147AK (рис.2). Посмотрим, что он из себя представляет.

Верхняя крышка крепится 4-мя винтами по углам и одним винтом и гайкой, находящимися сверху, под наклейками. После снятия крышки видны сам жёсткий диск, считывающие головки и магнитная система управления положением головок (рис.3). Шлейф отсоединяем, магнитную систему откручиваем (здесь понадобиться специально заточенный шестигранный ключ «звёздочка»). При желании диск тоже можно снять, если открутить три винта на шпинделе двигателя (также нужен шестигранник).

Теперь ставим крышку на место для того, чтобы можно было перевернуть HDD для экспериментов с электроникой и подаём в разъём питания напряжения +5 В и +12В. Двигатель разгоняется, работает примерно 30 секунд, а затем останавливается (на печатной плате есть зелёный светодиод – он горит при вращении двигателя и мигает при его остановке).

В сети легко находится даташит на микросхему TDA5147K, но по нему не удалось разобраться с сигналом разрешения/запрета вращения. При «подтягивании» сигналов POR к шинам питания добиться нужной реакции не удалось, но при просмотре сигналов осциллографом выяснилось, что при касании щупом 7-го вывода микросхемы TDA5147АK происходит её сброс и перезапуск двигателя. Таким образом, собрав простейший генератор коротких импульсов (рис.4, нижнее фото) с периодом в несколько секунд (или десятков секунд), можно заставить двигатель вращаться более-менее постоянно. Возникающие паузы в подаче питания длятся около 0,5 секунды и это не критично, если двигатель используется с небольшой нагрузкой на валу, но в других случаях это может быть неприемлемо. Поэтому, способ хоть и действенный, но не совсем правильный. А «правильно» запустить его так и не удалось.

Следующий HDD – «Quantum» семейства «Trailblazer» (рис.5).

При подаче напряжений питания привод никаких признаков жизни не подаёт и на плате электроники начинает сильно греться микросхема 14-107540-03. В середине корпуса микросхемы заметна выпуклость (рис.6), что говорит о её явной неработоспособности. Обидно, но не страшно.

Смотрим микросхему управления вращением двигателя (рис.7) — HA13555. Она при подаче питания не греется и видимых повреждений на ней нет. Прозвонка тестером элементов «обвязки» ничего особенного не выявила – остаётся только разобраться со схемой «включения».

Поисковики даташит на неё не находят, но есть описание на HA13561F. Она выполнена в таком же корпусе, совпадает по ножкам питания и по «выходным» выводам с HA13555 (у последней к проводникам питания двигателя подпаяны диоды – защита от противо-ЭДС). Попробуем определиться с необходимыми выводами управления. Из даташита на HA13561F (рис.8) следует, что на вывод 42 (CLOCK) должна подаваться тактовая частота 5 МГц с уровнем TTL-логики и что сигналом, разрешающим запуск двигателя, является высокий уровень на выводе 44 (SPNENAB).

Читайте также:  Внешний диск как dvd

Так как микросхема 14-107540-03 нерабочая, то отрезаем питание +5 В от неё и от всех остальных микросхем, кроме HA13555 (рис.9). Тестером проверяем правильность «порезов» по отсутствию соединений.

На нижнем фото рисунка 9 красными точками показаны места подпайки напряжения +5 В для HA13555 и резистора «подтяжки к плюсу» её 44 вывода. Если же резистор от вывода 45 снять с родного места (это R105 по рисунку 8) и поставить его вертикально с некоторым наклоном к микросхеме, то дополнительный резистор для подтяжки к «плюсу» вывода 44 можно припаять к переходному отверстию и к висящему выводу первого резистора (рис.10) и тогда питание +5 В можно подавать в место их соединения.

На обратной стороне платы следует перерезать дорожки, как показано на рисунке 11. Это «бывшие» сигналы, приходящие от сгоревшей микросхемы 14-107540-03 и старая «подтяжка» резистора R105.

Организовать подачу «новых» тактовых сигналов на вывод 42 (CLOCK) можно с помощью дополнительного внешнего генератора, собранного на любой подходящей микросхеме. В данном случае была использована К555ЛН1 и получившаяся схема показана на рисунке 12.

После «прокидывания» проводом МГТФ напряжения питания +5 В прямо от разъёма к выводу 36 (Vss) и других требуемых соединений (рис.13), привод запускается и работает безостановочно. Естественно, если бы микросхема 14-107540-03 была исправна, вся доработка заключалась бы только в «перетяжке» 44-го вывода к шине +5 В.

На этом «винте» была проверена его работоспособность при других тактовых частотах. Сигнал подавался с внешнего генератора прямоугольных импульсов и минимальная частота, с которой привод работал устойчиво — 2,4 МГц. На более низких частотах циклично происходил разгон и остановка. Максимальная частота – около 7,6 МГц, при дальнейшем её увеличении количество оборотов оставалось прежним.

Количество оборотов также зависит и от уровня напряжения на выводе 41 (CNTSEL). В даташите на микросхему HA13561F есть таблица и она соответствует значениям, получаемым у HA13555. В результате всех манипуляций удалось получить минимальную скорость вращения двигателя около 1800 об/мин, максимальную – 6864 об/мин. Контроль проводился с помощью программы SpectraPLUS, оптопары с усилителем и кусочка изоленты, приклеенного к диску так, чтобы он при вращении диска перекрывал окно оптопары (в окне анализатора спектра определялась частота следования импульсов и затем умножалась на 60).

Третий привод – «SAMSUNG WN310820A».

При подаче питания микросхема-драйвер – HA13561 начинает сильно греться, двигатель не вращается. На корпусе микросхемы заметна выпуклость (рис.14), как и в предыдущем случае. Проводить какие-либо эксперименты не получится, но можно попробовать запитать двигатель от платы с микросхемой HA13555. Длинные тонкие проводники были подпаяны к шлейфу двигателя и к выходным контактам разъёма платы электроники – всё запустилось и работало без проблем. Если бы HA13561 была целой, доработка для запуска была бы такой же, как и для «Quantum Trailblazer» (44-й вывод к шине +5 В).

Четвёртый привод — «Quantum» семейства «Fireball SE» с микросхемой привода AN8426FBP (рис.15).

Если отключить шлейф блока головок и подать питание на HDD, то двигатель набирает обороты и, естественно, через некоторое время останавливается. Даташит на микросхему AN8426FBP есть в сети и по нему можно разобраться, что за запуск отвечает вывод 44 (SIPWM) (рис.16). И если теперь перерезать дорожку, идущую от микросхемы 14-108417-02 и «подтянуть» вывод 44 через резистор 4,7 кОм к шине +5 В, то двигатель не будет останавливается.

Читайте также:  Если диск не выходит из двд

И напоследок, вернувшись немного назад, были сняты формы сигналов на выводах W и V микросхемы HA13555 относительно общего провода (рис. 17).

Самое простое прикладное применение старого HDD – небольшой наждак для правки свёрл, ножей, отвёрток (рис.18). Для этого достаточно наклеить на магнитный диск наждачную бумагу. Если «винт» был с несколькими «блинами», то можно сделать сменные диски разной зернистости. И здесь хорошо бы иметь возможность переключения скорости вращения шпиндельного двигателя, так как при большом количестве оборотов очень легко перегреть затачиваемую поверхность.

Наждак, конечно, не единственное применение для старого HDD. В сети легко находятся конструкции пылесосов и даже аппарата для приготовления сладкой ваты…

В дополнении к тексту находятся упомянутые даташиты и файлы печатных плат внешних генераторов импульсов в формате программы Sprint-Layout 5-ой версии (вид со стороны печати, микросхемы устанавливаются как smd, т.е. без сверловки отверстий).

Андрей Гольцов, r9o-11, г. Искитим, апрель 2018.

Источник

Подключение двигателя HDD к микроконтроллеру


В жестких дисках, как правило, применяются трехфазные бесколлекторные двигатели. Обмотки двигателя соединены звездой, то есть получаем 3 вывода (3 фазы). Некоторые двигатели имеют 4 вывода, в них дополнительно выведена средняя точка соединения всех обмоток.

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

В жестких дисках применяется другой способ определения момента переключения, в каждый момент времени к питанию подключены две обмотки, а на третьей измеряется напряжение, исходя из которого, выполняется переключение. В 4-х проводном варианте для этого доступны оба вывода свободной обмотки, а в случае двигателя с 3-мя выводами, дополнительно создается виртуальная средняя точка, при помощи резисторов соединенных звездой и подключенных параллельно обмоткам двигателя. Так как коммутация обмоток выполняется по положению ротора, здесь присутствует синхронность между частотой вращения ротора и магнитного поля созданного обмотками двигателя. Нарушение синхронности может привести к остановке ротора.

Существуют специализированные микросхемы типа TDA5140, TDA5141, 42,43 и другие, предназначенные для управления бесколлекторными трехфазными двигателями, но я не буду здесь их рассматривать.

В общем случае диаграмма коммутаций представляет собой 3 сигнала с импульсами прямоугольной формы, смещенные между собой по фазе на 120 градусов. В простейшем варианте запустить двигатель можно и без обратной связи, просто подавая на него 3 прямоугольных сигнала (меандр), смещенных между собой на 120 градусов, что я и сделал. За один период меандра магнитное поле созданное обмотками совершает один полный оборот вокруг оси двигателя. Скорость вращения ротора при этом зависит от количества магнитных полюсов на нем. Если количество полюсов равно двум (одна пара полюсов), то ротор будет вращаться с той же частотой что и магнитное поле. В моем случае ротор двигателя имеет 8 полюсов (4 пары полюсов), то есть ротор вращается в 4 раза медленнее, чем магнитное поле. У большинства жестких дисков с частотой вращения 7200 об/мин, ротор должен иметь 8 полюсов, но это лишь мое предположение, так как я не проверял кучу винчестеров.

Если на двигатель подать импульсы с требуемой частотой, в соответствии с желаемой скоростью вращения ротора, то он не раскрутится. Здесь необходима процедура разгона, то есть сначала подаем импульсы с малой частотой, затем постепенно увеличиваем до требуемой частоты. Кроме этого процесс разгона зависит от нагрузки на валу.

Читайте также:  Жесткий диск access is denied

Для запуска двигателя я применил микроконтроллер PIC16F628A. В силовой части стоит трехфазный мост на биполярных транзисторах, хотя лучше использовать полевые транзисторы для уменьшения тепловыделения. Прямоугольные импульсы формируются в подпрограмме обработчика прерываний. Для получения 3-х сигналов сдвинутых по фазе, выполняется 6 прерываний, при этом получаем один период меандра. В программе микроконтроллера я реализовал плавное увеличение частоты сигнала до заданной величины. Всего 8 режимов с различной заданной частотой сигнала: 40, 80, 120, 160, 200, 240, 280, 320 Гц. При 8-ми полюсах на роторе получаем следующие скорости вращения: 10, 20, 30, 40, 50, 60, 70, 80 об/сек.

Прошивка МК и исходник + файл проекта Proteus_7.7

Разгон начинается с 3 Гц в течение 0,5 секунд, это экспериментальное время необходимое для начальной раскрутки ротора в соответствующем направлении, так как бывает, что ротор проворачивается на небольшой угол в обратную сторону, только затем начинает вращаться в соответствующем направлении. При этом теряется момент инерции, и если незамедлительно начать увеличение частоты, происходит рассинхронизация, ротор в своем вращении просто не будет успевать за магнитным полем. Чтобы изменить направление вращения, нужно просто поменять местами любые 2 фазы двигателя.

По истечении 0,5 секунд происходит плавное увеличение частоты сигнала до заданной величины. Частота увеличивается по нелинейному закону, скорость роста частоты увеличивается по ходу разгона. Время разгона ротора до заданных скоростей: 3,8; 7,8; 11,9; 16; 20,2; 26,3; 37,5; 48,2 сек. Вообще без обратной связи двигатель туго разгоняется, необходимое время разгона зависит от нагрузки на валу, я проводил все эксперименты без снятия магнитного диска (“блин”), естественно без него разгон можно ускорить.

Переключение режимов осуществляется кнопкой SB1, при этом индикация режимов выполнена на светодиодах HL1-HL3, информация отображается в двоичном коде, HL3 – нулевой бит, HL2 – первый бит, HL1 – третий бит. Когда все светодиоды погашены, получаем число ноль, это соответствует первому режиму (40 Гц, 10 об/сек), если например горит светодиод HL1, получаем число 4, что соответствует пятому режиму (200 Гц, 50 об/сек). Переключателем SA1 запускаем или останавливаем двигатель, замкнутому состоянию контактов соответствует команда “Пуск”.

Выбранный режим скорости можно записать в EEPROM микроконтроллера, для этого надо удерживать кнопку SB1 в течение 1 секунды, при этом все светодиоды вспыхнут, тем самым подтверждая запись. По умолчанию при отсутствии записи в EEPROM, микроконтроллер переходит в первый режим. Таким образом, записав режим в память и установив переключатель SA1 в положение “Пуск”, можно запустить двигатель просто подав питание на устройство.

Крутящий момент у двигателя мал, что и не требуется при работе в жестком диске. При увеличении нагрузки на вал, происходит рассинхронизация и ротор останавливается. В принципе, если необходимо можно приделать датчик оборотов, и в случае отсутствия сигнала отключить питание и заново раскрутить двигатель.

Добавив 3 транзистора в трехфазный мост, можно уменьшить количество управляющих линий микроконтроллера до 3-х, как показано на схеме ниже.

Прошивка МК и исходник + файл проекта Proteus_7.7

В качестве питания я использовал нестабилизированный трансформаторный блок питания, с напряжением 11,7 В. Ток потребления в зависимости от скорости вращения колеблется в пределах 0,75 – 0,9 А. Транзисторы необходимо установить на теплоотвод.
На видео можно увидеть процесс запуска на разных скоростях, а также оптический датчик оборотов, который я приделал для измерения скорости вращения.

Источник

Поделиться с друзьями
Шинбург
Adblock
detector