基于DSP28335的Matlab/Simulink代码生成实验十一:QEP_M法测速

本文介绍了光电编码器的工作原理,特别是增量式编码器的结构和功能。详细阐述了如何在MATLAB/Simulink环境中搭建QEP-M法测速实验模型,包括配置中断、QEP模块、数据采集和处理步骤。通过模拟编码器输入,实时监测和计算转速,展示了其在闭环系统中的应用实例。
摘要由CSDN通过智能技术生成

硬件部分

旋转编码器是一种角度传感器,它分为光电式、接触式和电磁感应式三种。我们在闭环系统中常用光电式编码器来测角度。

旋转编码器有增量编码器和绝对编码器两种,如图13. 1为增量式光电编码器原理示意图,它由发光元件、光电码盘、光敏元件和光电检测装置组成。光电式编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器,这是目前应用最多的传感器。光电码盘是在一定直径的圆板上等分地开通若干个长方形孔,圆板不透光,长方孔透光。由于光电码盘与被测装置同轴,被测装置旋转时,光电码盘与之同速旋转,光源透过光电码盘的孔在光栏板上形成忽明忽暗的光信号,经光电检测装置检测到并转换为电信号,然后通过信号处理电路的整形、放大、分频、记数、译码后输出。

图13. 1增量式光电编码器原理

增量式光电编码器直接利用光电转换原理输出三组方波脉冲A、B和Z相;A、B两组脉冲相位差π/2,将输出信号送入鉴向电路,从而可方便地判断出旋转方向,而Z相为每转一个脉冲,用于基准点定位。

光电式增量编码器的测量精度取决于它所能分辨的最小角度α (分辨角、分辨率),而这与码盘圆周内所分狭缝的线数有关。

N — 编码器线数。

由于光电式脉冲编码盘每转过一个分辨角就发出一个脉冲信号,因此,根据脉冲数目可得出工作轴的回转角度,由传动比换算出直线位移距离;根据脉冲频率可得工作轴的转速;根据A、B两相信号的相位先后,可判断光电码盘的正、反转,以得到待测装置转向。

由于光电编码器输出的检测信号是数字信号,因此可以直接进入计算机进行处理,不需放大和转换等过程,使用非常方便,因此应用越来越广泛。

对于线数为n 的编码器,设信号采集卡倍频数为m ,则编码器码盘旋转一圈输出的脉冲数为:n*m 。本实验使用的是P-ZSP3806GC型号2000线增量式编码器,四倍频。

编码器红色线接DSP+5V,黑色线接地,白色线接GIO51,绿色线接GPIO50,黄线接GPIO53(可不接)。

 

图13. 2编码器数据采集电路

模型搭建   

代码生成QEP-M法测速实验模型”,如下图: 

 

图13. 3 QEP-M法测速实验模型

 用MATLAB/Simulink R2018b或者更高版本MATLAB/Simulink新建仿真模型。

 

“1”是中断模块,双击该模块打开参数对话框,根据图13. 4中断向量表,CPU中断序列选择5,PIE中断序列选择1,优先级选择30;

图13. 4 QEP中断向量配置

“2”是QEP模块,打开参数对话框,General配置:勾选正交方向标志输出端口,采样时间设置为“-1”;Position counter配置:最大位置计数器“8000”,位置计数器复位模式“在最大位置复位”;

图13. 5 QEP- General配置、Position counter配置

Speed calculation配置:eQEP捕获周期分频器“1”,单位位置事件分频器“1”,捕获计时器与位置“on unit time-out event”,单位定时器周期“150000”;

图13. 6 QEP- Speed calculation配置

 

Signal data typs配置:求积方向标志数据类型“int32”,位置计数器值数据类型“int32”;Interrupt配置:勾选单位超时中断使能。

图13. 7 QEP- Signal data typs配置

“3”是单位延时模块,使用默认配置即可。

“4”是数据类型转换器,输出数据类型“single”。

图13. 8 数据类型转换器配置

“5”是多端口开关,数据端口顺序“从0开始连续”,数据端口数量“2”。

图13. 9多端口开关配置

 子系统tmpg>0、tmpg<0,通过开关模块进行判断,如下:

图13. 10 子系统模块

 

下载运行

第一步:DSP板上电

用MATLAB/Simulink R2018b或者更高版本MATLAB打开“Lab12_QEP_M_Experiment.slx”;

图13. 11 QEP-M法测速实验模型

其中“1”为模型配置按钮,点击该按钮,弹出配置对话框,然后配置目标硬件的资源,在“Build Action”中设置编译选项,在“Target hardware resources”中的eQEP栏,引脚分配分别选择GPIO51GPIO53

图13. 12“Hardware Implementation”选项的设置

“2”“BuildDeploy&Start”,模型编译下载按钮,点击该按钮,模型会自动编译,在matlab路径下生成目标代码,同时建立ccs工程文件

第二步:将生成的代码烧入DSP核心板

       首先,打开ccs,导入刚才代码生成建立的工程,点击编译,生成.out文件。(注:工程位置即matlab/simulink代码生成的位置)

其次,使用仿真线DSP仿真线接口与电脑相连,右键.ccxml文件选择“Launch Selected Configuration”打开事先配置好的仿真器。

最后,在Debug界面通过进行链接,点击下载.out文件,点击Browse project选择生成的“.out”文件并点击“OK”

第三步:点击运行程序并观察实验结果

实现现象:程序运行后,拨动编码器旋转,在Expressionsrpmtmpg发生变化。

13. 13 拨动编码器速度参数发生改变

 

  • 23
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值