Управління двигуном за допомогою моста MOS-FET; Підручник з Arduino
H-Bridge - це схема, що змушує електродвигун обертатися вперед-назад. Він складається з двох підсилювальних каналів, які в свою чергу складаються з двох MOS-транзисторів або силових транзисторів. Є два транзистори з різною полярністю (наприклад, FET N і FET P).

У цьому прикладі N-канал і P-канал MOS-FET з'єднані разом для кожного каналу. Ви можете використовувати, наприклад, FET-N IRF9Z30 та FET-P IRFZ40. Залежно від того, чи надсилаєте ви сигнал GND або плюс, один із двох транзисторів блокує, а другий замикає ланцюг.
| ВИСОКО | НИЗЬКИЙ | НИЗЬКИЙ | ВИСОКО | Правильно |
| НИЗЬКИЙ | ВИСОКО | ВИСОКО | НИЗЬКИЙ | Ліворуч |
Також можна регулювати швидкість двигуна за допомогою ШІМ-сигналу.
На схематичному перегляді можна швидко побачити, як H-Bridge (H-Bridge) отримав свою назву.
EDIT: Велике спасибі Уве, який вказав на значні проблеми.
Переглянути коментарі (50)
Привіт,
На жаль, поточна версія принципової схеми більше не містить батареї, хоча коментарі час від часу посилаються на неї.
Чи була причина не мати окремого джерела живлення для двигуна?
Хтось може надіслати мені принципову схему з акумулятором?
Привіт!
Моє питання насправді досить просте.
Якщо я хочу повернути двигун вправо/вліво і регулювати швидкість за допомогою ШІМ, як мені його підключити
на тему P-Mosfet:
Резистори 10 кОм та 220 Ом слід поміняти місцями, інакше затвор P-Mosfet отримує приблизно 10k/(10k + 220) * Uv при перемиканні транзистора npn. Де Uv - напруга живлення.
Коли транзистор npn заблокований, на затвор подається приблизно напруга живлення Uv.
Як результат, Mosfet не перемикається.
Це можна виправити, помінявши місцями два резистори.
Якщо вам потрібен трохи швидший час перемикання, ви можете просто зменшити вдвічі, на третю або навіть у чверть обидва значення. (! Дотримуйтесь специфікацій транзистора npn та напруги живлення !)
Можна використовувати інше програмне забезпечення для зміни швидкості Arduino за допомогою повзунка під час роботи програми, повільно і швидко вперед назад, не програмуючи певні процеси заздалегідь
Привіт,
IRF9z30 може обробляти напругу джерела затвора -5В. Це означає, що ви повинні залишити 10k з вказаною конфігурацією. Однак коефіцієнт Rds при -5В все ще є відносно високим, а це означає, що втрати потужності також відносно високі. Приблизно я б завантажував 9z30 максимум 800 мА при кімнатній температурі без радіатора.
Привіт,
Мені цікаво зрозуміти та відтворити цю схему. Але в розумінні є перша проблема. Затвор P-Mosfet підключений до робочої напруги через 220 Ом і витягується на землю транзистором BC547 через 10 КОм. Відповідно до закону Ома, це змінює напругу на затворі лише незначно. Як там може працювати схема. І як повинна виглядати програма, якщо, наприклад, я хочу керувати двигуном в обох напрямках обертання двома кнопками з різною швидкістю та напрямками?
Дякую за відповіді та щасливої Великодня
Петро
Зробити своїми руками H-Bridge - це завжди важке завдання.
P-Mosfet блокує, коли напруга на затворі приблизно така ж, як і на джерелі. У випадку цієї електричної схеми з напругою живлення для двигунів більше 5 В, верхні P_MOSFETS ніколи не вимикаються. Відбувається коротке замикання. Через максимальну напругу джерела GARE +/- 20 В, схема може не працювати з напругою 24 В, якщо вона працює.
Засіб: Управління транзистором P_Mosfets, завдяки чому я віддаю перевагу керуванню за допомогою 4-х виходів Arduino, оскільки таким чином двигун може зійти вниз без гальмування (всі 4 MOSFET-блоки заблоковані). В іншому випадку використовуйте контрольні мікросхеми, такі як IR2104 та всі N-MOSFET, або, ще краще, використовуйте готові мікросхеми або модулі.
Згадані мосфети не підходять для прямого управління Arduino, оскільки вони не повністю перемикаються при напрузі 5 В на затворі. Потрібно використовувати MOSFET-рівні логічного рівня.
Стефане, будь ласка, додайте та виправте опис схеми так, щоб напруга живлення двигуна для цієї схеми не повинна бути більше 5В.
@Uwefed: Дякую за повідомлення. Ви ніколи не припиняєте вчитися. Я якомога швидше зміню статтю. З повагою, Стефане "
Оскільки все більше власників будинків змушені покидати свої будинки, вони звертаються до найму житла на короткий термін.
Грати в ігри не тільки для молоді, це також для молодого покоління.
Окрім цього шоку, я дізнався, що у нас скоро з’явиться дитина.
Привіт,
Я зробив код таким:
це призводить до того, що мій робот повертається на 3 секунди вліво, а потім 3 секунди вправо.
У мене лівий двигун на штифтах 8 і 9
правильний для штифтів 11 і 12 (просто підключіть його, я не знаю точно, як я підключив двигуни, тобто який штифт був для вперед і назад).
int motor1l = 8;
int motor1r = 9;
int motor2l = 11;
int motor2r = 12;
pinMode (мотор1l, ВИХІД);
pinMode (motor1r, OUTPUT);
pinMode (двигун2l, ВИХІД);
pinMode (motor2r, OUTPUT);
цикл void ()
analogWrite (motor1r, 100);
digitalWrite (motor1l, LOW);
analogWrite (motor2l, 100);
digitalWrite (motor2r, LOW);
analogWrite (motor1l, 100);
digitalWrite (motor1r, LOW);
analogWrite (motor2r, 100);
digitalWrite (motor2l, LOW);
Ви, безсумнівно, бачите свій ентузіазм у роботі, яку ви пишете.
Арена сподівається на таких пристрасніших письменників, як ви, які не бояться сказати
як вони вірять. У будь-який час слідкуй за своїм серцем.