打印
[产品应用]

基于CW32的有刷直流电机控制实验二:编码器模式

[复制链接]
200|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1.1编码器概述
编码器是一种将角位移或者角速度转换成一连串电数字脉冲的旋转式传感器,我们可以通过编码器测量到底位或者速度信息。编码器从输出数据类型上分,可以分为增量式编码器和绝对式编码器。从编码器检测原理上来分,还可以分为光学式、磁式、感应式、电容式。我们做小车应用的编码器都属于增量式AB相编码器。

1.2正交AB相编码器原理
霍尔编码器是一种通过磁电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。由霍尔码盘和霍尔元件组成。
霍尔码盘是在一定直径的圆板上等分地布置有不同的磁极。
码盘与电动机同轴,电动机旋转时,霍尔元件检测输出若干脉冲信号,为判断转向,一般输出两组 存在一定相位差的方波信号。



1.3软件四倍频
CW32自带编码器接口,可以直接使用定时器通道进行硬件计数。因为编码器输出的是标准的方波序列,各种单片机都能很方便的读取。

而没有编码器接口的单片机如 51 、 Arduino,可以通过外部中断读取,将编码器 A 相接到单片机的外部中断输入口,通过跳变沿触发中断,然后在对应的外部中断服务函数中,通过 B 相的电平高低判断 旋转方向。



四倍频的方法是同时测量A相和B相的上升沿和下降沿全部计数。大幅度提高了采样的精度。

1.4编码器测速思路
1.4.1 M法

M 法是指在一定的时间周期 Tc 内,测量编码器输出的脉冲个数 M1来计算转速。用个数除以时间就可以得到编码器输出脉冲的频率,因此 M 法也称为频率法,f1=M1/Tc。我们可以使用 CW32 的定时器定时 10ms 的中断,每过 10ms 就将编码器的计数值取出计算转速。

由于编码器转一圈只能输出固定个数的脉冲,因此 M 法的最大误差也为 1 个脉冲,经过程序计算后会发现转速会以固定大小变化,这种方法适合高速场景下的测量,对于低速的情况,M 法存在较大的误差。



1.4.2 T法

T 法是测量编码器两个脉冲之间的时间间隔来计算转速,也被称为周期法。实际使用中通过一个高频时钟脉冲的个数 M2 来计算编码器两个脉冲之间的时间间隔。

在低速下,T 法可以在两个编码器脉冲输出之间采到更多的高频时钟脉冲,而在高速下采到的脉冲更少,所以 T 法更适用于低速的场景。



1.5编码电机接线说明
如下图所示,常见的直流编码电机虽然形状不同,但是基本都是提供6PIN的接 口。而直流电机本身是只用接两根线的。图示电机插口最外侧两根线1/6号线,其实是跟电机引脚焊在一起的如图示的红白线。电机线 M1 M2 有的厂家标的是 M+ M- 但是其实没有绝对的正负关系。而中间的四根引线都是编码测速电路的接线,跟直流电机本身没关系,分别是VCC、A、B、GND





————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/2302_81038468/article/details/139348213

使用特权

评论回复
沙发
peterLaw| | 2025-2-18 16:25 | 只看该作者
电机的线缆都是什么定义含义?

使用特权

评论回复
板凳
星辰大海不退缩| | 2025-2-20 15:26 | 只看该作者
编码器主要是依靠脉冲进行计数的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

90

帖子

0

粉丝