基于SPMC75F2413A单片机控制步进电机实现三轴联动

58
文章编号:1004-289X(2009)04—0058—03

<电气开关)(2009.No.4)

基于SPMC75F2413A单片机控制步进电机实现三轴联动

李田甜,陈鸿 (仪器科学与动态测试教育部重点实验室中北大学,山西 太原030051)

摘要:提出了一种基于凌阳SPMC75F2413A单片机控制步进电机实现三轴联动的方法,使用了一种快速直线

脉冲增量插补算法来控制三轴联动,该方法已成功地应用在某步进电机控制系统中。

关键词:SPMC75F2413A单片机;步进电机;三轴联动

中图分类号:TM341

文献标识码:B

The Stepping Motor Control Based on SPMC75F2413 A SMC to Realize Three Axes Linkage
L/Tian—tian,CHEN Hong
(Key Laboratory of Instrumentation Science&Dynamic Measurement,Ministry of Education,North Uni· versity of China,Taiyuan 03005 1,China)
Abstract:This paper proposes a method of stepping motor control based on SPMC75 F24 1 3 A SMC.Use three stepping motors to realize three axes linkage.This design use a fast linear pulse incremental interpolation algorithm.And it has been used for¥ome stepper motor servo system successfully. Key words:SPMC75172413A SMC;stepping motor;three axes linkage

1 引言
步进电机是一种将电脉冲信号变为相应直线位移 或角位移的数/模转换器。步进电机由于控制方便、工 作可靠、价格便宜等优点,在机械、电子、纺织轻工等领 域都得到了广泛的应用。在本系统中使用三个步进电 机实现x、Y、z轴的三轴联动,实现三轴同时启动同时 停止,并且实现x、Y、z三轴独立运动。
SPMC75F2413A是斗’nSPTM系列产品的一个新成 员,是凌阳科技新推出的一个16位结构的微控制器。 在4.5~5.5V工作电压范围内的工作速度范围为0— 24mHz,拥有2K字SRAM和32K字闪存ROM;IOA— IOD四组64位可编程I/'O端口,5个通用16位定时 器/计数器。
.Allergo公司生产的两相步迸电机专用驱动器 SLA7042M,可以很方便的实现步距角的8细分。
现行的经典直线脉冲增量插补算法多有这样的情 况:每次定时中断只对一个或最多两个坐标进行插补。

改进的算法或者将插补算法扩展到三坐标、或者用整 数运算代替浮点运算。本文使用的插补算法,不仅计 算中采取整数运算,而且一次运算得到两个进给步的 进给脉冲增量,运算量有显著减少。
2基于SPMC75F2413A单片机的步进电机控制
步进电机易于与数字电路接口,但一般数字电路 的信号能量远远不足以驱动电机。因此,必须有一个 与之匹配的驱动器来驱动步进电机。驱动器通过给电 机绕组提供特定的激磁电流,告诉电机需要运行多少 个微步。
本系统采用的是Allergo公司生产的驱动器 SLA7042M,它本质上是一个利用数字量输入控制输出 电流的芯片,其内部的2个4-bit的移位寄存器分别接 收由Serial Data引脚输人的电机相位信息和激磁电流 比例数据。这个4一bit的移位寄存器的第一位先载入 相位信息,接着串行载入激磁电流比例数据的最低位, 次低位,最后载人最高位。下表是SLA7042M工作在

 万方数据

<电气开关)(2009.No.4)

59

8细分模式下的激磁电流比例数据表,见表1。 表1
数据输人的‘X’表示相位,X=1时相位为A相或 B相,X=0时相位为五或B相,电流比例为最大电流 L。的百分数。通过设置电压Vref//en与电流采样电 阻R。可以确定流过电机绕组的最大电流最大电流,。。 关系式为L。,=Vref/en/3R。
本系统采用SPMC75F2413A的IOB端口的IOB3, IOB4作为控制信号,IOBl,IOB2,IOB5,IOB6,IOB7, IOB。位作为数据信号的输出端口,分别控制3个 SLA7024M,通过这三个SLA7024M同时控制3个步进 电机。系统框图如图1所示。
图1
3直线的双步脉冲增量算法 在空间坐标系(茗l,记,妇)中有空间直线段Ps
PE,其起点坐标为PS(xls,x2s,x3s),终点坐标为PE (xle,x2e,x3e),这两点的坐标值均为整数。不妨假定 Ixle—xlsI为Ixle—xls l,I x2e—x2s I,l x3e—x3s l中最 大者。这样在插补算法中,只需要让茗1轴按照单位长 增长,进而计算记轴和龙3轴的增长量。本文提出的 双步直线脉冲插补算法,每个插补计算中同时计算相 邻两个奇偶插补点的菇1、也、石3轴的增量。由于茗l轴 每个进给步以单位脉冲当量增长,所以只需要计算这 相邻两进给步中算2轴的增量(d12,d22)和在妇轴的 增量(d13,d23)。空间直线Ps PE在戈l一砣、茹1一稻 平面上的投影是平面直线,可以对它们分别使用二维 直线的双步增量算式,这样很容易得到该空间直线插 值点的娩、膏3的双步增量,也就是直线脉冲插补算法 中的双步脉冲增量。

两进给步的戈2、菇3轴的脉冲增量为:

rd“=C’i (Di)j<8i

I dli=C’i+l (Oi)j≥8i

l比i=Ci—c’f ((Oi)j<0且(Di)j<&)



或者((Oi)j≥0且(Oi)j≥艿)

I d2i=Ci—C’i—l(Oi)j<0且(Oi)j≥8i

l以i=Ci—c’i+l (Oi)j≥0且(Di)j<8i

。i=2,3√=l,2,…,loor(n/2)

n=I xle—xls I

(1)

其中:

8i=2(x/e一菇蠡)一2n(Ci—C’i)

Ci=floor(2(xie一石如)/n)

(2)

C’f=floor((xie—xis)/n)

砣和茗3坐标的判别式(Di)j按下式递推计算:

(Oi)j+1=(Di)j+ADi

(Oi)j<0

(Di)j+l=(Di)j+ADi一2n

(Di)j≥0

(oi)l=△Di一,I

△Di=4(xie—xis)一2nCi

(3)

茗l轴的双步进给量都是单位脉冲当量,所以有:

dll=d21=l

(4)

这样利用算式(1)一(4)可以得到空间直线的相 邻两个奇偶插补点增量。这就是直线的双进给步脉冲

增量计算公式。 在数控加工中,整个的插补计算可以按如下3个

动作循环:(1)将菇1轴的两个进给步的脉冲增量都设
为单位脉冲当量;(2)将前一步的睨、D3值增加一个 常量,得到当前步的睨、仍值;(3)根据当前步的172、 D3值,按照式(1)计算两个进给步的砣、妇轴的脉冲 增量。整个计算循环厂loor(n/2)次。

4软件设计
在程序编译时首先要将两个三维坐标点经过计算 变为三段距离的长度,即终点坐标减起点坐标,从而决 定三个步进电机分别要运动的步数。若某轴方向上的 结果为负,则在调用步进电机转动子程序的时候调用 反转子程序。在程序的其余部分均按照相减后结果的 绝对值进行计算,不考虑正负。
根据计算出的步数找出移动最长的轴,也就是使 用坐标分量变化缓慢的坐标轴为单位增长,设定其每 次的脉冲增量都为l,即每次的循环计算都调用两次 步进电机转动子程序,使其走两步。其余两轴是否调 用转动子程序,根据计算得出的脉冲增量而定。
(下转第63页)

 万方数据

<电气开关)(2009.No.4l
∞0∞帅。8●Oq●O吖,01●O叫.
图8基于12中间矢量的六相SVPWM系统的仿真结果

社.2009.
收稿日期:2009—04—28 作誊简介:郑翻119"76一).勇.潮南束安人.工学鼍士。研究方向为电气自动化、机
电一体化; 谢芳芳f 1978一).女.湖南新田人.工学一士.研兜方向为电子信童工 程、控捌理论与控铡工程: 庹朝永I 1962一1.男.湖南蠢县人.■氧讲师。研究方向为电气自动化、 机电一体化; 、 李小平l 1965一l。女.湖南临湘人.■级讲师.研究方向为电气自动化、 机电—体化。
(上接第59页) 软件流程图如图2所示:

-2盅世!!!!!!!塑垒2:=:====:===:===:==:===::=::==:::=
一:嚣f_u___uⅡI址迹盘篡盘=2=c==篡===臣兰2芏±=譬匕==芏:=刍
.i幽幽蚴煳删煳喇蛐喇蛐幽删幽幽幽煎
一:《幽幽划煳幽幽删幽幽嘲蝴幽幽幽幽嘲_幽幽幽
一 』E?=E====—===—====—===—====—===—====—===。
叫占.—1々—1々—1旨—1々—1々—气々—1々—1等—1号—_1
图9基于12最大矢量的六相SVPWM系统的仿真结果
较大的问题,采用SVPWM技术对逆变器的由子空间 上12个最大电压矢量进行线性组合,得到12个中间 电压矢量。在此基础上。优化设计得到一种六相SVP- WM系统。在Simulink环境下建立起该系统的仿真模 型,仿真结果表明,系统具有稳定性好、动态响应快、稳 态响应准、定子谐波电流小等优点,从而验证了所提出 的控制策略的正确性、有效性。以此为基础,可以对六 相感应电机变频调速系统展开更深入的研究。 参考文献
[1】LI Shah,XIAO Huihui.The research of SVPWM control technique of double three—phase induction[J】.IEEE Trans Energy Conversion,2004.1 (3):109一114. [2】郑剑,肖蕙蕙,李山,等.电机理论中的两类空间矢量及其特点研 究[J】.防爆电机,2008,43(1):1—4. [3】庹朝采。癖创.基于矢量组合的直接转矩控制系统的设计与仿真 [J].微特电机。2008,43(12):1—4. [4】陈伯时.电力电子与电力传动自动化[M】.北京:机械工业出版 社.2008. [5】林飞,杜欣.电力电子应用技术的matl丑b仿真[M].中国电力出版

圜2
由于在编写程序时使用的是汇编语言,对与一些
…叫……一。’……一 复杂的计算在汇编语言中不太容易实现。在此程序中
使…用 …汇 …编 ”…语一言…调H用c语言来计算算法中的一些复杂
的数据。
5结束语
用凌阳SPMC75F2413A单片机配合SLA7042M实 现2相步进电机的微步距控制,可以使步进电机按一定 的速度、方向、步距数运行。通过使用直线双步脉冲增 量算法,实现了三轴联动。并且经过验证该算法和传统 的逐点比较法、数字积分法等相比较,优势十分明显,效 率和精度都有很大的提高,理论误差不超过0.707。本 方法以在某系统中得到验证,结果稳定可行。
参考文献 [1】 罗亚非,等.凌阳16位单片机应用基础[M】.北京航空航天大学 出版社.2003. [2】王燕芳.微型计算机控制技术[M】.高等教育出版社,2002. [3】 Miczo steeping inolor controller/driver.Atle母-o Micro,Systems,Inc.
2004.
[4】 张庆丰,等.一种快速直线脉冲增量插补算法[J】.计算机应用。
200'5.
收稿日期:加∞一10—29

 万方数据

基于SPMC75F2413A单片机控制步进电机实现三轴联动

作者: 作者单位: 刊名:
英文刊名: 年,卷(期):

李田甜, 陈鸿, LI Tian-tian, CHEN Hong 仪器科学与动态测试教育部重点实验室中北大学,山西,太原,030051
电气开关 ELECTRIC SWITCHER 2009,47(4)

参考文献(4条)
1.张庆丰 一种快速直线脉冲增量插补算法[期刊论文]-计算机应用 2005(6)
2.Micro steeping moor controller/driver 2004 3.王燕芳 微型计算机控制技术 2002 4.罗亚非 凌阳16位单片机应用基础 2003

本文读者也读过(3条) 1. 张腾飞.萧泽新.谭刚林.ZHANG Teng-fei.XIAO Ze-xin.TAN Gang-lin 基于ATmega16和μC/OSⅡ低成本的三轴联 动平台的设计[期刊论文]-光学与光电技术2009,7(4) 2. 张自强.陈少波.郑志丹 带联动转动轴三轴联动数控磨床研究[会议论文]-2008 3. 李春旭.蔡秀鹏.高东锋.刘国清.焦雷.LI Chun-xu.CAI Xiu-peng.GAO Dong-feng.LIU Guo-qing.JIAO Lei 基于 单片机控制步进电机的方法研究[期刊论文]-机电工程技术2006,35(11)

本文链接:http://d.g.wanfangdata.com.cn/Periodical_dqkg200904020.aspx


相关文档

基于SPMC75F2413A单片机的步进电机加减速控制
基于PC的步进电机三轴联动控制系统研究
基于PC 的步进电机三轴联动控制系统研究
基于单片机的步进电机控制系统的设计与实现
利用单片机实现控制步进电机
步进电机的控制原理及其单片机控制实现
步进电机控制原理及单片机实现
05基于89S52单片机的步进电机联动作图控制修改
基于单片机的步进电机控制系统设计与实现
基于MSP430F149单片机实现的步进电机通用控制器
电脑版