Micropython驱动电机(马达)

         某宝上买的直流电机驱动模块(图1),可以搭载了两个马达和一个电源,我只用到了一个(因为我只有一个),IN3和IN4两个口直接连接esp32的引脚输入信号,对应的MOTOR-B口输出,焊接好后的图片如图2。顺带一提,单片机的引脚不要直接焊,毕竟只是DIY玩一玩,建议把双母头的杜邦线拆一段焊在模块上,另一端直接插在板子上。

                                                                 图1.直流电机驱动模块

图2.整体实物图

心血来潮弄着玩玩,没想那么多,然后许多问题就出现了。

1.刚开始没用PWM,导致转速特别快,芯片发热非常严重。

2.程序只是给了一个信号让它动起来,并没有控制转速。

所以我就用pwm来写这一段程序

 具体代码如图

from machine import Pin, PWM
import time


IN3 = PWM(Pin(2))
IN3.freq(1000)               #PWM方波重复的次数


while True:
    for i in range(10, 1024):#让它的占空比在10~1024之间循环实现叶片由慢到快旋转
        print(i)             #看到占空比的实时变化
        IN3.duty(i)
        time.sleep_ms(1)

 占空比在某一段时间的变化如图

之后就可以来控制它的正转和反转了,就是把IN4加进来就可以了,代码如下

from machine import Pin, PWM
import time


IN3 = PWM(Pin(2))
IN3.freq(1000)

IN4 = PWM(Pin(4))
IN4.freq(1000)

while True:
    for i in range(10, 500):
        print(i)
        IN3.duty(i)
        time.sleep_ms(2)
      
    for i in range(10,500):
        IN4.duty(i)
        time.sleep_ms(2)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值