Найти в Дзене

Всем еще раз привет!

Интересная вещь получается, вот вроде все придумал, а тут бац оказывается не все. В чум суть?
Суть в том, что при вращении колеса оказывается есть такая сила которая будет крутить колесо дальше, если снять с него напряжение. Вот я затупил! Нельзя просто так отсчитать нужное количество импульсов и остановить мотор как вкопанный. Так не выйдет! Нужно некое принудительное торможение в обратку.
Вот мои испытания мне и показали, что все не так просто. Подключил я значит свой датчик и давай колесо крутить, а оно пролетает мимо. То на четверть оборота, то на пол оборота. Короче - фигня какае-то.
Начал я это дело пытаться остановить, путем добавления в функцию остановки, обратный пуск, на короткое время.
А вроде получилось даже, но это не точно. 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);
}

ПЫ.СЫ. Зря я в это влез)))) Меня ждет порция страданий)
Всем еще раз привет! Интересная вещь получается, вот вроде все придумал, а тут бац оказывается не все. В чум суть?
Около минуты