zxw_linux 发表于 2014-4-9 10:57

tms320f2812的QEP电路

用TMS320F2812的QEP电路对编码器输出的脉冲信号进行计数,看数据手册好像没有关于QEP电路的中断,不知道计数的结果在哪里读取比较好,现在在定时器中断里进行读取,但由于编码器转速比较快,总感觉数据不够准确,不知道用过的大侠都是怎么处理这个计数的寄存器的,望不吝指点一下

zhangmangui 发表于 2014-4-9 12:04

用捕获单元 开启后自动给你抓取计数器的值 然后两次做差

diudiu1987 发表于 2014-4-9 13:37

QEP电路负责采集脉冲信号,DSP的事件管理器中可以设置定时器,中断模式,可以读取计数器的值。再看下资料,肯定会有收获的。

raoxianbin 发表于 2014-4-12 19:24

楼主解决了吗

zxw_linux 发表于 2014-4-14 16:26

raoxianbin 发表于 2014-4-12 19:24 static/image/common/back.gif
楼主解决了吗

还没有,我现在是在捕捉通道1的中断里读取计数器的值,电机转速慢点的话还可以,电机转速快就不行了,比如说想让电机转一圈停止,总是转了两三圈才停,用示波器看编码器输出信号的频率还没有超过30KHz,应该不是信号频率的问题吧,不知道是什么问题了

zxw_linux 发表于 2014-4-14 16:34

zhangmangui 发表于 2014-4-9 12:04 static/image/common/back.gif
用捕获单元 开启后自动给你抓取计数器的值 然后两次做差

版主,帮我分析分析吧,我现在是在捕捉单元1的中断里读取计数器的值,我对电机速度的要求不高,只是要控制电机转动的位置,比如说让电机转一圈,我就在捕捉单元中断里读取计数器的值,当读取脉冲信号的个数到一圈了就让电机停止,但是现在的现象是电机速度慢的话还差不多是一圈,但是电机速度快了就会转个两三圈才停,用示波器观察信号的频率也只不过是30KHz左右,不知道现在的问题会是我的程序的问题还是硬件上面的问题呢

zhangmangui 发表于 2014-4-14 21:56

zxw_linux 发表于 2014-4-14 16:34 static/image/common/back.gif
版主,帮我分析分析吧,我现在是在捕捉单元1的中断里读取计数器的值,我对电机速度的要求不高,只是要控 ...

我很久以前使用过的   
你看看有没有参考价值



linao 发表于 2014-4-15 15:14

czzxz1985 发表于 2014-12-31 23:40

zhangmangui 发表于 2014-4-14 21:56 static/image/common/back.gif
我很久以前使用过的   
你看看有没有参考价值

谢谢分享

zhangmangui 发表于 2015-1-1 11:16

czzxz1985 发表于 2014-12-31 23:40 static/image/common/back.gif
谢谢分享

新年好   欢迎新朋友

sunpotty 发表于 2015-3-23 21:20

zhangmangui 发表于 2015-1-1 11:16
新年好   欢迎新朋友

我最近在用光电码盘进行电机转子转速的测量,但是计算出来的结果波动性很大,采用了平均值滤波,但是还是有波动,而且波幅不小。版主有没有什么好的建议,可以让最后算出来的转速比较准确的

zhangmangui 发表于 2015-3-23 22:08

sunpotty 发表于 2015-3-23 21:20
我最近在用光电码盘进行电机转子转速的测量,但是计算出来的结果波动性很大,采用了平均值滤波,但是还是 ...

你的光电编码器过来的波形有没有经过整形处理   首先确保过来的波形是没有毛刺的
还有比较重要的是在程序处理中    使用捕获单元时    在做两次数据差是   一定主要数据是否溢出
判断被减数是否小于减数   
你具体怎么处理的   分享一下吧

sunpotty 发表于 2015-3-24 11:25

zhangmangui 发表于 2015-3-23 22:08
你的光电编码器过来的波形有没有经过整形处理   首先确保过来的波形是没有毛刺的
还有比较重要的是在程序 ...

硬件电路上先对光电码盘输出的脉冲信号RC滤波,再使用快速光耦隔离,然后再是电平转换芯片输入到DSP,也算是一种滤波。软件上是用时间管理器B的cap4、cap5作为qep电路输入光电码盘的A、B信号,cap6捕获Z信号。使用定时器1的中断,10kHz,然后进30次中断算一次,也就是3ms算一次速度。算得的转速每6个算一个平均值用于控制计算,光电码盘线程是2000。但是输出的转速不稳啊,现在不知道还能有什么地方可以改进下的。

海中水 发表于 2015-3-24 12:49

sunpotty 发表于 2015-3-24 11:25
硬件电路上先对光电码盘输出的脉冲信号RC滤波,再使用快速光耦隔离,然后再是电平转换芯片输入到DSP,也 ...

有没有考虑一下DSP里面CAP的捕获时基。

zhangmangui 发表于 2015-3-24 21:59

sunpotty 发表于 2015-3-24 11:25
硬件电路上先对光电码盘输出的脉冲信号RC滤波,再使用快速光耦隔离,然后再是电平转换芯片输入到DSP,也 ...

从整形 隔离等处理看 硬件上应该没多少问题
那就是处理方法上了   2000线的光电编码器精度很高了
你这种属于M测量法还是T测量法   

sunpotty 发表于 2015-3-25 20:24

zhangmangui 发表于 2015-3-24 21:59
从整形 隔离等处理看 硬件上应该没多少问题
那就是处理方法上了   2000线的光电编码器精度很高了
你 ...

用的m测量法,每隔3ms算一次转速。是不是间隔算转速的时间设置的太长或者太短呢?

zhangmangui 发表于 2015-3-25 21:10

sunpotty 发表于 2015-3-25 20:24
用的m测量法,每隔3ms算一次转速。是不是间隔算转速的时间设置的太长或者太短呢? ...

是这个长短设定肯定是有问题的    比如速度很慢或者速度很快
就出问题了    还有你的这种测法能不能避免正负1的误差
这个误差很可能会造成速度的跳变
页: [1]
查看完整版本: tms320f2812的QEP电路