智能平衡移动机器人(MATLABSimulink版·微课视频版)课件 6.1-6.5 eCAP超声波测距-PIL处理器在环测试_第1页
智能平衡移动机器人(MATLABSimulink版·微课视频版)课件 6.1-6.5 eCAP超声波测距-PIL处理器在环测试_第2页
智能平衡移动机器人(MATLABSimulink版·微课视频版)课件 6.1-6.5 eCAP超声波测距-PIL处理器在环测试_第3页
智能平衡移动机器人(MATLABSimulink版·微课视频版)课件 6.1-6.5 eCAP超声波测距-PIL处理器在环测试_第4页
智能平衡移动机器人(MATLABSimulink版·微课视频版)课件 6.1-6.5 eCAP超声波测距-PIL处理器在环测试_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

智能平衡移动机器人第6章

智能平衡移动机器人进阶应用目录6.1eCAP超声波测距6.2ePWM电机调速6.3eQEP正交解码6.3.1正交编码器QEP概述6.3.2光电编码器电机测速的基本原理6.3.3eQEP正交解码模块使用说明6.3.4编码器信号采集6.4SIL软件在环测试6.5PIL处理器在环测试HC-SR04基本工作原理:(1)采用Trig引脚触发测距,给至少10us的高电平信号;(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过Echo引脚输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间;(4)测试距离=(高电平时间*声速(340M/S))/2。本实验所用的超声波HC-SR04模块如下图所示,左边为正面图,右边为反面图。基本介绍6.1eCAP超声波测距本模块使用方法简单,一个控制口发一个10us以上的高电平,就可以在接收口等待高电平输出。一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离。如此不断的周期测,即可以达到你移动测量的值其工作时序图如下图所示。基本介绍故我们只要用DSP28069的eCAP3引脚连接到HC-SR04的Echo引脚,再利用一个IO引脚(本实验选取GPIO23)作为HC-SR04的触发源Trig引脚,其原理图如下图所示。基本介绍整体框架关键模块T1表示t2-t1的差也就是测试方波的高电平时间对应的计数值关键模块最后将模型编译下载下载到主控板,然后在CCS中打开模型生成的工程文件,先点击编译,再点击调试,然后将下图的两个变量添加到Expressions中,再点击运行前,我们先将超声波传感器插在6号板子上(即MPU6050模块的板子)。然后在点击运行可以看到各个变量的值,用纸在超声波传感器的前方移动,观测Distan的变化是否和实际距离一致,同时观察两个LED的变化。实验效果实时刷新数据目录6.1eCAP超声波测距6.2ePWM电机调速6.3eQEP正交解码6.3.1正交编码器QEP概述6.3.2光电编码器电机测速的基本原理6.3.3eQEP正交解码模块使用说明6.3.4编码器信号采集6.4SIL软件在环测试6.5PIL处理器在环测试在有刷直流电机的固定部分有磁铁,这里称作主磁极;固定部分还有电刷。转动部分有环形铁芯和绕在环形铁芯上的绕组。如图所示的两极有刷直流电机的固定部分(定子)上装设了一对直流励磁的静止的主磁极N和S,在旋转部分(转子)上装设电枢铁芯。定子与转子之间有一气隙。在电枢铁芯上放置了由A和X两根导体连成的电枢线圈,线圈的首端和末端分别连到两个圆弧形的铜片上,此铜片称为换向片。换向片之间互相绝缘,由换向片构成的整体称为换向器。换向器固定在转轴上,换向片与转轴之间亦互相绝缘。在换向片上放置着一对固定不动的电刷B1和B2,当电枢旋转时,电枢线圈通过换向片和电刷与外电路接通。有刷直流电机的工作原理6.2PWM电机调速直流电机速度是由功率大小控制的,所以,它是由占空比决定的(当然,也要控制频率跟上)。相关知识:1、电机和减速器的扭矩(N·m)=电机功率(W)/(2*π*转速/60)。2、占空比是指直流电机在一个通电与断电周期中其通电时间所占的比例,占空比越大,相对提供的功率越小。3、直流电机三相绕组按照规律周期性通电,转速越高,通电频率越高。4、增速过程(据第1、2、3条综合分析),电机扭矩不变时,占空比越小,提供功率越大,转速越高,电机绕组通电频率越高,导致扭矩有所增加,用以克服加速增加的阻力,直至平衡、稳速。有刷直流电机的工作原理结合有刷直流电机的原理,小车采用的是TI公司的DRV8833系列的有刷直流电机驱动芯片。DRV8833电机驱动芯片有两个全桥电路可以同时驱动两个直流无刷电机,其一个简单的PWM接口便可以方便地对控制器电路进行接口。本实验设置DRV8833工作在PWM输入模式,其原理图如下图所示:DRV8833基本介绍整体框架实验一和实验二为选择的是ePWM1,实验三和实验四选择的是ePWM2。分别将四个实验依次下载到主控板中,观察电机的转动方向。思考:1.在实验一中将WA设置为20,WB的值设为0,每次让WA增加5,观察电机的转动情况(每次WA增加5,电机转速是什么情况?)。2.在实验一中将WA设置为60,WB的值设为0,每次让WB增加5,观察电机的转动情况(当WB小于WA时,每次WB增加5,电机转速是什么情况?当给定WB的值大于WA时,每次WB增加5,电机转动方向和转速又是什么情况?)。目录6.1eCAP超声波测距6.2ePWM电机调速6.3eQEP正交解码6.3.1正交编码器QEP概述6.3.2光电编码器电机测速的基本原理6.3.3eQEP正交解码模块使用说明6.3.4编码器信号采集6.4SIL软件在环测试6.5PIL处理器在环测试

编码器是一种将角位移或者角速度转换成一连串电数字脉冲的旋转式传感器,我们可以通过编码器测量到位移或者速度信息。编码器从输出数据类型上分,可以分为增量式编码器和绝对式编码器。从编码器检测原理上来分,还可以分为光学式、磁式、感应式、电容式。常见的是光电编码器(光学式)和霍尔编码器(磁式)。根据光电编码器产生脉冲的方式不同,可以分为增量式、绝对式以及复合式3大类。增量式编码器一般安装在电机或其他旋转机构的轴上,在码盘旋转过程中,输出两个信号称为QEPA与QEPB,两路信号相差90°,这就是所谓的正交信号,当电机正转时,脉冲信号A的相位超前脉冲信号B的相位90°,此时逻辑电路处理后可形成高电平的方向信号Dir。当电机反转时,脉冲信号A的相位滞后脉冲信号B的相位90°,此时逻辑电路处理后的方向信号Dir为低电平。因此根据超前与滞后的关系可以确定电机的转向。基本介绍6.3eQEP正交解码

本套件平衡小车采用的是集成在JGB37-520减速电机上的增量式霍尔编码器。这是一款增量式输出的霍尔编码器。编码器有AB相输出,所以不仅可以测速,还可以辨别转向。根据下图的接线说明可以看到,我们只需给编码器电源5V供电,在电机转动的时候即可通过AB相输出方波信号。编码器自带了上拉电阻,所以无需外部上拉,可以直接连接到单片机IO读取。基本介绍DSP28069有两路eQEP模块,每个模块有2个引脚,分别是:QEPA和QEPB。这两个引脚被使用在正交时钟模式或者直接计数模式。本实验采用EQEP1和EQEP2模块获取左右轮编码器正交信息。其中EQEP1的QEP1A和QEP1B引脚分别连接到电机编码器1的A相和B相,EQEP2的QEP2A和QEP2B引脚分别连接到电机编码器2的A相和B相。本实验的原理图如下:基本介绍整体框架关键模块PWM调速的两个实验关键模块编译问题实验效果在上述配置完成,并完成模型的搭建后,将模型编译烧写到主控板,然后在CCS中打开模型生成的工程文件,先点击编译,再点击调试,然后将下图的两个变量添加到Expressions中,再点击运行。思考1.在实验一中将WA设置为30,WB的值设为0,每次让WA增加5,观察Left_Speed的大小变化情况。2.在实验一中将WA设置为0,WB的值设为30,每次让WB增加5,观察Left_Speed正负变化情况。3.在实验三中将WA设置为25,WB的值设为0,每次让WA增加5,观察Right_Speed的大小变化情况。4.在实验三中将WA设置为0,WB的值设为30,每次让WB增加5,观察Right_Speed的正负变化情况。5.将实验一和实验三的WA都设为最大值2000,观察Left_Speed和Right_Speed的最大值是多少。目录6.1eCAP超声波测距6.2ePWM电机调速6.3eQEP正交解码6.3.1正交编码器QEP概述6.3.2光电编码器电机测速的基本原理6.3.3eQEP正交解码模块使用说明6.3.4编码器信号采集6.4SIL软件在环测试6.5PIL处理器在环测试如图1所示,如果在Simulink模型中,将控制算法模型和被控对象模型连起来形成闭环,就是我们经常说的MIL,顾名思义,在模型层面上实现闭环测试。这种测试通常发生在两种场景之下,一是系统工程师为了验证算法,使用控制算法模型控制被控对象模型;另外一种是软件工程师做模型级别的集成测试。当然,MIL测试的前提是要有被控对象模型,搭建被控对象模型或者采购现成的被控对象模型都可以。MIL模型在环测试:

SIL测试,这里的Software是指控制策略模型转换成的C代码编译之后的软件。我们可以想象,对于图1,如果我们把控制策略模型替换成由控制策略模型转换得到的C代码编译后的DLL文件,如果我们使用了和MIL测试时相同的测试用例,如果我们的测试用例足够多,如果我们得到了和MIL测试相同的结果,那么我们是不是可以认为我们生成的C代码就和用于代码生成的模型是一致的呢?没错,SIL测试的目的就是为了验证自动生成的代码和用于代码生成的模型中行为上是一致的。SIL软件在环测试:图1模型在环测试(MIL)示意图6.4SIL软件在环测试

也就是说SIL测试是一种等效性测试,既然是等效性测试,那么我们就没必要搭建图1那样的闭环模型,而可以用图2实现等效性测试:图2软件在环测试(SIL)示意图

其实Simulink提供了SIL仿真模式,所以,我们可以用更方便的方式实现SIL测试,使用set_param(model_name,’SimulationMode’,’Software-in-the-loop(SIL)’)设置算法模型的仿真模式为SIL,然后对比Normal模式下的输出结果即可,并且这样做有助于过程自动化。如图3所示:图3选择SIL仿真模式测试第一步:MATLAB的当前文件夹如下,创建两个slx文件。第二步:打开Blink_LED.slx,配置Solver为定步长类型,离散型,步长1s等;HardwareImplementation配置如下。第三步:在AllParameters中输入CreateBlock找到对应的参数设置,我们选择SIL,再选择CodeGeneration>Verification>Enableportablewordsizes。第四步:搭建模型如下,点击编译下载按钮,稍等片刻会生成一个slx模型,我们将它复制到SIL_Blink_LED.slx中。生成的SIL模块产生一个方波第五步:在SIL_Blink_LED.slx中搭建模型如下,参数配置同Blink_LED.slx。第六步:分别将Normal和SIL模块添加信号线数据标记。第七步:添加两个Lamp,分别与两个信号线绑定,信号线输出为0的时候,Lamp为绿色;输出为1的时候,Lamp为红色。求差,用于验证是否有误第八步:点击Run运行,仿真结束,看见两个Lamp都为红色,双击Scope查看三路输入的曲线,中间一路数据为0,说明SIL生成代码的仿真结果和实际Normal的仿真结果一致。延时一个采样周期数据类型转换生成的SIL模块目录6.1eCAP超声波测距6.2ePWM电机调速6.3eQEP正交解码6.3.1正交编码器QEP概述6.3.2光电编码器电机测速的基本原理6.3.3eQEP正交解码模块使用说明6.3.4编码器信号采集6.4SIL软件在环测试6.5PIL处理器在环测试

SIL测试是验证代码和模型的一致性,代码运行在Windows平台上,某种程度上说,这并不能保证代码到目标处理器上的运行结果也能够和模型保持一致。所以,就有了PIL测试。

PIL和SIL的不同之处在于,SIL将生成的代码通过DLL的方式运行在Windows平台上,而PIL,是将生成的代码运行到目标处理器上,两种模式使用的编译器也是不同的,SIL使用的就是Windows下的编译器,比如VisualStudioC++或者LCC编译器,而PIL使用的是目标编译器。前面说过,等效性测试的目的是为了防止代码生成过程出错,同样,编译过程也可能出错,编译器也可能有bug,综合模型测试、SIL测试和PIL测试的结果,也可以帮助我们发现编译器出错可能引入的bug。

SIL和PIL是等效性测试,测试的目的是为了验证自动生成的代码和模型具有相同的行为,既然如此,对于SIL和PIL的测试用例就没有功能意义上的要求,只要要求代码和模型输入的测试数据相同即可,当然希望数据量足够大,能够覆盖各种路径以及各种信号范围。另外,因为PIL测试中代码运行在实际的控制器上,所以PIL测试除了可以验证代码和模型是否一致之外,还可以获得算法在实际控制器上的最长运行时间,而这个最长时间的价值,做嵌入式实时软件开发的工程师都懂得。6.5PIL处理器在环测试

在PIL测试中,生成的代码运行在TexasInstrumentsC2000处理器上。将PIL仿真结果传递给Simulink,验证仿真结果的数值等效性和代码生成结果。PIL验证过程是开发周期的一个关键部分,以确保部署代码的行为与设计相匹配。本实验将采用Mathworks官方提供的例子来介绍如何使用子系统创建PIL

Block方法配置用于代码生成和验证的Simulink模型。

我们提供的板子不支持通过USB数据线与Simulink通信,需要用到USB转TLL模块实现,前面已经介绍USB转TTL模块如何与主控板的连接,这里就不再介绍。

第一步:首先在电脑的设备管理器找到USB转TTL对应的COM口,然后在MATLAB中打开此模型所在的文件路径,里面一个Simulink模型和PIL通讯说明。第二步:在MALAB命令行窗口输入如下命令

按上述方法设置COM端口,并将以下命令中的“COM1”替换为与主控板对应的正确串行端口:setpref('MathWorks_Embedded_IDE_Link_PIL_Preferences','COMPort','COM1');%选择对应的COM通过输入波特率设置PIL通信的波特率为s

温馨提示

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

评论

0/150

提交评论