1384 подписчика
Всем еще раз привет!
Интересная вещь получается, вот вроде все придумал, а тут бац оказывается не все. В чум суть?
Суть в том, что при вращении колеса оказывается есть такая сила которая будет крутить колесо дальше, если снять с него напряжение. Вот я затупил! Нельзя просто так отсчитать нужное количество импульсов и остановить мотор как вкопанный. Так не выйдет! Нужно некое принудительное торможение в обратку.
Вот мои испытания мне и показали, что все не так просто. Подключил я значит свой датчик и давай колесо крутить, а оно пролетает мимо. То на четверть оборота, то на пол оборота. Короче - фигня какае-то.
Начал я это дело пытаться остановить, путем добавления в функцию остановки, обратный пуск, на короткое время.
А вроде получилось даже, но это не точно. 30 мс хватает чтобы тормознуть мотор, путем кратковременного пуска в обратку.
void revers_forvard_stop_motor () {
digitalWrite (IN_A, 1); // это и есть пуск в обратку на 30 мс
digitalWrite (IN_B, 0);
analogWrite (EN, 200);
delay (30);
analogWrite (EN, 0); // а тут все отключается
digitalWrite (IN_A, 0);
digitalWrite (IN_B, 0);
}
ПЫ.СЫ. Зря я в это влез)))) Меня ждет порция страданий)
Около минуты
16 мая 2024