智能小车系统设计(STM32版) - 第05章 -基础实验:电机驱动实验_第1页
智能小车系统设计(STM32版) - 第05章 -基础实验:电机驱动实验_第2页
智能小车系统设计(STM32版) - 第05章 -基础实验:电机驱动实验_第3页
智能小车系统设计(STM32版) - 第05章 -基础实验:电机驱动实验_第4页
智能小车系统设计(STM32版) - 第05章 -基础实验:电机驱动实验_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章实验3——电机驱动实验2022Motordrive

容Experimentcontent“

通过学习智能小车核心板上的电机驱动电路原理图、STM32微控制器的定时器相关功能与寄存器和STM32固件库函数,编写电机驱动,并利用DbgCar调试组件测试驱动程序。One

ExperimentalprincipleTwo

原理“PWM简介

脉冲宽度调制(PWM)是利用微处理器的数字输出来控制模拟电路的一种非常有效的技术,广泛应用在测量、通信和功率控制与变换等许多领域中。PWM信号波形如下图所示:1.STM32微控制器输出的PWM信号高电平为3.3V。2.PWM的占空比为高电平的持续时间与脉冲周期的比值(h/t),修改h或t可调节PWM信号的占空比,修改PWM的占空比可控制PWM信号的平均电压。h为高电平持续时间t为脉冲周期直流电机简介常见的直流电机符号如左图所示:直流电机有两个输入端,电流方向决定了电机转动方向。两端电压决定电机转速,电压越大电机转动越快,反之则越慢。智能小车使用的直流电机如右图所示。部分参数如下:直流电压:6V空转电流:120mA由于STM32F103RCT6流经每个端口的最大电流只有25mA,电压只有3.3V,因此需要通过驱动电路来驱动电机。型号:L293DD013TR驱动电压:4.5~36V4个通道,每个通道可以输出600mA电流,输出电流峰值为1.2A。智能小车的电池电压范围为6~12V,4个电机在6V工作时电流为480mA,故需要使用两颗电机驱动芯片。芯片引脚介绍如下:(1)Vs是电机驱动电源输入端,直接连接小车电池,为小车电机供电。(2)Vss是内部逻辑电路的供电端,接核心板5V电源网络。(3)ENABLE1是PWM信号输入端,由STM32微控制器提供。(4)OUT1为输出端口,直接连接小车电机,控制电机的转向和转速。(5)IN1是OUT1使能端,高电平有效。电机驱动芯片简介电机驱动芯片简介L293DD013TR芯片的控制时序图如右图所示:IN1输出使能信号,当IN1为高电平时,OUT1引脚开始输出,PWM信号的高电平为3.3V,而OUT1高电平为电机驱动电源Vs。也就是电池提供的电压。STM32微控制器通过调节PWM信号的占空比可以控制OUT1信号的占空比,从而间接控制OUT1信号的平均电压,达到控制电机驱动的目的。

小车上使用了2颗电机驱动芯片分别控制左右两侧的电机,下面以左侧为例讲解,右侧同理。左侧电机驱动原理图如下图所示:(1)PWM_L信号频率应高于100Hz,否则电机转动时会出现明显的卡顿现象。(2)F_L为高电平,B_L为低电平时,电机向前转动。(3)F_L为低电平,B_L为高电平时,电机向后转动。(4)FL为低电平,B_L为低电平时,电机停止转动。(5)禁止出现F_L和B_L同时为高电平的情况,否则将对驱动芯片造成不可逆的损害。电机驱动芯片简介STM32的基本定时器(TIM6和TIM7)的功能最简单,其次是通用定时器(TIM2~TIM5),最复杂的是高级定时器(TIM1和TIM8)。本实验只使用通用定时器,另外,本实验涉及定时器计数功能,后续章节将涉及输入捕获和PWM输出功能。通用定时器功能框图

本实验涉及的通用定时器寄存器包括控制寄存器1(TIMx_CR1)、控制寄存器2(TIMx_CR2)、DMA/中断使能寄存器(TIMx_DIER)、状态寄存器(TIMx_SR)、事件产生寄存器(TIMx_EGR)、计数器(TIMx_CNT)、预分频器(TIMx_PSC)和自动重装载寄存器(TIMxARR)。以控制寄存器1(TIMx_CR1)为例:TIMx_CR1的结构、偏移地址和复位值00:边沿对齐模式01:中央对齐模式110:中央对齐模式211:中央对齐模式3本实验设置为边沿对齐模式0:计数器递增模式1:计数器递减模式本实验设置为计数器递增模式通用定时器部分寄存器

本实验涉及的通用定时器固件库函数包括TIM_TimeBaseInit、TIM_Cmd、TIM_ITConfig、TIM_ClearITPendingBit、TIM_GetITStatus、TIM_SelectOutputTrigger。以TIM_TimeBaseInit为例:通用定时器部分固件库函数

本实验涉及的RCC寄存器只有APB1外设时钟使能寄存器(RCC_APB1ENR)。置1:定时器2时钟开启置0:定时器2时钟关闭置1:定时器5时钟开启置0:定时器5时钟关闭RCC部分寄存器

与PWM输出实验相关的寄存器有6个,包括控制寄存器2(TIMx_CR2)、事件产生寄存器(TIMx_EGR)、捕获/比较模式寄存器1(TIMx_CCMR1)、捕获/比较使能寄存器(TIMx_CCER)、捕获/比较寄存器1(TIMx_CCR1)、捕获/比较寄存器2(TIMx_CCR2)。其中,控制寄存器2(TIMx_CR2)、事件产生寄存器(TIMx_EGR)为通用寄存器。以捕获/比较使能寄存器(TIMx_CCER)为例:本实验用于设置比较输出2的输出极性用于除能或使能比较输出2PWM相关寄存器

与PWM输出实验相关的固件库函数包括:

改变指定引脚的映射的函数GPIO_PinRemapConfig、根据参数初始化定时器TIMx通道2函数TIM_OC2Init、设置TIMx捕获比较2寄存器值函数TIM_SetCompare2、使能或除能TIMx在CCR2上的预装载寄存器函数TIM_OC2PreloadConfig。GPIO_PinRemapConfig函数在固件库的stm32f10x_gpio.h文件中声明,在stm32f10x_gpio.c文件中实现。以TIM_OC2PreloadConfig为例:TIM_OC2PreloadConfig(TIM2,TIM_OCPreload_Enable);PWM输出实验相关的固件库函数步骤1:复制并编译原始工程 步骤2:添加BEEP文件对 步骤3:完善BEEP.h文件 步骤4:完善BEEP.c文件 步骤5:完善蜂鸣器驱动应用层步骤6:编译及下载验证实验步骤Experimentalsteps“Three实验步骤steps步骤1:复制并编译原始工程步骤2:添加Motor和PWM文件对 步骤3:完善PWM.h文件 步骤4:完善PWM.c文件 步骤5:完善Timer.c文件步骤6:完善Motor.h文件步骤7:完善Motor.c文件步骤8:完善电机驱

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论