当前位置:首页 期刊杂志

基于PSoC3的步进电机控制

时间:2024-07-06

周 峰, 李智华, 顾 全

(上海大学机电工程与自动化学院,上海 200072)

0 引言

步进电机是将电脉冲信号转变为角位移或直线位移的开环执行驱动机构,在不超载的情况下,步进电机的转速及停止位置仅取决于给定脉冲信号的频率和个数,其被广泛运用于CNC、咖啡机、数字探头、自动仪表、打印机、机器人等方面。在大多数情况下,步进电机都要进行细分控制,以便提高控制精度和控制稳定性。简便、高效、可靠的控制技术决定了步进电机的应用前景和效果。

Cypress公司在2009推出了基于8051和ARM Cortex-M3内核的 PSoC3和 PSoC5,并同步发布了专门用于PSoC3/5的集成开发环境——PSoC Creator。PSoC内置微处理器和数字模拟外设,是具有真正混合信号处理能力的可编程片上系统。片内内置定时器、PWM、AD、放大器、滤波器等可编程数字、模拟系统,可灵活配置用户所需的各种模块,为步进电机的控制提供了一个强有力的平台。

1 步进电机的驱动方式

单极性指步进电机线圈中电流的流动方向是固定的,即线圈中的电流只按一个方向流动。两相步进电机的单极性驱动电路使用4个晶体管来驱动步进电机的2组相位,电路结构如图1所示。

图1 单极驱动电路图

双极性则是指步进电机线圈中电流的流动方向不是单向的,即绕组电流有时沿某一方向流动,有时按相反方向流动。两相步进电机的双极性驱动电路如图2所示,它使用8个晶体管来驱动2组相位。

图2 双极驱动电路图

从性能上看,两种驱动电路在相同电压UDD的驱动下,单极性驱动电路的输出力矩比双极性驱动电路要小。单极性驱动电路每次都借助中间抽头,导通绕组线圈的一半,而双极性驱动电路的绕组线圈每次都有电流通过,在相同电压UDD的驱动下其驱动电流IDD相当,但是单极性驱动电路产生的磁场集中在某个导通的线圈附近,而双极性驱动电路则在整个电机内产生了一个相对均匀的磁场,其稳定性要优于单极性驱动电路,输出力矩也较大。故本次设计采用双极驱动模式。

2 控制功能及其实现

2.1 步进电机控制器的功能

根据用户和测试的需要,该步进电机控制器具备以下功能:

(1)细分微步数可调,最大可达256步细分;

(2)步进电机运行转速可调;

(3)带负载电流大小可调;

(4)电机转动方向可调;

(5)静止时有节能保护,线圈电流减半;

(6)过流保护;

(7)温度保护。

2.2 步进电机控制器的实现

2.2.1 PSoC 硬件功能的实现

本设计选用CY8C3866AXI芯片来控制一个两相四步电机。首先对PSoC进行设置,运用cypress公司自己开发的PSoC Creator软件来搭建硬件电路。PSoC Creator将一个软件开发IDE与一个图形设计编辑器结合在一起,构成一个独特的强有力的软硬件同步设计环境。它提供了存有几十个预先配置过的模拟和数字外设库,可以方便地拖放进电路图设计界面并组成强大的系统。该工具还可以自动为所有片上信号分配管脚。构建过程会为每一个元件产生一个一致的、容易记住的API系列,这样软件开发者即可控制硬件,而无需为基本执行指令操心。该系统中选用了多个内部数模模块,如:用于实现该设计的2个可编程增益放大器(PGA),2个比较器(CMP),2个PWM,2个8位电压数模转化器(VDAC),2个中断器,2个clock,一个LCD显示模块,一个电容触摸感应模块(CapSense),一个UART通信接口,2个控制存储器(Control Reg和Control Start),一个8位计数器(timer)。各器件的功能见表1。

表1 PSoC内部配置功能表

硬件流程:PGA将采样电阻上得到的采样电流进行放大,然后与当前数模转化器输出的模拟值进行比较,一旦后者小于前者,PWM的kiss端生效,PWM停止工作直到后者大于或等于前者。当PWM管正常工作时,输出的脉冲信号结合Control Reg表示的象限信息通过LUT1真值表来控制8个MOS管的轮流导通,实现步进电机在某种微步下的运转。

2.2.2 PSoC 软件功能的实现

在PSoC设计中,本文采用C语言编写所有程序。一般的数字和模拟模块的API程序,当选择了这个模块后就会自动在PSoC Creator中生成,设计中主要是对 main,stepper,useinterface函数进行编写。软件流程图见图3。

图3 控制软件流程图

(1)main函数包含了各种模块的初始化、参数初始值的设定,以及通过Capsense触摸盘来控制微步数、电机运行方向、转速、负载电流大小。

(2)Stepper函数规划了一个运行周期内步进电机运行的算法,其中包括了一个正弦表的写入。程序利用读取正弦表的指针来识别当前电机的运行位置并判断其处于哪一象限,并在这一象限内进行指针的传递,当换相指令来了以后就到下一个象限进行循环。如图4所示。

图4 A、B相导通原理图

(3)Useinterface的功能是通过Capsense的输入信号来控制LCD上的显示,其设计等同于一个状态机,给用户一个清晰方便的界面。

3 试验结果

结合双极驱动模式以及在PCoS上设置的控制方法,利用Cypress公司的CY27x43板搭建了实际的测试平台,由此来进行性能测试。

3.1 对于细分的测试

细分通过调节变化正弦表中指针的Sm.MicroStepPace来实现,当一个时钟周期内指针走了128个Sm.MicroStepPace,则细分就是半步,当一个时钟周期内指针走了256个 Sm.MicroStep-Pace,就等于没有细分,于是有

Pace=256/Sm.MicroStepPace在此基础上分别用示波器抓取Half Step、4 Microsteps、32 Microsteps下某一MOS管脚上的电压波形,如图5~图7所示。

图5 Half Step下管脚电压

图6 4 MicroSteps下管脚电压

图7 32 MicroSteps下管脚电脚

从图5~图7可看出:本设计不仅可以实现细分数的调节,而且MOS管脚输出电压波形正确、稳定,充分体现了在PSoC3基础下设计的控制器的高性能、低复杂度。

3.2 转速及转向的调整

步进电机每个周期的运行都将在正弦表中进行,因此只需要改变这个正弦表的周期(speedFrq值)就能改变电机的运转速度。另外,因为PWM脉冲的周期是恒定不变的,故在改变微步数值时也能改变转速,因为微步数少了意味着一个周期内只要更少的脉冲数就可以走完,如表2所示。

表2 转速计测量的结果

电机的运行是被分在四个象限内进行的,当正弦信号过零点或者到达幅值时,标志位就会发出换相的信号进行换相,正向运行时是从第一象限→第二象限→第三象限→第四象限→第一象限运转的,当要反向运行时就必须是第四象限→第三象限→第二象限→第一象限→第四象限运转,测试中用Capsense触摸板来改变Control Reg控制器的输出,试验证明电机进行了反转,并且转速和细分微步数没有变化。

4 结语

本文介绍了一款步进电机控制器的设计。该设计基于功能强大的PSoC3单片机,应用PSoC Creator进行片内设计,外围电路简单可靠,设计过程简便。设计的步进电机具有微步数可调(从256步到整步),转速可调,电机转动方向可调等多种可控功能,并且在样机测试中输出了稳定的电压波形,可见设计的样机是一个高性能的步进电机控制器。

[1]刘宝廷.步进电动机及其驱动控制系统[M].哈尔滨:哈尔滨工业大学出版社,1997.

[2]Cypress MicroSystems.PSoC mixed signal array preliminary data sheet for silicon revision A[G].2003.

[3]焦振宇.赛普拉斯PSoC及其开发应用[J].微处理机,2004(5):62-64.

[4]董阳泽,蒋山山,薛德贤.PSoC在电机控制器中的应用研究[J].微计算机信息,2006(8):117-119.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!