液体原料自动称重配料系统软件设计.doc
【精品文档】如有侵权,请联系网站删除,仅供学习与交流液体原料自动称重配料系统软件设计.精品文档.液体原料自动称重配料系统(软件设计)摘 要随着微电子技术的应用,市场上使用的传统称重配料系统已经满足不了人们的要求。为了改变传统称重系统在使用上存在的问题,在本设计中将智能化、人性化用在了称重配料的控制系统中。随着科学技术的不断发展,自动称重配料系统已经广泛应用于冶金、煤炭、化工、建材等行业中。自动称重配料系统可以按照设定配比和流量控制各输入物料的瞬时流量,从而达到控制各种产品的质量和产量的目的,是实现生产过程自动化和智能化、企业的科学管理、安全稳定生产和节能降耗的重要技术手段。微机配料控制+系统在生产中的应用不仅可以提高配料质量和产量,也大大减轻了岗位工人的劳动强度,提高了生产效率。本系统主要由单片机来控制,测量物体重量部分由称重传感器及A/D转换器组成,加上显示单元,键盘设定值单元,具有功能多、性能价格比高、功耗低等优点。同时系统集响应速度快、测量准确、自动化程度高等特点于一身。我们设计的称重配料系统以STC89C54单片机为主控芯片,外围附以称重电路、显示电路、报警电路、键盘电路等构成智能称重系统电路板,从而实现自动称重配料系统的各种控制功能。经调试证明设计所完成的自动称重配料可满足实际生产应用需要。关键词:STC89C54,称重传感器,A/D转换器,称重配料系统。An automatic weighing - burden system of liquid raw materials (software design)ABSTRACTWith the application of micro-electronics technology, tradition weighing - burden system used in market has been not satisfied with human requirements already. In order to make up for the traditional weighing system shortcoming, we improve the weighing - burden system with intelligence and automation. Along with the development of science and technology, Automatic batching and weighing system has been widely used in metallurgy, coal, chemicals, building material industry, etc.Automatic batching and weighing system can be set according to the input ratio and flow control of material flow, thereby achieve control of product quality and yield of the objective is to realize the automatic production process, and intelligent, enterprise's scientific management, safe and stable production and energy consumption is the important technical means. Computer control system in the production of ingredients used not only can improve the yield and quality ingredients and greatly reduce the labor intensity, and post to improve production efficiency.This system is mainly controlled by microcontroller, the part of measurement accomplish consist of weighing sensor and A/D transformer. This apparatus have many characteristic such as having more function, consuming less energy, small and moving easily, low price, measuring precisely, rapid speed, high degree of automation and so on.The system we are designed consists of the circuit of measuring weight, the circuit of displaying and alarm. In a word, the automatic weighing - burden system we designed could meet the application requirements .KEYWORDS:STC89C54,weighing sensor,A / D converter,weighing burden system.目 录序 言1第一章 软件设计基础3§1.1 软件开发工具的选择3§1.2 编程语言的选择4§1.3 系统软件控制要求即功能模块划分5第二章 称重配料工艺分析7§2.1 称重配料工艺简介7§2.2 本设计称重配料工艺流程8第三章 系统总体设计10§3.1 系统总体流程图10§3.1.1 8位共阴极数码管显示程序流程图12§3.2系统各模块程序设计12§3.2.1步进电机调速程序设计12§3.2.2 矩阵键盘扫描编程13§3.2.3 8位共阴极数码管显示编程16§3.2.4 A/D转换16§3.2.5 声光报警控制编程17第四章 PID算法19§4.1 PID算法概述19§4.2 PID参数整定20§4.3 PID电机调速控制应用21第五章 程序调试和结果23§5.1程序调试问题及其解决方法23§5.2 设计成果24结 论25参考文献26致 谢27序 言自动配料系统是一个针对各种不同类型的物料(固体或液体)进行输送、配比、加热混合以及成品包装等全生产过程的自动化生产线。广泛应用于化工、塑料、冶金、建材、食品、饲料等行业。在氧化铝生产及其他工业生产中,经常会遇到多种物料配比控制的情况。在手动控制状态下,需要根据生产情况,计算出各种物料的配比,再根据配比,分别计算出各物料的理想下料量,对各套设备分别设定,来满足配比的要求。当生产情况发生变化,需要改变下料量时,则需要再次分别计算个无聊的设设定值,再次分别设定。计算、操作时间长,且容易出错,给生产带来不良因素。传统的配料系统不仅效率低而且配料不准,手工操作又将人为因素引入配料环节,使工艺配方难以在生产中实现,严重影响产品质量的稳定及进一步提高,所以物料自动配送系统研究意义重大而且具有十分广阔的应用前景。随着城市现代化建设的不断发展,以往那种自行称重配料的方式由于其用人工调整重量。这样,一方面效率十分低下,称量结果精度不高,另一方面,用手工在现场调节增加了工人的劳动强度,而其生产环境十分恶劣,粉尘大。因而必将为自动控制的称重系统所取代,此称重系统中运用稳定可靠、小而廉的单片机,且单片机体积小,重量轻,抗干扰能力强,环境要求不高,价格低廉,可靠性高,灵活性好,开发较容易。随着计算机及微电子技术的发展,自动配料控制系统经历了人工手动控制、机械电气控制、单片机控制、工控机集中控制等发展阶段 。但在总体上,我国在配料控制系统上存在技术落后、企业平均规模小、综合生产水平较低等问题。因此,提高配料的自动化程度和产品的质量,设计出高精度的自动配料系统意义重大 近些年来,国内外自动配料系统发展迅速,特别是随着电工电子技术、计算机技术、自动控制技术的迅速发展,电气传 动技术面临着一场历史革命,即采用交流调速取代直流调速和计算机数字控制技术取 代模拟控制技术己成为发展趋势。电机交流变频调速技术是当今节电、改善工艺流程 以提高产品质量和改善环境、推动技术进步的一种主要手段。变频调速以其优异的调 速和起制动性能,高效率、高功率因数和节电效果,广泛的适用范围及其它许多优点而被国内外公认为最有发展前途的调速方式。 第一章 软件设计基础§1.1 软件开发工具的选择一:Keil uVision4介绍2009年2月发布Keil Vision4,Keil Vision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。新版本支持更多最新的ARM芯片,还添加了一些其他新功能。2011年3月ARM公司发布最新发布集成开发环境Rearview MDK开发工具中集成了最新版本的Keil uVision4,其编译器、调试工具实现与ARM器件的最完美匹配。二:Keil uVision4应用最新的Keil Vision4 IDE,旨在提高开发人员的生产力,实现更快,更有效的程序开发。Vision4引入了灵活的窗口管理系统,能够拖放到视图内的任何地方,包括支持多显示器窗口。uVision4在Vision3 IDE的基础上,增加了更多大众化的功能,如下:1.多显示器和灵活的窗口管理系统2.系统浏览器窗口的显示设备外设寄存器信息3.调试还原视图创建并保存多个调试窗口布局4.多项目工作区简化与众多的项目 Keil uVision4由国内 米尔科技 提供销售和技术支持服务,他们是ARM公司合作伙伴,也是国内领先的工控板以及嵌入式解决方案提供商。目前使用Keil uVision4的产品有Keil MDK-ARM,Keil C51和Keil C166。§1.2 编程语言的选择一:C语言C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。C语言是世界上最流行、使用最广泛的高级程序设计语言之一。在操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。C语言绘图能力强,具有可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。常用的编译软件有Microsoft Visual C+,Borland C+,gcc, Borland C+, Borland C+, Westcon C+ 11.0 for DOS,GNUDJGPP C+, Lccwin32 C Compiler 3.1,Microsoft C, High C等。二:汇编语言汇编语言(Assembly Language)是面向机器的程序设计语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址,如此就增强了程序的可读性和编写难度,像这样符号化的程序设计语言就是汇编语言,因此亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,还要由汇编程序或者叫汇编语言编译器转换成机器指令。汇编程序将符号化的操作代码组装成处理器可以识别的机器指令,这个组装的过程称为组合或者汇编。因此,有时候人们也把汇编语言称为组合语言。三:选择C语言1、简洁紧凑、灵活方便C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。2、运算符丰富C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。3、允许直接访问物理地址,对硬件进行操作由于C语言允许直接访问物理地址,可以直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位(bit)、字节和地址进行操作,而这三者是计算机最基本的工作单元,可用来写系统软件。4、生成目标代码质量高,程序执行效率高C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编程序生成的目标代码效率低10%20%。§1.3 系统软件控制要求即功能模块划分设计以单片机核心的液体原料自动称重配料系统的控制程序。利用称重传感器检测原料重量,将其与设定值经行对比,采用合法的算法根据其差值对电机进行调速。编程实现生产过程中的状态显示和超重报警。模块功能划分:步进电机调速控制,键盘扫描程序控制,八位共阴极数码管显示程序模块,电位器模拟信号A/D模块,PID算法模块,声光报警程序控制。第二章 称重配料工艺分析§2.1 称重配料工艺简介称重配料是一种用于石油、冶金、化工、食品、建材、粮油、饲料、塑料、农业等产品生产过程中的配料方式,主要以重量的方式进行按照配比进行配料,一般这种配料过程叫做称重配料。如某草药生产企业,需配一种用于制备某种草药配方如下:水:800kg ,化学药品A:250kg ,添加剂:50 kg ,其他100kg。分析:这种配方的比例是按照重量来计算的所以需要采用称重配料的方式。这种时候我们推荐采用多种物料(顺序配料)这种方式。而本设计就是研究这种称重配料的自动控制系统,具有很大的实际生产应用价值!称重配料的分类(按工艺要求和原理分):台计量秤只配一种物料,若干个计量秤组成一个多种物理的配料系统。各计量秤配料工作同时进行,配料速度快。按照大料大秤小料小秤的原则灵活配置量程,配料准确本设计采用顺序配料方式:顺序配料若干种物理依次按照预先设定的顺序放入一个计量斗内进行配料。配料秤斗由一台配料控制器完成。制作成本低结构紧凑。生产过程中原料配比的主要环节在称重部分,过去上、下料全靠人工凭经验手动操作,称重用机械式来完成,系统极易出故障,而且配料精度低。用计算机和称重仪表相结合实现了配料自动化,提高配料精度自动称重配料系统是一种集输送、计量、配料于一体的在线测量动态自动衡器。该系统不仅能够显示瞬时流量和累计量,还可以根据实际液料的重量与设定值的偏差去调整电机带动水泵的转速使物料重量更加接近设定值,构成一个闭环控制系统,达到称重配料的目的。§2.2 本设计称重配料工艺流程该设计要求以单片机为核心的液体原料自动称重配料系统的控制程序利用称重传感器检测原料重量,将其与设定值经行比较,采用合适算法根据其差值对进料电机进行调速,并根据设定值对工艺对不同组分按顺序进行配料。编程实现生产过程状态显示和超限报警。首先根据配制比例设定该液体原料的加量值,由单片机控制顺序执行各种物料的加料。单片机发出信号启动电磁振动机进行上料,根据称重仪表检测物料的加入量,当达到设定值时,通知单片机关闭上料机,延迟一段时间后,启动下料机和电泵,将液料通过管道送入圆形布料器,完成此物料的加量后进入下一个物料的加料过程。当各种料加完后,完成一次配料过程。称重传感器无机械行程,全封闭式的结构,不与工艺介质接触,不受恶劣环境影响,精度能够长期保持稳定,安装调校方便。称重仪表性能稳定,称量准确,重新标定用标准砝码即可,方便易行。经过实践证明,称重仪表作为检测和控制手段在配料过程中的应用,在配料称重生产中很好解决其手动人工配料过程中存在的精度较低、长期稳定性不好、恶劣环境的影响、生产效率低等弊病,同时又具有安装、调试方便,系统稳定、可靠性高等优点。根据实际情况在设计时利用电位器来模拟重力传感器信号输出,再利用A/D转换读取数据。通过对比预先设定的标准值来决定下一步程序控制电机带动电泵转动的快慢。这就为设计的进行提供了便利和可行性。本论文所设计的自动称重系统是应用于工业上的液体原料自动称重中的,它的实现有两个过程,第一阶段由步进电机带动水泵加速抽水给料,这一阶段可看成为粗调过程,给料重量一定要小于额定重量。第二阶段由步进电机带动水泵抽水减速进料,可看成是细调过程,使实际重量等于要求的额定重量。YYNN图2-1系统工艺流程如图2-1单片机控制顺序加料流程图。首先设定各组分加料值,然后打开加料机进入程序控制加料执行操作,按顺序加料同时对比实际重量与该组分设定重量的差值来控制电机带动水泵的运行速度。当到达额定值后关闭上料机。延迟一段时间打开加料机保证加料的精度。以此类推完成各个组分的加料。第三章 系统总体设计§3.1 系统总体流程图图3-1系统程序流程图本系统为实现对物体重量采集处理传输判断并称重达到智能报警的功能。所以其流程为:因为称重床干起为模拟传感器,传感器输出的为模拟信号,需要对其进行A/D转换位数字信号一边单片机接受。实际处理时等价于电位器的模拟信号经过转换成数字信号为单片机接受。单片机根据称重传感器输出的电信号和速度传感器输出的速度信号计算出物体的重亮,另外由于实际应用中,称重配料系统还有一定量的过载,但不能够超出要求的范围,为此我们还设计了过载提示和声光报警功能。开始P2口送入A千位选通信号DS1=1?NY千位送入20H高4位5位P2口送入A百位选通信号 DS2=1?NY百位送入20H低4位P2口送入A十位选通信号 DS3=1?NY十位送入21H高4位个位送入21H低4位结束Y个位选通信号 DS4=1?P2送入AN图3-2八位共阴极数码管显示程序流程图§3.1.1 8位共阴极数码管显示程序流程图数码管八位显示流程如上图3-2:位锁存选中显示的八位数码管中的一位,然后根据单片机端口输出数据决定该位数码管显示的某一段,该部分有段锁存控制。这样通过段锁存器,位锁存器,和单片机端口数据输出控制了数码管的显示。§3.2系统各模块程序设计§3.2.1步进电机调速程序设计首先定义步进电机所连接的单片机端口。选取单片机P0口中的四位作为步进电机四相接口。定义端口中P0.2-P0.5四位对应步进电机A1D1连接。相关程序如下:sbit A1=P02; /定义步进电机连接端口sbit B1=P03;sbit C1=P04;sbit D1=P05;步进电机转动原理:该步进电机为一四相步进电机,只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。如程序控制单片机端口输出高低电平,以此决定步进电机各相轮流通断电,每次步进电机各相励磁绕组产生错位实现转动一步,为一步距角。相关程序如下:#define Coil_AB1 A1=1;B1=1;C1=0;D1=0;/AB相通电,其他相断电#define Coil_BC1 A1=0;B1=1;C1=1;D1=0;/BC相通电,其他相断电#define Coil_CD1 A1=0;B1=0;C1=1;D1=1;/CD相通电,其他相断电#define Coil_DA1 A1=1;B1=0;C1=0;D1=1;/D相通电,其他相断电#define Coil_A1 A1=1;B1=0;C1=0;D1=0;/A相通电,其他相断电#define Coil_B1 A1=0;B1=1;C1=0;D1=0;/B相通电,其他相断电#define Coil_C1 A1=0;B1=0;C1=1;D1=0;/C相通电,其他相断电#define Coil_D1 A1=0;B1=0;C1=0;D1=1;/D相通电,其他相断电#define Coil_OFF A1=0;B1=0;C1=0;D1=0;/全部断电本段位电机调速部分子程序实例:假如停止标志位为0,顺序执行以下程序,如果为1,不执行以下程序。同时假如正反标志位为1则正向转动。同时在本次设计中正反向标志位恒为1,也就是说电动机恒正向转动。相关程序如下:Void stepmotor(uchar speed,bit dir,bit stop) static uchar step_i = 0; if(stop=0) if(dir) port = setpstep_i<< 2; if(speede > speed) step_i +; if(step_i > 7) step_i = 0; speede = 0;§3.2.2 矩阵键盘扫描编程键盘功能设定4/4键盘S1到S16,其中S7-S6-S5-S1分别键入0-3四个数。也就是说调试时按下S7则对应数码管显示数值0,按下S1对应数码某一位显示3。以此设定S10-S9-S8-S2对应4-7的显示,S13-S12对应8-9的显示。S11是换位键,按一下对应四位数码管中当前闪烁位左移一位闪烁。意味着可以对该闪烁位数码显示数值做出修改。S3是清零控制按键;S16则是执行按键。由此可对矩阵键盘模块进行编程。键盘扫描首先为keyport赋值0xfO,同时判断高4位是否为全1(高4位全1代表没按键按下)按下时为低电平有效。对应于硬件数码管显示就是对应某段数码管点亮。加入延时去抖动,一般为5ms10ms原因是机械触点的弹性作用,按键在闭合时不会马上稳定地接通。如果在闭合瞬间伴随有一连串的抖动,键抖动会引起一次按键被误读多次。以此如果还能检测到有键盘按下去则读取keyport口数据从而得到扫描结果。相关键盘扫描程序如下:uchar keyscan() uchar x =0 ,y =0; uchar keyValue; keyport=0xf0; if(keyport&0xf0)!=0xf0) delay(20); if(keyport&0xf0)!=0xf0) x=keyport&0xf0; keyport=0x0f; y=keyport&0x0f; keyValue=x|y; 图3-3如图键盘扫描程序流程图检测当前是否有键被按下。检测的方法是P1.4-P1.7输出全“0”,读取P1.0-P1.3的状态,若P1.0-P1.3为全“1”,则无键闭合,否则有键闭合。去除键抖动。当检测到有键按下后,延时一段时间再做下一步的检测判断。若有键被按下,应识别出是哪一个键闭合。方法是对键盘的行线进行扫描在每组行输出时读取P1.0-P1.3,若全为“1”,则表示为“0”这一行没有键闭合,否则有键闭合。由此得到闭合键的行值和列值,然后可采用计算法或查表法将闭合键的行值和列值转换成所定义的键值§3.2.3 8位共阴极数码管显示编程分别定义位锁存段锁存对应的端口,单片机P2.0口对应位锁存,决定了数码管某位显示。P2.1口对应段锁存,决定了一位数码管中某段显示。定义的同时也指导硬件接线电路。相关程序如下:sbit LE1=P20; sbit LE2=P21; 位选程序段可以看出:由于是八位共阴数码管,低电平来选通某1位,所以需取反。执行锁存位后断开锁存,位选573的Q7Q0仍保持;接着左移一位,以此换位。在执行程序时,手动按下换位按键依次左移到最高位后返回循环。相关程序如下for( l_i = 0; l_i < 8; l_i +) seg=wei; LE1=1; LE1=0; wei>>=1; §3.2.4 A/D转换A/D转换模块实现模拟信号向数字信号的转变,从而使程序读取最终转变得到的数据结果,这个结果最终被调用到电机调速控制中。首先定义变量,用于存放转换结果。其次启动总线从而选择从器件地址,RW位为0,即选择写命令,通过寄存器设置0通道从而启动I2C总线。选择从器件地址,RW位为1,即选择读命令,从而读取转换结果。相关程序如下:Uchar read_AD(uchar chan) uchar ad_data; start(); send_byte(0x90); send_byte(0x40|chn); start(); send_byte(0x91); ad_data=receive_byte(); stop(); return(ad_data);§3.2.5 声光报警控制编程超限报警电路是由单片机的I/O口来控制的,当称重物体重量超过系统设计所允许的重量时,通过程序使单片机的I/O值为高电平,从而三极管导通,使蜂鸣器SPEAKER发出报警声,同时使报警灯D1发光。定义单片机控制led灯和蜂鸣器的端口分别为P0.0口和P0.1口。在定义时要充分考虑到接线远近的便利以及避免重复定义同一端口的错误。相关程序如下:sbit led = P00;sbit bz = P01;按要求实际值now大于或者等于设定在低四位的值那么应该点亮led灯,同时蜂鸣器响起。这样就led对应单片机端口低电平有效而亮起,而蜂鸣器高电平有效而响起。这里同样定义了,假如低四位设定值为0000时则灯亮,同时蜂鸣器响起,实际意义是设定不加任何物料,假若有一点物料加入则报警。if(zl <= now) /达到设定值 点亮led 蜂鸣器响 led = 0; bz = 1; else bz = 0; led = 1; if(zl = 0) bz = 0; led = 1;第四章 PID算法§4.1 PID算法概述在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制器(亦称PID调节器)是应用最为广泛的一种自动控制器。它具有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单等优点;而且在理论上可以证明,对于过程控制的典型对象“一阶滞后+纯滞后”与“二阶滞后+纯滞后”的控制对象,PID控制器是一种最优控制。PID调节规律是连续系统动态品质校正的一种有效方法,它的参数整定方式简便,结构改变灵活(PI、PD、)。PID(比例积分微分)是一个数学物理术语。PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主 要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。PID控制器参数的工程整定方法,主要有临界比例法、反应 曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需 要在实际运行中进行最后调整与完善。现在一般采用的是临界比例法。利用该方法进行 PID控制器参数的整定步骤如下:(1)首先预选择一个足够短的采样周期让系统工作;(2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡, 记下这时的比例放大系数和临界振荡周期;(3)在一定的控制度下通过公式计算得到PID控制器的参数。PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的 其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象,或 不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、 积分、微分计算出控制量进行控制的。PID(比例-积分-微分)控制器作为最早实用化的控制器已有50多年历史,现在仍是应用最广泛的工业控制器。PID控制器简单易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的控制器。PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。其输入e (t)与输出u (t)的关系中积分的上下限分别是0和t 因此它的传递函数为:G(s)=U(s)/E(s)=kip(1+1/(TI*s)+TD*s)其中kip为比例系数; TI为积分时间常数; TD为微分时间常数。PID 控制器是一个在工业控制应用中常见的反馈回路部件。这个控制器把收集到的数据和一个参考值进行比较,然后把这个差别用于计算新的输入值,这个新的输入值的目的是可以让系统的数据达到或者保持在参考值。§4.2 PID参数整定一:比例系数Kip对系统性能的影响比例系数加大,使系统的动作灵敏,速度加快,稳态误差减小。Kip偏大,振荡次数加多,调节时间加长。Kip太大时,系统会趋于不稳定。Kip太小,又会使系统的动作缓慢。Kip可以选负数,这主要是由执行机构、传感器以控制对象的特性决定的。如果KC的符号选择不当对象状态就会与控制目标的状态越来越远,如果出现这样的情况Kip的符号就一定要取反。二:积分控制Ti对系统性能的影响积分作用使系统的稳定性下降,Ti小(积分作用强)会使系统不稳定,但能消除稳态误差,提高系统的控制精度。三: 微分控制Td对系统性能的影响微分作用可以改善动态特性,Td偏大时,超调量较大,调节时间较短。Td偏小时,超调量也较大,调节时间也较长。只有Td合适,才能使超调量较小,减短调节时间。§4.3 PID电机调速控制应用基本的设计核心是运用PID调节器,从而实现直流电机的在带动负载的情况下也能稳定的运行。运用A/D转换芯片将滑动变阻器的模拟电压转换为数字量作为控制直流电机速度的给定值;用压控振荡器模拟直流电机的运行(电压高-转速高-脉冲多),单片机在单位时间内对脉冲计数作为电机速度的检测值;应用数字PID模型作单片机控制编程,其中P、I、D参数可按键输入并用LED数码显示;单片机PWM调宽输出作为输出值,开关驱动、电子滤波控制模拟电机(压控振荡器)实现对直流电机的PID调压调速功能。基于以上的核心思想,我们把这次设计看成五个环节组成,其具体的原理如下见原理图图4-1 PID调速设计原理图这是一个闭环系统,我们借助单片机来控制,我们现运用AD芯片,运用单片机来控制AD芯片来转换模拟电压到数字电压,AD给定的电压越大,则产生的数字量越大,单片机再控制这个数字量来产生一个PWM,PWM占空比越大,就驱动晶体管导通的时间越长,这样加到转换器的电压也就越大,电压越大,则转换器输出的计数脉冲再单位时间也就越多,这样就相当于电机的电压越大,其转速也就会越快,我们再用单片机对压频转换器的输出脉冲计数,PID调节器就把这个计数脉冲和预先设定的值进行比较,比设定值小,这样就会得到一个偏差,再把这个偏差加到AD的给定电压,这样就相当于加大了PWM的占空比,要是比设定值大,这样也会得到一个偏差,就把这个变差与给定的电压向减,这样就可以减少PWM的占空比,通过改变占空比来改变晶体管的导通时间,就可以改变压频转换器的输入电压,也就改变压频转换器的单位计数脉冲,达到调电动机速度的目的。第五章 程序调试和结果§5.1程序调试问题及其解决方法一:电路杂波影响。很多人烧写时喜欢在开发板上烧写,其实在烧写时,开发板仅仅提供一个最小系统板的作用,但往往开发板上不止最小系统板的电路,这就可能引入一些杂波,而这些杂波到底有多大影响,我也无法说清,但我怀疑还是会影响烧写的成功率。解决方法:二:元件问题。电路原件的质量关系到震荡电路的好坏,而震荡电路上单片机运行的基础。如图的元件建议选用11.0592MHz晶振,电容选用质量较好的独石电容。三:软件问题。软件上可以试试多种波特率。如果是软件有问题,则可以通过一下判断。当你在软件界面上选好文件点击下载后,如果的指示灯没有闪烁,则说明软件有问题,因为单片机的下载过程是这样的,单片机上电后自动检测单片机有没有下载信号,若有,则下载程序,如无,则执行单片机原有的程序。如果下载器上指示灯没有闪烁,说明电脑根本没有发送下载的指令,说明下载软件可能出错,需要重装,或者驱动没有安装好。但也不一定全是软件的出错,大家知道,下载器不像优盘,可以点击安全删除硬件,而下载器只能硬拔,这个过程中可能产生较大电流,而电脑内部接口上都有自恢复的保险丝,因此,这个保险丝比较容易段,你可能需要等待一段时间或者换个接口。四:复位时间过长。现在的最小系统板或开发板为了保证复位电路可靠,往往复位时间较长,我估计正因如此,导致单片机错过了上电后自动检测是否下载那段时间,而致使你无论怎么冷启动都无法下载程序,因此,我还是建议如上图所示接法,不接复位电路,根据我的经验,不接复位电路对下载没有影响。§5.2 设计成果本系统总体实现自动称重调速的功能。但是由于本次毕业设计由于传感器发出的信号不是很稳定,所以称重时误差很大。如果使用精密度较高的传感器,效果会好很多。其次是数据采集处理阶