EEPW论坛
网站首页
论坛资料
设计文章
电路方案
文档资料
首页
特色版块
企业专区
电子DIY
活动通道
最新帖
开发板试用
签到
首页
板卡试用
STM32
国产MCU
电源与模拟
物联网技术
基础知识
OpenVINO生态社区
Xilinx
STM32
GD32
ADI
TI
Linear
Microchip
Renesas
Cypress
Mouser
Burnon
液体流量检测仪
电子测光表
墨水屏/贪吃蛇
手势翻页笔
我的四轴 DIY
键盘 DIY
树莓派DIY
功放 DIY
3D打印 DIY
智能车DIY
LightCube DIY
QuadCopter DIY
51 DIY
MCU DIY
FPGA DIY
这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界
»
论坛首页
»
嵌入式开发
»
STM32
»
伺服舵机驱动基础,入门必看!
共12条 1/2
1
2
›
跳转至
页
1416471
伺服舵机驱动基础,入门必看!
睡梦中的雄师
高工
2022-11-22 08:57:11
打赏
只看楼主
1楼
本篇文章我们来讲一讲伺服舵机。
一、舵机的用途
伺服舵机一般也简称为舵机,是一种可以精确控制位置的电机系统,它可以通过控制指令输出指定的旋转角度。
与普通直流电机的区别主要在:直流电机是一圈圈转动的,舵机只能在一定角度内转动,到达指定的位置后就停止;舵机一般有最大旋转角度,不能360°旋转。普通直流电机一般是整圈转动适合做动力用,舵机是控制某物体转动一定角度用,适合用于控制转向、姿态、或者用作运动关节。
一般常见的舵机,如下图所示:
二、舵机的参数
扭力,由于舵机的动力来自于电机和减速齿轮组,它的输出扭力比较大,常见的玩具级别的9g舵机也能提供1.5kg/cm~1.8kg/cm的扭力,如下图所示:
舵机的另一个重要的参数是速度,就是上图中的Operating Speed参数,主要表征了舵机最快能转动的角速率,在上图中,在6V电压无负载的情况下,这款舵机0.1s时间能转过60°角。
三、舵机的工作原理
舵机的内部是由直流电机、减速齿轮组、传感器和控制电路组成,是一个闭环的控制系统,它的原理框图如下:
舵机的轴上连接有一个电位器作为位置检测传感器,舵轴转动时,电位器输出的电压会变化(也就是可以通过电压得知舵轴的角度)。外部输入控制信号时,控制电路会比较控制信号与舵轴位置是否有偏差,如果不同,则会控制马达驱动舵轴转到预定的位置,直到控制信号与舵轴位置相同。这个控制系统一般也是由PID实现的。
我们在使用舵机时,可以不用考虑它内部是如何工作的,只需要按规则给出合适的控制信号即可。
舵机对外的接口一般是三根线:
正极、负极用于供电;信号线用于接收控制信号,这个控制信号一般是PWM波,利用PWM波的占空比来控制舵机的输出角度。
具体控制规则是:PWM波的周期为20ms,脉冲高电平一般为0.5ms~2.5ms。0.5ms时舵机输出最大负角度,2.5ms时舵机输出最大正角度,中间的脉宽和角度线性对应,如下图所示:
了解了上述的驱动规则,就不难理解为什么很多成品的航模遥控装置,其接收机的各通道输出,既可以接到电调上,也可以接到舵机上,因为电调和舵机都可以通过PWM波控制的。
四、舵机驱动编程实践
现在我们就编写一个程序来实现舵机的驱动,还是使用stm32f103C8t6最小系统板作为硬件。
舵机的负极连GND,正极连5V,信号线连到单片机的PB1引脚上。
在cubemx中建立工程,如下设置,使用定时器3的ch4输出pwm:
PWM波的参数,配置为20ms周期,初值脉冲宽度为0.5ms,生成keil工程。
然后再keil工程中添加代码:
Tim.c文件中添加修改PWM脉宽的函数,调用这个函数可以方便地修改定时器3的ch4输出的pwm的脉宽:
Main.c文件中,主函数初始化时添加启动PWM输出的函数,并且在主循环中每隔1s钟修改一次PWM的宽度,以观察是否能驱动舵机运动:
编译上述代码下载到开发板运行,可以看到舵机每隔1s会运动到一个新位置,运动到最大角度后,下一次会回到初始位置。
回复
收藏
0
关键词:
伺服
舵机
驱动
1416483
boleynzhong
专家
2022-11-22 09:19:24
打赏
2楼
谢谢分享!
评论
1416486
laocuo1142
专家
2022-11-22 09:52:58
打赏
3楼
感谢分享
评论
1416544
wayaj
专家
2022-11-22 14:03:14
打赏
4楼
感谢分享
评论
1416599
Hope2022
专家
2022-11-22 20:31:50
打赏
5楼
学到了
评论
1416637
wayaj
专家
2022-11-23 06:08:56
打赏
6楼
感谢楼主的分享
评论
1416640
llggxx
专家
2022-11-23 06:10:57
打赏
7楼
感谢楼主的分享
评论
1416654
zhangjsh
专家
2022-11-23 07:02:38
打赏
8楼
感谢分享
评论
1416666
Hope2022
专家
2022-11-23 07:35:07
打赏
9楼
感谢分享
评论
1416667
ming4129
专家
2022-11-23 08:01:10
打赏
10楼
感谢分享
评论
共12条 1/2
1
2
›
跳转至
页
回复
匿名不能发帖!请先 [
登陆
注册
]
发新帖
每日签到
有奖活动
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动!
送您一块开发板,2025年“我要开发板活动”又开始了!
分享开发笔记,赚取电动螺丝刀(便携轻巧与无刷电机两款可选)
看《关键跃升》,聊聊工作心法、动力、能力、沟通与协作,从五个方面深入交流你的工作心得
春风十里,不如现场有你|来领取你2025慕尼黑上海电子展观众预登记的奖励吧!
我要给自己挣一部逻辑分析仪
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦
【活动延期至2025年6月30日】写试用笔记分享开发经验,换取手持数字示波器
打赏帖
rtthread硬件加密-5hash加密分析
被打赏
10分
【STM32F769】SD卡驱动及其调试经验分享
被打赏
32分
【分享开发笔记,赚取电动螺丝刀】使用看门狗降低系统隐藏bug触发概率
被打赏
18分
【STM32F769】调试SD驱动,由于其时钟配置不对引起的错误以及排查记录
被打赏
35分
【分享开发笔记,赚取电动螺丝刀】MCUXpressoConfigTools配置外设时的异常解决
被打赏
24分
C语言函数宏的三种封装方式
被打赏
50分
【换取手持示波器】NUCLEO-F429ZI Mongoose移植
被打赏
30分
【STM32F769】记一次由于开启D-Cache之后DMA数据传输出错的问题查找与解决
被打赏
35分
【分享开发笔记,赚取电动螺丝刀】使用struct2json保存加载配置信息
被打赏
27分
【换取手持示波器】NUCLEO-F429ZI以太网Lwip测试
被打赏
29分
热门分类
STM32
MCU
通讯及无线技术
物联网技术
电子DIY
板卡试用
基础知识
软件与操作系统
我爱生活
小e食堂