eCAP转速采集
最近碰到一个问题,用eCAP采集转速的时候,中断处理,可以正常采集。现在碰到一个问题就是,假如转速线突然断开了,中断就讲不去了,转速保持前一次的值不变。这并不是我想要的结果,我要的是这种故障发生的时候,转速能突变成0.想问问大家,有什么好的处理办法呢?公司不联网,不方便传代码。谢谢。 定时。设标志位,不进捕捉中断为1,进中断清零。到一定时间不清零,认为线断,把转速清零。 看来你是在ECAP中断中处理数据的啊 你是编码器信号触发一次然后捕获一次定时器的值吗
记得应该有一个方向判断的标志 你可以利用一下这个信号
当为正是正转 负为反转 停止时是不是0呢 wangch_sh 发表于 2014-10-26 18:57 static/image/common/back.gif
定时。设标志位,不进捕捉中断为1,进中断清零。到一定时间不清零,认为线断,把转速清零。 ...
这个办法可以试试。只是定时器要不停得查询,对整个系统的效率有影响了。 zhangmangui 发表于 2014-10-26 22:15 static/image/common/back.gif
看来你是在ECAP中断中处理数据的啊 你是编码器信号触发一次然后捕获一次定时器的值吗
记得应该有一个方 ...
我这个是脉冲信号,没有正反转.采集上升沿的时刻,然后相减,即得到周期,再经过换算得到转速。当然程序中还有多次采集取平均值的过程。 用中断。定时周期长一些。 目前我用办法是定义一个全局变量,作为转速的影子变量。在中断外将它赋给转速变量(也是一个全局变量),赋值完后又令他等于0,下次中断得到的值去覆盖它。如果转速为0,即中断进不去了,所以下次的转速也就等于0.初步调试是可行的,就是不知道会不会有BUG。 xishuidemian 发表于 2014-10-27 19:31 static/image/common/back.gif
我这个是脉冲信号,没有正反转.采集上升沿的时刻,然后相减,即得到周期,再经过换算得到转速。当然程序 ...
哦 看来你没有同时采集A、B两相啊
做平均处理不太好 我建议你采用变M/T法吧 zhangmangui 发表于 2014-10-27 22:17 static/image/common/back.gif
哦 看来你没有同时采集A、B两相啊
做平均处理不太好 我建议你采用变M/T法吧 ...
M和T法以前单独用过,你这里的意思应该是两者混合使用吧,那切换的地方该怎么处理呢?还有我一直都是用多次采集取中间值得办法进行滤波,不管是AD采集还是IC采集,这样不好吗?那应该怎么消除干扰呢? xishuidemian 发表于 2014-10-28 19:14 static/image/common/back.gif
M和T法以前单独用过,你这里的意思应该是两者混合使用吧,那切换的地方该怎么处理呢?还有我一直都是用多 ...
这样也可以 如果一直使用没问题就沿用你的方法
关于你的这个问题 想不到什么好办法啊 zhangmangui 发表于 2014-10-27 22:17
哦 看来你没有同时采集A、B两相啊
做平均处理不太好 我建议你采用变M/T法吧 ...
你好,想麻烦你解释一下这个问题的楼主在第7楼说的方法,我尝试了楼主的方法,没成功,不知是不是哪里弄错了,谢谢你了 我也碰到了这个问题,请楼主传授解决的方法,谢谢。 寻觅不倒翁 发表于 2015-8-30 17:45
我也碰到了这个问题,请楼主传授解决的方法,谢谢。
每次计算完成后 将值置为0 然后等待下次触发
这样行不行也就是每次的初始值让其为0 zhangmangui 发表于 2015-8-30 18:40
每次计算完成后 将值置为0 然后等待下次触发
这样行不行也就是每次的初始值让其为0 ...
嗯,我也是这么做的,还是没起作用, 一个月了,楼主弄好了没
页:
[1]