用低成本元器件的电路测量电机速度
本设计实例使用一个微控制器,一个16×2键LCD,还有一个旋转编码器,用于测量并虚拟显示一只电机的速度(图1)。增量编码器耦合于电机轴上,测量电机转子的速度,它产生一个与电机速度成正比的正交脉冲。1024脉冲旋转编码器是Hengstler公司的RS-32-0/1024ER.11KB。电机旋转速度wR的计算方法是在某个时间周期tP内,对编码器轴的转数nV作计数。nV的计算方法是,统计在这个固定时间tP内的脉冲数nP:对此编码器nV=nP/1024。旋转速度为
其中d=60/(tP×1024)rpm表示所测速度的分辨率。欲为此应用获得1rpm的分辨率,作为时基的固定周期为(60/1024=58.59)ms。在本设计实例中,使用了Microchip公司的低价微控制器PIC16F873即IC1完成运算。该微控制器亦驱动LCD即IC2,它以每分钟转数为单位显示旋转速度。
用一个与参考文献1中电路类似的方式,在IC1的RB0/INT输入加上编码器的正交脉冲,它在脉冲的上升沿产生一个高优先中断。可以用这些中断通过计数器的增长计算nP,当达到固定周期tP时计数器初始化。此外,微控制器的内
部8bit定时器Timer0寄存tP,它在14.3MHz的时钟频率fCLK下每286ms产生一个tM(定时器中断):tM=4×28/fCLK/4=286ms。这个计算意为,修正时基tP需要205个定时器中断(tP/tM)。根据方程,当计数器到达这个时间时,计数值nP就确定了旋转速度。最后,该值显示在LCD屏幕上。
另外,如果控制系统必须测量旋转速度,则需要一个数模转换。但不必增加昂贵的DAC也可以完成这个转换,方法是将微控制器的PWM(脉冲宽度调制)加到由R2、R3、C4、C6和IC3构成的一个低通滤波器上。PWM信号的频率为20kHz,低通滤波器的截止频率为160Hz,远低于PWM频率。在本设计中,PWM信号的最大占空比周期对应的旋转速度为1500rpm。
可以从Microchip下载IC1程序的源码,并用MPLab作汇编。可以根据使用的编码器以及方程的分辨率,在软件中修改各个常量。
评论