咸鱼ZTMR实例—控制马达
主控板:ZTMR1.1python开发板
N20减速马达(四驱车上的电机)
N20减速马达 ,全金属结构,铜质减速箱,配全钢精密微型齿轮,适合制作各种精密机器人模型与科技模型。本减速电机尾部自带消火电容提高灵敏度。
(1)电机长度(含减速箱)24mm,
(2)宽度12mm,
(3)高度10mm
(4)轴径:3mm D型轴
(5)轴长:4mm
(6)电压:12v
引脚说明
引脚 | 说明 |
---|---|
B10 | 只有为高电平时,马达才会转 |
B8 | PWM控制A电机 |
B9 | PWM控制B电机 |
B12 | AIN1 |
B13 | AIN2 |
B14 | BIN1 |
B15 | BIN2 |
PWM(脉宽调制模块)
from pyb import Pin,Timer
p = Pin('X1')
ti = Timer(2,freq=1000) #X1是定时器2的CH1
ch = ti.channel(1,Timer.PWM,pin=p) #设置PWM引脚
ch.pluse_width_precent(50) #设置PWM输出占空比
脉冲宽度调制是一种模拟控制方式,其根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而实现开关稳压电源输出的改变。这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。
查看ZTMR原理图可知
引脚 | 定时器Timer | 对应通道CH |
---|---|---|
B8 | TIM10 | CH1 |
TIM4 | CH3 | |
B9 | TIM4 | CH4 |
TIM11 | CH1 |
#main.py -- put your code here!
from pyb import Pin,Timer
cs = Pin('B10',Pin.OUT_PP) #B10设置为输出引脚输出高电平
cs(1)
ch1 =None
ch2 =None #初始化
#A电机正反转
p1 = Pin('B8')
tim1 = Timer(10, freq=120)
ch1 = tim1.channel(1, Timer.PWM, pin=p1)
ch1.pulse_width_percent(10)
AI1 = Pin('B12',Pin.OUT_PP)
AI2 = Pin('B13',Pin.OUT_PP)
AI1(1) #AI1值:0 0 1
AI2(0) #AI2值:0 1 0
#状态: 停 正转 反转
#B电机正反转
p2 = Pin('B9')
tim2 = Timer(4, freq=120)
ch2 = tim2.channel(4, Timer.PWM, pin=p2)
ch2.pulse_width_percent(50)
BI3 = Pin('B14',Pin.OUT_PP)
BI4 = Pin('B15',Pin.OUT_PP)
BI3(1) #BI1值:0 0 1
BI4(0) #BI2值:0 1 0
#状态: 停 正转 反转