Мой «избегающий автомобиль» не может двигаться прямо

Я использую 2 мотор-редуктора с 2 колесами... но если я пытаюсь запустить его, он не может идти прямо. Он всегда движется немного вправо или влево.

Как это исправить?

, 👍0

Обсуждение

ну, вы не опубликовали ни кода, ни схем, ни реальной информации, так что, полагаю, нам остается только гадать, как вы все это настроили? Я бы предположил, что вы используете выход ШИМ для управления скоростью вращения двигателей. Поэтому вам следует увеличить или уменьшить один, чтобы отрегулировать скорость, @Chad G

Я попробовал, нужно ли мне использовать «двигатель с энкодером»?, @Riski Maulana

Каковы были результаты, когда вы попробовали? Это сработало, но вы не смогли найти правильный баланс между двигателями? Энкодеры помогут обеспечить их вращение с одинаковой скоростью, да, но другие факторы все еще могут заставить автомобиль немного повернуть., @Chad G

Что именно вы пробовали и что произошло? Пожалуйста, покажите больше подробностей о том, как ведет себя ваша машина, что вы изменили, изменилось ли поведение машины вообще и т. д. Здесь просто недостаточно информации, чтобы предложить вам что-то большее, чем догадки., @JRobert

поменяйте провода двигателя, чтобы убедиться, что проблема в двигателе (он должен вращаться в том же направлении... если направление меняется, то проблема в драйвере или программном обеспечении), @jsotola


1 ответ


2

Вероятно, два редукторных двигателя у вас работают на немного разных скоростях при одном и том же напряжении. Это, вероятно, в пределах нормы, учитывая, что вы говорите, что он движется слегка вправо или влево.

Вы можете использовать PWM-совместимые выводы для управления двигателем, чтобы вы могли регулировать скорость вращения двигателей. Если вы это сделаете, у вас будет несколько путей, по которым вы можете пойти:

Можно методом проб и ошибок уменьшить значение ШИМ (analogWrite(pin, speed)) для более быстровращающегося двигателя, чтобы они оба вращались с одинаковой скоростью.

или

Вы можете найти способ определить фактическую скорость вращения каждого двигателя и выполнить калибровку в реальном времени на Arduino. Это может означать добавление новых датчиков, таких как вращающиеся энкодеры (механические или оптические), или датчики прерывания света и т. д.

,

Я попробую еще раз, чтобы найти ту же скорость с ШИМ. Но если это не сработает, какой модуль я могу использовать для вращающегося энкодера?, @Riski Maulana

Решение с использованием вращающегося энкодера становится намного сложнее. Вам нужно найти вращающийся энкодер, который можно установить на тот же вал, что и ваш двигатель или колесо, или получить двигатель/редуктор со встроенным энкодером., @jose can u c