[嵌入式] 【分享帖】舵机在机器人技术中的应用及编程方法

[复制链接]
工程Jellyfish
2016-2-17 10:43:37 显示全部楼层

马上注册,玩转Robomaster!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
舵机结构及工作原理
舵机主要由舵盘、减速齿轮组、位置反馈电位器、直流电机、控制电路板组成,其工作原理(图1 所示):控制电路接收信号源的控制脉冲,并驱动电机转动;齿轮组将电机的速度成大倍数缩小,并将电机的输出扭矩放大响应倍数,然后输出;电位器和齿轮组的末级一起转动,测量舵机轴转动角度;电路板检测并根据电位器判断舵机转动角度,然后控制舵机转动到目标角度或保持在目标角度。


QQ截图20160217104024.jpg



舵机的控制方法
舵机的控制信号为周期为20ms 的脉宽调制信号,该脉冲的高电平部分一般为0.5ms~2.5ms,对应的舵机转动角度为0~180°,理想情况下脉冲高电平宽度与舵机转动角度成正比。即舵机转动角度=180°×(脉冲高电平宽度-0.5)/2。可以用单片机作为舵机的控制单元,使PWM 信号的脉冲宽度实现微秒级的变化,从而提高舵机的转角精度。单片机完成控制算法,再将计算结果转化为PWM 信号输出到舵机,由于单片机系统是一个数字系统,整个系统工作可靠。单片机控制系统对舵机输出转角的控制,分为两个步骤。第一步是产生基本的周期为20ms 的PWM信号,第二步是PWM 信号脉宽的确定,调整占空比。控制系统中实现一个舵机的控制,通常采用使用单片机的一个定时器来实现。根据PWM 信号占空比,分别设定定时器中断的初值,将20ms 分为两次中断执行,一次短时间中断和一次较长时间中断,控制输出信号的电平变换,产生要求的PWM 信号。


3 应用举例及编程方法
我们采用宏晶STC12C5A60S2 单片机,它是宏晶科技生产的高速、低功耗、超强抗干扰的新一代单片机,指令代码完全兼容传统8051,但速度快近十倍。制作的自动投球机器人,机器人每次携带6 个小球,通过单片机控制两个舵机制作两个挡板,挡板配合动作,将小球投到指定位置。两个挡板初始位置为:下面的挡板1 在“挡”位置、上面的挡板2 在“缩”位置,开始向投球机器人装入小球。启动投球机器人后,挡板2 运动到“挡”位置,按照规定的路线循迹运动,运动到指定位置后,投球机器人开始投球。具体动作为:挡板1“缩”,投下一个小球,然后挡板1“挡”,挡板2“缩”,第二个小球落到最下面的位置,然后挡板2“挡”,等待投球;依次类推,投入六个小球后,工作结束。


单片机晶振频率为12MHz,P36 输出舵机1 的PWM控制信号,P37 作为输出舵机2 的PWM 控制信号,分别采用16 位定时器T0、T1 产生两路PWM 信号P36、P37。以舵机1 控制为例,通过设定定时器T0 工作在定时模式,定时时间到产生中断来产生PWM 信号。特殊功能寄存器AUXR 中的T0x12、T1x12 位分别设定T0、T1 对系统时钟进行12 分频还是不分频计数定时,我们设定T0x12、T1x12 为“0”,选择对系统时钟12 分频计数定时,则定时器计一个数时间为1us,产生2ms 时间需计数2000个。初始时舵机1 带动挡板1 运动到“挡”位置,根据挡板运动位置(舵机转动角度) 确定脉宽的初始值a,即a=(2000/180)* 舵机转动角度+500。然后设定定时器T0 的初值TH0=-(65536-a)/256、TL0=-(65536-a)%256;并置输出P36 为高电平,启动定时器T0,T0 开始定时。当定时器计数溢出时,触发计数器溢出中断函数void timer0() interrupt1 using 1,在子函数中,改变输出P36 为反相(此时变为低电平),计算ci =20000-a,并重新设定定时器T0 的初值,直到定时器再次产生溢出中断,重复上一过程。



舵机在机器人技术中的应用及编程方法_秦萍.pdf

127.62 KB, 下载次数: 53

售价: 3 金钱  [记录]

跳转到指定楼层

[嵌入式] 【分享帖】舵机在机器人技术中的应用及编程方法

[复制链接]
前哨站chencailee
2016-2-17 23:33:47 显示全部楼层
好的舵机挺贵的,控制起来精度比较好

[嵌入式] 【分享帖】舵机在机器人技术中的应用及编程方法

[复制链接]
工程无血九痕
2018-10-4 17:58:01 显示全部楼层
666666666666666

[嵌入式] 【分享帖】舵机在机器人技术中的应用及编程方法

[复制链接]
梯队队员墨染江河
2019-5-12 17:39:28 显示全部楼层
用舵机带动机械臂夹持物品如何在舵机卡死情况下防止其烧掉啊?有柔性的舵机吗?

[嵌入式] 【分享帖】舵机在机器人技术中的应用及编程方法

[复制链接]
步兵chinazc123
2019-5-12 18:18:33 显示全部楼层
有人用过KST的BSL825舵机吗,它是不是转不到180度

[嵌入式] 【分享帖】舵机在机器人技术中的应用及编程方法

[复制链接]
正式队员IKEMURA_Kei
2019-10-23 02:21:49 显示全部楼层
赞,学到了很多。

[嵌入式] 【分享帖】舵机在机器人技术中的应用及编程方法

[复制链接]
正式队员IKEMURA_Kei
2019-10-23 02:22:34 显示全部楼层
nice nice nice

[嵌入式] 【分享帖】舵机在机器人技术中的应用及编程方法

[复制链接]
梯队队员暘光
2023-9-6 15:59:33 显示全部楼层
感觉说的很好

[嵌入式] 【分享帖】舵机在机器人技术中的应用及编程方法

[复制链接]
梯队队员djiuser_MZh9aOE
2024-2-11 00:02:17 显示全部楼层
谢谢分享

回复

使用道具 举报

[嵌入式] 【分享帖】舵机在机器人技术中的应用及编程方法

[复制链接]
梯队队员ryanlei
2024-3-15 14:27:55 显示全部楼层
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

触屏版 | 电脑版

Copyright © 2024 RoboMasters 版权所有 备案号 粤ICP备2022092332号

快速回复 返回顶部 返回列表