微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > 嵌入式系统设计讨论 > 车轮编码盘计数

车轮编码盘计数

时间:10-02 整理:3721RD 点击:
嘿呀,不是很会Linux,想用编码器测轮子的转速,一开始直接开了一个线程直接读取IO口进行判断,但是读取的总是有问题,我用示波器测量了一下编码盘输出的波形,也没什么问题,如下图:


但是测量得出的脉冲数量远远比实际的多,很是纳闷,后来我放大了一下波形,反向原来这个编码盘也有抖动,而且很严重,转速月底抖动越大,如下如所示:


这样的话就需要进行去抖工作,在应用层去抖动貌似不太方便,所以编写了一个读取编码器的输出计算转速的驱动程序,程序原理就是使用一个内核定时器,对输入的编码盘脉冲进行采集和滤波,由于系统的定时器最高支持的是100hz的定时频率,所以不能测量较高的转速,好在可测量转速范围的还够用,测量的结果如下图,左边是左轮转速,右边是右轮转速,单位并不是圈每秒,而是格每半秒,可以作为车速的衡量指标。


所有程序代码会在结项贴中发出。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top