OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5107|回复: 0

疯壳AI开源无人机PWM(电机控制)

[复制链接]

98

主题

124

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
437
金钱
437
注册时间
2017-2-27
在线时间
53 小时
发表于 2020-4-14 19:03:09 | 显示全部楼层 |阅读模式
一、PWM简介
脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。
PWM在生活中非常的常见,小到呼吸灯的闪烁,达到航天飞船都会应用到PWM技术。PWM的波形如下图所示。
图片1.jpg
二、占空比简介
占空比是脉冲宽度调制技术中常用专业术语,占空比是指在一个时钟脉冲周期(T)内,高电平(t1)的时间占总周期时间的比值,即占空比(duty)=t1/T*100%
如下图所示是一系列典型的脉冲波形。
图片2.jpg
     第一个PWM波,周期为10ms,高电平的时间为4ms,所以占空比为40%,同理第二个PWM波为60%,第三个为80%
一般地,占空比反映了等效幅值的大小:占空比越大,等效幅值越高;占空比越小,等效幅值越低。如下图所示为不同占空比对应等效幅值的关系示意图。
图片3.jpg
三、STM32PWM模式
STM32上定时器有专门的PWM模式,它的原理是通过定时器使用比较输出的方式如下图所示产生波形。
图片4.jpg
ARR为自动重载寄存器,CCR为捕获/比较寄存器,CNT就是定时器的计数器,CNT的值从0开始递增,使用PWM模式后,可以设置有效电平,以及PWM的模式。上图所示的是当CNT的值小于CCRx时,输出低电平,当CNT的值大于CCRx时,输出高点平,所以我们可以通过改变ARR的值来改变PWM的周期,改变CCRx的值来改变PWM的占空比,从而实现任意频率任意占空比的PWM波。
四、寄存器
STM32PWM输出模式涉及到以下寄存器。
1TIMx_CR1:定时器控制寄存器1,如下图所示。
图片5.jpg
其中CKD来设置时钟分频,ARPE来使能自动重载预装载,CEN来使能计数器。
2TIMx_CCMR1:定时器捕获比较模式寄存器,如下图所示。
图片6.jpg
  OC1M来配置PWM的模式,PWM模式1CNT<CCR1时为有效状态、CNT>CCR1时为无效状态;PWM模式2CNT<CCR1为无效状态、CNT>CCR1为有效状态。OC1PE来使能预装载。CC1S来配置通道的输入输出模式(默认为输出模式)。
(3)TIMx_CCER:捕获比较使能寄存器,如下图所示。
图片7.jpg
CC1P来配置输出极性,可以选择高电平有效或者低电平有效。CC1E来使能捕获/比较。
五、PWM电机控制实验
PWM电机控制实验使用STM32的定时器的PWM输出功能,可对飞控上的电机所在的引脚,产生不同占空比的PWM,从而实现让四个电机以不同的速度旋转。(注意:做实验的时候,占空比不要调节过大,该实验会使旋翼转动,要小心无人机的旋翼划伤手)无人机的四个旋翼如下图所示。
图片8.jpg
根据原理图,可以看到四个电机分别由两个AO9926C控制,AO9926C其实想当于是两路的N沟道MOS管,两个AO9926C的四个MOS管的G极(栅极)接口分别是:PB6PB7PB8PB9,如下图所示。
图片9.jpg
图片10.jpg
查看数据手册可知,PB6PB7PB8PB9分别对应的是TIM4_CH1TIM4_CH2TIM4_CH3TIM4_CH4,即定时器4的输出通道1~4
配置输出PWM的代码编写的思路如下:
1
管脚配置
1、定义结构体;
2、使能时钟;
3、填充结构体;
4、装载结构体。
2
定时器配置
1、定义结构体;
2、使能时钟;
3、填充结构体;
4、装载结构体。
3
PWM输出参数配置
1、定义结构体;
2、填充结构体;
3、装载结构体;
4、使能输出。
4
改变占空比
1、改变占空比参数。
定时器PWM输出的初始化代码如下:
图片11.jpg
装载不同的CCR值,产生不同的占空比,从而使四个电机以不同的速度旋转,代码如下图所示。
图片12.jpg
其中TIM4_CH1装载CCR值为25TIM4_CH2装载CCR值为50TIM4_CH3装载CCR值为75TIM4_CH4装载CCR值为100。如下图所示。
图片13.jpg
保存、编译、下载代码(注意旋翼会转动,小心划伤),可以看到四个旋翼以不同的速度转动,其中转速的排序为接在PB6的电机<接在PB7的电机<接在PB8的电机<接在PB9的电机。

2.飞控开发基础-【9】PWM(电机控制).pdf

845.28 KB, 下载次数: 55

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-5-29 14:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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