打印
[STM8]

【众拳】基于STM32F0的舵机驱动实验 附代码

[复制链接]
2138|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主


实验目的:
通过键盘和串口通讯控制舵机,使其按照指定的参数转动对应的角度。

接线方法:
棕色-负极线<------------>开发板-GND
红色-正极线<------------>开发板-DC5.0V
橙色-信号线<------------>开发板-PA6

舵机概述:
舵机最早用于船舶上实现其转向功能,由于可以通过程序连续控制其转角,因而被广泛应用智能小车、机械手臂以及机器人各类关节运动等。

舵机组成:

舵机主要由以下几个部分组成:舵盘、减速齿轮组、位置反馈电位计、直流电机、控制电路等。


电机控制板主要是用来驱动电机和接受电位器反馈回来的信息。电机,动力的来源了,这个不用太多解释。电位器这里的作用主要是通过其旋转后产生的电阻的变化,把信号发送回电机控制板,使其判断输出轴角度是否输出正确。齿轮组的作用主要是力量的放大,使小功率电机产生大扭矩。
舵机工作原理:
控制电路板接受来自信号线的控制信号,控制电机转动,电机带动一系列齿轮组,减速后传动至输出舵盘。舵机的输出轴和位置反馈电位计是相连的,舵盘转动的同时,带动位置反馈电位计,电位计将输出一个电压信号到控制电路板,进行反馈,然后控制电路板根据所在位置决定电机转动的方向和速度,从而达到目标停止。


PWM控制舵机的方法:

舵机的控制信号周期为 20MS 的脉宽调制(PWM)信号,其中脉冲宽度从0.5-2.5MS,相对应的舵盘位置为 0-180 度,呈线性变化。也就是说,给它提供一定的脉宽,它的输出轴就会保持一定对应角度上,无论外界转矩怎么改变,直到给它提供一个另外宽度的脉冲信号,它才会改变输出角度到新的对应位置上。舵机内部有一个基准电路,产生周期为 20MS,宽度 1.5MS 的基准信号,有一个比较器,将外加信号与基准信号相比较,判断出方向和大小,从而产生电机的转动信号。由此可见,舵机是一种位置伺服驱动器,转动范围不能超过 180 度,适用于那些需要不断变化并可以保持的驱动器中。

所用SG90舵机:

尺寸:21.5mmX11.8mmX22.7mm
重量:9克
无负载速度:0.12秒/60度(4.8V)
堵转扭矩:1.2-1.4公斤/厘米(4.8V)
使用温度:-30~~+60摄氏度
工作电压:4.8V-6V



【众拳】独角兽F0开发板的舵机实验代码下载:


.zip (906 Bytes)
BSP.zip (5.59 KB)
Drivers.zip (3.72 MB)
Inc.zip (9.3 KB)
LY_STM32F0.zip (2.04 KB)
Src.zip (13.88 KB)
删除编译信息文件(缩小体积方便备份).zip (438 Bytes)






未标题-1.jpg (209.17 KB )

未标题-1.jpg
沙发
xiaoyaodz| | 2017-12-10 17:11 | 只看该作者
舵机PWM控制。

使用特权

评论回复
板凳
febgxu| | 2017-12-10 17:12 | 只看该作者
以前做飞控的时候使用STM32F103做过。

使用特权

评论回复
地板
xiaoyaodz| | 2017-12-10 17:13 | 只看该作者
一个定时器可以实现多路的控制吗?

使用特权

评论回复
5
febgxu| | 2017-12-10 17:13 | 只看该作者
舵机有的电压是5V。

使用特权

评论回复
6
刘洋讲单片机|  楼主 | 2017-12-11 09:31 | 只看该作者
xiaoyaodz 发表于 2017-12-10 17:13
一个定时器可以实现多路的控制吗?

可以,在定时器里加计数器,用变量来做

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

148

主题

499

帖子

61

粉丝