Ускорение движения робота
В начале задания предлагаем рассмотреть описание метода широтно-импульсной модуляции. Метод широтно-импульсной модуляции (ШИМ, англ. pulse-width modulation (PWM)) широко применяется для управления мощностью, подводимой к нагрузке, путём изменения ширины (скважности) импульсов, при постоянной частоте.
На картинке выше видно, что при скважности 100 % действующее значение максимальное, в нашем случае 5 вольт, при скважности 50 % – в два раза меньше и равно 2,5 вольт, а при 25% и 75% – 1,25 и 3,75 вольт соответственно.
Управляя длительностью импульсов: «единицы» и «ноля» мы получаем необходимое нам действующее (результирующее) значение аналогового сигнала, а в нашем случае – напряжение питания электромотора. Чем больше напряжение, тем быстрее вращается мотор и тем быстрее едет робот.
Если на выходе устройства, генерирующего ШИМ-сигнал, установить фильтр низких частот (ФНЧ), то уровень постоянного напряжения на выходе фильтра будет определяться скважностью импульсов ШИМ. Фильтр не пропускает несущую частоту ШИМ. На выходе фильтра формируется сигнал с постоянной составляющей. Сам фильтр может состоять из простейшей интегрирующей RC цепи.
В нашем случае нагрузкой является электродвигатель. Он достаточно инерционен. Поэтому не требуется дополнительных фильтров.
Основным достоинством ШИМ-управления является то, что электронный ключ (обычно транзистор в микросхеме драйвера) работает в ключевом режиме, что заметно повышает экономичность схемы, так как потери на активных элементах сводятся к минимуму.
В схеме управления электромотором с помощью ШИМ-сигнала параллельно мотору необходимо устанавливать диод для защиты транзистора Q1 от индукционных всплесков, появляющимся в момент выключения и включения. Благодаря использованию диода, индукционный импульс разряжается через него и внутреннее сопротивление двигателя, защищая тем самым транзистор.
Для сглаживания всплесков питания между клеммами мотора, можно подключить конденсатор небольшой ёмкости (100 nF). Это снизит высокочастотные помехи, создаваемые частыми переключениями транзистора Q1.
В контроллере Arduino есть специальные контакты, которые могут формировать сигнал с широтно-импульсной модуляцией. Это D3, D5, D6, D9, D10, D11. На картинке ниже мы видим обозначения контактов.
В блоке R-5 пины D3, D5 подключены к входам драйвера, отвечающих за регулировку скорости вращения электромоторов. Соответственно, вызвав функцию analogWrite () мы сможем изменять действующее значение напряжения питания электромоторов и соответственно изменять скорость движения робота.
Переходим к практической части задания.
Последовательно увеличиваем значение ШИМ. С увеличением значения ШИМ скорость движения робота увеличивается до максимума.
Скопируйте текст программы и вставьте его в скетч Arduino IDE.
После проверки загрузите код в контроллер. Установите контроллер в блок R-5 и включите питание робота.