Меню

Схема управления двигателем для жесткого диска

КАК ПОДКЛЮЧИТЬ МОТОР ОТ DVD ИЛИ HDD

Как-то давно попалась мне на обозрение схема драйвера шагового двигателя на микросхеме LB11880, но поскольку такой микросхемы у меня не было, а двигателей валялось несколько штук, отложил интересный проект с запуском моторчика в долгий ящик. Прошло время, и вот сейчас с освоением Китая с деталями проблем нет, так что заказал МС, и решил собрать и протестировать подключение скоростных моторов от HDD. Схема драйвера взята стандартная:

Схема драйвера мотора

Далее идёт сокращённое описание статьи, полное читайте здесь. Двигатель, вращающий шпиндель жесткого диска (или CD/DVD-ROM) — это обычный синхронный трёхфазный мотор постоянного тока. Промышленность выпускает готовые однокристальные драйверы управления, которым к тому же не требуются датчики положения ротора, ведь в роли таких датчиков выступают обмотки двигателя. Микросхемы управления трёхфазными двигателями постоянного тока, которым не требуются дополнительные датчики, являются TDA5140; TDA5141; TDA5142; TDA5144; TDA5145 и конечно же LB11880.

Двигатель, подключенный по указанным схемам, будет разгоняться до тех пор, пока либо не наступит предел по частоте генерации VCO микросхемы, которая определяется номиналами конденсатора подключенного к выводу 27 (чем его ёмкость меньше, тем выше частота), либо двигатель не будет разрушен механически. Не следует слишком уменьшать ёмкость конденсатора подключенного к выводу 27, так как это может затруднить пуск двигателя. Регулировка скорости вращения производится изменением напряжения на выводе 2 микросхемы, соответственно: Vпит — максимальная скорость; 0 — двигатель остановлен. От автора имеется и печатка, но я развёл свой вариант, как более компактный.

Позже пришли заказанные мной микросхемы LB11880, запаял в две готовые платки и провёл тест одной из них. Всё прекрасно работает: скорость регулируется переменником, обороты определить трудно но думаю до 10000 есть точно, так как двигатель гудит прилично.

В общем, начало положено, буду думать куда применить. Есть мысль сделать из него такой же точильный диск как у автора. А сейчас тестировал на куске пластика, сделал типа вентилятора, дует просто зверски хоть на фото даже не видно как он крутится.

Поднять обороты выше 20000 можно переключением ёмкостей конденсатора С10 и подачей питания МС до 18 В (18,5 В предел). На этом напряжении у меня мотор свистел капитально! Вот видео с питанием в 12 вольт:

Видео подключения мотора HDD

Подключил ещё двигатель от CD, погонял при питании 18 В, поскольку в моём внутри шарики, разгоняется так, что прыгает всё вокруг! Жаль не отследить обороты, но если судить по звуку то она очень большая, до тонкого свиста. Куда применять такие скорости, вот вопрос? Приходит на ум мини болгарка, настольная дрель, точильный станок. Применений много — думайте сами. Собирайте, тестируйте, делитесь впечатлениями. В интернете есть множество обзоров с применением данных двигателей в интересных самодельных конструкциях. В интернете видео видел, там кулибины с этими моторами помпы мастерят, супер вентиляторы, точилки, покумекать можно куда такие скоростя применить, мотор тут разгоняется свыше 27000 оборотов. С вами был Igoran.

Читайте также:  Демонтаж монтаж колеса грузового автомобиля

Форум по обсуждению материала КАК ПОДКЛЮЧИТЬ МОТОР ОТ DVD ИЛИ HDD

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


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

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

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

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

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

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

Для запуска двигателя я применил микроконтроллер 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 А. Транзисторы необходимо установить на теплоотвод.
На видео можно увидеть процесс запуска на разных скоростях, а также оптический датчик оборотов, который я приделал для измерения скорости вращения.

УПРАВЛЕНИЕ МОТОРОМ HDD ОТ ARDUINO

В винчестерах старого типа (не SSD) используются очень неплохие бесколлекторные двигатели BLDC. И часто бывает что сам винт сгорел, а двигатель работает прекрасно и выкидывать его жалко. Бесщеточные двигатели более долговечны, чем обычные коллекторные, поскольку в них отсутствует коммутатор — щетка коллектор.

Обычно используют электронные переключатели для реверсирования тока в подобных бесколлекторных двигателях. В двигателях типа BLDC катушки намотаны на статоре, а ротор имеет постоянный магнит. Но следует отметить, что бесщеточный двигатель не может работать от обычного источника постоянного тока. Нужен контроллер (драйвер). Его функции выполняет стандартная Ардуино плата.

Выходы Arduino питают транзисторы Дарлингтона TIP122 и управляют тремя фазами электродвигателя. Каждая фаза контролируется с помощью своего контакта микросхемы.

Обычно моторчик жесткого диска имеет 3 фазы + 1 общую = 3 фазы с 4-мя проводами. Используйте мультиметр для проверки сопротивления в этих четырех точках схемы измерения. Общий вывод + катушка = 1 Ом. Катушка + катушка = 2 Ома.

Схема управления двигателем через Arduino

Для извлечения мотора из корпуса HDD просто открутите все винтики. Некоторые винты могут быть скрыты под этикеткой.

Внимание! К приводу подключена лента, не тяните ее, потому что внутри очень тонкие провода, которые подключены к катушкам двигателя. Предлагаем припаять дополнительные провода, как видно на фото.

Затем припаяйте удлинительные провода. Подключение к Arduino делаем по такой схеме:

Нужно 3 цифровых контакта для отправки сигнала, тут контакты 2, 3, 4.

Компоненты контроллера

  • 3 штуки резисторы 1 кОм
  • 3 транзистора Дарлингтона TIP122
  • 3 диода 1N4004
  • 1 аккумулятор с напряжением от 5 до 12 В

Соедините всё как показано на рисунках.

Тут подшипник 22х8 в середине — он не из винчестера, лежит просто для сравнения.

Кодирование Ардуино

Программа может быть такой, а можете разработать свою, например с плавным стопом-стартом.

const int phase1pin = 2;
const int phase2pin = 3;
const int phase3pin = 4;
const int delayTime = 6000; // microsecs

void setup() <
Serial.begin(9600);
pinMode(phase1pin, OUTPUT);
pinMode(phase2pin, OUTPUT);
pinMode(phase3pin, OUTPUT);
>

void loop() <
switchStep(1);
switchStep(2);
switchStep(3);
>

void switchStep(int stage) <
switch(stage) <
case 1:
digitalWrite(phase1pin, HIGH);
digitalWrite(phase2pin, LOW);
digitalWrite(phase3pin, LOW);
delayMicroseconds(delayTime);
break;
case 2:
digitalWrite(phase1pin, LOW);
digitalWrite(phase2pin, HIGH);
digitalWrite(phase3pin, LOW);
delayMicroseconds(delayTime);
break;
case 3:
digitalWrite(phase1pin, LOW);
digitalWrite(phase2pin, LOW);
digitalWrite(phase3pin, HIGH);
delayMicroseconds(delayTime);
break;
>
>

Для данного двигателя от жесткого диска с 5400 об / мин использовалось напряжение 3,7 х 3 = 11,1 В. Минимальный период цикла = 1,3 мс, то есть он занимает около 1,3 х 2,25 х 2 = 5,85 мс для 1 об. Вы можете изменять значения в программе.

Adblock
detector