打印
[DSP编程]

tms320f2812的QEP电路

[复制链接]
3834|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zxw_linux|  楼主 | 2014-4-9 10:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用TMS320F2812的QEP电路对编码器输出的脉冲信号进行计数,看数据手册好像没有关于QEP电路的中断,不知道计数的结果在哪里读取比较好,现在在定时器中断里进行读取,但由于编码器转速比较快,总感觉数据不够准确,不知道用过的大侠都是怎么处理这个计数的寄存器的,望不吝指点一下

相关帖子

沙发
zhangmangui| | 2014-4-9 12:04 | 只看该作者
用捕获单元 开启后自动给你抓取计数器的值 然后两次做差

使用特权

评论回复
板凳
diudiu1987| | 2014-4-9 13:37 | 只看该作者
QEP电路负责采集脉冲信号,DSP的事件管理器中可以设置定时器,中断模式,可以读取计数器的值。再看下资料,肯定会有收获的。

使用特权

评论回复
地板
raoxianbin| | 2014-4-12 19:24 | 只看该作者
楼主解决了吗

使用特权

评论回复
5
zxw_linux|  楼主 | 2014-4-14 16:26 | 只看该作者
raoxianbin 发表于 2014-4-12 19:24
楼主解决了吗

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

使用特权

评论回复
6
zxw_linux|  楼主 | 2014-4-14 16:34 | 只看该作者
zhangmangui 发表于 2014-4-9 12:04
用捕获单元 开启后自动给你抓取计数器的值 然后两次做差

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

使用特权

评论回复
7
zhangmangui| | 2014-4-14 21:56 | 只看该作者
zxw_linux 发表于 2014-4-14 16:34
版主,帮我分析分析吧,我现在是在捕捉单元1的中断里读取计数器的值,我对电机速度的要求不高,只是要控 ...

我很久以前使用过的   
你看看有没有参考价值
sportctr1-V1.5.zip (517.89 KB)


使用特权

评论回复
8
linao| | 2014-4-15 15:14 | 只看该作者

使用特权

评论回复
9
czzxz1985| | 2014-12-31 23:40 | 只看该作者
zhangmangui 发表于 2014-4-14 21:56
我很久以前使用过的   
你看看有没有参考价值

谢谢分享

使用特权

评论回复
10
zhangmangui| | 2015-1-1 11:16 | 只看该作者
czzxz1985 发表于 2014-12-31 23:40
谢谢分享

新年好   欢迎新朋友

使用特权

评论回复
11
sunpotty| | 2015-3-23 21:20 | 只看该作者
zhangmangui 发表于 2015-1-1 11:16
新年好   欢迎新朋友

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

使用特权

评论回复
12
zhangmangui| | 2015-3-23 22:08 | 只看该作者
sunpotty 发表于 2015-3-23 21:20
我最近在用光电码盘进行电机转子转速的测量,但是计算出来的结果波动性很大,采用了平均值滤波,但是还是 ...

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

使用特权

评论回复
13
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。但是输出的转速不稳啊,现在不知道还能有什么地方可以改进下的。

使用特权

评论回复
14
海中水| | 2015-3-24 12:49 | 只看该作者
sunpotty 发表于 2015-3-24 11:25
硬件电路上先对光电码盘输出的脉冲信号RC滤波,再使用快速光耦隔离,然后再是电平转换芯片输入到DSP,也 ...

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

使用特权

评论回复
15
zhangmangui| | 2015-3-24 21:59 | 只看该作者
sunpotty 发表于 2015-3-24 11:25
硬件电路上先对光电码盘输出的脉冲信号RC滤波,再使用快速光耦隔离,然后再是电平转换芯片输入到DSP,也 ...

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

使用特权

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

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

使用特权

评论回复
17
zhangmangui| | 2015-3-25 21:10 | 只看该作者
sunpotty 发表于 2015-3-25 20:24
用的m测量法,每隔3ms算一次转速。是不是间隔算转速的时间设置的太长或者太短呢? ...

是  这个长短设定肯定是有问题的    比如速度很慢或者速度很快  
就出问题了    还有你的这种测法能不能避免正负1的误差
这个误差很可能会造成速度的跳变

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

101

帖子

0

粉丝