当前位置:文档之家› 数控机床单片机控制系统设计

数控机床单片机控制系统设计

简易数控机床控制系统设计学号:0601302009 专业:机械电子工程姓名:浦汉军 2007,9,10 南宁任务:设计以单片机为控制核心的简易数控机床的数字程序控制器。

要求1、能用键盘控制工作台沿+X、-X、+Y、-Y向运动,以校正工作台位置。

2、可用于加工直线和圆弧。

3、在运行过程中可人工干预而紧急停车。

4、能实现越界报警。

5、可与PC机通讯。

总体方案设计一、数控系统硬件电路设计选用MCS-51系列的8031CPU作为数控系统的中央处理机。

外接一片EPROM用于存放控制程序、固定批量生产的工件加工程序和数据,再选用一片8kb的6264RAM作为存放试制工件或小批量生产的工件加工程序和数据。

由于系统扩展,为使编程地址统一,采用74LS138译码器完成译码法对扩展芯片进行寻址的功能。

还要考虑机床与单片机之间的光电隔离、功率放大电路。

其设计框图如下图所示:图1.1 总体设计框图工作原理:单片机系统是机床数控系统的核心,通过键盘输入命令,数控装置送来的一系列连续脉冲通过环形分配器、光电耦合器和功率放大器,按一定的顺序分配给步进电动机各相绕组,使各相绕组按照预先规定的控制方式通电或断电,这样控制步进电动机带动工作台按照指令运动。

1.各单元电路设计CE:片选信号,低电平有效,输入 :读信号,低电平有效,输入PGM:编程脉冲输入端,输入Vpp :编程电压(典型值为12.5V) Vcc :电源(+5V) GND :接地(0V)D 011D 112D 213D 315D 416D 517D 618D 719A 010A 19A 28A 37A 46A 55A 64A 73A 825A 924A 1021A 1123A 122G ND14C E20PGM27V cc28V pp1N C26O E 222764:片选信号输入线,低电平有效。

输出允 许编程 逻辑译 码输出缓冲256 256存储矩阵A12 A11 ``` A0OEPGMCED0 ``` D7N C1A 122A 73A 64A 55A 46A 37A 28A 19A 010D 011D 112D 213G ND14D 315D 416D 517D 618D 719C E 120A 1021O E 22A 1123A 924A 825C E 226W E27V cc286264A12 Vcc` WE ` CE2 A0OED0 1CE ``` GND D74)回送缓冲器与键盘去抖控制电路;5)FIFO(先进先出)寄存器和状态电路;6)显示器地址寄存器及显示RAM。

下面对引脚名称作简要说明。

DB0~DB7:双向数据总线,用来传送8279与CPU之间的数据和命令。

CLK:时钟输入线,用以产生内部定时的时钟脉冲。

RESET:复位输入线,8279复位后被置为字符显示左端输入,二键闭锁的触点回弹型式,程序时钟前置分频器被置为31,RESET信号为高电平有效。

CS:片选输入线,低电平有效,单片机在CS为低时可以对8279进行读/写操作。

RL0~RL7:回送线工作过程:每当按下一个键,8279会自动识别键号,产生相应的键编码自动送入先进先出寄存器FIFO中,同时产生中断请求信号IRQ,向CPU请求中断。

当CPU响应中断,执行中断服务程序,并从FIFO中读取编码数据之后,则IRQ信号自动撤消。

如果上一个键的编码数据尚未取走,下一个键盘又被按下,则新的键码进入FIFO 中。

由于FOIO中由8个存储单元组成,故最多可依次暂存8个键码。

只有在读完所有数据时,IRQ信号才会撤消。

在中断程序中,CPU是用片外取数指令(MOVX指令)从FIFO中读取数据。

1.5反应式步进电动机的选择根据所获得的信息和实际要求,选用步进电机为75BF001型三相六拍反应式步进电机,其工作电压为+24V,相电流为3A,步距角为1.5度。

3.2.5.1环行脉冲分配器由于本设计选择三相步进电动机75FB001,相对应选择可以控制三相步进电动机的5G8713集成电路芯片。

表1.2 8713引脚功能P1.0 3 13 A相驱动P1.1 45V 12 B相驱动8051系列87135 11 C相驱动单片机 671.7脉冲分配器与单片机接口1.6保护电路采用光电耦合器接口把控制计算机和外部驱动电路完全隔离开来。

具体的光电耦合器如图1.8。

驱动电路本设计采用的驱动电源是功率开关集成电路TWH8715/2。

这是一个集放大、比较、选通、整形和功率开关于一体的高速功率开关集成电路。

其真值表分别见图1.9及表3.7。

1)TWH8715/2引脚功能[18]1——控制端(高电平有效,TTL 电平,下同) 2——输入端(选通端低电平有效) 3——V-(单电源使用时,接地)4——输出端 5——V+(工作电压:+12V —+24V)由TWH8715/2组成的步进电机驱动电路(只画出了A 相,B 、C 相同)原理见图1.10。

其工作原理为:无信号时,光敏三极管截止,2角电位等于1角电位,为高电平;输出端4角也为高电平,即电枢绕组无电流通过;有信号时,光敏三极管受光照而导通,将2角电位拉低至零电平,输出端4角也将下降至输出管饱和电平(约1.6V),这时电枢绕组中有励磁电流流过。

其中V1起续流作用;随工作脉冲频率的升高,电路中呈现的感抗也随之增大,外接限流电阻R3就可以起到降低阻耗的作用。

表1.3 TWH8715/2输入输出状态真值二、数控系统软件设计2.1加工指令 1)加工指令每一条加工指令应包括那些内容与采用那种插补计算方法有关。

我们采用逐点比较法,则每一条加工指令应包括下列内容:(1)线型:直线或圆弧及它所在的象限、走向。

(2)X 轴坐标:加工直线时,它为直线的X 轴终点坐标(Xe),坐标原点取在直线起点。

加工圆弧时,它为圆弧的X 轴起点坐标值(Xe),坐标原点取圆弧的圆心。

(3)Y 轴坐标值:加工直线时,它为直线的Y 轴终点坐标(Ye),坐标原点取在直线起点。

加工圆弧时,它为圆弧的Y 轴起点,坐标原点取圆弧的圆心。

(4)总步数J : X 、Y 轴走步数之和。

本系统使用的加工指令由连续的4个字节组成(不包括加工速度等参数),各个字节的内容定义如下(规定FF 为加工结束指令,只占一个字节):(a)第1个字节为线型;(b)第2字节为X坐标值;(c)第3字节为Y坐标值;(d)第4为字节为总步数。

2.2编程示例若加工如图所示的扇形工件,其加工程序由下列4条指令组成:Array (1)L1:Xe=5 Ye=2 j=7(2)NR1:Xe=5 Ye=2 j=6(3)L2: Xe=5 Ye=2 j=7加工结束指令0FFH机器编码程序如下:04H 05H 02H 07H0CH 05H 02H 06H06H 02H 05H 07H0FFH2.3控制程序根据总电路图的硬件结构和加工指令格式,以直线圆弧插补计算方法来设计控制程序。

整个控制程序由主程序、T0中断程序和外部/INTO中断程序组成。

4.3.1主程序主程序首先执行系统初始化工作,然后循环扫描键盘,如果键盘上有键入命令则做相应的命令处理,如果键入启动命令,则做好运行前准备工作以及有关指针和标志初始化。

对中断系统初始化,T0向CPU请求中断,使CPU执行部件加工程序,允许外部INTO中断,在人工干预按下急停键时停止加工部件。

接着循环查询加工结束标志,加工结束后又等待键命令或主机命令。

2.3.2 T0中断服务程序T0中断服务程序的功能是执行加工程序,一条指令执行完再取新的加工指令,直到遇到停机时关中断,置位结束标志。

在加工指令执行过程中,根据线型做直线圆弧的插补计算。

T0中断程序框图如下:I NT中断程2.3.3 0序INT中断程序的功能是实现急停、行程开关的功能。

由于只有2个外部中断请求中断接口,而本设计需要多对个外部中断源,所以采用“OC门”经“线或”后,引入芯片本身的外部中断请求输入端,就可以很方便地扩展多个外部中断源。

几个扩展外部中断源中有一个或几个出现高电平,反相INT低电平触发中断,所以这些中断源都是电平触发方式。

本设计中器输出为0,引用0当工作台越界时,行程开关闭合即满足外部中断源请求条件,则CPU响应中断,转入0003H单元开始执行中断源服务程序。

在中断服务程序中,由软件设定的顺序查询外中断哪一位是高电平,然后进入该中断处理程序。

查询的顺序就是外部扩展中断源的中断INT中断源查询程序的流程图如下。

优先级顺序。

本设计的02.3.4 步进电动机的位置控制步进电动机的位置控制需要两个参数。

第一个参数是步进电动机控制的执行机构当前的位置参数,叫绝对位置。

它是有极限的,其极限是执行机构运行位置的距离,超越了这个极限就报警。

第二个参数是从当前位置移动到目标位置的距离,我么可以用折算的方式将这个距离折算成步进电动机的步数。

这个参数是外界通过键盘输入的。

对步进电动机位置控制的一般作法是:步进电动机每走一步,步数减1,如果没有失步存在,当执行机构到达目标位置时,步数正好减到0。

因此,用步数等于0来判断否移动到目标位,作为步进电动机停止运行的信号绝对位置参数可作为人机对话的显示参数。

它与步进电动机的转向有关,当步进电动机正转时,步进电动机煤走一步,绝对位置加1;当步进电动机反转时,绝对位置随每次步进减1。

三、程序TYPE EQU 30H ;线型缓冲单元MM EQU 31H ;偏差缓冲单元XX EQU 32H ;x坐标缓冲单元YY EQU 33H ;y坐标缓冲单元JJ EQU 34H ;步数缓冲单元STATX EQU 35H ;步进电机状态坐标缓冲器STATY EQU 36HFEND EQU 0 ;结束标志FNEW EQU 1 ;取新指令标志FRAM EQU 2 ;执行RAM加工指令标志ORG 0003HAJMP DO_INT0 ;转INTO中断ORG 0000HSTRT: LJMP MAIN ;转主程序LJMP PEX0ORG 0BHPTF0: JNB FNEW,LITP ;定时器T0中断程序CLR FNEWJNB FRAM,EPROM ;FRAM=0,转从RPROM中取指令MOVX A,@ DPTRMOV TYPE,AINC DPTRMOVX A,@ DPTRMOVX XX,AINC DPTRMOVX A,@ DPTRMOVX YY,AINC DPTRMOVX A,@ DPTRMOVX JJ, AINC DPTR ;DPTR指向下条加工指令SJMP COMPEPROM: CLR AMOVC A,@A+DPTR ;从EPROM中取加工指令 MOV TYPE,AINC DPTRCLR AMOVC A,@A+DPTRMOV XX,AINC DPTRCLR AMOVC A,@A+DPTRMOV YY,AINC DPTRCLR AMOVC A,@A+DPTRMOV JJ,AINC DPTRCLR ACOMP: MOV A,TYPECJNE A,#0FFH,PNEW ;非停机指令转新指令处理SETB FEND ;停机、关中断CLR EARET1PNEW: MOV MM,#0 ;新指令令MM=0 LITP: MOV A,TYPEJB ACC.3,MM1 ;ACC.3转圆弧插补LCALL LLMA ;调用直线插补子程序SJMP MM2 ;调用圆弧插补子程序MM1: LCALL RRMAMM2: DJNZ JJ,PTRORSETB FENEW ;步长减为0,置取新指令标志PTROR: TET1MAIN: MOV P1,#0C9H ;步进电机状态初始化MOV STATX,#0 ;步进电机状态缓冲器清零MOV STSTY,#0MOV SP,#0EEH ;SP、T0初始化MOV TMOD,#21HMOV TH0,#3CHMOV TL0,#0B0HMOV SCON,50HMOV TCON,#50HMOV 20H,#0HMLOP: LCALL AKSI ;调用判是否有键闭合子程序 LCALL KEYI ;调用读键子程序JNZ MLP1LCALL STEP1 ;调用+X走步子程序SJMP MLOPMLP1: CJNE A,#1,MLP2LCALL STEP3 ;调用+Y走步子程序SJMP MLOPMLP2: CJNE A,#2,MLP2LCALL STEP2 ;调用-X走步子程序SJMP MLOPMLP3: CJNE A,#3,MLP2LCALL STEP4 ;调用-y走步子程序SJMP MLOPMLP4: CJNE A,#4,MLP5SJMP BRUN ;转启动运行MLP5: CJNE A,#5,MLOPSETB FRAMSJMP MLOPLCLL PSSDATRSJMP MLOPMLPS1: JNB TI,MLOPCLR TISJMP MLOPBRUN: JB FRAM,BRUN1MOV DPTR,#1000H ;EPROM加工程序首地址 DPIR BRUN2: SETB FNEW ;置位取新指令标志MOV MM,#0 ;偏差缓冲器初试清“0”MOV IE,#83H ;允许T0、/INT0中断MOV IP,#1 ;允许/INT0为高级中断JNB FEND,¥;循环等待加工结束CLR FENDLJMP MLOPBRUN1: MOV DPTR,#800H ;外部RAM加工程序首地址 DPTR SJMP BRUN2PEX0: CLT EASETB FENDRET1DO_INT0:JB P1.4,LOOP1 ;转向中断服务程序1JB P1.5,LOOP2 ;转向中断服务程序2JB P1.6,LOOP3 ;转向中断服务程序3JB P1.7,LOOP4 ;转向中断服务程序4INTEND: POP ACC ;恢复现场POP PSWRET1LOOP1: +X越界报警子程序LOOP2: +Y越界报警子程序LOOP3: -X越界报警子程序LOOP4: -Y越界报警子程序系统总电路图。

相关主题