Управление двигателем постоянного тока с помощью Arduino
Подключив мост IC L298 к Arduino, вы можете управлять двигателем постоянного тока.
Двигатель с постоянным током или постоянным током является наиболее распространенным типом двигателя. Обычно двигатели постоянного тока имеют всего два провода, один положительный и один отрицательный. Если вы подключите эти два провода непосредственно к батарее, двигатель будет вращаться. Если вы переключаете провода, двигатель вращается в противоположном направлении.
T o управляйте направлением вращения двигателя постоянного тока, не изменяя способ подключения проводов, вы можете использовать схему под названием H-Bridge. Мост H - это электронная схема, которая может управлять двигателем в обоих направлениях. H-мосты используются во многих различных приложениях, одним из наиболее распространенных способов управления двигателями в роботах. Он называется H-мостом, поскольку он использует четыре транзистора, соединенных таким образом, что схематическая диаграмма выглядит как «H.», Вы можете использовать дискретные транзисторы для создания этой схемы, но для этого урока мы будем использовать IC L298 H-Bridge. L298 может управлять скоростью и направлением двигателей постоянного тока и шаговых двигателей и одновременно управлять двумя двигателями. Его текущий рейтинг составляет 2А для каждого двигателя. Однако при этих токах вам необходимо использовать радиаторы.
Выводы для L298 показаны ниже. Вы можете найти таблицу L298 на странице //www.tech.dmu.ac.uk/~mgongora/Resources/L298N.pdf.
Вырез L298 (вид сверху)

Требуется оборудование
- 1 x L298 мост IC
- 1 двигатель постоянного тока
- 1 x Arduino Mega2560
- 1 макет
- 10 x перемычек

На приведенной выше схеме показано, как подключить L298 IC для управления двумя двигателями. Для каждого двигателя есть три входных штыря, включая Input1 (IN1), Input2 (IN2) и Enable1 (EN1) для Motor1 и Input3, Input4 и Enable2 для Motor2.
Поскольку в этом руководстве мы будем контролировать только один двигатель, мы подключим Arduino к IN1 (контакт 5), IN2 (контакт 7) и Enable1 (контакт 6) L298 IC. Штырьки 5 и 7 являются цифровыми, то есть входы ВКЛ или ВЫКЛ, в то время как контакт 6 требует сигнала с широтно-импульсной модуляцией (ШИМ) для управления скоростью двигателя.
В следующей таблице показано, в каком направлении будет вращаться двигатель, в зависимости от цифровых значений IN1 и IN2.
В 1 | IN2 | MOTOR |
---|---|---|
ТОРМОЗНАЯ | ||
1 | ВПЕРЕД | |
1 | BACKWARD | |
1 | 1 | ТОРМОЗНАЯ |
IN1 штыря L298 IC подключается к контакту 8 Arduino, а IN2 подключается к контакту 9. Эти два цифровых контакта Arduino управляют направлением двигателя. Штырь EN A IC подключается к штырю 2 ШИМ из Arduino. Это будет контролировать скорость двигателя.
Чтобы установить значения контактов Arduino 8 и 9, мы будем использовать функцию digitalWrite (), и для установки значения вывода 2 мы будем использовать функцию analogWrite ().
Ниже приведена фотография созданного.

код
const int pwm = 2; //initializing pin 2 as pwm const int in_1 = 8; const int in_2 = 9; //For providing logic to L298 IC to choose the direction of the DC motor void setup() { pinMode(pwm, OUTPUT); //we have to set PWM pin as output pinMode(in_1, OUTPUT); //Logic pins are also set as output pinMode(in_2, OUTPUT); } void loop() { //For Clock wise motion, in_1 = High, in_2 = Low digitalWrite(in_1, HIGH); digitalWrite(in_2, LOW); analogWrite(pwm, 255); /*setting pwm of the motor to 255 we can change the speed of rotaion by chaning pwm input but we are only using arduino so we are using higest value to driver the motor */ //Clockwise for 3 secs delay(3000); //For brake digitalWrite(in_1, HIGH); digitalWrite(in_2, HIGH); delay(1000); //For Anti Clock-wise motion - IN_1 = LOW, IN_2 = HIGH digitalWrite(in_1, LOW); digitalWrite(in_2, HIGH); delay(3000); //For brake digitalWrite(in_1, HIGH); digitalWrite(in_2, HIGH); delay(1000); }
Скачать код
Настроить
- Подключите 5V и заземлите IC до 5V и заземлите Arduino.
- Подключите двигатель к контактам 2 и 3 IC.
- Подключите IN1 IC к контакту 8 Arduino.
- Подключите IN2 IC к контакту 9 Arduino.
- Подключите EN1 IC к контакту 2 Arduino.
- Подключите SENS Штырь IC к земле.
- Подключите Arduino с помощью USB-кабеля Arduino и загрузите программу в Arduino, используя программное обеспечение Arduino IDE.
- Обеспечьте питание платы Arduino, используя блок питания, аккумулятор или кабель USB.
Теперь двигатель должен работать сначала по часовой стрелке (CW) в течение 3 секунд, а затем против часовой стрелки (CCW) в течение 3 секунд.
видео
Попробуйте этот проект сами! Получить спецификацию.