сервопривод мешает работе моторов
- Войдите на сайт для отправки комментариев
Ср, 28/07/2021 - 22:36
Всем привет. Хочу сделать робота, который может проходить лабиринты, но столкнулся с проблемой. Когда ардуина доходит до servo.attach, левые двигатели перестают работать.Драйвер L298, левые двигатели управляются in3 и in4, которые подключены к 4 и 5 пинам соответственно, правые - in1 и in2, 2 и 3 пины. С правыми двигателями все нормально.
#include <Servo.h>
Servo servo;
void setup() {
pinMode(9, OUTPUT);
pinMode(6, OUTPUT);
pinMode(4, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
analogWrite(9, 225);
analogWrite(6, 225);
digitalWrite(4, HIGH);
digitalWrite(2,HIGH);
digitalWrite(5, LOW);
digitalWrite(3, LOW);
delay(2000);
servo.attach(11);
}
void loop() {
// put your main code here, to run repeatedly:
}
что происходит, если загрузить этот код: сначала работают левые и правые двигатели, робот едет вперед. Через две секунды левые двигатели работать перестают, и робот поворачивает влево.
Где схема?
Библиотека для сервоприводов нарушает работу ШИМ на некоторых выводах.
http://arduino.ru/Reference/Library/Servo
Да и правильнее наверное для 4 моторов 4 ШИМ выхода, а не 2 использовать :-)
Получилось! Из-за этой библиотеки 9 пин переставал работать в режиме ШИМ, по этому и левые движки не работали. Спасибо большое!
А 4 ШИМ выхода мне подключить некуда. Я же двигатели не на прямую к контроллеру подключаю, а через драйвер, а к нему можно только 2 ШИМ выхода подключить.