我用的编码器是3600个脉冲一转的,现在要实现每度(10个脉冲)时去采一个模拟量的值,我用Adlink-9221的卡,现在的难点是不能同步去采数据,那么如何去保证根据角度去采的时候,采到的值刚好为这个这个角度的值,而不会是其它的?请做过的解答下

解决方案 »

  1.   

    没做过。
    3600个脉冲一转:3600PPR
    根据Z和Z Not,比较A/A Not 与B/B Not,90度的关系。
    如果Encoder坏了或用久了角度变化或者Encoder Noise怎么办?
      

  2.   

    我不打算使用A,B相,因为我做的都是顺时针转,所以我只累加A相的脉冲值来计算角度,但是怎么通过板卡来实现Counter的记数值要和模拟量对应起来,没有很好的思路;在程序中想过用高速timer控件,设置为1ms,通过在timer事件中调用Api函数去取counter当前值和模拟量的值,但是测试出来的结果,会漏掉点数,而且不一定能取到整的度数,比如我要1度时的值,timer的话会取到甚至1.9度时的值,而且取的点数不足,漏掉测试点...所以希望做过类似项目的达人们给个思路....