版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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.,按照上面的公式算出的终点坐标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与ENABLE B
10、并联接到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相绕组的磁极对齐。而0、
13、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输出,经74LS14反相后进
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: MOV P1,
18、#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 QUITL
19、OOP6: 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,#04HMOV 20
20、H,#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,#0B0HMOV 21
21、H,#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,0x0c,
25、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(uchar
26、 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_move)P2=z
27、hengcount;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行都扫描,此时scc
29、ode值为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 通信接口电路MAX232外
33、围需要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。由于开关的机械式设计,触点闭合或断开时伴有机械抖动,会使输出信号波形出现振荡。若将该信号输入到微控制器的计数器中,会造成错误的计数而导致系统控制混乱。开关量的输入干扰是系统设计中客观存在的问题。因此在获得开关信号后,我们必须对开关信号进行处理,使其成为单片机可以识别的数字信号后才能做出相应的反应。系统共提供了12路的开关信
36、号接口,限位开关信号处理如图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位机的发展,运算速度从8 MH
40、z、32 MHz到1.6 GHz。可以说是日新月异的发展着。其中单片机在控制系统中的应用是越来越普遍了。单片机控制系统是以单片机(CPU)为核心部件,扩展一些外部接口和设备,组成单片机工业控制机,主要用于工业过程控制。要进行单片机系统设计首先必须具有一定的硬件基础知识;其次,需要具有一定的软件设计能力,能够根据系统的要求,灵活地设计出所需要的程序;第三,具有综合运用知识的能力。最后,还必须掌握生产过程的工艺性能及被测参数的测量方法,以及被控对象的动、静态特性,有时甚至要求给出被控对象的数学模型。 单片机系统设计主要包括以下几个方面的内容:控制系统总体方案设计,包括系统的要求、控制方案的选择,以
41、及工艺参数的测量范围等;选择各参数检测元件及变送器;建立数学模型及确定控制算法;选择单片机,并决定是自行设计还是购买成套设备;系统硬件设计1,包括接口电路,逻辑电路及操作面板;系统软件设计,包括管理、监控程序以及应用程序的设计,应用系统设计包含有硬件设计与软件设计两部分2;系统的调试与试验。 1 单片机控制系统总体方案的设计 确定单片机控制系统总体方案,是进行系统设计最重要、最关键的一步。总体方案的好坏,直接影响整个控制系统的性能及实施细则。总体方案的设计主要是根据被控对象的任务及工艺要求而确定的。设计方法大致如下:根据系统的要求,首先确定出系统是采用开环系统还是闭环系统,或者是数据处理系统。
42、选择检测元件,在确定总体方案时,必须首先选择好被测参数的测量元件,它是影响控制系统精度的重要因素之一。选择执行机构,执行机构是微型机控制系统的重要组成部件之一。执行机构的选择一方面要与控制算法匹配,另一方面要根据被控对象的实际情况确定。选择输入/输出通道及外围设备。选择时应考虑以下几个问题:被控对象参数的数量;各输入/输出通道是串行操作还是并行操作;各通道数据的传递速率;各通道数据的字长及选择位数;对显示、打印有何要求;画出整个系统原理图。 单片机控制系统中控制算法的选用一般有: (1) 直接数字控制 当被控对象的数学模型能够确定时,可采用直接数字控制。所谓数学模型就是系统动态特性的数学表达式
43、,它表示系统输入输出及其内部状态之间的关系。一般多用实验的方法测出系统的特性曲线,然后再由此曲线确定出其数学模型。现在经常采用的方法是计算机仿真及计算机辅助设计,由计算机确定出系统的数学模型,因而加快了系统模型的建立。当系统模型建立后,即可选定上述某一种算法,设计数字控制器,并求出差分方程。计算机的主要任务就是按此差分方程计算并输出控制量,进而实现控制。 (2) 数字化PID控制 由于被控对象是复杂的,因此并非所有的系统均可求出数学模型,有些即使可以求出来,但由于被控对象环境的影响,许多参数经常变化,因此很难进行直接数字控制。此时最好选用数字化PID(比例积分微分)控制。在PID控制算法中,以
44、位置型和增量型2种PID为基础,根据系统的要求,可对PID控制进行必要的改进。通过各种组合,可以得到更圆满的控制系统,以满足各种不同控制系统的要求。例如串级PID就是人们经常采用的控制方法之一。 所谓串级控制就是第一级数字PID的输出不直接用来控制执行机构,而是作为下一级数字PID的输入值,并与第二级的给定值进行比较,其偏差作为第二级数字PID的控制量。当然,也可以用多级PID嵌套。 2 单片机系统硬件设计 尽管单片机集成度高,内部含有I/O控制线,ROM,RAM和定时/计数器。但在组成单片机系统时,扩展若干接口仍是设计者必不可少的任务。扩展接口有2种方案,一种是购置现成的接口板,另一种是根据
45、系统实际需要,选用适合的芯片进行设计控制系统。就后一种而言,主要包括以下几个方面的内容。 基本系统的构成:一个独立的单片机核心系统,一般由时钟电路、地址锁存器电路、地址译码器、存储器扩展、模拟量输入通道的扩展、模拟量输出通道的扩展、开关量的I/O接口设计、键盘输入和显示电路等组成。 (1)存储器扩展 由于单片机有4种不同的存储器,且程序存储器和数据存储器是分别编址的,所以单片机的存储器容量与同样位数的微型机相比扩大了一倍多。扩展时,首先要注意单片机的种类;另一方面要把程序存储器和数据存储器分开。 (2)模拟量输入通道的扩展 主要有以下2个问题:一个是数据采集通道的结构形式,一般单片机控制系统都
46、是多通道系统。因此选用何种结构形式采集数据,是进行模拟量输入通道设计首先要考虑的问题。多数系统都采用共享A/D和S/H形式。但是当被测参数为几个相关量时,则需选用多路S/H,共享A/D形式。对于那些参数比较多的分布式控制系统,可把模拟量先就地进行A/D转换,然后再送到主机中处理。对于那些被测参数相同(或相似)的多路数据采集系统,为减少投资,可采用模拟量多路转换,共享仪用放大器、S/H和A/D的所谓地电平多路切换形式。另外一个问题是A/D转发器的选择,设计时一定要根据被控对象的实际要求选择A/D转换器,在满足系统要求的前提下,尽量选用位数比较低的A/D转换器。 (3)模拟量输出通道的扩展 模拟量
47、输出通道是单片机控制系统与执行机构(或控制设备)连接的纽带和桥梁。设计时要根据被控对象的通道数及执行机构的类型进行选择。对于那些可直接接受数字量的执行机构,可由单片机直接输出数字量,如步进电机或开关、继电器系统等。对于那些需要接收模拟量的执行机构,则需要用D/A转化,即把数字量变成模拟量后,再带动执行机构。 (4)开关量的I/O接口设计 由于开关量只有2种状态“1”或“0”,所以,每个开关量只需一位二进制数表示即可。因为MCS51系列单片机设有一个专用的布尔处理机,因而对于开关量的处理尤为方便。为了提高系统的抗干扰能力,通常采用光电隔离器把单片机与外部设备隔开。 (5)操作面板 操作面板是人机
48、对话的纽带,它根据具体情况,可大可小。为了便于现场操作人员操作,单片机控制系统设计一个操作面板的要求:操作方便、安全可靠、并具有自保功能,即使是误操作也不会给生产带来恶果。 (6)系统速度匹配 在不影响系统总功率的前提下,时钟频率选得低一些较好,这样可降低系统对其他元器件工作速度的要求,从而降低成本和提高系统的可靠性。但系统频率选的比较高时,要设法使其他元器件与主机匹配。 (7)系统负载匹配 系统中各个器件之间的负载匹配问题,主要表现在以下几个方面。 逻辑电路间的接口及负载:在进行系统设计时,有时需要采用TTL和CMOS混合电路,由于二者要求的电平不一样,因此一定要注意电流及负载的匹配问题。
49、MCS51系列单片及负载:8031的外部扩展功能是很强的,但是8031的P0口和P2口以及控制信号ALE的负载能力都是有限的,P0口能驱动8个LSTTL电路,P2口能驱动4个LSTTL电路。硬件设计时应仔细核对8031的负载,使其不超过总的负载能力的70%。 3 单片机控制系统的软件设计 单片机控制系统的软件设计一般分2类,系统软件和应用软件设计。系统软件的主要任务是:管理整个控制系统的全过程,比如,POWERUP自诊断功能,KEY INPIT 的管理功能,PRINTER OUTPUT报表功能,DISPLAY功能等等。是控制系统的核心程序,也称之为MONITER监控管理程序其作用类似PC机的D
50、OS 系统。软件设计的几个方面如下: (1)可靠性设计为保证系统软件的可靠性,通常设计一个自诊断程序,定时对系统进行诊断。在可靠性要求较高的场合,可以设计看门狗电路,也可以设计软件陷阱,防止程序跑飞。(2)软件设计与硬件设计的统一性在单片机系统设计中,通常一个同样的功能,通过硬件和软件都可以实现,确定那些由硬件完成,那些由软件完成,这就是软件、硬件的折衷问题。一般来说,在系统可能的情况下,尽量采用软件,因为这样可以节省经费。若系统要求实时性比较强,则可采用硬件。 (3)应用软件的特点 实时性:由于工业过程控制系统是实时控制系统,所以对应用软件的执行速度都有一定的要求,即能够在被控对象允许的时间
51、间隔内对系统进行控制、计算和处理。换言之,要求整个应用软件必须在一个采样周期内处理完毕。所以一般都采用汇编语言编写应用软件。但是,对于那些计算工作量比较大的系统,也可以采用高级语言和汇编语言混合使用的办法,即数据采集、判断、及控制输出程序用汇编语言,而对于那些较为复杂的计算可采用高级语言。为了提高系统的实时性,对于那些需要随机间断处理的任务,通常采用中断系统来完成。 通用性:在应用程序设计中,为了节省内存和具有较强的适应能力,通常要求程序有一定的灵活性和通用性。为此,可以采用模块结构,尽量将共用的程序编写成子程序,如算术和逻辑运算程序、A/D、D/A转换程序、延时程序、PID运算程序、数字滤波
52、程序、标度变换程序、报警程序等。 (4)软件开发步骤软件开发大体包括:划分功能模块及安排程序结构;画出各程序模块详细流程图;选择合适的语言编写程序;将各个模块连接成一个完整的程序。 4 单片机控制系统的调试 (1)硬件调试 根据设计的原理电路做好实验样机,便进入硬件调试阶段。调试工作的主要任务是排除样机故障,其中包括设计错误和工艺性故障。 脱机检查:用万能表或逻辑测试笔逐步按照逻辑图检查机中各器件的电源及各引脚的连接是否正确,检查数据总线、地址总线和控制总线是否有短路等故障。有时为保护芯片,先对各管座的电位(或电源)进行检查,确定其无误后再插入芯片检查。 仿真调试:暂时排除目标板的CPU和EP
53、ROM,将样机接上仿真机的40芯仿真插头进行调试,调试各部分接口电路是否满足设计要求。这部分工作是一种经验性很强的工作,一般来说,设计制作的样机不可能一次性完好,总是需要调试的。通常的方法是,先编调试软件,逐一检查调试硬件电路系统设计的准确性。其次是调试MONITOR程序,只有MONITOER程序正常工作才可以进行下面的应用软件调试。 硬件电路调试的一般顺序是: 检查CPU的时钟电路。通过测试ALE信号,如没有ALE信号,则判断是晶体或CPU故障,这称之为“心脏”检查。 检查ABUS/DBUS的分时复用功能的地址锁存是否正常。 检查I/O地址分配器。一般是由部分译码或全译码电路构成,如是部分译
54、码设计,则排除地址重叠故障。 对扩展的RAM、ROM进行检查调试。一般先后写入55H、AAH,再读出比较,以此判断是否正常。因为这样RAM、ROM的各位均写入过0、1代码。 用户级I/O设备调试。如面板、显示、打印、报警等等。 (2)软件调试 软件调试根据开发的设备情况可以有以下方法: 交叉汇编:用IBM PC/XT机对MCS51系列单片机程序进行交叉汇编时,可借助IBM PC/XT机的行编辑和屏幕编辑功能,将源程序按规定的格式输入到PC机,生成MCS51 HEX目标代码和LIST文件。 用汇编语言:现在有些单片STD工业控制机或者开发系统,可直接使用汇编语言,借助CRT进行汇编语言调试。 手工汇编:这种方法是最原始,但又是一种
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 狼获奖课件教学课件
- 统计分析软件模拟试题三及答案
- 飞向太空的航程说课稿
- 队列口令说课稿
- 适合小班课件教学课件
- 怎样评价课件教学课件
- 南京工业大学浦江学院《公益营销》2021-2022学年第一学期期末试卷
- 南京工业大学浦江学院《筹资原理和技巧》2022-2023学年第一学期期末试卷
- 秸秆打捆协议书(2篇)
- 南京工业大学《应用统计学》2023-2024学年第一学期期末试卷
- 竖井井架安装安全技术措施
- 无缝线路铺设与养护维修方法
- 高分子物理教案(Word)
- 豆绿色时尚风送货单excel模板
- 新苏教版五年级上册科学全册教学课件(2022年春整理)
- 小学体育水平一《走与游戏》教学设计
- 秋日私语(完整精确版)克莱德曼(原版)钢琴双手简谱 钢琴谱
- 盐酸安全知识培训
- 万盛关于成立医疗设备公司组建方案(参考模板)
- 科技特派员工作调研报告
- 中波广播发送系统概述
评论
0/150
提交评论