摘要:本文给出了一种使用PSoC3 CY8C3866AXI-040芯片和L298双全桥功率芯片对两轴步进电机控制的方法,该方案电路简单,控制方便,实验结果表明,控制系统运行正常,可靠性较高。
1,概述步进电机是一种把电脉冲信号变成直线位移或角位移的控制电机。它的位移速度与脉冲频率成正比,位移量与脉冲数成正比。每来一个脉冲电压, 转子就旋转一个步距角。根据电压脉冲的分配方式,步进电机各相绕组的电流轮流切换,从而使电机旋转。步进电机具有步进数可控、运行平稳、价格便宜的优点,在加速器控制系统中的应用很广。本文介绍了一种两轴步进电机细分控制系统,使用Cypress的PSoC3芯片CY8C3866AXI-040和步进电机功率芯片L298来实现,该系统结构简单、驱动功率大、运行稳定,两轴控制相互独立,在步进电机控制领域中有着广阔的应用前景。
2, 硬件电路组成Cypress的PSoC3芯片(CY8C3866AXI-040)具有丰富的片上资源,模拟资源包括片内4个Opamp,4个DAC,4个Comparator,高精度ADC;数字资源包括24个UDB模块能配置成带死区功能的PWM,逻辑真值表,状态寄等。这些为实现两轴步进电机电流细分控制提供方面。 电流细分精度最高可以达到128细分。除电机功率电路外其他所有模拟和逻辑电路都能在PSoC3上实现,故硬件电路的构成相当简单,如图1所示。
图1,PSoC3步进电机硬件电路
从图1可以看出,除了驱动电路和功率电路,整个系统的实现并不需要借助其他的外部芯片. PSoC Creator是PSoC3芯片的开发环境。PSoC Creator向用户提供了便捷可视的原理图界面以方面配置片上硬件资源。图2为步进电机控制的片内原理图(单轴):
图2, PSoC Creator中的硬件原理图
其中,OP_AMP, VDAC8,COMP,PWM 构成了硬件的电流调节器。 8位的DAC 给出类似正弦的参考波形。绕组电流采样电阻采样后再由片内放大器OPAMP放大,之后与DAC给定的参考波形相比较。当实际电流超过参考电流时,就通过PWM的Kill输入端关断PWM,从而达到电流控制的目的。LUT是一个片上的硬件逻辑真值表,其根据控制寄存器 Ctrl_Register给出的节拍而切换PWM在各个管脚的分配,从而起到硬件控制电流换向的功能。
L298N芯片可以驱动两个二相电机(如图3),也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号;而且电路简单,使用比较方便。
图3,L298 功率电路
3, 软件实现
由于PSoC3的强大可编程硬件资源,软件工作就变得相当简单,因此主程序的软件工作只需要启动片上各个模块的即可。所以在软件实现中只要做好步进电机的细分控制即可。在本方案中,细分控制采用的是预先建立好正弦波形数组,再通过CPU将该数组分时写进PSoC3的DAC中以输出正弦波形。基数设置为16,则产生的阶梯波形如图5所示,我们称之为8微步实现。
static unsigned char SinTable[] = {
255,255,255,255,255,254,254,254,253,253,
253,252,252,251,251,250,249,249,248,247,
247,246,245,244,243,242,241,240,239,238,
237,236,234,233,232,231,229,228,226,225,
223,222,220,219,217,215,214,212,210,208,
207,205,203,201,199,197,195,193,191,189,
187,185,183,180,178,176,174,171,169,167,
164,162,159,157,154,152,149,147,144,142,
139,136,134,131,128,126,123,120,117,115,
112,109,106,103,100,98,95,92,89,86,
83,80,77,74,71,68,65,62,59,56,
53,50,47,44,41,37,34,31,28,25,
22,19,16,13,9,6,3,0
};