舵机、电机和步进电机的运动控制
1. 舵机的PWM控制原理
舵机通常需要约50Hz的PWM信号(在50Hz左右有一定变化是可以的,但我们以50Hz作为常见参考点),脉冲宽度在1.0毫秒到2.0毫秒之间,该脉冲宽度决定了舵机的旋转角度。
下面通过一个例子来说明脉冲宽度、占空比和角度之间的关系:
- 若PWM信号频率为50Hz(即每秒50个周期),则一个PWM周期为1 / 50 = 0.02秒,也就是20ms。
- 脉冲宽度为1.5ms时,占空比为1.5ms / 20ms = 0.075,乘以100后得到占空比为7.5%。
- 若已知占空比为7.5%,将其除以100得到0.075,再乘以20ms,得到脉冲宽度为1.5ms。
2. 运行和探索舵机代码
代码位于 chapter10/servo.py 文件中,运行该代码时,舵机应左右旋转几次。下面来分析代码:
# 定义脉冲宽度变量
LEFT_PULSE = 1000 # Nano seconds # (1)
RIGHT_PULSE = 2000
CENTER_PULSE = ((LEFT_PULSE - RIGHT_PULSE) // 2) + RIGHT_PULSE # Eg 1500
# 定义运动延迟变量
MOVEMENT_DELAY_SECS = 0.5 # (2)
# 定义控制舵机的基本函数
def left(): # (3)
超级会员免费看
订阅专栏 解锁全文
30

被折叠的 条评论
为什么被折叠?



