飞控开发基础教程9开源编队无人机PWM电机控制.docx

上传人:lao****ou 文档编号:386910 上传时间:2023-10-15 格式:DOCX 页数:11 大小:550.52KB
下载 相关 举报
飞控开发基础教程9开源编队无人机PWM电机控制.docx_第1页
第1页 / 共11页
飞控开发基础教程9开源编队无人机PWM电机控制.docx_第2页
第2页 / 共11页
飞控开发基础教程9开源编队无人机PWM电机控制.docx_第3页
第3页 / 共11页
飞控开发基础教程9开源编队无人机PWM电机控制.docx_第4页
第4页 / 共11页
飞控开发基础教程9开源编队无人机PWM电机控制.docx_第5页
第5页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《飞控开发基础教程9开源编队无人机PWM电机控制.docx》由会员分享,可在线阅读,更多相关《飞控开发基础教程9开源编队无人机PWM电机控制.docx(11页珍藏版)》请在第一文库网上搜索。

1、COCOF1Y教程疯壳无人机系列目录、jI1二、占空比简介1三、STM32的PWM模式2四、寄存器2五、PWM电机控制实验3A1开源编队无人机A1OPENSOURCEFORMATIONDRONE高级功能Q激光,压光波定点有头无头3D型治双定高双模式令公QfH4)W1F1aB传遥控控制视觉追踪初觉追踪视觉追除控制飞行图码强色形状/扁日七)视觉跟丽图形化多机支持图形化自主巡线A1语音控制3动小车编队飞行编程飞行资料地址:httpwww.fengke.c1ubPWM(电机控制)一、PWM简介脉冲宽度调制(PWM),是英文“Pu1seWidthModu1ation的缩写,简称脉宽调制,是利用微处理器的

2、数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。PWM在生活中非常的常见,小到呼吸灯的闪烁,达到航天飞船都会应用到PWM技术。PWM的波形如下图所示。t2T二、占空比简介占空比是脉冲宽度调制技术中常用专业术语,占空比是指在一个时钟脉冲周期(T)内,高电平(U)的时间占总周期时间的比值,即占空比(duty)=t1T*100%如下图所示是一系列典型的脉冲波形。4msI6ms6ns4ms8ns2msIIIIII第一个PWM波,周期为IOms,高电平的时间为4ms,所以占空比为40%,同理第二个PWM波为60%,第三个为80%o一般地,占空比反映了

3、等效幅值的大小:占空比越大,等效幅值越高;占空比越小,等效幅值越低。如下图所示为不同占空比对应等效幅值的关系示意图。PuIseWidthModu1ation(PWM)三、STM32的PWM模式STM32上定时器有专门的PWM模式,它的原理是通过定时器使用比较输出的方式如下图所示产生波形。ARR为自动重载寄存器,CCR为捕获/比较寄存器,CNT就是定时器的计数器,CNT的值从。开始递增,使用PWM模式后,可以设置有效电平,以及PWM的模式。上图所示的是当CNT的值小于CCRx时,输出低电平,当CNT的值大于CCRX时,输出高点平,所以我们可以通过改变ARR的值来改变PWM的周期,改变CCRx的值

4、来改变PWM的占空比,从而实现任意频率任意占空比的PWM波。四、寄存器STM32的PWM输出模式涉及到以下寄存器。(1) TIMx_CR1:定时器控制寄存器1,如下图所示。1514131211109876S43210ReservedCKD(IARPECMSDIROPMURSUDISCENWCWPWrwrwrwrwrwrwrw其中CKD来设置时钟分频,ARPE来使能自动重载预装载,CEN来使能计数器。(2) TIMx-CCMR1:定时器捕获比较模式寄存器,如下图所示。15141312111098754321O2CEOC2MZOOC2PE10C2FECC2S1:0)1CEOCIM2:0OC1PEO

5、C1FECCIS(I刈C2F3:0c2psqx)IC1F(3)ICIPSe(1:0M|rwIrW1rWrwIrwIWIIWMIrwIrwJrwrwIrwwIrwOC1M来配置PWM的模式,PWM模式1,CNTCCR1时为无效状态;PWM模式2,CNTCCR1为有效状态。OCIPE来使能预装载。CCIS来配置通道的输入输出模式(默认为输出模式)。(3) TIMx_CCER:捕获比较使能寄存器,如下图所示。1514131211109876543210ReservedCC4PCC4EReservedCC3PCC36ReservedCC2PCC2EReservedCC1PCC1Erwrwrwrwrwr

6、wrwrwCCIP来配置输出极性,可以选择高电平有效或者低电平有效。CC1E来使能捕获/比较。五、PWM电机控制实验PWM电机控制实验使用STM32的定时器的PWM输出功能,可对飞控上的电机所在的引脚,产生不同占空比的PWM,从而实现让四个电机以不同的速度旋转。(注意:做实验的时候,占空比不要调节过大,该实验会使旋翼转动,要小心无人机的旋翼划伤手)无人机的四个旋翼如下图所示。根据原理图,可以看到四个电机分别由两个AO9926C控制,AO9926C其实想当于是两路的N沟道MOS管,两个AO9926C的四个MOS管的G极(栅极)接口分别是:PB6、PB7PB8、PB9,如下图所示。DGTIM4_C

7、H3T1M4_CH4,即定时器4的输出通道14。配置输出PWM的代码编写的思路如下:1管脚配置1、定义结构体;2、使能时钟;3、填充结构体;4、装载结构体。2定时器配置1、定义结构体;2、使能时钟;3、填充结构体;4、装载结构体。3PWM输出参数配置1、定义结构体;2、填充结构体;3、装载结构体;4、使能输出。4改变占空比1、改变占空比参数。定时器PWM输出的初始化代码如下:129voidTim4_init(void)130-1311321331341351361371381391401411421431441451461471481491501511521531541551561571581

8、59160161162163164165166167168169uint16_tTIh1Presca1er;TIM-TimeBaseInitTypeDefTIM-TimeBaseStructure;TIM_OCInitTypeDefTIM_OCInitStructure.GPIOeInitTypeDefGPIOeInitStructure;RCC_APB1PeriphC1ockCmd(RCC.APBIPeriph.T1rf4.ENAB1E).RCC_APB2PeriphC1ockCmd(RCC.APB2Periph_GPI0B,ENAB1E);/TIM4.CHPCH4GPI0_InitStru

9、cture.GPIO_Pin=GP1e1Pin_6GPIo-Pin_7GPI(1Pin_8GPI0.Pin.9.GPI0InitStructure.GPIOeSpeedGPI0Speed50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;GPI0_Init(GPI0B,&GPI0_InitStructure);TIK1Presca1er=SystemCoreC1ock/(TIM4_PWM_MAX+1)/TIM4_PWM_HZ-1;TIM_TimeBaseStructure.TIM_Period=TIM4_PWM_MAX,TIM-TimeBase

10、Structure.TIM-Presca1er=TIM-Presca1er,TIM-TimeBaseStructure.TIM.C1ockDivision=TIM_CKD_DIV1;TIM-TimeBaseStructure.TIk1CounterMode=TIM-CounterMode_Up;TIM_TimeBaseInit(TIM4,&TIM_TimeBaseStructure),T1M-OCInitStructure.TIh1OCMode=T1h1oCMode-PWM1TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enab1e.T

11、IM,OCInitStructure.TIM-Pu1scTIM4.DUTY;TIhCOCInitStructure.TIh1OCPo1arity=TIM_OCPo1arity_High;TIMjDC1Init(TIM4,ftTIH_0CInitStructure);T11i1OC1PreIoadConfig(TIM4,TIS1OCPreIoad-Enab1e);TIM.0C2Init(TIM4,&TIM_OCInitStructure).TIM.0C2PreIoadConfig(TIM4,TIM_OCPre1oad_Enab1e);TIM_0C3Init(TIM4,&TIM_OCInitStr

12、ucture).TIM0C3PreIoadConfi8(TIK4,TIMOCPre1oadEnab1e);TIM.0C4Init(TIM4,StT1M-OCInitStructure);TIM_0C4PreIoadConfig(TIM4,TIM_OCPre1oad_Enab1e),TIM-ARRPre1oadConfig(TIM4,ENAB1E).TIM_Cmd(TIM4,ENAB1E),装载不同的CCR值,产生不同的占空比,从而使四个电机以不同的速度旋转,代码如下图所示。179voidmotor_out(s16pwmMOTOR-NUM)180181u8i;182for(i=0;i=2)195

13、196PWMO=IOOO+(u16)pwm;197PWM1=IOOO+(u16)pwm1;198PWM2=1000+(u16)pwm2;199PWM3=1000+(u16)pwm3;200201二e1se202terrorP1easedefineF1Y_TYPE!203204endif其中TIM4_CH1装载CCR值为25、T1M4_CH2装载CCR值为50、T1M4_CH3装载CCR值为75、TIM4CH4装载CCR值为IOOo如下图所示。s16motor4J=25,50,75,100);intmain(void)/中断优先级组别设置NVIC_PrioritvGroupConfig(NVIC_Priori|tvGroup_4);/初始化系统滴答定时器一AiJ日89012

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 汇报材料

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服