步进电机手持控制器的设计与应用 刘健 王旭东 周凯
摘要:步进电机有控制方便、定位准确等优点。随着科技的发展步进电机在实际中的应用越来越广泛。本文主要针对外圆磨床设计了一款手持控制器,本控制器采用了英飞凌公司生产的XC1CS单片机作为主控芯片,取代了以往的脉冲发生器,采用软件编程的方法产生控制脉冲,并与步进电机细分驱动器SJ-3F110M相连接来控制步进电机转向、转速及布距脚。通过液晶显示器显示步进电机的运行状态。本控制器还针对磨床的交流伺服电机增添了DA转换功能,从而控制磨削速度。本文设计的控制器简化了设计电路并降低了生产成本,提高了系统的可靠性和灵活性。
关键词:步进电机;手持终端;磨削速度;
The Hand Controller of The Design And Application
of Step Motor Based on Infineon XC1cs
Microcontroller Liu Jian ,Wang Xu–dong,Zhou kai
Abstract: step motors have the advantages of control convenient and accurate location. with the development of science and technology step motors in real application are more widely. a hand controller was designed mainly aims at grinder in this article, This controller use the XC1CS microcontroller that is produced by Infineon company as the master chip, Replaced the previous pulse generator, Using programming method generates control pulse,Through the C programming language enhanced software portability,This controller is connected with step-motor subdivision driver (2HB404D) to control the stepping motor to control step-motor direction, speed, rotating RPM through the software programming. Hand controller display operation state of step motor through liquid crystal display (MS12232F) , in order to control the servo motor ,the controller is added the D/A function This paper designs controller that simplifies the circuits design and reduces costs of production, improves reliability and flexibility of the system.
1 引言
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
步进电机不需要传感器就可以实现精确快速的定位,所以在许多控制系统中的到广泛的应用,目前打印机、数控车床、雕刻机、机器人、传真机中都使用了步进电机。随着计算机
系统的高速发展,步进电机由于定位准、控制简单的优点必将在工业控制领域得到更为广泛的应用。为了更方便的控制步进电机,本文开发设计了一个操作简单方便的手持控制器,本产品优于市面上现有的脉冲发生器,它可以实现步进电机的快速启停,在宽广的频率范围内
[1]
可以改变脉宽进行调速,手持终端不仅可以显示电机运行的距离而且可以设定行进距离实现半自动控制,实现电机运行的高度稳定性,并且大大降低了生产成本,并在磨床上面得到了很好的应用,自动控制砂轮在磨床X轴上往复运动,准确控制磨床Y轴的位移,使加工出来的零部件尺寸更加标准。
2 步进电机的工作原理
步进电机是纯数字控制电机,它将脉冲信号转变称为角位移.即给一个脉冲信号。步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)步进电机区别于其他控制电机的最大特点,是它通过输入脉冲信号来进行控制的.即电机的总转动角度由输人脉冲数决定,而电机的转速由脉冲信号的频率决定。步进电机的驱动电路根据控制信号工作,控制信号由控制器(单片机)产生,然后信号送给驱动器.由驱动器来驱动步进电机转动[2]。 (1) 控制换向顺序
通电换相这一过程称为脉冲分配。例如:步进电机的单四拍,其各相通电顺序为A+、B-、A-、B+脉冲必须严格按照这一顺序分别控制A+、B-、A-、B+的通断才能使步进电机正常转动。
(2) 步进电机的方向控制
如果按给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。
(3) 步进电机的转速控制
如果给步进电机发一个控制脉冲。它就转一步。再发一个脉冲。它会再转一步。两个
脉冲的间隔越短,步进电机就转得越快。调整控制器(单片机)发出的脉冲频率.就可以对步进电机进行调速。
3 控制系统的介绍
本文步进电机采用的驱动器SJ-3F110M为一款等角度恒力矩阵细分型驱动器,驱动器电源电压AC220V,每相适配电流在6.5A以下、适用于90BF003、90BC340AH等各种型号的三相反应式步进电机。该驱动器内部采用类似伺服控制原理的电路,此电路可以使电机低速运行平稳,几乎没有震动和噪音,电机在高速时力矩大,定位精度最高可达19200步/转,步进电机接口电路框图如图1所示,FREE-低电平有效时关断电机线圈电流,驱动器停止工作电机处于自由状态。DIR-低电平有效时用于改变电机转动方向,PUL-变低电平时电机走一步。要求低电平0-0.5V,高电平4-5V,脉冲宽度大于2.5us。磨床分为两个轴X轴和Y轴,步进电机控制Y轴砂轮的进给量,X轴主要是由日本SANYO DENKI交流伺服电机65ZBM040DXS00控制,控制器也采用SANYO公司的型号为67ZA050A591S00的驱动器,如果让伺服电机控制X轴往复运动,需要对伺服驱动器输入正相电压和负向电压,此电压就需要手持终端控制器中的D/A转换来输出,D/A转换输出的电压正负变换的控制是由磨床上面的限位开关来完成的。
5V光隔电源脉冲信号PUL+PUL-R1Q1控制器方向信号Q2DIR+DIR-R2使能信号(可悬空)Q3FREE+FREE-R3步进电机A+A-B+B-C+C- 驱动器AC 220V 图1 单片机控制步进电机接口电路
4 手持终端的硬件设计
手持控制器主要结构由电源模块、外部通讯模块、主控 CPU、液晶模块、接口电路组成。控制器硬件结构图如图2所示。
电源模块 LCD液晶显示外围接口电路XC1CS按键KEY微调电位器DA 转换芯片
图2 基于XC1CS控制器的硬件结构框图
本控制器的CPU采用英飞凌16位单片机XC1CS,它是英飞凌公司16位微控制器家族前四代产品派生出的精华版。通过不断的改进和增加外围控制单元,它的性能也不断增强,测量与控制单元引入了数字处理功能(DSP-functionality),大大减少了乘法和除法的运算时间同时也加强了捕获/比较单元的功能,而且具有较好的性能价格比。液晶屏选择MS12232F(中文),如图3所示为手持控制器的实物图, 手持控制器的设计结构简单,使用比较方便,可以对其编写不同的程序来实现不同的控制功能。
图3 手持控制器
5 手持终端的软件设计
5.1 XC1CS所用到的单元的介绍
XC1CS提供了一个与两个定时器有关的16通道捕获/比较单元(CAPCOM单元)。每个捕获/比较寄存器有一个对应的信号,用作捕获输入或比较输出。本程序的设计采用的是比较输出,当执行比较操作时,一旦定时器的计数递增至和保存在捕获/比较寄存器中的比较值相等时,一个相关的输出信号将跳变。为了进行模拟信号测量,片上集成一个10位A/D转换器,它有14个输入通道和一个采样保存电路,该A/D转换器采用了连续逼近的方法。采样时间和转换时间可编程,可以与外部电路相适应。本文采用的是DAVE软件即数字应用可视化工程师。如图3为XC1CS的外设接口可视化界面,这一软件主要用于对英飞凌8位、16位、32位单片机配置相应用的功能模块,将单片机配置成所需要的工作模式,通过编译生成初始化程序C语言代码,在此基础上添加一些所需要的主程序代码,编译生成可执行代码。
图3 XC1CS的外设接口可视化界面
5.2 手持控制器对步进电机控制的程序设计
手持终端控制器软件涉及到捕捉/比较、I/O口、中断、A/D、D/A等模块。对上述模块进行配置之后即可生成C语言代码,图4为系统软件流程图,比较模式可在最低的软件开销下产生(中断或输出信号跳变)或脉冲序列。在比较模式中将保存在捕获/比较寄存器CC2_CC26中的16位数值和对应定时器CC2_T7REL中的计数值进行连续比较。若定时器的当前值和比较值相匹配,与寄存器CC2_CC26相关的中断请求线被激活,置位
[3]
ADC_CON_ADST启动或终止ADC,置位ADST将启动单次转换或一个转换序列。ADC启动后,ADC选择并采样由ADCH指定的输入通道。转换过程中电位器的采样电平被保持。该通道转换结束后,转换结果连同转换通道编号被送到结果寄存器ADC_DAT中,并产生中断请求,固定通道连续转换模式下ADST由软件清零,AD采样的范围0~3FF,计数器Timer7周期为26.2144ms,将调压器的电压经AD采样后与步进电机的频率对应,本文控制器输出频率为40Hz~100Kz实现了低频到高频的控制,由公式(1)得40Hz对应的十六进制数为0xF423, 由公式(2)得100KHz对应的十六进制数为0x18,所以对应的十六进制的范围是0x18~0xF423,由公式(3)得x=18+(F40B·dianya)/3FF,ADC_DAT的采样结果赋值给变量dianya,定时器重装载值为CC2_T7REL=FFFF-x, 1
40y26.2144103 FFFF1
10010326.21443y 10FFFF
x18F42318dianya3FF
手持控制器产生脉冲子程序如下: ADC_CON_ADST=1; dianya=ADC_DAT;
a=18+(F40B*dianya)/0x3FF;
//40-100KHz
c=0xFFFF-a;
CC2_T7REL=c;
CC2_CC26=0xFFFF-(a/2); //输出等占空比的脉冲
开始初始化各模块D/A转换子程序A/D 转换子程序比较输出子程序LED显示子程序电位器信号或检测开关YN设置电机转速和位移,驱动电机LED显示状态返回
图4 系统软件流程图
(1)
(2) (3)
5.3 手持控制器对伺服电机控制的程序设计
手持控制器的另外一个功能是输出模拟电压,双极输出的范围是-1.5V~+1.5V,D/A输出的电路图如下图5所示,模拟电压输出电路结构简单易于调试,D/A芯片可以输出四路模拟电压,在这里我们只用一路VOUTA,DO1~DO7输入相应的数字量,VOUTA输出相应的模拟电压来控制伺服电机稳定运行。
VrefAR520KU2B6VOUTA75R6LM1935KLM193DO1DO2DO3DO4DO5DO6R410K75U1B6C1R25K12345671011121314VDDVrefARfbAIout1AIout1BRfbBVrefBVrefCRfbCIout1CIout1DRfbDVrefD2827262524232221201918171615R320KR110KDAC-8408DS2DS1R/WA/BDO8DO7
图5 模拟电压输出电路
如果让伺服电机稳定运行,电机换向不应该直接由正转最大速度瞬间变为反转最大速度,应该由正转速度按一定斜率缓慢的变为反转速度或由反转速度按一定斜率缓慢变为正转速度,进而完成稳定的换向,所以提供的模拟电压就应该按一定的斜率慢慢增加所需要的值,如果反方向运行则需要模拟电压按一定的斜率缓慢的减小到所需要的负值,所以电机起动和停止时也都应该按此规则运行[4]。
数字量输入与VOUTA输出的模拟电压对应关系如表1所示。
表1 数字量与模拟量的对应关系
数字量输入 DO7 DO1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 模拟量输出 (VOUTA) 127VREF128 1 VREF1280 1VREF128 127 VREF1280 0 0 0 0 0 0 0 配置单片机I/O口P4为D/A的数字量输出,P4口的数字量输出与模拟量输入的对应关系参照表1,当磨床X轴运行到左限位开关时程序进入中断1,执行正电压按一定斜率变换到负电压的程序,当磨床X轴运行到右限位开关时程序进入中断2,执行负电压按一定斜率变换到正电压的程序,子程序流程如下:
if(P1L.3) // P1L.3为控制D/A的总开关
{
128 VREF128
if(P1L.4) // 左限位开关
{进中断1 ; //执行正电压按一定斜率变换到负电压的程序 P4口输出负最大值; }
if(P1L.5) // 右限位开关
{进中断2; //执行负电压按一定斜率变换到正电压的程序 P4口输出正最大值 } }
6 实验结果与应用
为了检验手持控制器在实际工程中的可行性,我们将控制器与改造的磨床连接进行了实验,手持控制器输出的脉冲波形如图4所示
(a) (b)
(c) (d) 图4 控制器的输出波形
由图4可以看出蓝线的高低电平用来控制步进电机正反转,(a)和(b)采集的是低频方波,(c)和(d)采集的是高频方波,由图4可以看出控制器产生的实验波形很好,经过试验表明对步进电机也有很好的控制效果。
(a) (b)
(c) (d)
图6 控制器D/A的输出波形
图6为手持控制器D/A输出的波形,磨床X轴的往复运动是由两个位置可调的左右限位开关控制的,根据工件的大小可以自由调节限位开关,图6中的波形电压由正到负是由左限位开关控制的,电压由负到正是由右限位开关控制的,进而实现X轴的往复运动。X轴的启动和停止是由控制器上的开关控制的。图6所示(a)(b)(c)(d)分别是输出模拟电压200mv、300mv、500mv、1000mv。通过实验可得X轴运动的速度也相应的增大,由波形可以看出手持控制器使电压变换是按一定斜率缓慢变化的,这样大大减小了电压突然换向产生的过流冲击,避免了电机故障发生, 实现了磨床X轴的稳定运行。
磨床主要用于磨削圆柱形或圆锥的外表面,属于精密加工车床,图7所示改造后的磨床正在加工工件,主控系统为本文设计的手持控制器,经过实验验证本文设计的控制器在改造磨床上得到了良好的应用,加工的工件符合工程标准。
图7 手持控制器控制磨床加工工件
7 结束语
基于英飞凌单片机的手持控制器可以产生的频率范围40Hz~100kHz的方波,可以实现高速的D/A转换,已经很好的应用在改造的外圆摩床上,实际应用情况表明,本控制器满足绝大多数步进电机系统的控制,并且在这一平台上,根据实际情况调用不同的程序产生不同的脉冲,手持控制器的设计周期短并且结构简单易于调试,它与传统的脉冲发生器相比具有性价比高、通用性强、易于开发、易于操作等优点。
8 参考文献
[1] 李君凯.步进电机控制系统[J].自动化与仪器仪表,2003(1).
[2] 霍迎辉,陈宇翔.步进电机的微机和单片机控制[J].电机电器技术,2003(3). [3] 吴志红,朱元,王光宇.英飞凌16位单片机XC1CS的原理与基础应用[M].上海:
同济大学出版社,2006: 124-185.
[4] 刘西明. 数控系统伺服电机控制[J].中国新技术新产品,2010,(03) .