利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (5)----(编码器模式实验)

这一篇文章将会给大家带来如何使用STM32的编程,根据现有的编码器准确算出对应的转速,最后我们会转化成每分钟多少圈(rpm)的单位。

具体编码器的原理,STM32如何捕获编码器的脉冲,在这里我也不多说了,百度上面一大堆,这里给大家带来具体如何搭建模型,然后自动代码生成。

首先我们先修复一个bug,官网出来的库里面编码器模式是存在bug的,因此我们先给大家演示如何修复bug,再进行编程;

 

 https://download.csdn.net/download/weixin_36967309/10411269

    下载对应的修复包,里面有对应的修复教程跟修复文件

 编码器模块的设置;选择对应的timer,对应timer下面的IO口;我的编码器是一圈195个脉冲,所以PPR就设置195,采样时间0.01;


下图为编码器模式的的整个模型

1、我点击“重置计数器当计数器被读取后”,我的编码器每旋转一圈读取780个脉冲数,如果电机转动正时钟从0到780,如果反时钟方向则是从780到0,所以添加一个求和模块,如果电机转动反时钟则“780-计数”
2、我设置的采样时间为0.01秒,每0.01秒读取一次编码器模块的计数,所以rpm=计数/780*6000;

猜你喜欢

转载自blog.csdn.net/weixin_36967309/article/details/80298595