Управление мотором Ардуино

Управление мотором Ардуино.

В этом уроке мы рассмотрим как управлять обычным мотором постоянного тока при помощи Ардуино. 

У вас наверняка есть такие моторчики дома от старых игрушек или машинок. Так давайте их используем, нечего им валяться без дела. И не важно на какое они напряжение 5 вольт или 12 вольт, главное что бы были постоянного тока, а не переменного.

Управлять будем с помощью Ардуино, а точнее с помощью ШИМ выводов которые есть на этих платах.
Можно конечно купить специальную плату-драйвер для управления моторами, но мы не будем этого делать, а обойдёмся только Ардуино.

 

В управлении мотором нет ничего сложного, надо только подключить мотор  к выводу ШИМ, а потенциометр которым будем управлять, к аналоговому входу.

ШИМ – это Широтно-Импульсная Модуляция, или по другому PWM – Pulse-Width Modulation — процесс управления мощности методом пульсирующего включения и выключения прибора. 

ШИМ выходов на платах Ардуино несколько. 

На платах Arduino UNO такие выходы отмечены знаком тильда.
Выходы которые можно использовать как ШИМ - это 3, 5, 6, 9, 10, 11 
 
У Arduino Mega  они обозначаются  как PWM со 2 по 13 пин и 44-46.

У Arduino NANO никаких обозначений на плате нет. Надо просто запомнить это 3, 5, 6, 9, 10, 11.
Точно так же как и у Ардуино УНО.

Подробнее про технологию ШИМ можно прочитать на моём сайте.
http://arduino-kid.ru/arduino_nano_pwm
Там описан принцип работы, а также некоторые ограничения которые надо знать.  Например, при совместной работе с функцией tone().

Напрямую подключать моторы к Ардуино нельзя, так как они потребляют большой ток и могут питаться не 5 вольтами, а больше. Поэтому я подключил мотор через транзистор и параллельно мотору установил диод..

Описание скетчей.

Сегодня будет несколько скетчей.
Первый для управления скоростью вращения мотора. Управлять будем с помощью потенциометра. А в следующем уроке я покажу, как управлять вращением мотора программно. Плавно меняя скорость вращения.
Во втором мы объединим то что делали в двух последних уроках.
Это используем датчик ХОЛЛА и  индикатор TM1637 для подсчёта оборотов вращения.
Короче сделаем тахометр на Ардуино. А для любителей велоспорта это прям почти готовый проект для определения скорости по количеству оборотов.
На мотор я приклеил магнит, а напротив установил датчик ХОЛЛА. И каждый раз когда магнит находится рядом с датчиком, датчик посылает сигнал на Ардуино и выводит значения на индикатор TM1637.

Как подключить мотор к Ардуино я показал на видео.
 

Скетчи