Кроковий двигун жорсткого диска. Підключення двигуна HDD до мікроконтролеру. Принципова схема підключення двигуна до мікросхемі LB11880

Головна / про автомобілі
Двигун, що обертає шпиндель жорсткого диска (або CD / DVD-ROM) - це синхронний трифазний мотор постійного струму.
Розкрутити такий двигун можна підключивши його до трьох полумостовим каскадів, які управляються трифазним генератором, частота якого при включенні дуже мала, а потім плавно підвищиться до номінальної. Це не найкраще рішення задачі, така схема не має зворотного зв'язку і отже частота генератора буде підвищуватися в надії, що двигун встигає набрати обертів, навіть якщо насправді його вал нерухомий. Створення схеми зі зворотним зв'язком зажадало б застосування датчиків положення ротора і кілька корпусів ІМС не рахуючи вихідних транзисторів. CD / DVD-ROM вже містять датчики холу, за сигналами яких можна визначити положення ротора двигуна, але іноді, зовсім не важливо точне положення і не хочеться даремно тягнути "зайві дроти".
На щастя, промисловість випускає готові однокристальних драйвери управління, яким до того ж їм не потрібні датчики положення ротора, в ролі таких датчиків виступають обмотки двигуна.

Мікросхеми управління трифазними двигунами постійного струму, яким не потрібні додаткові датчики (Датчиками є самі обмотки двигуна):
LB11880; TDA5140; TDA5141; TDA5142; TDA5144; TDA5145.
Є й деякі інші, але чомусь їх немає в продажу, там, де я шукав, а чекати від 2 до 30 тижнів замовлення я не люблю.

Принципова схема підключення двигуна до мікросхемі LB11880
Спочатку, ця мікросхема призначена для управління двигуном БВГ відеомагнітофонів, так що вона старенька, в ключових каскадах у неї біполярні транзистори а не MOSFET`и.
У своїх конструкціях, я використовував саме цю мікросхему, вона по-перше, виявилася в наявності в найближчому магазині, по-друге, її вартість була нижчою, ніж у інших мікросхем зі списку вище.
Власне, схема включення двигуна:

Якщо ваш двигун має не 3 а 4 виведення, то підключати його слід відповідно до схеми:
Трохи додаткової інформації про LB11880 і не тільки
Двигун, підключений за вказаними схемами буде розганятися до тих пір, поки або не настане межа по частоті генерації VCO мікросхеми, яка визначається номіналами конденсатора підключеного до висновку 27 (чим його ємність менше, тим вище частота), або двигун не буде зруйнований механічно.
Не слід занадто зменшувати ємність конденсатора підключеного до висновку 27, так як це може ускладнити пуск двигуна.

Як регулювати швидкість обертання?
Регулювання швидкості обертання виробляється зміною напруги на виводі 2 мікросхеми, відповідно: Vпіт - максимальна швидкість; 0 - двигун зупинений.
Однак, необхідно відзначити, що плавно регулювати частоту просто застосувавши змінний резистор не вдасться, так як регулювання не лінійна і відбувається в менших межах ніж Vпіт - 0, завдяки чому найкращим варіантом буде підключення до цього висновку конденсатора на який через резистор, наприклад від мікроконтролера подається ШІМ сигнал.
Для визначення поточної частоти обертання слід використовувати висновок 8 мікросхеми, на якому при обертанні вала двигуна присутні імпульси, по 3 імпульсу на 1 оборот валу.

Як задати максимальний струм в обмотках?
Відомо, що трифазні двигуни постійного струму споживають значний струм поза своїх робочих режимів (при харчуванні їх обмоток імпульсами занижений частоти).
Для виставлення максимального струму в даній схемі є резистор R1.
Як тільки падіння напруги на R1 і отже на виведення 20 стане більш 0.95 вольта, то вихідний драйвер мікросхеми перериває імпульс.
Вибираючи значення R1, враховуйте, що для даної мікросхеми максимальний струм не більше 1.2 ампера, номінальний 0.4 ампера.

Параметри мікросхеми LB11880
Напруга харчування вихідного каскаду (висновок 21): 8 ... 13 вольт (максимально 14.5);
Напруга живлення ядра (висновок 3): 4 ... 6 вольт (максимально 7);
Максимальна розсіюється мікросхемою потужність: 2.8 вата;
Діапазон робочих температур: -20 ... +75 градусів.

А ось власне, для чого я застосував двигун від HDD в сукупності з вказаною мікросхемою:


Ось цей диск (правда коли на ньому ще не було мідних болтів), здавалося б невеликий і хирлявий двигун від старенького вінчестера Seagate Barracuda, на 40Гб, розрахований на 7200 оборотів / хв (RPM) примудрявся розганяти до 15000 ... 17000 обертів / хв , якщо я не обмежував його швидкість. Так що область застосування двигунів від завалялася вінчестерів, думаю досить обширна. Точило / дриль / болгарку звичайно не зробити, навіть не думайте, але без особливого навантаження, двигуни здатні на багато що, наприклад якщо з їх допомогою обертати барабан з дзеркалами, для механічної розгортки лазерного променя і т.п.

. Тема безумовна цікава особливо для початківців радіо- "мучителів", але на мій погляд розкрита далеко не повністю. немаєлогічного завершення, а саме яку схему використовував багато шановний, TwIsTeRдля свого рішення, запропоновану чи (моїм колегою по журналістської праці)Sanyaav на М / С TDA5145, МК або якусь іншу. Цією статтею я хочу доповнити деякі прогалини форуму і розповім, на мій погляд, про цілком гідною хоч за сучасними мірками і старенькій мікросхеміLB11880. І так приступимо і почнемо з загальних відомостей, що ж таке двигун від HDD, CD-ROM, DVD-ROM

Двигун, що обертає шпиндель жорсткого диска (Або CD / DVD-ROM) - це синхронний трифазний мотор постійного струму.

Розкрутити такий двигун можна підключивши його до трьох підлозі мостовим каскадів, які управляються трифазним генератором, частота якого при включенні дуже мала, а потім плавно підвищиться до номінальної. Це не найкраще рішення задачі, така схема не має зворотного зв'язку і отже частота генератора буде підвищуватися в надії, що двигун встигає набрати обертів, навіть якщо насправді його вал нерухомий. Створення схеми зі зворотним зв'язком зажадало б застосування датчиків положення ротора і кілька корпусів ІМС не рахуючи вихідних транзисторів. CD / DVD-ROM вже містять датчики холу, за сигналами яких можна визначити положення ротора двигуна, але іноді, зовсім не важливо точне положення і не хочеться даремно тягнути "зайві дроти".

На щастя, промисловість випускає готові однокристальних драйвери управління, яким до того ж їм не потрібні датчики положення ротора, в ролі таких датчиків виступають обмотки двигуна.Мікросхеми управління трифазними двигунами постійного струму, яким не потрібні додаткові датчики (датчиками є самі обмотки двигуна):TDA5140; TDA5141; TDA5142; TDA5144; TDA5145 і звичайно ж LB11880. (Є і деякі інші, але іншим разом.)

Принципова схема підключення двигуна до мікросхемі LB11880.

Спочатку, ця мікросхема призначена для управління двигуном БВГ відеомагнітофонів, в ключових каскадах у неї біполярні транзистори а не MOSFET.У своїх конструкціях, я використовував саме цю мікросхему, вона по-перше, виявилася в наявності в найближчому магазині, по-друге, її вартість була нижчою (хоч і не на багато), ніж у інших мікросхем з вище наведеного списку.

Власне, схема включення двигуна:

Якщо ваш двигун раптом має не 3 а 4 виведення, то підключати його слід відповідно до схеми:

І ще одна більш наочна схема, адаптована для використання в автомобілі.

Трохи додаткової інформації про LB11880 і не тільки

Двигун, підключений за вказаними схемами буде розганятися до тих пір, поки або не настане межа по частоті генерації VCO мікросхеми, яка визначається номіналами конденсатора підключеного до висновку 27 (чим його ємність менше, тим вище частота), або двигун не буде зруйнований механічно.Не слід занадто зменшувати ємність конденсатора підключеного до висновку 27, так як це може ускладнити пуск двигуна.

Як регулювати швидкість обертання?

Регулювання швидкості обертання виробляється зміною напруги на виводі 2 мікросхеми, відповідно: Vпіт - максимальна швидкість; 0 - двигун зупинений.

Однак, необхідно відзначити, що плавно регулювати частоту просто застосувавши змінний резистор не вдасться, так як регулювання не лінійна і відбувається в менших межах ніж Vпіт - 0, завдяки чому найкращим варіантом буде підключення до цього висновку конденсатора на який через резистор, наприклад від мікроконтролера подається ШІМ сигнал ну або шИМ регулятор на всесвітньо відомому таймеріNE555 (таких схем в інеті повно)

Для визначення поточної частоти обертання слід використовувати висновок 8 мікросхеми, на якому при обертанні вала двигуна присутні імпульси, по 3 імпульсу на 1 оборот валу.

Як задати максимальний струм в обмотках?

Відомо, що трифазні двигуни постійного струму споживають значний струм поза своїх робочих режимів (при харчуванні їх обмоток імпульсами занижений частоти).Для виставлення максимального струму в даній схемі є резистор R1.Як тільки падіння напруги на R1 і отже на виведення 20 стане більш 0.95 вольта, то вихідний драйвер мікросхеми перериває імпульс.Вибираючи значення R1, враховуйте, що для даної мікросхеми максимальний струм не більше 1.2 ампера, номінальний 0.4 ампера.

Параметри мікросхеми LB11880

Напруга харчування вихідного каскаду (висновок 21): 8 ... 13 вольт (максимально 14.5);

Напруга живлення ядра (висновок 3): 4 ... 6 вольт (максимально 7);

Максимальна розсіюється мікросхемою потужність: 2.8 вата;

Діапазон робочих температур: -20 ... +75 градусів.


Ось цей диск (правда коли на ньому ще не було мідних болтів), здавалося б невеликий і хирлявий двигун від старенького вінчестера на 40Гб, розрахований на 7200 оборотів / хв (RPM) примудрявся розганятися приблизно до 15000 ... 17000 обертів / хв, якщо не обмежувати його швидкість. Так що область застосування двигунів від завалялася вінчестерів, думаю досить обширна. Точило / дриль / болгарку звичайно не зробити, навіть не думайте, але без особливого навантаження, двигуни здатні на багато що.

Ф айлов архів для самостійної збірка качаємо

ХАЙ ЩАСТИТЬ!!

Давно припадав пилом у мене такий ось невеликий двигун, Який я викорчував з якогось жорсткого диска. Диск, до речі, від нього теж зберігся! Якщо зберуся - прикручу його на наступному етапі. А поки вирішив просто спробувати його реанімувати. Цікавий цей двигун тим, що по ідеї, (як зрозумів я - людина нічого не знав досі про двигуни) він є вентильним. І як нам оповідає Вікіпедія: "вентильні двигуни покликані об'єднати в собі кращі якості двигунів змінного струму та двигунів постійного струму". А за рахунок відсутності ковзних електричних контактів (так як щітковий вузол замінений там на безконтактний напівпровідниковий комутатор) такі двигуни мають високу надійність і високим терміном служби. Далі я не стану перераховувати всі інші достоїнства цих двигунів і тим самим переказувати Вікіпедію, а просто скажу, що застосування таких штуковин досить широке, в тому числі в робототехніці, а тому захотілося дізнатися побільше про принципи їх роботи.

Принцип роботи двигуна HDD.


У двигуні три обмотки, сооедінённие за принципом "зірка". Загальна точка обмоток виводиться на плюс. + 5V для роботи підходить відмінно. Управляється двигун ШІМ-сигналом, який повинен подаватися на його обмотки зі зрушенням фази 120 °. Однак, не виходить подати потрібну частоту на двигун відразу, попередньо його потрібно розігнати. найпростіший спосіб підключити три обмотки через транзистори, подаючи ШІМ сигнал їм на базу від мікроконтролера.Відразу обмовлюся з транзисторів: краще брати польовики, тому що струм через них, схоже, йде пристойний, і біполярні сильно гріються. Спочатку взяв 2N2222a. Нагрівалися за секунди, тимчасово вирішив проблему установкою поруч кулера, але потім вирішив, що треба щось надійніше, тобто побільше ☺ В результаті поставив наші КТ817Г. Третього не виявилося, замість нього у мене КТ815Г. В даній схемі їх можна замінювати, але КТ815 розраховані на постійний колекторний струм 1,5 ампера, а КТ817 - 3A. Зауважу, що 2N2222a взагалі - до 0,8A. Буква КТ81 ... теж не грає ролі, так як у нас всього 5 вольт. У теорії, частота зміни сигналу не швидше 1 мілісекунди, реально ще повільніше, так що високочастотні транзисторів теж ролі не грає. Загалом, підозрюю, що в даній схемі поекспериментувати можна майже з будь-якими транзисторами n-p-n типу, З струмом колектора хоча б 1 ампер.

Схему додаю, резистори підбиралися теж експериментально, на 1 кіло - цілком придатне працюють. Ставив ще 4,7k - це багато, двигун ДЛМГ.

У двигуна 4 виведення. На початку з'ясовуємо, який з них загальний. Для цього мультиметром вимірюємо опір між усіма висновками. Опір між кінцями обмоток в два рази більше, ніж між кінцем однієї обмотки і загальної середньої точкою. Умовно 4 ома проти 2. Яку обмотку куди підключати - не має значення, вони все одно йдуть один за одним.

Текст програми:

// Програма запуску двигуна жорсткого диска
#define P 9100 // Початкова затримка для розгону двигуна
#define x 9 // Номер Піна до обмотці x
#define y 10 // Номер Піна до обмотці y
#define z 11 // Номер Піна до обмотці z
unsigned int p; // Змінна затримки для розгону
long time_pass; // Таймер
byte i \u003d 0; // Лічильник циклу управління фазами двигуна
void setup ()
{
p \u003d P; // Надаємо початкове значення затримки для розгону

//Serial.begin(9600); // Відкриваємо COM порт для дебага
pinMode (x, OUTPUT); // Встановили Піни, що працюють з двигуном на висновок даних
pinMode (y, OUTPUT);
pinMode (z, OUTPUT);
digitalWrite (x, LOW); // Встановили початкову фазу двигуна, можна почати з будь-якої з 6 фаз
digitalWrite (y, HIGH);
digitalWrite (z, LOW);
time_pass \u003d micros (); // Обнулення таймера

void loop ()
{

if ((i< 7) && (micros () - time_pass >\u003d P)) // Якщо лічильник має номер від 0 до 6, і час очікування зміни фази пройшло
{
time_pass \u003d micros (); // Обнуляємо таймер
if (i \u003d\u003d 0) (digitalWrite (z, HIGH);) // Встановлюємо 0 або 1 в залежності від номера фази на потрібному піне
if (i \u003d\u003d 2) (digitalWrite (y, LOW);)
if (i \u003d\u003d 3) (digitalWrite (x, HIGH);)
if (i \u003d\u003d 4) (digitalWrite (z, LOW);)
if (i \u003d\u003d 5) (digitalWrite (y, HIGH);)
if (i \u003d\u003d 6) (digitalWrite (x, LOW);)

I ++; // Плюсуя лічильник фази
}
if (i\u003e \u003d 7) // Якщо лічильник переповнений
{
i \u003d 0; // Обнуляємо лічильник
if (p\u003e 1350) (p \u003d p - 50;) // Якщо двигун ще не увійшов в максимальну швидкість - скорочуємо час зміни фази
//Serial.println(p); Дебаг часу очікування
}

Що в результаті?

В результаті маємо двигун, який розганяється за кілька секунд. Іноді розгін розбалансує, і двигун зупиняється, але частіше все працює. Як стабілізувати - поки не знаю. Якщо рукою зупинити двигун, знову він вже не запуститься - потрібен перезапуск програми. Поки це максимум, який вдалося з нього вичавити. При опусканні p нижче 1350 двигун вилітає з розгону. 9100 на початку теж підбиралася експериментально, можна спробувати поміняти, подивитися, що буде. Ймовірно, для іншого двигуна числа будуть іншими - мені довелося підбирати для свого. З навантаженням ( оригінальний диск) Двигун перестає запускатися, так що установка на нього чого-небудь потребує калібрування прошивки заново. Крутиться він порівняно швидко, так що рекомендую при запуску одягати окуляри, особливо якщо на ньому чогось буде висіти в цей момент. Сподіваюся продовжити з ним експерименти. Поки це все, всім удачі!

У жорстких дисках, як правило, застосовуються трифазні безколекторні двигуни. Обмотки двигуна з'єднані зіркою, тобто отримуємо 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 об / сек.


Розгін починається з 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-х, як показано на схемі нижче.

© 2021 bugulma-lada.ru - Портал для власників автомобілів