Вам понадобится
- - Arduino;
- - персональный компьютер со средой разработки Arduino IDE;
- - драйвер двигателей L9110S или аналогичный;
- - коллекторный электромотор;
- - соединительные провода.
Инструкция
1
Напрямую подключить электродвигатель к выводам Arduino нельзя: есть риск сжечь вывод, к которому подключён двигатель. Для безопасного подключения электродвигателей разных типов к Arduino необходим самодельный или промышленно изготовленный драйвер двигателей. Драйверы двигателей бывают самые разные. Наиболее распространены типа HG788, L9110S, L293D, L298N и другие. Драйверы двигателей имеют выводы питания, выводы для подключения электродвигателей, а также управляющие выводы. В данной статье мы будем использовать драйвер для управления двигателями, сделанный на основе микросхемы L9110S. Обычно выпускаются платы, которые поддерживают подключение нескольких двигателей. Но для демонстрации мы обойдёмся одним.
2
Самые простые двигатели - коллекторные двигатели. У таких моторов всего два управляющих контакта. В зависимости от полярности приложенного к ним напряжения меняется направление вращения вала двигателя, а величина приложенного напряжения изменяет скорость вращения.
Давайте подключим двигатель по приложенной схеме. Питание драйвера двигателя - 5 В от Arduino, для управления скоростью вращения ротора мотора управляющие контакты подключаем к выводам Ардуино, поддерживающим ШИМ (широтно-импульсную модуляцию).
Давайте подключим двигатель по приложенной схеме. Питание драйвера двигателя - 5 В от Arduino, для управления скоростью вращения ротора мотора управляющие контакты подключаем к выводам Ардуино, поддерживающим ШИМ (широтно-импульсную модуляцию).
3
Напишем скетч для управления коллекторным двигателем. Объявим две константы для ножек, управляющих двигателем, и одну переменную для хранения значения скорости. Будем передавать в последовательный порт значения переменной Speed и менять таким образом скорость и направление вращения двигателя.
Максимальная скорость вращения - при наибольшем значении напряжения, которое может выдать драйвер двигателя. Мы можем управлять скоростью вращения, подавая напряжения в диапазоне от 0 до 5 Вольт. Так как мы используем цифровые ножки с ШИМ, напряжение на них регулируется командой analogWtirte(pin, value), где pin - номер вывода, на котором мы хотим задать напряжение, а аргумент value - коэффициент, пропорциональный значению напряжения, принимающий значения в диапазоне от 0 (напряжение на выводе равно нулю) до 255 (напряжение на выводе равно 5 В).
Максимальная скорость вращения - при наибольшем значении напряжения, которое может выдать драйвер двигателя. Мы можем управлять скоростью вращения, подавая напряжения в диапазоне от 0 до 5 Вольт. Так как мы используем цифровые ножки с ШИМ, напряжение на них регулируется командой analogWtirte(pin, value), где pin - номер вывода, на котором мы хотим задать напряжение, а аргумент value - коэффициент, пропорциональный значению напряжения, принимающий значения в диапазоне от 0 (напряжение на выводе равно нулю) до 255 (напряжение на выводе равно 5 В).
4
Загрузим скетч в память Arduino. Запустим его. Двигатель не вращается. Чтобы задать скорость вращения, нужно передать в последовательный порт значение от 0 до 255. Направление вращения определяется знаком числа.
Подключимся с помощью любой терминалки к порту, передадим число "100" - двигатель начнёт вращаться со средней скоростью. Если подадим "минус 100", то он начнёт вращаться с той же скоростью в противоположном направлении.
Подключимся с помощью любой терминалки к порту, передадим число "100" - двигатель начнёт вращаться со средней скоростью. Если подадим "минус 100", то он начнёт вращаться с той же скоростью в противоположном направлении.