two wheels control - el-pths/w GitHub Wiki
Управление двухколесным роботом
Многие "самоходные" поделки имеют очень простую систему привода, основанную на использовании двух независимых моторов. На рисунке представлена типичная платформа "двухколесного робота" - она на самом деле имеет третье опорное колесико, но оно может быть заменено и невращающейся опорой или отсутствовать (при правильной балансировке).
Управление таким роботом, в упрощенном виде, сводится к следующим возможностям:
- при включении обоих моторов платформа движется вперед
- если включен только правый мотор, она поворачивает влево
- если включен только левый, наоборот совершает правый поворот
В расширенном варианте, конечно, возможно также вращать моторы назад или заставлять их вращаться с разной скоростью, что позволяет иметь дополнительные возможности маневрирования.
Подобная система управления годится и для других типов платформ:
- на гусеничном ходу (две гусеницы, каждая со своим мотором, как у трактора или танка)
- на вибродвигателях (которые должны быть расположены определенным образом по бокам)
- для перемещения по воде (с двумя независимо вращающимися гребными винтами)
- или с воздушными пропеллерами (также двумя и расположенными по сторонам от центральной линии)
использование Miskatino для дистанционного управления
Мы умеем программировать и управлять контроллером Miskatino через беспроводное соединение bluetooth, например, с мобильного телефона. Эту возможность удобно использовать для дистанционного управления.
Программа на Miskatino может по ходу работы проверять, не нажата ли какая-нибудь кнопка (в интерфейсе терминального приложения на телефоне) - и благодаря этому мы можем заставлять ее выполнять различные действия для разных кнопок, например:
- кнопка "T" - включить оба мотора, двигаться вперед
- кнопка "A" - включить только левый мотор, поворачивать вправо
- кнопка "J" - включить только правый мотор, поворачивать влево
- кнопка "V" - выключить моторы, остановиться.
Для управления моторами достаточно использовать две любых выходных ноги (например, PIN 10 и PIN 11). Если вместо светодиодов (или лучше вместе с ними) подсоединить к ногам (через резисторы) базы транзисторов, которые могут пропускать ток через моторы, то эти транзисторы при появлении на ногах контроллера управляющего напряжения, будут запускать моторы, а при пропадании сигнала - выключать.
Подключить моторы непосредственно к ногам контроллера нельзя так как контроллер не расчитан на пропускание больших токов (больше 20мА) в то время как мотором может быть актуален ток от 200 мА до 2А.
Проверка нажатия кнопки в программе осуществляется функцией KEY(...)
- о ней можно прочесть в краткой инструкции к Miskatino, или в
полном руководстве (англ).