数字式直流电机调速控制系统.docx
《数字式直流电机调速控制系统.docx》由会员分享,可在线阅读,更多相关《数字式直流电机调速控制系统.docx(35页珍藏版)》请在冰豆网上搜索。
数字式直流电机调速控制系统
数字式直流电机调速控制系统
摘要
直流调速具有调速范围宽,调速平滑,启动转矩大,启动性能好等优点,因而在工业传动系统中得到广泛的应用,传动直流调速系统的触发器以及调节器都是由模拟电路来实现,具有很多缺点。
微机数字控制系统其控制软件能够进行逻辑判断和复杂运算,可以实现不同于一般线性调节的最优化、自适应、非线性、智能化等控制规律。
所以在各个方面的性能都远远优于模拟控制系统且应用越来越广泛。
本文属于电机控制类的设计。
该设计综合运用了电机学、单片机原理、EDA设计、电力拖动自动控制系统和Matlab仿真技术等课程的知识,设计出数字式直流电动机的调速控制系统原理图,编制了详细的软件流程,并利用Matlab/Simulink作出仿真分析。
本设计对单片机系统常用芯片介绍较为详细,对利用Matlab语言部分模块进行点机控制、电路仿真有一定的研究。
经测试各项性能指标优于模拟直流调速系统,响应速度快,可能实现比较复杂的控制算法,从而能够实际的应用到生产生活中,满足现代化生产的需要。
关键词:
单片机;双闭环;直流电机;数字式;Matlab/Simulink
DigitalDCmotorspeedcontrolsystem
ABSTRACT
TheDCspeedcontrolhasthefollowiingexcellence:
therangeofspeedregulationisverywide;thecharacteristicofspeedregulationissmooth;thetorqueofcommissioningisstrong;highperformanceofcommssioningandsoon.Soit’swidlyusedinindustrialdrivesysterm.ThetriggerandregulatoroftheDCindustrialspeedgoverningsystermareachievedbyimitatecircuit,whichhasmanydisadvangtage.Furthermore,thecontrolsoftwareofdigitalcontrolsystemcancarrythroughlogicaljudgmentandsophisticatedoperation,andithasthecontrollawsofoptimality,adaptivetrait,nonlinearandintelligence,whicharedifferentfromtheordinarylinearadjustability.Inmanyaspectsthefunctionofdigitalcontrolsystemhasexceededanalogcontrolsystemandisbeingusedwidely.
Inthispaper,whichbelongstothemotorcontrolclassdesign.Thedesignoftheintegrateduseofmotorlearning,principle,EDAdesign,automaticcontrolsystemandMatlabsimulationtechnologycourseknowledge,designadigitalDCmotorspeedcontrolsystemschematicdiagram,haspreparedadetailedsoftwareprocess,andtheuseofMatlab/Simulinkmakesimulationanalysis.Thedesignofthesinglechipmicrocomputersystemcommonlyusedamoredetailedintroduction,ontheuseofMatlablanguagemodulepointmachinecontrol,circuitsimulationhascertainresearch.
MypaperisadigitalDCspeedcontrolsystemand89C51single-chipcomputer.Thenintroduceandanalyzethecharacteristicsofsingle-chip,atlast,designthesoftwareofthedigitalDCmotorspeedcontrolsystem,includingthemainprogramandsubprogram.
It’sbetterthantheImitatedDCSpeedControlSystemGoingthroughtestingeveryperformanceparameter.Asaresult,thedigitalDCspeedcontrolsystemcouldbeappliedintoproductionandordinarylifetosatisfytheneedsofmodernmanufacture.
Keywords:
Single-chipcomputer;Doubleclosed-loop;DCspeedcontrolsystem;Digitalmodel;Matlab/Simulink
第1章绪论
近年来,虽然交流变频调速技术快速发展并不断在更广泛的领域得到应用,但实际上在很多场合直流驱动依然拥有大量的用户,包括旧设备的改造以及新设备上的应用;我们所了解的国内各主要直流电动机厂商这几年的出产量也在连续增长。
但是,目前国内直流调速的市场却基本被西门子、欧陆、CT等垄断,尤其是在全数字式的中高端产品领域,国内生产厂家寥寥,近乎是空白。
1.1数字式直流调速控制技术
直流调速具有调速范围宽,调速平滑,启动转矩大,启动性能好等优点,因而在工业传动系统中得到广泛的应用。
传动直流调速系统的触发器以及调节器都是由模拟电路来实现,其缺点是:
(1)触法精度易受电网电压波动的影响。
(2)触发脉冲不对称度较大。
(3)调节器中的运算放大器会因为电网电压和温度变化引起漂移儿产生运算误差。
(4)模拟器件的老化也会引起运算误差,甚至使已经整定到得系统性能变差。
20世纪80年代以来,随着计算机技术以及通讯技术的发展,出现了数字式直流调速系统,使直流调速技术的发展出现了新的生机。
最早的研究限于用数字调节器代替模拟调节器,即用微机执行数字PID运算程序代替模拟转速调节器和电流调节器,转速给定和转速反馈以及电流反馈经A/D转化器变成数字量作为可控整流装置的触发控制电压。
这种方式克服了电网电压波动对触法精度的影响,在一定程度上减小了因为器件老化,电网电压和温度变化引起的运算误差,但不能充分发挥计算机处理信息的能力,缺乏实用性。
后来在上述基础上增添了数字触发器,主要是利用微机的定时功能,通过接口产生移相脉冲,经功放后触发三相全控桥。
这样便形成了数字化的直流调速装置,也就是所谓的数字式直流调速装置。
1.2设计的意义
目前在不少机械制造企业中使用的B2151,B2152等大型龙门刨床,其所使用的KTS300/200A直流无级调速控制柜属于可控制逻辑控制无环流可逆直流调速控制系统。
这种传统的控制直流调速系统控制回路的硬件设备及其复杂,故障率高,维修费用较高,该控制技术显得过时。
对已经商品化集成化的产品进行微机化全数字式直流控制系统的更行改造,有极其高的经济价值和应用前景。
现在全球进入数字化时代,先进的制造技术是改造传统制造企业的有效手段,纵观国内外先进制造技术的现状和发展,可以看到数字化制造技术是先进制造技术的核心技术,是实施其先进技术的平台。
数字化技术是制造业优质低耗,降低成本和快速响应市场的首选技术。
由于电力电子技术,计算机技术和通讯技术的快速发展,使得直流调速系统数字式方面的研究得到了很多国家的重视。
现阶段较为先进的机床直流调速系统采用微机化数字控制的直流调速控制器。
这类产品成功的用于冷,热连压机以及卷取机张力控制等生产机械,而且由过程控制模块组成,其结构和参数设置非常方便简单,工作稳定,不受环境影响,具有很强的自保护功能,因而使传动系统不仅具有很大的灵活性,还有很高的可靠性。
对被控对象电动机的各种状态可实现快速,宽范围,高分辨率,高精度的检测,为高性能传动系统的实现提供了基本条件。
数字式传动装置控制器内有多种形式的存储器,能存储大量的实时数据,实现系统的保护,故障自诊断,报警显示,波形分析,故障自动复原等多种原先难以实现的功能。
数字控制器具有很强的通信组网功能,不仅可以与上位机通信,在数字式直流传动装置之间,PLC之间和数字式交流传动装置之间都可以进行快速交换数据,实现生产过程的全局自动化。
数字控制不仅简化了系统的硬件结构,使维修方便,故障率下降,提高系统运行的可靠性,很方便的对外部或内部信息实现数字滤波,提高系统的抗干扰能力。
本设计引入微机系统为调速系统的监控,管理和数据处理的设备,具有非常友好的人机界面,控制灵活方便,系统的硬件结构简单,计算机浮点运算性能好,响应速度快,可以实现比较复杂的控制算法,以满足不同的控制要求。
1.3本文主要工作
设计一个基于单片机控制的数字式直流电动机软件控制系统。
基本要求:
本系统在调速过程中需要采集电机的转速,工作电压,工作电流以及电网电压四路模拟信号;每隔10ms循环采样一次,采样满5次后进行中值滤波,同时将采集的四路模拟信号经A/D转换后,显示各参数的实际值。
四个参数的测量范围、报警上下限要求如下:
(1)转速:
0~2000r/min,700~1800r/min,超限1#发光二极管亮,反之,灭。
(2)工作电压:
0~250V,200~240V,超限2#发光二极管亮,反之,灭。
(3)工作电流:
0~200A,20~170A,超限3#发光二极管亮,反之,灭。
(4)电网电压:
0~500V,330~430V,超限4#发光二极管亮,反之,灭。
(5)通过软件设计实现不同按键下的不同显示要求以及对电机的控制。
本文分为四章,各章工作如下:
第1章绪论。
第2章单片机概述。
第3章系统软件设计
第4章仿真分析
第2章硬件电路结构
根据毕业设计任务要求,提出如图3-1所示的硬件电路组成框图:
图31总体硬件电路组成框图
设计采用以89C51为核心的基于单片机控制的数字直流电动机调速控制系统,其中各单元模块的硬件组成说明如下:
单片机采用89C51,8位CPU,4KB的ROM程序存储器,128字节的RAM数据存储器,2个16位的定时/计数器,1个双工的异步串行口,5个中断源,两级中断优先级的中断控制器。
数据采集电路构成:
本系统采用8155芯片,以其A口、B口连接ADC0809芯片,由B口提供ADC0809各采样通道的地址选通号以及启动信号。
由A口连接ADC0809芯片的DB0~DB7,以读取A/D转换结果。
8155芯片是通用I/O接口芯片,与MCS-51单片机的接口简单,ADC0809是一种8位模拟量输入、8位逐次逼近式A/D,适用于多路数据采集。
显示电路构成:
显示模块采用的扩展8255A芯片引脚结构,通过A口、B口、C口作为输出口和6个74LS48译码/驱动器,连接6个LED8段数码管构成显示电路。
报警模块构成:
以8155的C口的低4位(PC0~PC3)控制4个报警灯,已实现各参数的超限报警,包括电动机转速过高、过低;电机的工作电压过高或者过低;电机的工作电流过高或者过低;电网电压过高或者过低。
键盘控制电路构成:
系统以74LS244芯片配合4×4行列式键盘,实现键盘扫描。
在本设计中,单片机系统使用简单的键盘来完成输入操作的人机接口。
行列式键盘与89C52单片机的接口电路中,键盘的输入信息的主要过程如下:
CPU判断是否有键按下。
确定按下的是哪个键。
把该键的信息翻译成计算机能识别的代码,确定键值。
输出执行模块构成:
通过89C51连接数模转换器DAC0832。
根据DAC0832的数据锁存器和DAC寄存器的不同控制方式,DAC0832有3中工作方式:
直通方式,单缓冲方式,双缓冲方式,其中双缓冲方式适用于多路DAC0832同步输出的情况,所以本设计采用该方式[12]。
第3章系统软件设计
系统软件设计中将完成主程序、时钟初值输入子程序、显示子程序、键扫描子程序KEY、键分析子程序KAYA以及中断服务程序的设计。
3.1单片机软件开发流程
在单片机测量系统中国,软件的重要性与硬件同样重要。
硬件是躯体,软件是灵魂,当系统的硬件电路确定以后,系统的主要功能还是要依靠软件来实现。
而且软的设计很大程度上就决定了产品的性能。
为了满足系统的要求,编制软件的时候一般要符合以下基本要求:
(1)易于理解,易于维护。
要达到易理解、易维护等指标,在软件的设计中,结构化设计是最好的一种设计方法。
这种设计方法是由整体到局部,再由局部到细节,先考虑整个系统所要实现的功能,确定整体目标,然后把整个目标分成一个一个的任务,任务中可以分成若干个子任务,这样逐层细分,逐个实现。
(2)实时性。
实时性是电子测量系统的普通要求,既要求系统即时响应外部事件的发生,并且及时给出处理结果。
近年来,由于硬件的集成度与速度的不断提高,配合相应的软件,实时性比较容易满足设计要求。
(3)准确性。
准确性对整个系统具有很重要的意义,尤其是测量系统,系统要进行一定的运算,算法的正确性和准确性对结果有着直接的影响,因此算法的选择、计算的精确度等方面都要符合设计的要求。
(4)可靠性。
可靠性是系统软件最重要的指标之一,作为工业产品,抗干扰技术的应用是必不可少的,最起码的要求是在软件受到干扰出现异常时,系统还能够正常工作[13]。
软件的设计和调试过程如图4.1所示:
图41单片机软件设计调试流程图
软件设计和调试可以分为下面几个步骤:
第一步,建立用户源程序。
用户通过开发系统的键盘、CRT显示器以及开发系统的编辑软件,按照所要求的格式、语法规定,把源程序输入到开发系统中,并保存在磁盘上。
第二步,在开发系统机上,利用汇编软件对第一步输入的用户源程序进行汇编,变为可执行的目标代码。
第三步,动态在线调试。
也就是对用户源程序进行调试。
第一、二步是一个纯粹的软件运行过程,这一步要求在线仿真器的配合,才能对用户源程序进行调试。
第四步,将调试完毕的用户程序通过EPROM编程器,固化在EPROM中。
3.2主程序设计
主程序包括如下3个环节:
(1)实现各种初始化,包括设置堆栈指针、DAC0832芯片零输入、8255A芯片初始化、定时/计数器0初始化、时钟初始化输入,以及开中断、定时/计数器启动等。
(2)实现显示。
(3)不断地进行键扫描,判断是否有键按下。
无,返回现实;有,根据按键实现相应的人机对话。
表41系统设计内存分配表
地址
功能
地址
功能
30H~4FH
堆栈
78H~7AH
显示缓冲区
50H~63H
置采样值
7BH
键号记忆区
64H~67H
置滤波结果
7CH
采样值缓冲区
68H~6FH
置转换结果
7DH
报警信息存储单元
70H~76H
时钟缓冲区
7FH
输出控制值存储单元
77H
NC
7FH
给定值存储单元
主程序流程图:
图42主程序流程图
主程序主要包括以下3个主要的子程序,分析如下:
时钟初值输入子程序:
该子程序的功能是要求通过6次按键,输入系统开机运行的时间。
6次按键分别输入时钟的十时、时、十分、分、十秒以及秒值。
该子程序需要包括以下4个功能:
一是通过键扫描和键分析得到每次输入的键号;二是将每次输入的键号送到时钟缓冲区(70H~75H单元)保存;三是将时钟缓冲区的内容送到显示缓冲区;四是调用显示子程序实现显示(每铵一次键显示一次)。
这里,特别要强调的是由于MCD子程序和显示子程序中均需要用到R0寄存器,而且时钟初值输入子程序本身也要用到R0寄存器,故在调用两个子程序前要先将R0的内容送到B寄存器暂时保存,待两个子程序执行完以后,再将B寄存器的内容送到R0寄存器。
程序如下:
ORG0000H
AJMPMAIN;跳至主程序
ORG000BH;TO的中断入口
AJMPITOP
MAIN:
MOVTOMD,#01H;设TO为方式1
MOVSP,#30H;设置堆栈指针
MOV20H,#0AH;装入中断次数
CLRA
MOV70H,A;秒位清零
MOV71H,A;十秒位清零
MOV72H,A;分位清零
MOV73H,A;十分位清零
MOV74H,A;时位清零
MOV75H,A;十时位清零
SETBET0
SETBEA
MOVTH0,#3CH
MOVTL0,#0B0H
SETBTR0
HERE:
SJMPHERE
ITOP:
PUSHPSW
PUSHA
MOVTH0,#3CH
MOVTL0,#0B0H
DJNZ20H,RETURN
MOV20H,#0AH
MOVA,#01H
ADDA,#75H
DAA
MOV75H,A
CJNZA,#10,RETURN
MOV75H,#00H
MOVA,#01H
ADDA,74H
DAA
MOV74H,A
CJNZA,#06,RETURN
MOV74H,#00H
MOVA,#01H
ADDA,73H
DAA
MOV73H,A
CJNZA,#10,RETURN
MOV73H,#00H
MOVA,#01H
ADDA,72H
DAA
MOV72H;,A
CJNZA,#06,RETURN
MOV72H,#00H
MOVA,#01H
ADDA,71H
DAA
MOV71H,A
CJNZA,#10,RETURN
MOV71H,#00H
MOVA,#01H
ADDA,70H
DAA
MOV70H,A
CJNZA,#06,RETURN
MOV70H,#00H
LJMPKEY
RETURN:
POPA
POPPSW
RETI
END
显示子程序MCD
根据系统扩展图可知,要使6位LED数码管显示相应的数据,只有将显示缓冲区78H~7AH单元的6个压缩的BCD码通过8255A的A口、B口、C口分别输出即可,故该子程序的后半部分即可实现这种功能[17]。
由于系统只能感应有一组6个LED数码管实现显示,所以,显示的内容是由键盘控制的。
所以该子程序开始,先判断暂存在7BH单元的内容然后决定显示内容。
若为0#号键,则调用MCD子程序,将时钟缓冲区的内容送到显示缓冲区,后跳至DIS2实现实在显示。
若为0#~4#键,则显示相应的数据。
6位LED数码管,其中第一位显示数据代码(1~4),第2、3位熄灭,第4~6位显示各号所代表的数据。
如1□□996,代表显示1#数据,即电动机的转速为996r/min。
根据内存分配表可知,四个数据的转换结果存放在首地址68H,1#数据在68H69H单元,2#数据存放在6AH6BH单元,以此类推。
每个数据占两个字节。
高位字节是非压缩的BCD码,存放百位数字,低位字节为压缩的BCD码,存放数据的十位和个位。
为了实现上述格式的显示,查手册可知,对于74LS48,若需要使得LED数码管熄灭,只要输入段码0FFH即可。
所以设计流程为:
首先将键号乘2,再加66H,得到各个数据的存放单元的首地址,将该首地址暂存在R1。
然后见7BH单元的内容送到累加器A,用SWAPA指令处理后变为10H,再与0FH相减,则又变为1FH,送到78H单元。
然后,又将F0H和该号首地址的内容相加,得到F*H,送79H单元,。
最后,将该号数据的低位字节内容送到7AH单元,后再执行DIS2以后的各条指令,即可按预定的要求实现显示。
显示子程序增加了第一部分的内容后,也为数据的动态刷新创造了条件,当每次执行显示子程序时,均能将数据转换结果及时予以显示。
程序如下:
MOVA,7BH
CJNEA,#06,
MCD:
CLRA
MOV78H,A
MOV79H,A
MOV7AH,A
MOVR0,#16
LOOP:
CLRC
MOVA,70H
RLCA
MOV70H,A
MOVA,71H
RLCA
MOV71H,A
MOVA,7AH
ADDCA,7AH
DAA
MOV7AH,A
MOVA,79H
ADDCA,79H
DAA
MOV79H,A
MOVA,78H
ADDCA,78H
DAA
MOV78H,A
DJNZR0,LOOP
RET
键扫描子程序KEY和键分析子程序KAYA
主程序的第三部分是通过判断是否有键按下实现相应的人机对话功能。
主要是由两个关键的子程序构成:
键扫描子程序KEY和键分析子程序KAYA。
KEY子程序的功能是判断是否有键按下。
设计思想是:
先通过与键盘相连的74LS244芯片,并使矩阵式键盘4根行线均为低电平,后读入列线信号,如有键按下,则4根列线中至少与一根信号为低电平;如果无键按下,则4根列线读入的信号全为1,后再与F0H相或,A累加器的内容则为FFH,再将A累加器的内容求反,变为00H,即可通过判断A内容是否为0,来确定是否有键按下。
KAYA键分析子程序的功能是确定所按的键号。
设计思想是:
通过逐行扫描依次使矩阵式键盘的各条行线为低电平,后逐次读入个列线信号,判断该行是否有键按下。
具体方法是:
将该列线信号依次右移至C标志,如果C标志内容为0,则表示有键按下。
在程序中每右移一次,键号加1,由此可得到按键的键号。
在进行键扫描的分析后,在主程序的末尾安排了一个查表程序。
该设计中有7个功能键,根据分析所得的键号,通过查表,找到该功能键所对应的程序编制不同的显示程序,但是在上述显示子程序中已经作了处理,不管是显示时钟还是要显示各种数据,都能达到预期的效果,故在相应的跳转地址上均要加一条LJMPLOP1指令即可实现预定的显示。
对于5#、6#功能键,该设计要求具有报警以及撤销报警功能,程序设计思想为:
设置一个标志单元,当该标志单元的内容为00H时,撤销报警,该标志单元的内容为FFH时投入报警。
所以在该程序中,只要报标志单元的内容设置好,而且在中断服务程序中执行报警子程序前先判断标志单元的内容,如果是FFH,则执行报警子程序;如果是00H,则跳过报警子程序即可。
程序如下:
A
KEY:
M