智能小车系统设计(STM32版) - 第06章 -基础实验:舵机控制实验_第1页
智能小车系统设计(STM32版) - 第06章 -基础实验:舵机控制实验_第2页
智能小车系统设计(STM32版) - 第06章 -基础实验:舵机控制实验_第3页
智能小车系统设计(STM32版) - 第06章 -基础实验:舵机控制实验_第4页
智能小车系统设计(STM32版) - 第06章 -基础实验:舵机控制实验_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

第6章实验4——舵机控制实验2022Steeringgearcontrolexperiment

容Experimentcontent“

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

ExperimentalprincipleTwo

原理“舵机简介功能:

位于智能小车正前方,搭载有超声测距模块,如右图所示。通过特定周期和占空比的PWM信号可以使舵机朝向不同的转动以获得小车与各个方向确积物的距离。规格:

厂商所提供的舵机规格包含外形尺寸(mm)、扭力(kg/cm)、速度(s/60°)、测试电压(V)及质量(g)等基本内容。扭力定义为在摆臂长度1cm处,能吊起的物体的质量(kg),摆臂长度越长,则扭力越小。速度定义为舵机转动60°所需要的时间。

小车上使用的是TS90A舵机

(舵机1)、MG995舵机(舵机2、3),下面依次进行介绍。智能小车--TS90A舵机TS90A舵机

(舵机1)如右图——用于控制智能小车的超声测距模块。具体参数:舵机型号TS90A重量9g尺寸参数23*12.2*29mm传感器电位器工作电压4.8V死区10us工作温度0~55℃输出齿尺寸20T(4.8mm)静态电流5mA扭矩1.5kg/cm空载电流60mA控制信号PWM50Hz(0.5~2.5ms)堵转电流750mA空载速度0.3s/60°(4.8V)信号线识别:颜色暗灰红色橙黄色定义GND4.8V~7.2VPWM脉冲输入智能小车-MG995舵机(舵机2、3)

用于控制WIFI摄像头的方向,舵机2控制摄像头左右转动,舵机3控制摄像头上下转动如右图。参数:舵机型号MG995重量55g尺寸参数40.7*19.7*42.9mm转动角度180°工作电压3~7.2V死区4us工作温度-30℃~55℃结构材质金属铜齿工作电流100mA扭矩13kg/cm反应转速53-62R/M控制信号PWM50Hz(0.5~2.5ms)插头类型JR、FUTABA通用操作速度0.17s/60°(4.8V)0.13s/60°(6.0V)信号线识别:颜色暗灰红色橙黄色定义GND3V~7.2VPWM脉冲输入舵机控制原理

舵机内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,与输入PWM的脉冲宽度比较,获得电压差输出,电压差的正负输出到电机驱动芯片决定电机的正反转。

当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。

舵机的控制需要一个周期为20ms的时基脉冲,脉冲的高电平部分一般为0.5ms~2.5ms。以180°侍服舵机为例,0.5ms~2.5ms对应0°到180°,高电平宽度与舵机角度成线性关系:只需要输出特定波形信号就可以控制舵机转动的角度:舵机接口原理图

智能小车上共有3个舵机模块接口,本实验只使用J1接口,舵机接口电路原理图如下图所示,其中PC6、PC7和PC8对应TIM8的CH1、CH2和CH3。所以只需要使用TIM8将特定的PWM波通过PC6、PC7和PC8引脚输出,就能控制舵机转向不同的角度。高级定时器TIM1和TIM8简介--重复计数器高级定时器在通用寄存器得基础上增加了重复计数、死区插入、互补输出等功能。重复计数器在下述任一条件成立时递减:●向上计数模式下每次计数器溢出时●向下计数模式下每次计数器下溢时●中央对齐模式下每次上溢和每次下溢时

重复计数器是自动加载的,重复速率是由TIMx_RCR寄存器的值定义,如右图所示。当更新事件由软件产生(通过设置TIMx_EGR中的UG位)或者通过硬件的从模式控制器产生,则无论重复计数器的值是多少,立即发生更新事件,并且TIMx_RCR寄存器中的内容被重载入到重复计数器。重复计数器:互补输出和死区插入

高级定时器(TIM1和TIM8)能够输出两路互补信号,并且能够管理输出的瞬时关断和接通。这段时间通常被称为死区,用户应该根据连接的输出器件和它们的特性(电平转换的延时、电源开关的延时等)来调整死区时间。

配置TIMx_CCER寄存器中的CCxP和CCxNP位,可以为每一个输出独立地选择极性(主输出OCx或互补输出OCxN)。

互补信号OCx和OCxN通过下列控制位的组合进行控制:TIMx_CCER寄存器的CCxE和CCxNE位,TIMx_BDTR和TIMx_CR2寄存器中的MOE、OISx、OISxN、OSSI和OSSR位。在转换到IDLE状态时(MOE下降到0),死区被激活。

同时设置CCxE和CCxNE位将插入死区,如果存在刹车电路,则还要设置MOE位。每一个通道都有一个10位的死区发生器。参考信号OCxREF可以产生2路输出OCx和OCxN。如果OCx和OCxN为高有效:●OCx输出信号与参考信号相同,只是它的上升沿相对于参考信号的上升沿有一个延迟。●OCxN输出信号与参考信号相反,只是它的上升沿相对于参考信号的下降沿有一个延迟。

如果延迟大于当前有效的输出宽度(OCx或者OCxN),则不会产生相应的脉冲。下列几张图显示了死区发生器的输出信号和当前参考信号OCxREF之间的关系。(假设CCxP=0、CCxNP=0、MOE=1、CCxE=1并且CCxNE=1)带死区插入的互补输出死区波形延迟大于正脉冲死区波形延迟大于负脉冲互补输出和死区插入高级定时器部分寄存器

本实验用到的高级定时器寄存器:TIM1和TIM8的重复寄存器(TIMx_PCR)、刹车和死区寄存器(TIMx_BDTR)刹车功能使能:0:关闭刹车输入;1:开启刹车输入本实验关闭刹车功能以刹车和死区寄存器(TIMx_BDTR)为例:高级定时器固件库函数TIM_ARRPreloadConfig(TIM8,ENABLE);TIM_ARRPreloadConfig函数可以使能或除能TIMx在ARR上的预装载寄存器,通过向TIMx_CR1写入参数来实现。步骤1:复制并编译原始工程 步骤2:添加BEEP文件对 步骤3:完善BEEP.h文件 步骤4:完善BEEP.c文件 步骤5:完善蜂鸣器驱动应用层步骤6:编译及下载验证实验步骤Experimentalsteps“Three实验步骤steps步骤1:复制并编译原始工程步骤2:添加Servo文件对 步骤3:完善Timer.c文件步骤4:完善PWM.c文件 步骤5:完善Servo.h文件步骤6:完善Servo.c文件步骤7:完善舵机模块驱动应用层步骤8:编译及下载验证本

务Tasksinthischapter“Four

本章任务Tasks

温馨提示

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

最新文档

评论

0/150

提交评论