在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
我们先来看看定时器的编码器功能模块所在的位置 这里的编码器模块最终会输出读出的定时器计数到的波形数量,以及输出波形的方向
Timer:选择对应的定时器 Channel A Input Pin:通道A的输入引脚 Channel B Input Pin:通道B的输入引脚 PPR:编码器转一圈产生的方波 Reset couter sfter every counter read:勾选后,读取完了以后就复位,重新开始计数(一般用于记录转换成速度)。没有勾选,就不会复位,一直累计下去(一般用于记录位置) Built-in Iput Capture Filter:用于A、B相的波形的过滤,概率性检查波形去掉不规则的方波以提高测量精度 Sample time:多少时间读取一次数据(因为这里并不是定时器的精准定时,亲测0.01秒比较稳定,可以利用Timer-IRQ实现精准时间读取数据)
下图为本次实验的配置: 使用的编码器单圈脉冲为130 每0.01s读取一次数据
我们再把每0.01s读取的数据转换成我们常用的数据速度单位(RPM,转每分钟)
我来解释一下上面是如何转化成RPM的:
最终模型如下图所示
下面为我们的上位机,箭头的模块是把数据导去工作平台,方便我们后面的滤波算法的设计;
最后我们来看看它的实际测速效果:我们可以看到数据跳动非常大,这是我故意挑选的一个精度比较差的编码器,以及前面所说的Sample time定时不准造成的
最后我们把数据存起来
如需进一步获得Matlab/Simulink 自动代码生成 基于模型设计学习教程的源代码包,请加QQ群:710443158
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论