сервопривод мешает работе моторов
- Войдите на сайт для отправки комментариев
Ср, 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 ШИМ выхода подключить.