Драйвер L293D и питание
- Войдите на сайт для отправки комментариев
Добрый день.
Собрал на макетке 4-колесного робота, использовав в качестве драйвера микросхему L293D. Ввиду того, что хотел подать на моторы питание отдельно, а на ардуино отдельно, сделал на двух аккумуляторах, один питает ардуино (не как на схеме, а через разъем), второй - заведен на моторы (на L293D).
Вне зависимости, подключаю ли я 1 аккумулятор, другой или оба, схема ведет себя одинаково - ардуино заводится, колеса крутятся. Меня это смущает, т.к. я опасаюсь помех по питанию от моторов на ардуино.
Должно ли так быть? Получается, драйвер пропускает через себя питание в обе стороны.
Вторая программа - ардуино перезагружается (не исключаю, что из-за нюансов по питанию). Перезагрузка возникает в один и тот же момент, негарантированно, но часто. Происходит на этом куске кода:
void big_r(){
digitalWrite(ledBPin, LOW); //зажигаю светодиод, чтоб убедиться, что началось исполнение
nclock(); //обращение к процедуре вращения против часовой стрелки
delay(1850); //ждем
stopd(); // обращение к процедуре остановки, все моторпины - LOW
digitalWrite(ledBPin, HIGH); //гашу диод
}
void nclock(){
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
s_mon++; //глобальная переменная
last_turn = 0; //глобальная переменная
}
Это просто разворот на месте, при этом успевает развернуться иногда почти полностью (1,85 сек), иногда только начинает разворот. При этом до выполнения разворота спокойно едет вперед до препятствия, фиксирует препятствие, начинает искать объезд, доходит до этой процедурки и перезагружается.
Подскажите, пожалуйста, что это может быть?
Принципиальная схема (ардуино не на кроне и запитана не на пины, в остальном - все так).