H-МІСТ.Практичне застосування

В першій частині я розповідав  про H-міст, його будову та принцип роботи. В цій статті буде показано практичне застосування, на прикладі керування двигуном моделі машини. Для цього був використаний модуль на основі мікросхеми L298N. Цей модуль дозволяє керувати 2 двигунами постійного струму,тобто змінювати напрям обертання ротора двигуна та його швидкість (від 0 до 100%) використовуючи PWM.

drivers and motors

L298N та двигуни

Основна частина молуля мікросхема L298N. Для її роботи потрібно 2 живлення: живлення логічної частини, та живлення двигунів. Для цього на платі розміщений стабілізатор U1 для створення живлення 5В для логічної частини із загального живлення. Це дозволяє подавати на модуль тільки одне живлення. Живлення подається на роз’єм J1. Перемичкою J5 можна включати/виключати живлення логічної частини мікросхеми(якщо перемичка витягнута на J1 потрібно буде подавати 2 живлення). Керуючі сигнали подаються на роз’єм J2, до J3, J4 підключаються двигуни. Діоди D1 – D8 призначені для захисту транзисторів мікросхеми. В моїй схемі двигуни живляться від батареї через перетворювач step-down (плата зеленого кольору). Ці перетворювачі дозволяють виставити вихідну напругу підстроєчним резистором. В моєму випадку це 7В.

L298N  schematic

Схема модуля – драйвера

Керує двигунами одноплатний комп’ютер BeagleBone Black з операційною системою Linux:

Драйвер двигуна підключений до плати BeagleBoneBlack через 10K резистори, за наступною схемою:

BeagleBone Black pin Driver pin Опис
P9_14 ENA PWM, регулювання швидкості
P9_12 IN1 зміна напрямку
P9_11 IN2 зміна напрямку

Програма написана на мові Python. Після створення скріпта потрібно його зберегти з розширенням *.py, наприклад motor.py. Коли все готово запускаємо його на виконання командою python motor.py   для завершення роботи програми потрібно натиснути комбінацію клавіш  “Ctrl + C”. Текст програми для керуванням двигуном:

Скріпт працює наступним чином – встановлюється рух двигуна в одну сторону і збільшується швидкість обертання ротора,після досягнення максимуму двигун виключається, і змінюється напрям обертання його ротора та збільшується швидкість обертання. Все це відображається в консолі:

console

виконання Python скріпта

Демонстрація роботи системи: