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

描述

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

直流电机控制

电机线2 接驱动输出端M2
编码器电源线接3V3或者5VV
编码器信号线A
编码器信号线B
编码器负极GNDG
电机线1 接驱动输出端M1

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分