舵机业者玩转机器人笔记(舵机脉冲角度宽度机械)「舵机脉冲宽度计算」

最近我们与DFRobot合作,一起搭建创客项目
在机械臂和履带车项目中都使用到了舵机(伺服电机)
今天和大家分享一下,舵机(伺服电机)选择与设计过程中的一些心得
相关设计项目详情,可通过以下文章查看:· 【消暑礼】DIY自己的机械臂,然后来赢工程师必备神器· 酷到没朋友
3分钟,教你DIY履带车机器人 |看教程,赢好礼什么是舵机?舵机是伺服电机中的一种, 由直流电机加上反馈控制回路组成
一般使用PWM(脉冲宽度调制)来控制
主要分成两种类型:有限旋转舵机(输出旋转角度)和连续旋转舵机(输出旋转速度)
图1,舵机实物图舵机的类型开发者应该根据需要实现的功能,选择有限旋转舵机还是连续旋转舵机
连续旋转舵机只能连续旋转,不能控制旋转角度
有限旋转舵机,可以控制旋转角度,但是旋转角度有限制
舵机类型有限旋转舵机(比如180°舵机)连续旋转舵机(比如360°舵机)控制方式PWM控制旋转角度PWM控制旋转速度和旋转方向能否控制旋转角度能不能能否连续旋转不能能主要应用场合需要控制旋转角度的场合比如机械臂、开关需要连续旋转的场合比如驱动轮子表1,两种不同类型舵机的比较比如在上面的机械臂项目中,实现的功能是在特定的位置抓取物件,那么使用有限旋转舵机比较合适
舵机的扭矩上面机械臂项目中选用的舵机SER0006,力矩为1.6kg/cm,相当于在距离输出轴30cm处可以匀速提起一个鸡蛋
实际应用时,不仅要考虑匀速的情况,还要考虑有机加速度/摩擦/碰撞等情况下,以及械臂本身重量等因素,从而放足够的余量
在机械臂项目中,使用硬板纸作为机械臂的材料, 实现的功能也只是提起比较轻的物体
如果需要实现提起重物,舵机的扭矩以及机械臂材料都要相应升级
舵机的旋转速度如果想让舵机按照设定的速度旋转,可以把需要旋转的角度划分成几个小角度,然后分步完成,从而达到控制旋转速度的目的
另一种方式是,实时地控制旋转角度
比如在机械臂项目中,通过采集电位器的旋转角度,实时给舵机一系列控制的信号,从而达到手动控制机械臂的各种动作
实现舵机控制大多数舵机PWM控制协议,都已经标准化
舵机一般有三根引线,分别为电源线、地线、信号线
通过PWM来控制舵机输出轴的旋转角度,下图是一个典型的舵机PWM控制波形
图2,典型PWM控制波形(180°舵机)图中可以看出,输入不同脉冲宽度的PWM波形,对应舵机输出轴转动的角度也不同
对于180°舵机,取周期20ms、脉冲宽度1.5ms的PWM波形,作为舵机输出轴转动幅度的1/2位置处
脉冲宽度小于1.5ms越多,向某一方向偏转越多
反之,脉冲宽度大于1.5ms越多,向另一个方向偏转越多
对于360°舵机,取周期20ms,脉冲宽度1.5ms的PWM波形,作为舵机停止转动的基准点
脉冲宽度小于1.5ms越多,向某一方向转速越快
反之,脉冲宽度大于1.5ms越多,向另一方向转速越快
值得注意的是,有些舵机,在脉冲宽度1.5ms对应的轴转动幅度的1/2位置,或者舵机停止转动的基准点,可能会有一点误差
对于360°舵机,可能会导致在PWM脉冲宽度设置在1.5ms时无法完全停下来
可能调整脉冲宽度到1.49ms或者1.51ms时才完全停下来
实际使用过程中,最好测试出舵机实际的中位,然后通过软件/硬件等方法来修正
从上面可以看出,180°舵机和360°舵机,控制的方式与通信协议非常的相似
这意味着,这两种舵机的控制板以及控制程序,在某一种程度上可以通用
比如micro:bit图形化编程平台makecode内置了舵机控制程序
只要给相应的角度,不仅可以控制180°舵机偏转相应的角度,还可以控制360°舵机的转速和方向
图3 makecode图形化编程平台,舵机控制更多micro:bit与舵机设计与程序参考:玩转micro:bit-用BXY玩360度舵机小车小结许多机械臂/机器人项目中,经常会使用到舵机(伺服电机)
深入了解舵机,可以为加快电子设计从创意到应用的进程提供助力
更多相关产品/技术资源:1. DFRobot是基于创客的卓越平台,提供许多成熟的开发资源:a. 创客套件b. 开发套件c. 技术文库2. 更多电机控制相关技术资源:a. 搭建Devastator 机器人b. 如何驱动舵机 (eewiki)c. 玩转micro:bit-用BXY玩360度舵机小车
舵机业者玩转机器人笔记(舵机脉冲角度宽度机械)
(图片来源网络,侵删)

联系我们

在线咨询:点击这里给我发消息