Хочу попробовать сделать обратную связь по скорости для робота с двумя ведущими колесами. Исходные данные:
- 2 сервы HS-311 (переделанные на непрерывное вращение)
- 2 колеса с наклеенным на поверхность черно-белым секторным диском
- 2 отражательных оптрона.
Перед созданием темы я прочитал про ШИМ все, что уже обсуждалось, а вопросы остались. И еще: я понимаю что такое ШИМ, с чем его едят и как его делать, ну и про то как работает энкодер я тоже представляю. Теперь перейдем к сути проблемы.
Я себе так представляю решение задачи управления скоростью: я знаю с какой частотой должны вращаться колеса (это моя уставка), если мне надо ехать точно прямо - то с одинаковой, если надо повернуть - то с разной, радиус поворота зависит от разности скоростей, но не меньше чем когда одно колесо - полный вперед, а второе стоит на месте (я не рассматриваю разворот на месте). Итак, я знаю с какой скоростью надо крутить каждое колесо, кроме того я знаю с какой скоростью в данный момент крутится каждое колесо. Мне надо сформировать ШИМ с такими параметрами, которые мне нужны. Вот тут и возникает вопрос: как связаны параметры ШИМ (частота и скважность) со скоростью? Использовать ли сверх низкочастотный ШИМ (подавать полное питание на не очень короткое время), но при этом робот будет двигаться рывками, хотя с этом случае становится все понятным: средняя скорость прямо пропорциональна скважности. Или же использовать высокочастотный ШИМ, выделять из него постоянную составляющую и питать ей H-мост сервы? Но как узнать, какому напряжению питания какая скорость соответствует? Можно конечно опытным путем, но хотелось бы способом проще, тем более что для разных условий одной скорости будут соответствовать разные напряжения, графиков зависимости скорости от напряжения питания я не нашел. Ну и третий способ регулирования скорости каждого колеса - это использование програмных регуляторов. То есть программа в каждом случае сама подбирает параметры ШИМ, пока уставка скорости не станет равна фактической скорости. Метод труден в реализации, скорость будет меняться достаточно медленно, она будет равна заданной с погрешностью. Итак, обобщу вопросы.
1. Какая частота ШИМ лучше для сервы, очень низкая или высокая? (на основе вашего опыта)
2. Каким методом лучше всего управлять скоростью?