工业控制单片机应用实例课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《工业控制单片机应用实例课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工业 控制 单片机 应用 实例 课件
- 资源描述:
-
1、 第第11 11章章 工业控制单片机应用实例工业控制单片机应用实例11.1 步进电机控制接口技术步进电机控制接口技术11.2 PC机和机和8051实现渗碳过程集散控制系统实现渗碳过程集散控制系统11.1 步进电机控制接口技术步进电机控制接口技术 三相反应式小步矩角步进电机,电机的定子上有六个等分的磁极,相邻两个磁极间的夹角为600。磁极上面装有控制绕组并联成A、B、C三相。转子上均匀分布40个齿,每个齿的齿距为90。定子每段极弧上也有5个齿,定、转子的齿宽和齿距都相同。而每个定子磁极的极距为600,所以每一个极距所占的齿距数不是整数。当A极下的定、转子齿对齐时,B极和C极下的齿就分别和转子齿相
2、错三分之一的转子齿距,即为30。这时若给B相通电,电机中产生沿B极轴线方向的磁场,因磁通要按磁组最小的路径闭合,就使转子受到反应转矩(磁组转矩)的作用而转动,直到转子齿和B极上的齿对齐为止。此时,A极和C极上的齿又分别与转子齿相错三分之一的转子齿距。由此可见,错齿是促使步进电机旋转的根本原因。若断开B相控制绕组,而接通C相控制绕组,这时电机中产生沿C极轴线方向的磁场,同理,在反应转矩(磁组转矩)的作用下,转子按顺时针方向转过30,使定于C极下的齿与转子齿对齐。依次类推,当控制绕组按A-B-C-A的顺序循环通电时,转子就沿顺时针方向以每个脉冲转动30的规律转动起来。若改变通电顺序,即按A-C-B
3、-A顺序循环通电时,转子便按逆时针方向同样以每个脉冲转动30的规律转动,这就是单三拍通电方式。按AB-BC-CA-AB顺序循环通电时,转子同样以每个脉冲转动30的规律转动,这则是为双三拍通电方式。若采用三相单、双六拍通电方式运行,即按A-AB-B-BC-C-CA顺序循环通电,步矩角将减少一半,即每个脉冲转过1.50。步进电机的工作原理步进电机的工作原理步进电机控制系统步进电机控制系统 图11-1 步进电机控制框图图11-2 微机控制微机的主要作用是提供控制步进电机的时序脉冲。微机每输出一个脉冲,经驱动步进电机便沿时序脉冲所确定的方向步进一步。图11-3 单片机控制三相步进电机原理图1脉冲的生成
4、脉冲的生成单片机可以采用程序延时和定时器延时。图11-4 程序延时方式 图11-5 定时器延时方式 脉冲串生成程序流程图 脉冲串生成程序流程图根据图11-4编写程序如下:MOVR3,#N;计数器赋值LOOP0:PUSHACC;保存AMOVP1,#0FH;送高电平ACALLDELAY1;延时MOVP1,#00H;送低电平ACALLDELAY1;延时DJNZR3,LOOP0;R3为零转移POPACC;恢复ARETDELAY1:MOVA,#dataLOOP:DECAJNZLOOPRET 图11-5是利用定时器延时,程序清单如下:MOVR3,#N;计数器赋初值 MOVTMOD,#01;定时器T0方式1
5、 MOVTL0,#XL;赋初值 MOVTH0,#XH SETBTR0;启动T0 SETBP1.0;送高电平LOOP1:JBCTFO,REP;查T0溢出 AJMPLOOP1 REP:MOVTLO,#XL;重赋初值 MOVTH0,#XH CPLP1.0;求反输出 DJNZR3,LOOP1;不为零转移 RET2时序脉冲的形成步进电机的旋转方向决定于内部绕组的通电顺序和通电方式。以常用的三相步进电机为例,通常有三种通电方式:1)三相单三拍A-B-C-A2)三相双三拍AB-BC-CA-AB3)三相六拍A-AB-B-BC-C-CA-A按以上顺序通电,步进电机正转,按相反方向通电,步进电机反转。产生时序脉冲
6、的方法是:1)用单片机的P1.0、P1.1和P1.2分别控制三相步进电机的A、B、C相绕组。2)根据控制方式找出控制模型。3)按控制模型的顺序向步进电机输入控制脉冲。由三相三拍通电方式的二进制可以看出,步进电机每步进一步,高电平就左移或右移一位。因此可以考虑在A累加器中放一个时序字节,在每个采样时刻累加器左移或右移一位,经输出口输出。单片机为8位字长,8不能被3整除。若把进位标志位CY考虑在内,可以看成是第“9”位,就能实现三相单单拍和三相双三拍通电方式。三相单单拍通电方式,在A累加器中放时序字节49H,示意图如图11-6。三相双三拍通电方式,在A累加器中放时序字节BBH(图11-7)cC指令
7、:RRC ACY011011110ABD7 D0(a)正转(b)反转图11-6 三相单三拍示意图CY011011110ABC指令:RLC ACY010010100ABC指令:RLC AC指令:RRC ACY010010100ABD0(a)正转(b)反转图11-7 三相双三拍示意图D7D7 D0D7 D0N设步数计数器0 (C)时序字节(C)(A)P1保护时序字节保存A延 时恢复时序字节KLCA(或RRCA)保护时序字节(A)P1延 时恢复时序字节恢复A返 回步数为0?(a)程序延时方式时序字节(C)设步数计数器0 (C)返 回启动T0赋初值赋初值时序脉冲输出时序脉冲输出RLCA(或RRCA)T
8、0为方式1定时T0有溢出?步数为0?NN(b)定时器延时方式图11-8 三相三拍时序脉冲输出程序流程图图11-8(a)程序清单:MOVR3,#N3 ;步数计数器CLRCPUSHACC;保存AMOVA,#49H ;时序字节送AMOVP1,A;输出时序字节PUSHACC;保存时序字节ACALLDELAY ;延时POPACC;恢复时序字节LOOP:RLCA;循环移位MOVP1,A;输出时序脉冲PUSHACC;保存时序字节ACALLDELAY ;延时POPACC;恢复时序字节DJNZR3,LOOPPOPACC;恢复ARET;返回DELAY:MOVR2,#MDELAY1:MOVA,#M1LOOP1:DE
9、CAJNZLOOP1DJNZR2,DELAY1步进电机控制程序的设计步进电机控制程序的设计 步进电机控制程序的主要任务就是:判断旋转方向,按顺序送出控制脉冲,判断所要送的脉冲是否送完。下面以三相六拍运转方式为例,说明这种程序的设计。设步进电机所要走的步数放在R4中,转向标志存放在程序状态寄存器用户标志位F1(D5H)中,当F1为零时,步进电机正转,当F1为“1”时步进电机反转。正转模型01H、03H、02H、06H、04H、05H存放在8051片内数据存储器20H25H中,26H中存放结束标志00H。在27H开始的存储区内存放反转控制模型01H、05H、04H、06H、02H、03H,在2DH
10、单元内存放结束标志00H。图11-9 程序延时控制流程图NY反转模型地址保护现场正转模型地址设步长计数器输出控制模型延时,增址返 回恢复现场转向标志1?是否数据结束?步数为0?恢复模型首址程序清单如下:PUSHACC;保护现场MOVR4,#N;设步长计数器 CLRCORLC,05H ;转向标志为1转移 JCROTEMOVR0,#20H ;正转模型首址AJMPLOOPROTE:MOVR0,#27H ;反转模型首址LOOP:MOVA,R0MOVP1,A;输出控制脉冲ACALLDELAY;延时INCR0;地址增1MOVA,#00H JZTPL LOOP1:DJNZR4,LOOP;步数不为零转移POP
11、ACC;恢复现场RET;返回TPL:MOVA,R0CLRCSUBBA,#06HMOVR0,AAJMPLOOP1DELAY:MOVR2,#MDELAY1:MOVA,#M1LOOP:DECAJNZLOOPDJNZR2,DELAY1RET下面利用定时器延时,中断方式输出控制脉冲。下面利用定时器延时,中断方式输出控制脉冲。YY置反向地址指针转向标志为1?设步长计数器主程序置正向地址指针T0方式1定时T0赋初值启动T0允许T0中断CPU开中断步长为0?结 束N恢复模型首址恢复现场返 回T0赋初值保护现场步长计数器减1输出控制模型模型地址增1中断服务程序模型结束?图11-10 定时器延时控制程序流程程序清
12、单:;主程序MOVR4,#N ;设步长计数器CLRC ;转向标志为1转ORLC,D5H JCROTE MOVR0,#20H ;正转模型地址AJMPPH ROTE:MOVR0,#27H ;反转模型地址PH:MOVTMOD,#01H ;T0定时方式1 MOV TL0,#XL ;T0赋初值MOVTH0,#XH SETBTR0 ;启动T0SETBET0 ;允许T0中断SETBEA ;CPU开中断LOOP:MOVA,R4 ;等待中断JNZLOOP CLREA ;CPU关中断SJMPHERE ;结束;中断服务程序(由000BH转来)PUSHACC ;保护现场 MOVA,R0 MOVP1,A ;输出控制模型
13、 DEC R4 ;步长减1 INCR0 ;地址增1 MOV A,#00H ORL A,R0 JZTPLTOR:MOVTL0,#XL ;赋初值 MOV TH0,#XH POP ACC ;恢复现场 RETI ;从中断返回TPL:MOV A,R0 CLR C SUBBA,#06H MOV R0,A AJMPTOR 步进电机的变速控制步进电机的变速控制 当步进电机走过的距离比较长时,需要低速启动,高速运转,停止前先降低速度。这样就解决了“快速而不失步”的矛盾。实现变速控制的基本思想就是改变控制频率。L1L3L2步长图11-11 变速控制过程ffc升(降)频过程可以预先确定升(降)频的方式(例如直线方式
14、升(降)频过程可以预先确定升(降)频的方式(例如直线方式或指数方式)和升(降)频的阶梯。或指数方式)和升(降)频的阶梯。设置反转模型地址YN设T0初值地址指针设频率阶梯计数器设阶梯步长计数器设置定时器设置正转模型地址CPU开中断CPU关中断主程序结 束转向标志为0?频率阶梯为0?NYYN赋降步T0初值阶梯步长赋值T0初值地址更新频率阶梯为0?保护现场模型地址增1输出控制模型中断服务程序模型结束?阶梯步长为0?恢复模型首址返 回恢复现场赋升频T0初值是升频?图11-12 变频控制程序流程图 以下以三相六拍运转方式、定时器延时、直线升(降)频为例编写程序。利用定时器延时,在升频段定时器的初值由小变
15、大,在降频段定时器的初值由大变小,恒速段初值不变。作以下约定:1)定时器T0的初值写在EPROM存储区的同一页中,上半页为升频时TO的初值,下半页是降频时T0的初值。2)对8051单片机内部数据存储区的一些单元进行定义,如表11-4表11-7所示。内存字节地址20H21H22H23H24H25H26H控制模型数据01H03H02H06H04H05H00H表11-4 正转模型分配表表11-5 反转模型分配表内存字节地址27H28H29H2AH2BH2CH2DH控制模型数据01H03H04H06H02H03H00H;主程序 MOVDPTR,addr16;T0初值地址指针 MOVR3,1BH;频率阶
16、梯计数器赋值 MOVR2,1AH;阶梯步长计数器赋值 CLRC ORLC,73H JCROTE MOVR0,#20H;正转模型首址 AJMPPHPOTE:MOVR0,#27H;反转模型首址PH:MOVTMOD,#01H;T0方式1定时MOVTL0,#00H;T0附初值MOVTH0,#00HSETBTR0;启动T0SETBET0;允许T0中断SETBEA;CPU开中断LOOP:MOVA,R3JNZLOOPCLREA;CPU关中断SJMPHERE;结束;中断服务程序(由000BH转来)PUSHACC;保护现场MOVA,R0MOVP1,A;输出控制模型INCR0;模型地址增1MOVA,#00HORL
17、A,R0JZTPLRR:DECR2;步长计数器减1MOVA,#00HORLA,R2JZTHLPRL:CLRCORLC,71HJNCROTELMOVA,#00HMOVCA,A+DPTRMOV TLO,AAJMPQQROTEL:MOVA,#80HMOVCA,A+DPTRMOVTL0,AMOVA,#81HMOVCA,A+DPTRMOVTH0,AQQ:POPACC;恢复现场RETI;返回THL:DJNZR3,AT;频率阶梯减1不为0转AJMPQQAT:MOVR2,1AH;阶梯步长赋值INCDPTRINCDPTR;初值指针更新AJMPPRLTPL:CLRCMOVA,R0SUBBA,#06HMOVR0,A
18、AJMPRR 等待中断 NY图11-13 总控程序流程图等待中断 主 程 序设置标志位设T0初值指针阶梯步长赋值阶梯计数器赋值置正转模型地址设置T0定时器R3=0?变速转向为0?置反转模型地址1恒速转向为0?置正转模型地址置反转模型地址步长计数器赋值步长为0?CPU关中断设降速标志装入转向标志装入结束标志NNNYYCPU开中断是结束标志1CPU关中断、结束N中断服务程序保护现场输出控制模型模型地址增1恢复模型首址模型结束?阶梯-1为0?阶梯步长赋值更新T0初值指针赋降速T0初值恒速步长减1T0赋初值是变速?阶梯步长为0?是升速?赋升速T0初值恢复现场图11-14 中断服务程序流程图返 回程序清
19、单如下:;主程序SETB70H;变频标志SETB71H;升频标志SETB75H;执行程序WR:MOVDPTR,addr16;初值指针MOVR3,1BH;阶梯计数器赋值MOVR2,1AH ;阶梯步长计数器赋值CLRCORLC,73H;判升/降速转向JCROTER;为1转TQ:MOVR0,#20H;正转模型首址AJMPPHROTER:MOVR0,#27H PH:MOVTMOD,#01H;T0方式1定时MOVTL0,#00H;赋初值MOVTH0,#00HSETBTR0;启动T0SETBET0;允许TO中断SETBEA;CPU开中断LOOP:MOVA,R3JNZLOOP;等待中断CLRCORLC,75
20、H;判程序结束标志JNCGHCLR70H;恒速运行CLRCORLC,72H;恒速转向为1转JCROTE MOVR0,#20H;正转模型首址AJMPTTROTE:MOVRO,#27H;反转模型首址TT:MOVR2,1CHMOVR3,1DHMOVTLO,1EH;T0赋初值MOVTH0,1FHLOOP1:MOVA,R2ORLA,R3JNZLOOP1;等待中断CLREA;CPU关中断SETB70H;变速 CLR71H;降速MOVC,74H;将降速转向标志装入73HMOV73H,CCLR75H;置程序结束标志AJMPWR GH:CLREA;CPU关中断SJMPHERE;结束;中断服务程序(由000BH单
21、元转来)PUSHACC;保护现场MOVA,R0 MOVP1,A;输出控制模型PP:INCRO;模型地址增1MOVA,#00HORLA,R0 ;是模型结束标志转JZPPLRR:CLRCORLC,70H ;是恒速转INCROTEL1DECR2;步长计数器减1MOVA,#00H ORLA,R2 ;步长为零转 JZTHLBB:CLRC ORLC,71H;是降速转JNCROTEL2TOR:MOV A,#00H;升频时T0赋初值MOVCA,A+DPTRMOVTLO,AMOVA,#01HMOVCA,A+DPTRMOVTH0,AAJMPQQROTEL2:MOVA,#80H;降频时T0赋初值MOVCA,A+DP
22、TRMOVTL0,AMOVA,#81HMOVA,A+DPTRMOVTH0,AQQ:POPACC;恢复现场RETI;返回THL:DJNZR3,AT;阶梯不为零转AJMPQQ;AT:MOVR2,1AH;阶梯步长计数器赋值INCDPTR;修改T0初值指针INCDPTRAJMPBBROTEL1:CLRC;恒速步长计数器减1MOVA,R2SUBBA,#01HMOVR2,AMOVA,R3SUBBA,#00HMOVR3,AMOVTLO,1EH;恒速T0赋初值MOVTH0,1FHAJMPQQPPL:CLRC MOVA,R0SUBBA,#06HMOVR0,A;恢复控制模型首址AJMPRR 两级微机控制的多路步进
23、电机变速控制系统两级微机控制的多路步进电机变速控制系统 图图11-15 多路步进电机变速控制系统原理图多路步进电机变速控制系统原理图 控制模型 在进行多目标实时速度控制时,目标控制信号可采用“等时间间隔”或者“不等时间间隔”输出的方式。假定第I个步进电机在第j个时间间隔Tij时间内,所要求的控制频率为Wij,设8253的时钟频率为f0,于是,在可以得到相应于第I个步进电机的8253在时间间隔Tij应装入的时间常数值Nij的计算公式:其中 Wij=0;i0,1,2,7;j0,1,2,K;K为整个控制过程中的最后时间间隔号。ijjiijijjiijijNFWWWWWfMinN/)65535),/(
展开阅读全文