Это аналог популярного L298N, но с меньшими габаритами и пониженным энергопотреблением, что делает его идеальным для робототехники, игрушек, моделей машин и автоматизированных систем. Управлять двигателями можно низковольтным напряжением, ниже, чем напряжение на плате Arduino. Для управления скоростью используется широтно-импульсная модуляция (PWM).
Драйвер отличает наличие МОП ключей с низким сопротивлением и малое тепловыделение, благодаря которому можно использовать модуль без дополнительных радиаторов. В микросхеме имеется контур защиты с гистерезисом (ТСД), предотвращающий перегрев. Он автоматически включает модуль заново при понижении температуры микросхемы до приемлемой.
При использовании следует проявить осторожность и помнить, что неправильное подключение полярностей напряжения питания, вызовет выход из строя микросхемы MX1508 модуля драйвера. При подключении напряжения питания выше 10 В, а также короткое замыкание выхода неизбежно приведет к выходу из строя чипа.
Схема
Распиновка
Модуль MX1508 содержит разъем для подключения питания, два выхода A и B и разъем управления, назначение каждого можно ознакомится ниже:
- Вывод + и — — питание модуля и двигателей (от 2 до 10 В);
- Выводы A1 и A2 — используются для управления направлением вращения двигателя A;
- Выводы B1 и B2 — используются для управления направлением вращения двигателя B;
- Выходы MOTOR A — разъем для двигателя A;
- Выходы MOTOR B — разъем для двигателя B.
Пример

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
const int FwdPin_A = 10; const int BwdPin_A = 9; const int FwdPin_B = 6; const int BwdPin_B = 5; int MaxSpd = 100; // Скорость, значение 0-255 void setup() { pinMode(FwdPin_A, OUTPUT); // Устанавливаем FwdPin_A как выход pinMode(BwdPin_A, OUTPUT); // Устанавливаем BwdPin_A как выход pinMode(FwdPin_B, OUTPUT); // Устанавливаем FwdPin_B как выход pinMode(BwdPin_B, OUTPUT); // Устанавливаем BwdPin_B как выход } void loop() { // Движение двигателем A вперед analogWrite(BwdPin_A,LOW); analogWrite(FwdPin_A,MaxSpd); delay(5000); analogWrite(FwdPin_A,LOW); // Движение двигателем A назад analogWrite(BwdPin_A,MaxSpd); analogWrite(FwdPin_A,LOW); delay(5000); analogWrite(BwdPin_A,LOW); // Движение двигателем B вперед analogWrite(BwdPin_B,LOW); analogWrite(FwdPin_B,MaxSpd); delay(5000); analogWrite(FwdPin_B,LOW); // Движение двигателем B назад analogWrite(BwdPin_B,MaxSpd); analogWrite(FwdPin_B,LOW); delay(5000); analogWrite(BwdPin_B,LOW); } |