885191439基于单片机的步进电机控制系统设计论文(C语言).doc

上传人:laozhun 文档编号:2384272 上传时间:2023-02-17 格式:DOC 页数:26 大小:832KB
返回 下载 相关 举报
885191439基于单片机的步进电机控制系统设计论文(C语言).doc_第1页
第1页 / 共26页
885191439基于单片机的步进电机控制系统设计论文(C语言).doc_第2页
第2页 / 共26页
885191439基于单片机的步进电机控制系统设计论文(C语言).doc_第3页
第3页 / 共26页
885191439基于单片机的步进电机控制系统设计论文(C语言).doc_第4页
第4页 / 共26页
885191439基于单片机的步进电机控制系统设计论文(C语言).doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《885191439基于单片机的步进电机控制系统设计论文(C语言).doc》由会员分享,可在线阅读,更多相关《885191439基于单片机的步进电机控制系统设计论文(C语言).doc(26页珍藏版)》请在三一办公上搜索。

1、目 录基于单片机的步进电机控制系统设计任务书2课题介绍、主要内容、主要器件、主要资料及参考文献、预期设计(论文)成果2一.基于单片机的步进电机控制系统设计6摘要61.1课程设计目的61.2 课程设计说明61.3 步进电机的变频调速71.4系统软硬件协同设计81.5 应用实例10二.单片机的电机驱动接口电路设计18 1.1 .软件设计18三.单片机对电机转向、转速的控制18四.单片机对步进电机的正、反转控制 18五.利用单片机实现对步进电机的运动控制211 引言 21 2 系统总体结构设计 213 系统硬件电路设计 22六.结束语 301基于单片机的步进电机控制系统设计摘要:本文应用单片机、步进

2、电机驱动芯片、字符型LCD和键盘阵列,构建了集步进电机控制器和驱动器为一体的步进电机控制系统。二维工作台作为被控对象通过步进电机驱动滚珠丝杆在X/Y轴方向联动。文中讨论了一种以最少参数确定一条圆弧轨迹的插补方法和步进电机变频调速的方法。步进电机控制系统的开发采用了软硬件协同仿真的方法,可以有效地减少系统开发的周期和成本。最后给出了步进电机控制系统的应用实例。 关键词: 步进电机控制系统,插补算法,变频调速,软硬件协同仿真1.1 课程设计目的1、熟悉和掌握单片机的结构和工作原理。2、掌握单片机的接口技术和相关外围芯片的特性及控制方法。3、掌握以单片机为核心的电路设计的基本方法和技术,了解有关电路

3、参数的计算方法。4、通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。5、通过完成一个包括电路设计和程序开发的完整过程,为今后从事相关工作打下基础。1.2 课程设计说明(1) 作为一种数字伺服执行元件,步进电机具有结构简单、运行可靠、控制方便、控制性能好等优点,广泛应用在数控机床、机器人、自动化仪表等领域。为了实现步进电机的简易运动控制,一般以单片机作为控制系统的微处理器,通过步进电机专用驱动芯片实现步进电机的速度和位置定位控制。(2) 圆弧插补改进算法逐点比较插补算法因其算法简单、易实现且最大误差不超过一个脉冲当量,在步进电机的位置控制中应用的相当广泛1。圆弧插补中,为了确定一条

4、圆弧的轨迹,可采用:给出圆心坐标、起点坐标和终点坐标;给出半径、起点和终点坐标;给出圆弧的三点坐标等。在算法实现时这些参数若要存放在单片机内部资源有限的数据存储器(RAM)中,如果要经过复杂的运算才能确定一段圆弧,不但给微处理器带来负担,而且要经过多步运算,往往会影响到算法的精确度。因此选取一种简单且精确度高的插补算法是非常必要的。本文提出了一种改进算法:在圆弧插补中,无论圆弧在任何位置,是顺圆或是逆圆,都以此圆弧的圆心作为原点来确定其他坐标。因此只须给出圆弧的起点坐标和圆弧角度就可以确定该圆弧。如果一个轴坐标用4个字节存储(如12.36),而角度用2个字节存储(如45),则只需要10个字节即

5、可确定一段二维的圆弧。较之起其他方法,最多可节省14个存储单元。现以第I象限逆圆弧为例,计算其终点坐标。如图1所示,(X0,Y0)为圆弧的起点坐标,(Xe,Ye)为圆弧的终点坐标,为圆弧的角度。 圆弧半径: 终点坐标: 终点坐标相对X轴的角度:本系统要求输入的角度精确到1度,输入坐标的分辨率是0.01,单片机C语言的浮点运算能精确到0.000001,按照上面的公式算出的终点坐标1%,能够满足所要求的精确,虽存在误差,但这个误差小于度。(3) 步进电机的变频调速 虽然步进电机具有快速启停能力强、精度高、转速容易控制的特点,但是在实际运行过程中由于启动和停止控制不当,步进电机仍会出现启动时抖动和停

6、止时过冲的现象,从面影响系统的控制精度。尤其是步进电机工作在频繁启动和停止时,这种现象就更为明显2。为此本文提出了一种基于单片机控制的步进电机加减速离散控制方法。加减速曲线如图2 所示,纵坐标是频率 f,单位为脉冲/秒或步/秒。横坐标时间 t,单位为秒。步进电机以 f0 启动后加速至 t1 时刻达到最高运行频率 f,然后匀速运行,至 t2 时刻开始减速,在 t5 时刻电机停转,总的步数为 N。其中电机从静止加速至最高运行频率和从最高运行频率至停止至是步进电机控制的关键,通常采用匀加速和匀减速方式。图2 时间与频率的函数图 图3 离散化的时间变频图采用单片机对步进电机进行加减速控制,实际上就是改

7、变输出脉冲的时间间隔,可采用软件和硬件两种方法。软件方法依靠延时程序来改变脉冲输出的频率,其中延时的长短是动态的,该方法因为要不停地产生控制脉冲,占用了大量的CPU时间;硬件方法是依靠单片机内部的定时器来实现的,在每次进入定时中断后,改变定时常数(定时器装载值),从而升速时使脉冲频率逐渐增大,减速时使脉冲频率逐渐减小。这种方法占用CPU时间较少,是一种效率比较高的步进电机调速方法。考虑到单片机资源(字长)和编程的方便,不需要每步都计算定时器装载值。如图3所示,采用离散方法将加减速曲线离散化。离散化后速度是分台阶上升的,而且每上升一个台阶都要在该台阶保持一段时间,以克服由于步进电机转子转动惯量所

8、引起的速度滞后。只有当实际运行速度达到预设值后才能急速加速,实际上也是局部速度误差的自动纠正。(4) 系统软硬件协同设计 对于51系列单片机的软件开发,传统的方法是在PC机上采用Keil等开发工具进行程序设计、编译、调试,待程序调试通过之后生成目标文件下载至单片机硬件电路再进行硬件调试3。这种方法只有硬件电路完成之后才能进行系统功能测试,若此时发现硬件电路存在设计问题且必须进行修改时就会显著影响系统开发的成本和周期。为此,本文采用了系统软硬件协同仿真的开发方法,使得硬件电路实现前的功能测试成为可能。同时硬件电路的软件化仿真为硬件电路的设计与实现提供了有力的保障。其中在Keil uVision2

9、集成开发环境下,实现步进电机控制系统的程序设计、编译、调试,并最终生成目标文件 .hex,而由英国Proteus Labcenter electronics公司所提供的EDA工具Proteus则利用该目标文件 .hex 实现对步进电机控制系统硬件电路功能的测试。 图4 步进电机控制系统硬件电路仿真如图4所示,单片机AT89C55司职步进电机控制器,通过运行在Keil uVision2 环境下所开发的程序来控制两个步进电机驱动芯片L298,从而实现对AXIS_X / AXIS_Y两轴步进电机的联动控制。L298驱动芯片的步进脉冲输入信号来自AT89C55 P0端口,使能信号ENABLE A与EN

10、ABLE B并联接到AT89C55的P3.0、P3.1口,由程序控制实现步进电机的使能,从而避免电机线圈处于短路状态而烧坏驱动芯片。4 x 4键盘阵列接AT89C55的P1端口,通过程序设计定义每个按键的具体功能。LCD的数据端口DB0DB7接AT89C55的P2端口,控制端口RS, RW, E分别接单片机的P3.5, P3.6, P3.7口。相关的参数值、X/Y轴坐标值可以通过LCD以文本方式显示。本文采用软硬件协同仿真的方法经过设计测试修正再测试一次次迭代开发,在制作控制系统硬件电路之前即可实现对系统整机功能的测试。待系统程序和硬件电路设计方案最终完善之后便可以实际制作如图5所示的硬件电路

11、。显然该种方法可以显著提高系统软硬件开发的成功率,从而有效降低系统的开发周期和开发成本。(5) 应用实例图5即是根据图4进行硬件电路仿真的最终结果所制作的步进电机控制系统电路板。该电路驱动X/Y轴步进电机通过滚珠丝杆带动二维工作台作联动,并由一只铅笔模拟加工刀具将所要加工的二维轨迹描绘出来。图5步进电机控制系统硬件电路 图6 二维模拟工作平台运动轨迹步进电机在控制系统中具有广泛的应用。它可以把脉冲信号转换成角位移,并且可用作电磁制动轮、电磁差分器、或角位移发生器等。 有时从一些旧设备上拆下的步进电机(这种电机一般没有损坏)要改作它用,一般需自己设计驱动器。此介绍为从一日本产旧式打印机上拆下的步

12、进电机而设计的驱动器。该先介绍该步进电机的工作原理,然后介绍了其驱动器的软、硬件设计。1. 步进电机的工作原理该步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图1是该四相反应式步进电机工作原理示意图。图1 四相步进电机步进示意图开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极

13、对齐。而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图2.a、b、c所示: 图2.步进电机工作时序波形图 图3 步进电机驱动器系统电路原理图AT89C2051将控制脉冲从P1口的P1.4P1.7输出,经74LS

14、14反相后进入9014,经9014放大后控制光电开关,光电隔离后,由功率管TIP122将脉冲信号进行电压和电流放大,驱动步进电机的各相绕组。使步进电机随着不同的脉冲信号分别作正转、反转、加速、减速和停止等动作。图中L1为步进电机的一相绕组。AT89C2051选用频率22MHz的晶振,选用较高晶振的目的是为了在方式2下尽量减小AT89C2051对上位机脉冲信号周期的影响。图3中的RL1RL4为绕组内阻,50电阻是一外接电阻,起限流作用,也是一个改善回路时间常数的元件。D1D4为续流二极管,使电机绕组产生的反电动势通过续流二极管(D1D4)而衰减掉,从而保护了功率管TIP122不受损坏。在50外接

15、电阻上并联一个200F电容,可以改善注入步进电机绕组的电流脉冲前沿,提高了步进电机的高频性能。与续流二极管串联的200电阻可减小回路的放电时间常数,使绕组中电流脉冲的后沿变陡,电流下降时间变小,也起到提高高频工作性能的作用。3.软件设计该驱动器根据拨码开关KX、KY的不同组合有三种工作方式供选择:方式1 中断方式:P3.5(INT1)为步进脉冲输入端,P3.7为正反转脉冲输入端。上位机(PC机或单片机)与驱动器仅以2条线相连。方式2 串行通讯方式:上位机(PC机或单片机)将控制命令发送给驱动器,驱动器根据控制命令自行完成有关控制过程。方式3 拨码开关控制方式:通过K1K5的不同组合,直接控制步

16、进电机。当上电或按下复位键KR后,AT89C2051先检测拨码开关KX、KY的状态,根据KX、KY 的不同组合,进入不同的工作方式。以下给出方式1的程序流程框图与源程序。在程序的编制中,要特别注意步进电机在换向时的处理。为使步进电机在换向时能平滑过渡,不至于产生错步,应在每一步中设置标志位。其中20H单元的各位为步进电机正转标志位;21H单元各位为反转标志位。在正转时,不仅给正转标志位赋值,也同时给反转标志位赋值;在反转时也如此。这样,当步进电机换向时,就可以上一次的位置作为起点反向运动,避免了电机换向时产生错步。图4 方式1程序框图方式1源程序:MOV 20H,#00H ;20H单元置初值,

17、电机正转位置指针MOV 21H,#00H ;21H单元置初值,电机反转位置指针MOV P1,#0C0H ;P1口置初值,防止电机上电短路MOV TMOD,#60H ;T1计数器置初值,开中断MOV TL1,#0FFHMOV TH1,#0FFHSETB ET1SETB EASETB TR1SJMP $;*计数器1中断程序* IT1P: JB P3.7,FAN ;电机正、反转指针;*电机正转*JB 00H,LOOP0JB 01H,LOOP1JB 02H,LOOP2JB 03H,LOOP3JB 04H,LOOP4JB 05H,LOOP5JB 06H,LOOP6JB 07H,LOOP7LOOP0: M

18、OV P1,#0D0HMOV 20H,#02HMOV 21H,#40HAJMP QUITLOOP1: MOV P1,#090HMOV 20H,#04HMOV 21H,#20HAJMP QUITLOOP2: MOV P1,#0B0HMOV 20H,#08HMOV 21H,#10HAJMP QUITLOOP3: MOV P1,#030HMOV 20H,#10HMOV 21H,#08HAJMP QUITLOOP4: MOV P1 ,#070HMOV 20H,#20HMOV 21H,#04HAJMP QUITLOOP5: MOV P1,#060HMOV 20H,#40HMOV 21H,#02HAJMP

19、 QUITLOOP6: MOV P1,#0E0HMOV 20H,#80HMOV 21H,#01HAJMP QUITLOOP7: MOV P1,#0C0HMOV 20H,#01HMOV 21H,#80HAJMP QUIT;*电机反转*FAN: JB 08H,LOOQ0JB 09H,LOOQ1JB 0AH,LOOQ2JB 0BH,LOOQ3JB 0CH,LOOQ4JB 0DH,LOOQ5JB 0EH,LOOQ6JB 0FH,LOOQ7LOOQ0: MOV P1,#0A0HMOV 21H,#02HMOV 20H,#40HAJMP QUITLOOQ1: MOV P1,#0E0HMOV 21H,#04H

20、MOV 20H,#20HAJMP QUITLOOQ2: MOV P1,#0C0HMOV 21H,#08HMOV 20H,#10HAJMP QUITLOOQ3: MOV P1,#0D0HMOV 21H,#10HMOV 20H,#08HAJMP QUITLOOQ4: MOV P1,#050HMOV 21H,#20HMOV 20H,#04HAJMP QUITLOOQ5: MOV P1,#070HMOV 21H,#40HMOV 20H,#02HAJMP QUITLOOQ6: MOV P1,#030HMOV 21H,#80HMOV 20H,#01HAJMP QUITLOOQ7: MOV P1,#0B0H

21、MOV 21H,#01HMOV 20H,#80HQUIT: RETIEND4.结论:器经实验验证能驱动0.5N.m的步进电机。将驱动部分的电阻、电容及续流二极管的有关参数加以调整,可驱动1.2N.m的步进电机。该驱动器电路简单可靠,结构紧凑,对于I/O口线与单片机资源紧张的系统来说特别适用。2. 单片机的电机驱动接口电路设计IO接口的电流不够维持达林顿的导通状态造成的,可以给大功率管加一个9018或9013的前级放大,最好不要直接使用单片机驱动,建议使用光耦。达林顿管又称复合管。它将二只三极管适当的连接在一起,以组成一只等效的新的三极管。这等于效三极管的放大倍数是二者之积。在电子学电路设计中,

22、达林顿接法常用于功率放大器和稳压电源中。 达林顿电路有四种接法:NPN+NPN,PNP+PNP,NPN+PNP,PNP+NPN. 前二种是同极性接法,后二种是异极性接法。同极性接法,一楼楼主已经介绍过,这里说一下异极性接法。以NPN+PNP为例。设前一三极管T1的三极为C1B1E1,后一三极管T2的三极为C2B2E2。达林顿管的接法应为:C1B2应接一起,E1C2应接一起。等效三极管CBE的管脚,C=E1,B=B1,E=E1(即C2)。等效三极管极性,与前一三极管相同。即为NPN型。 PNP+NPN的接法与此类同。3. 单片机对电机转向、转速的控制如果只有一个转向的话就比较容易了,如果要有正反

23、两个转向,就需要一个H桥,并且两个I/O口输出高低电频控制,现在就来说说一个转向的控制方式吧。比如用P1口的P1.0,P1.1,P1.2三个I/O口接按键,P3.4口接电频输出,编个定时程序及按键程序,如果是快(全速运行),那就P3.4口直接输出高电频“1”;中(50%),那就让P3.4口050ms输出高电频“1”,50ms100ms输出低电频“0”,后面就一直以50ms进行一次取反;慢(就用10%吧),040ns输出高电频“1”,41ns400ns输出低电频“0”,这样为一个周期,后面就一直循环吧。如果按键P1.0按下,执行方式1,全速运行,否则以默认方式运行;按键P1.1按下,执行方式2,

24、改变占空比,以50%的速度运行,否则,不作改变;按键P1.2按下,执行方式3,改变占空比,以10%的速度运行,否则,不作改变。当然,占空比及定时时间可以根据个人需要进行改变,这只跟定时程序有关了,定时程序跟按键程序这边就不说了,别忘了按键去抖,咔咔,不然可能会乱掉。4. 单片机对步进电机的正、反转控制单4拍正转 zheng=0x01,0x08,0x04,0x02单4拍反转 fang=0x01,0x02,0x04,0x08双4拍正转 zheng=0x09,0x0c,0x06,0x03双4拍反转 fang=0x03,0x06,0x0c,0x09单双8拍正转 zheng=0x01,0x09,0x08

25、,0x0c,0x04,0x06,0x02,0x03单双8拍反转 fang=0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09*/#includereg51.h#includeintrins.h#define uchar unsigned char#define uint unsigned intbit front_move,back_move;uchar jzaj(void); /单4拍正转 zheng=0x01,0x08,0x04,0x02; 单4拍反转 fang=0x01,0x02,0x04,0x08;void ajcl(uchar jz);void delay

26、(uchar del); uchar code zheng=0x01,0x09,0x08,0x0c,0x04,0x06,0x02,0x03;uchar code fang=0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09;void timer0() interrupt 1static uchar jz;TH0=0xfc;TL0=0x18;jz=jzaj();if(jz)ajcl(jz);void main()uchar count=0;TMOD=0x01;TH0=0xFC;TL0=0x18;TR0=1;ET0=1;EA=1;while(1)if(front_mov

27、e)P2=zhengcount;delay(100);count+;if(count=8) count=0;if(back_move)P2=fangcount;delay(100);count+;if(count=8) count=0;uchar jzaj(void)uchar hz,lz;P1=0xf0; /置所有行为低电平,行扫描,列线输入(此时)if(P1&0xf0)!=0xf0) /判断是否有有键按下(读取列的真实状态,若第4列有键按下则P1的值会变成0111 0000),有往下执行delay(10); /延时去抖动(10ms)if(P1&0xf0)!=0xf0) /再次判断列中是否是

28、干扰信号,不是则向下执行hz=0xfe; /逐行扫描初值(即先扫描第1行) while(hz&0x10)!=0) /行扫描完成时(即4行已经全部扫描完成)sccode为1110 1111 停止while程序 P1=hz; /输出行扫描码if (P1&hz)!=hz) /*(P2&0xf0)!=0xf0*也可这样 本行有键按下(即P1(真实的状态)的高四位不全为1)lz=(P1&0xf0)|0x0f; /列while(P1&0xf0)!=0xf0);return(hz)|(lz); /返回行和列break; /有按键返回 提前退出循环else /所扫描的行没有键按下,则扫描下一行,直到4行都扫描

29、,此时sccode值为1110 1111 退出while程序hz=_crol_(hz,1);/行扫描码左移一位elsereturn 0; /无键按下,返回0 void ajcl(uchar jz)if(jz=0x11)back_move=0;front_move=1; if(jz=0x21)front_move=0;back_move=1;if(jz=0x41)P2=0x00;front_move=0;back_move=0;void delay(uchar del)uchar i;for(;del0;del-)for(i=0;i125;i+);5. 利用单片机实现对步进电机的运动控制1 引言

30、数控技术是一种采用计算机对机械加工过程中各种控制信息进行数字化运算处理,并通过高性能的驱动单元对机械执行构件进行自动化控制的高新技术。现代机械加工业逐步向柔性化、集成化、智能化方向发展,因此新一代数控技术就必需强调具有开放式、智能化、网络化的特征1。本文采用新型微处理器、高性能集成电路,研究开发智能步进电机控制卡。2 系统总体结构设计通过对步进电机控制器关键技术进行分析、研究和比较,并综合国内外运动控制器产品智能化、集成化、开放化的发展趋势,我们提出的步进电机运动控制器总体结构如图1所示。图1 系统总体结构3 系统硬件电路设计3.1 脉冲分频电路设计本系统的主要控制对象为步进电机。步进电机是一

31、种将电脉冲转化为角位移的执行机构,因此产生符合系统要求的步进电机驱动脉冲为整个系统设计中的关键。本系统的脉冲分频电路由图2所示。整个电路采用3片8254来产生X,Y,Z三个轴的驱动脉冲信号,鉴于Y,Z轴的电路与X轴相同,因此图中只表示了X轴脉冲数输出的电路原理。Inte18254是可编程定时/计数器,片内包含3个独立通道,每个通道均为功能相同的16位计数器,每个计数器的工作方式和计数长度分别由软件编程选择。8254是8253的改进型,操作方式及引脚与8253完全相同。8253计数频率为2.6MHz,8254的计数频率则更高,可达到6MHz。本系统选择8254作为脉冲分频电路的主控芯片。图2 脉

32、冲分频电路图3.2 RS-232通信接口电路设计在单片机系统的通信中,RS-232和RS-485标准总线应用最为成熟。为了使运动控制器的适用范围更加广泛,配合PC的现有接口,我们选用RS- 232标准总线来实现控制器和PC的通信,其接口电路如图3所示。在图3中,选用MAX232作为系统的通信接口芯片。MAX232是MAXIM公司生产的低功耗、单电源双RS-232发送/接收发器,适用于各种EIA-232E和V.28/V.24的通信接口。MAX232芯片可以把输入的+5V电源变换成RS-232输出电平所需的10V电压,所以采用此芯片接口的串行通信系统只要单一的+5V电源就可以。图3 通信接口电路M

33、AX232外围需要4个电解电容C1,C2,C3,C4是内部电源转换所需电容,其取值均为0.1F/25V。C44为0.1F的去耦电容。MAX232的引脚T1IN,T2IN,R1OUT,R2OUT为接TTL/CMOS电平的引脚。引脚T1OUT,T2OUT,R1IN,R2IN为接RS-232C电平的引脚。因此TTL/CMOS电平的T1IN,T2IN引脚应接MCS-51 的串行发送引脚TXD;R1OUT,R2OUT应接MCS-51的串行接收引脚RxD。与之对应的RS-232C电平的T1OUT,T2OUT应接PC机的接收端RD;R1IN,R2IN应接PC机的发送端。3.3 D/A转换与V/I转换电路设计

34、本运动控制器需要对电主轴的转速进行控制,对电主轴的控制通过其驱动器来实现。电主轴驱动器根据输入的电压或电流的大小来确定主轴的转速,因此系统需要输出05V的电压或020mA的电流,必须将系统处理过的数字量经D/A转换变成模拟量输出。本控制器的D/A转换主要由DAC0832芯片实现。 DAC0832是8位微处理器兼容型数/模转换器芯片,是DAC0830系列的一种。DAC0832与微机接口方便,可以充分利用微处理器的控制能力实现对D/A转换的控制,因此在实际中得到了广泛的应用。不同的电主轴驱动器对输入的信号有不同的要求,有的需要05V的电压信号,有的需要020mV的电流信号,因此我们同样设计了V/I

35、转换电路,使系统具备了电流信号的输出,增强了系统的适应性。3.4 开关信号输入电路设计在步进电机运动过程中,常采用机械式开关和光电开关构成开关信号输入回路,通过开关的闭合或断开,以电平的形式反映步进电机的工况。这包括X,Y,Z轴限位;加工过程中对刀,X,Y,Z轴电机的回零操作等等2-3。由于开关的机械式设计,触点闭合或断开时伴有机械抖动,会使输出信号波形出现振荡。若将该信号输入到微控制器的计数器中,会造成错误的计数而导致系统控制混乱。开关量的输入干扰是系统设计中客观存在的问题。因此在获得开关信号后,我们必须对开关信号进行处理,使其成为单片机可以识别的数字信号后才能做出相应的反应。系统共提供了1

36、2路的开关信号接口,限位开关信号处理如图4所示。图4 限位开关信号处理电路原理图在开关信号输入CPU之前,首先用电容对其进行滤波,抑制信号中的高频分量。TPL光耦隔离实现了光电开关、限位开关信号和控制器之间的电平转换,并实现了两个不同回路间的隔离,保证了控制器电路不受来自开关信号电路的干扰。3.5 硬件抗干扰技术为了克服可能发生的各种干扰,保证系统能够可靠的运行,现有的抗干扰技术在硬件方面采取如下措施4:抑制电源干扰。传导干扰通常由交流电源端引入系统内部。为了抑制这种干扰,系统通常在交流进线端串接入低通LC滤波器。这种方法在实际中己经取得明显效果,但为了抑制电源浪涌电压的冲击,系统还必须在电源

37、线之间及电源线对地之间分别装压敏电阻。抑制传输线干扰。对于系统中传输距离较长的线路通常选用屏蔽电缆来实现系统各部分的连接,以达到抗干扰的目的。在一些应用环境比较恶劣的系统中,为了进一步抑制干扰,可采用光电隔离方式将系统控制部分与I/O口部分分开,并采用双电源供电。尽量减小干扰造成的影响。通常的做法有:1)增加硬件看门狗电路。2)增加电压监测电路。3)选择抗干扰能力较强的单片机系列。4)尽可能使用单片机的内部程序存储器和内部数据存储器而不使用外部总线连接这些器件。5)协调好电路中不同类型IC的电平匹配。6)数据总线和控制总线间形成板与板连接时,应加总线驱动器。4 系统软件设计系统的主程序由消息循

38、环和初始化程序构成,其流程如图5所示。在系统的主程序中,初始化程序的功能是在系统复位后完成单片机各个特殊功能寄存器的设置、各数据区的初始化、外部硬件设备的设置等操作;系统的消息循环则用来实现消息合法性的判断及消息处理功能模块的调用。图5 系统主程序流程图为了能够对消息的合法性进行判断,我们为消息组中的每个消息定义了对应的合法性判断标识位。如果某消息所对应的合法性判断标识位为“1”,则表示该消息是合法的消息,系统应该调用相应的消息处理功能模块对消息进行处理;为“0”则表示该消息是非法的消息,系统应该忽略该消息。为了实现“看门狗”功能,我们还在消息循环中加入了喂狗输出操作。值得注意的是,在系统的串

39、行通信处理模块中,根据接收到的数据进行判断是自动加工,或是手动加工,还是参数设置,分别对消息序列中的标志位进行置位,以保证主程序能够正确实现各处理模块的调用6. 基于单片机的步进电机控制系统设计论文单片机控制技术应用十分广泛,其核心技术是单片机控制系统的设计。介绍了对单片机控制系统的构成、硬件设计、软件设计和系统调试等各环节并进行了讨论,根据工作经验给出了调试方法。 关键词:单片机;系统设计;系统调试 随着材料科学、工艺技术、计算机技术的发展与进步,电路系统向着集成度极高的方向发展。CPU的生产制造技术,也朝着综合性、技术性、实用性发展。如CPU的运算位数从4位、8位 到32位机的发展,运算速

40、度从8 MHz、32 MHz到1.6 GHz。可以说是日新月异的发展着。其中单片机在控制系统中的应用是越来越普遍了。单片机控制系统是以单片机(CPU)为核心部件,扩展一些外部接口和设备,组成单片机工业控制机,主要用于工业过程控制。要进行单片机系统设计首先必须具有一定的硬件基础知识;其次,需要具有一定的软件设计能力,能够根据系统的要求,灵活地设计出所需要的程序;第三,具有综合运用知识的能力。最后,还必须掌握生产过程的工艺性能及被测参数的测量方法,以及被控对象的动、静态特性,有时甚至要求给出被控对象的数学模型。 单片机系统设计主要包括以下几个方面的内容:控制系统总体方案设计,包括系统的要求、控制方

41、案的选择,以及工艺参数的测量范围等;选择各参数检测元件及变送器;建立数学模型及确定控制算法;选择单片机,并决定是自行设计还是购买成套设备;系统硬件设计1,包括接口电路,逻辑电路及操作面板;系统软件设计,包括管理、监控程序以及应用程序的设计,应用系统设计包含有硬件设计与软件设计两部分2;系统的调试与试验。 1 单片机控制系统总体方案的设计 确定单片机控制系统总体方案,是进行系统设计最重要、最关键的一步。总体方案的好坏,直接影响整个控制系统的性能及实施细则。总体方案的设计主要是根据被控对象的任务及工艺要求而确定的。设计方法大致如下:根据系统的要求,首先确定出系统是采用开环系统还是闭环系统,或者是数

42、据处理系统。选择检测元件,在确定总体方案时,必须首先选择好被测参数的测量元件,它是影响控制系统精度的重要因素之一。选择执行机构,执行机构是微型机控制系统的重要组成部件之一。执行机构的选择一方面要与控制算法匹配,另一方面要根据被控对象的实际情况确定。选择输入/输出通道及外围设备。选择时应考虑以下几个问题:被控对象参数的数量;各输入/输出通道是串行操作还是并行操作;各通道数据的传递速率;各通道数据的字长及选择位数;对显示、打印有何要求;画出整个系统原理图。 单片机控制系统中控制算法的选用一般有: (1) 直接数字控制 当被控对象的数学模型能够确定时,可采用直接数字控制。所谓数学模型就是系统动态特性

43、的数学表达式,它表示系统输入输出及其内部状态之间的关系。一般多用实验的方法测出系统的特性曲线,然后再由此曲线确定出其数学模型。现在经常采用的方法是计算机仿真及计算机辅助设计,由计算机确定出系统的数学模型,因而加快了系统模型的建立。当系统模型建立后,即可选定上述某一种算法,设计数字控制器,并求出差分方程。计算机的主要任务就是按此差分方程计算并输出控制量,进而实现控制。 (2) 数字化PID控制 由于被控对象是复杂的,因此并非所有的系统均可求出数学模型,有些即使可以求出来,但由于被控对象环境的影响,许多参数经常变化,因此很难进行直接数字控制。此时最好选用数字化PID(比例积分微分)控制。在PID控制算法中,以位置型和增量型2种PID为基础,根据系统的要求,可对PID控制进行必要的改进。通过各种组合,可以得到更圆满的控制系统,以满足各种不同控制系统的要求。例如串级PID就是人们经常采用的控制方法之一。 所谓串级控制就是第一级数字PID的输出不直接用来控制执行机构,而是作为下一级数字PID的输入值,并与第二级的给定值进行比较,其偏差作为第二级数字PID的控制量。当然,也可以用多级PID嵌套。 2 单片机系统硬件设计 尽管单片机集成度高,内部含有I/O控制线,ROM,RAM和定时/计数器。但在组成单片机系统时,扩展若干接口仍是设计者必不可少的任务。扩展接口有2种方案,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号