【先楫HPM5361】QEI运动控制接口使用1-ABZ接口使用
[复制链接]
1实验硬件基本介绍
1.1电机
使用电机型号未珠海运控60SV04302,编码器为2500线多摩川编码器,同时也可以输出UVW霍尔信号。同时有反相位的信号可以做信号的校验
图1 电机实物图
图2 电机及编码器线序
1.2 QEI介绍
● 支持单相、两相(正交/上下/方向脉冲)、三相(120° 相差)方波输入;
● 支持索引信号INDEX/Z,可产生中断,重置线数计数器,改变圈数计数器
● 支持两个归位信号HOME,仅产生中断
● 支持单相、两相(正交) 正弦波输入(通过ADC 线束)
● 支持正弦波支持幅度/中心值和夹角修正
● 支持线数支持到32 位
● 支持两个预设的位置触发中断,可配置指定的圈数,线数,方向,位置
● 支持软件触发锁存,事件触发锁存,支持两个外部触发锁存(包括圈数,线数,方向,角度,位置)
● 支持两个基于脉冲数的测速计数,测速结果保存两个,记录测速时间
● 支持两个时长的测速计数,测速结果保存两个,记录测速时间
● 支持将位置转换成二进制位置,通过位置线束输出到位置管理器(包含位置获取时间)
● 允许软件修改变位置,线数计数器,圈数计数器(仅支持绝对值方式),允许增量和绝对值方式
● 支持看门狗,支持堵转检测
● 所有中断信号,也可配置产生dma 请求,触发锁存,或触发输出信号
图3 QEI架构框图
本次用于验证ABZ模式下,QEI的测速机制。根据手册介绍,有两种测速的方法:
基于脉冲数量,两次固定脉冲数,读取经过的时间差。类似M法测速
基于时长,两次固定的时间,读取走过的脉冲。类似T法测速
2 例程API介绍测试
2.1 例程介绍
例程目录:
SDK\sdk_env_v1.3.0\hpm_sdk\samples\drivers\qeiv2\abz
在例程中,读取电机编码器AB两相信号,通过固定电机一圈的信号值,求取电机的位置和速度值。
例程说明文档readme目录如下:
SDK\sdk_env_v1.3.0\hpm_sdk\docs\zh\sdk\samples\drivers\qeiv2\abz
2.2初始化设置
- 函数初始化分别完成板载外设初始化、QEI的AB引脚初始化、QEIV2的参数配置
- AB模式下的QEIV2参数配置
设置QEI为ABZ模式,设置AB相输入,相位达到设置的最大值时,Z寄存器自动加减1。设置编码器线数为2500,每组AB脉冲,计数器会产生四个脉冲,每个脉冲90°,因此读取的脉冲值为应该为2500*4,原理下图所示:
设置当Fault输入有效时,停止输出位置有效信号。使能AB相,不使能Z相,上升沿有效。相位比较值设置为2499,开启比较中断。
- ABZ模式下的QEIV2参数配置
设置Z相触发Z寄存器加减1,使能Z相
- 设置脉冲计数和周期计数(选用)
基于脉冲数量,两次固定脉冲数,读取经过的时间差。类似M法测速
基于时长,两次固定的时间,读取走过的脉冲。类似T法测速
- 初始化QEI
设置Z相初始值为100,光编码器相位为500
3 电机位置信号采集实验
仅打开电机比较中断,打印以下信息:z相次数、相位数、速度、时钟数、相位计数值、位置和角度。
AB信号输入下,实验视频:
ABZ信号输入下,实验视频:
|