Начнем с алгоритма работы нашей программы!
1. Зададим частоту ШИМ сигнала в Гц.
2. Создадим переменную скорость в которой будем менять обороты двигателя.
3. Сформируем ШИМ сигнал на ножках микроконтроллера.
4. В бесконечном цикле будем крутить колесами с определенной частотой.
Перейдем к написанию программы и рисованию электрической схемы!
И так схема у нас есть, на ней обозначены микроконтроллер,ножка gnd, к портам D15, D16, D22, D23 подключен драйвер двигателя на микросхеме MX1508, два электрических мотор-редуктора, а также блок питания на 6В, подключенный для питания драйвера двигателей, ниже распиновка и характеристики драйвера двигателей MX1508, которые нам нужны будут для управления моторами робота.
Напряжение для моторов: 2-10 В
Напряжение для управляющих контактов: 1,8-7 В
Номинальный (рабочий) ток для каждого мотора: 1,5 А
Максимальный ток для каждого мотора: 2,5 А
Потребляемый ток в режиме ожидания: 0,1 мА
Тип драйвера: Н-мост
Практически к каждому материалу есть видеоролик на YouTube и RUTUBE каналах, теорию можно прочитать в статье, а как работает устройство в железе, посмотреть в видеоролике!
Вернемся к программе.
Драйвер двигателей у нас подключен к портам D15, D16, D22, D23, сформируем ШИМ сигнал в программе на ножках портов D15, D16, D22, D23 и укажем частоту freq сигнала на данных ножках равной 10Гц, допишем в программе in1 = PWM(Pin(15), freq), in2 = PWM(Pin(16), freq), in3 = PWM(Pin(22), freq), in4 = PWM(Pin(23), freq), создадим переменную "skorost", равной 500%, изменяя которую будем менять обороты двигателей. С настройкой портов закончили, далее чтобы наша программа работала добавим в нее модуль import machine, который содержит необходимые функции, для работы платы, строкой from machine import Pin, PWM укажем чтобы нам постоянно не повторять machine в коде.
В бесконечном цикле while True, командами in1.deinit() - выключаем ШИМ сигнал, а in2.duty(skorost) - включаем ШИМ сигнал, аналогично и на управление второго двигателя in4.deinit() - выключаем ШИМ сигнал, а in3.duty(skorost) - включаем ШИМ сигнал, если мы хотим заставить крутиться наши мотор-редукторы в другую сторону, то просто меняем в программе in1,in2 местами и in3,in4 соответственно.
Исходный код программы Скачать архив
Понравился проект? Не забудь поделиться им с друзьями в соц. сетях.
А также подписаться на наш канал на YouTube и RUTUBE !
- СПАСИБО ЗА ПРОСМОТР.
- С уважением.
- Электроника и Робототехника!