《毕业设计论文基于单片机的物料皮带配料秤控制系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计论文基于单片机的物料皮带配料秤控制系统设计.doc(27页珍藏版)》请在三一办公上搜索。
1、无 锡 职 业 技 术 学 院毕业设计说明书(论 文)第一章 前言 1.1 课题的研究意义及目的在七八十年代随着我国经济的发展与改革开放的需要从冶金、电力、建材等系统,在成套系统进口的同时配套进口了相当数量的各类皮带秤产品。此阶段比较突出的是上海宝钢集团在一期、二期项目引进的设备中配套进口了相当数量的日本大和衡器株式会社(Yamato)生产的非定量/定量皮带秤产品,由于该产品的质量稳定可靠赢得了我国市场的认可。到了上世纪末本世纪初一批原国有企业与大专院校、科研院所由于体制问题从而分离出众多的民营企业,自行开发了各种皮带秤产品。在此阶段的合资企业如北京大和引进了日本大和CFC-100皮带秤仪表技
2、术;上海大和在日方增资控股后全面引进了日本大和非定量/定量皮带秤包括耐压式计量给煤机用传感器、仪表与整机开发技术。总体上说我国目前的非定量皮带秤、定量皮带秤的承重装置的结构形式还没有完全突破上述的几种类型,目前针对不同现场恶劣环境的基础性测试与理论研究还缺乏实用性的突破。由于皮带秤的动态准确度受环境变化影响因素太多,应该客观地说,目前我国皮带秤产品的可靠性应用与研究与国外先进水平相比较还是相当落后的,所以市场发展潜力非常之大。随着半导体技术的发展,单片机的应用越来越广泛。目前利用单片机和微机组成的皮带配料秤单片机控制器已广泛地应用在冶金、化工、建材、饲料加工等诸多行业,皮带配料秤控制系统不仅具
3、有自动化程度高,配料连续性好,操作人员劳动强度低,而且配料精度高,产品质量容易控制,还能实现动态物料的配比,自动和手动相结合,实现自动跟踪误差调整、自动称重、自动混合、自动显示。因此使用皮带配料秤单片机控制器能明显地提高工作效率,增加经济效益,提高管理的现代化水平。1.2 国内外研究现状连续累计自动衡器主要指皮带类的连续累计自动衡器,简称皮带秤。我国最早出现机械式非定量非定量皮带秤是在上世纪五十年代,而真正意义上的电子非定量皮带秤是在六十年代,当时由机械部北京起重运输机械研究所研制生产了第一代电子非定量皮带秤,随后机械部上海工业自动化仪表研究所、太原工学院等单位也相继开发出全电子非定量皮带秤产
4、品。在七八十年代开始,机械部先后组织了从日本大和(Yamato)引进非定量/定量皮带秤整机产品技术;从美国梅里克(Melick)引进非定量/定量皮带秤整机产品技术;从德国申克(Schenck)引进定量皮带秤整机产品技术;从美国拉姆齐(Ramsey)引进非定量/定量皮带秤整机产品技术;电力部组织了从日本大和(Yamato)引进给煤机(定量皮带秤)整机产品技术;从美国史道克(Stock)引进给煤机(定量皮带秤)整机产品技术。作为我国火力发电行业最关键的称重设备之一的耐压式计量给煤机的发展,代表了我国电子皮带秤产品技术已经发展到了一个更高的台阶。为了促进国有企业技术的发展,引进国外先进的称重技术是无
5、可非议的,但必须熟悉掌握专业技术的全面信息,且具有全新的概念和超前的意识,盲目性、重复性的引进是技术上的大忌。在称重测力技术中,我国以国外若干技术起步,甚至在某一阶段以局部市场换取一些技术,一度取得了一些成果,由于外国公司的主观愿望十分明确,为进入中国市场,他们并役有转让真正前沿的新技术,而是将他们即将换代的局部技术实施转让,为其原有产品延长其生命周期,取得意想不到的效益。 1.3 本论文的主要工作及安排本文在介绍一种物料皮带配料秤单片机控制器的结构及工作原理的基础上,着重对该仪器的控制系统的功能实现作了详尽描述,及一种采用8051等芯片设计的智能变送器和系统误差自适应调节的方法。论文的第一部
6、分主要就皮带配料秤的特点、工作原理及结构作了简要描述,突出地介绍了皮带配料秤的用途及功能。论文的第二部分说明了皮带配料秤的结构和原理。包括物料自动称量的原理和实现,芯片介绍。论文的第三部分重点描述了皮带配料秤单片机控制系统的结构工作原理和实现。突出地介绍了一种PC机与单片机的一种远距离串行通信方法。论文的第四部分介绍系统常见的皮带跑偏等问题的处理方法。如果能注意这些问题,那会使皮带配料秤运行更加安全方便。第二章 总体设计方案皮带配料秤控制系统的总体设计思想为:皮带输送机投入运行前,输送皮带上物料流量的设定值由操作人员在键盘上设定。系统投入正常运行后,单片机采样皮带荷重信号(通过ADC0809)
7、和走速信号(T法测速),将皮带走速信号V(t)与皮带单位长度上的瞬时重量P(t)相乘即可计算出皮带上物料的瞬间流量F(t)。瞬间流量可通过6个七段数码管显示出来,为操作人员提供工艺数据参考。8051系统再将流量实际值与其设定值进行比较,经增量PID调节运算后计算出控制量Vi,通过DAC0832转换为电流输出信号(420 mA),而后经放大去控制可控硅的导通角,实现调节滑差电机电磁离合器励磁电流的功能,从而调节执行机构滑差电机的转速,使输送皮带上的物料流量尽可能稳定在设定值附近,并具有良好的静态指标和动态性能。2.1 硬件系统方案选择(1) 单片机8051最小系统的设计。8051芯片是整个皮带秤
8、系统的核心,选择8051芯片是因为它本身自带片内程序存储器,使用起来比较方便,性能也比较稳定。(2) A/D转换接口的扩展。A/D转换部分为称重传感器和放大电路提供激励电压和稳定的电压电源,并提供放大器称重传感器输出的称重模拟信号,同时还要把模拟信号转换成数字信号输出。(3) 显示接口的扩展。系统中主要配有6个七段数码显示管来显示测出的瞬时流量F(t),为操作人员提供工艺数据参考。(4) D/A转换接口的扩展。D/A转换主要是将单片机处理后的数据,经模糊PID算法得出控制输出,再经D/A转换后控制可控硅进行处理。(5) 检测元件的选择。检测元件采用软件方法对流量等参数进行实时监控检测。(6)
9、键盘接口的扩展。 键盘是由若干个按钮组成的开关组,其作用非常之大,在调试过程中用来输入设定值及各种参数。根据本皮带秤的系统需要,采用的是2X8键盘,包括09这10个数字键,6个功能键,因此,键盘在此次系统中发挥着极其重要的作用。2.2 软件系统方案选择软件部分的设计主要是针对键的扫描,对数据进行采集并处理,计算出瞬时流量,再进行PID调节,控制可控硅的导通角,从而控制滑差电机的转速。可分为以下几个模块:(1) 主程序的设计。(2) 键扫描及显示程序。(3) A/D转换程序。(4) D/A转换程序。第三章 控制和测量原理3.1 控制原理输送皮带上物料流量的设定值由操作员在键盘上设定,系统投入运行
10、后,单片机采样皮带荷重信号和走速信号,并计算瞬时流量和输出控制电流(420mA),实现对流量的控制。系统闭环控制回路原理图如图3.1所示。 流量设定值荷重瞬时流量计算滑差电机D/A输出 PID调节+ -F(t)图3.1 系统闭环控制回路原理图在流量测试的基础上,把流量设定值和实际测试得到的瞬时流量进行比较,计算出误差。采用增量PID调节算法,计算输出到DAC0832的Vi(数字量),经DAC0832变换为420 mA的电流信号,经过放大后去控制滑差电机的转速。增量式PID控制算法只需计算增量,当存在计算误差或精度不足时,对控制量计算的影响较小;增量式积分项运算仅与本次偏差有关,不易产生积分饱和
11、,可取得较好的调节效果;在实际系统中,易于实现手动和自动的无扰动切换,故在控制策略的选用中得到了广泛的推广。 其计算公式如下: Vi = P( ei + Iei + D2ei )式中:输出控制量的增量;设定值S与本次实际测得的流量值Fi之差,;上一时刻设定值与实测值之差; 2ei两次误差值的增量;P比例系数;I积分系数;D微分系数。 输出控制变量Vi的表达式为 Vi = Vi-1 + Vi式中:Vi-1上一时刻输出的控制变量3.2 测量原理测量时主要是针对瞬时流量进行测量。当输送皮带以V(t)走带时,皮带上的物料一般为不均匀分布,瞬时流量为 F(t) = P(t) xV(t)式中:P(t) -
12、单位长度上物料的瞬时重量; V(t) -皮带的瞬时线速度。 本系统中P(t)为荷重传感器电压输出信号的函数,因为存在着非线性,故可近似由三次多项式表示为P(t) = ax3(t) + bx2(t) + cx(t) + d 式中:P(t) -单位长度上物料的瞬时重量; x(t) -荷重传感器在时刻t输出的电压信号经A/D转换后的数字量; a、b、c、d-线性转换系数。由调试过程中现场测定,可通过键盘输入。 从上述公式可推导出瞬时流量F(t)为 F(t) = ax3(t) + bx2(t) + cx(t) + d x V(t)瞬时流量由5位十进制显示,显示形式为精确到小数点后3位。 第四章 硬件结
13、构及组成原理4.1 8051最小系统的设计8051片内程序存储器ROM为掩膜型的,在制造芯片时已将应用程序固化进去,使它具有了某种专用功能,其地址空间为64kB。当EA接高电平时,单片机从片内ROM的4kB字节存储器区取指令,当指令地址超过0FFFH后,自动地转向片外ROM取指令。当EA接低电平时,所有的取指操作均对片外程序存储器进行。8051最小系统主要包括时钟电路的复位电路两部分。1) 时钟电路(1) 内部振荡方式:8051单片机片内有一个用于构成振荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端,把放大器与作为反馈元件的晶体振荡器或陶瓷谐振器连接,就构成了
14、内部自激振荡器并产生振荡时钟脉冲。(2) 外部振荡方式:外部振荡方式就是把外部已有的时钟信号引入单片机内。2) 复位电路单片机复位电路包括片内、片外两部分。外部复位电路就是为内部复位电路提供两个机器周期以上的高电平而设计的。8051单片机通常采用上电自动复位和按键手动复位两种方式。单片机运行出错或进入死循环时,可按复位键重新运行。8051芯片外部接线图如图4.1所示。图4.1 8051芯片外部接线图4.2 A/D转换接口扩展在本系统的数据采集过程中,主要有两种需检测的数据,一种是皮带走速信号V(t),另一种是运行中皮带单位长度上的瞬时重量P(t),两者的乘积为此时的瞬时流量F(t),即F(t)
15、P(t)V(t) 单位长度皮带上的瞬时重量(皮带荷重信号)采集方法如下:(1) 由荷重传感器测出瞬时变化的应变情况,并转化为电压信号以010 mv输出。(2) 经过放大器变为标准电压05 V,送入A/D转换器ADC0809输入电路IN0(A/D转换器的0通道)。 (3) 经A/D转换器把模拟量转换为8位数字量送入8051的P0口。 (4) 在8051中进行数据的处理就得到了单位长度上皮带的瞬时重量。 图4.2 重量采集电路原理图ADC0809的工作过程如下:(1) 置P2.7为0,选中ADC0809。(2) 再用输出指令启动A/D转换开始(WR0)。(3) 判断EOC(转换结束标记)是否为1,
16、若为1,则转换结束。(4) 转换结束后,用读信号(RD0)控制三态门(在ADC0809内部),将转换结果读入8051,存入相应数据缓冲区。 4.3 荷重传感器原理本系统选用的荷重传感器属于应变式压力计,其原理是用应变片直接测量弹性元件的应变,实现间接测量压力。这种方法弹性元件变形极小,可以测量高频率变化的压力。应变元件实际是一个测力应变筒,被测压力经膜片转换成相应大小的力,再传给应变筒。应变筒受压缩变形,沿轴向贴的应变片受压阻值变小,沿周向贴的应变片受拉阻值增大,组成应变电桥即可得到输出电压值,从而测出压力值的大小。测量荷重传感器原理采用全桥,其中输出电压VSCVR1/R1。全桥中的R1、R2
17、、R3、R4阻值均相等。R1为应变片测力时变化的阻值,它反映了所测压力的大小与输出电压Vsc的关系(成正比)。本设计使用全桥的目的在于:当R1R2R3R4时,电桥电压灵敏度最高,并消除了非线性误差,也起到了补偿作用。荷重传感器全桥输出原理图如图4.3所示。图4.3 荷重传感器输出全桥电路4.4 皮带走速的测量 皮带走速的测量方法如下:(1) 由测速传感器输出的信号,其频率为皮带走速的线性函数,该频率由光码盘检测回路获得。(2) 该输出信号通过衰减送给比较器整形变成标准脉冲,光电隔离后,输入到74LS74分频,74LS74的Q1输出方波接8051的INT1。(3) 由8051的定时器T1测出方波
18、的周期,T1选用门控方式定时计数,Q1输出高电平时T1计数,Q1输出低电平时T1停止计数,然后读出T1的计数值m。(4) 由公式n60f/pm 计算电机转速,然后查表得转换系数,计算出皮带走速。 4.5 键盘显示接口电路扩展系统配有6位共阴极LED显示器,运行时可实时显示瞬时流量。在调试过程中需输入设定值及各种参数(P、I、D、a、b、c、d转换系数)。根据系统的实际需要,采用28键盘,包括09这10个数字键,6个功能键:写入键WR、设定键S、校零键Z、返回键MON、停机键STOP、运行键RUN。键盘显示器接口电路参见图4.4。图4.4 键盘显示器接口原理图 LED显示器有静态和动态显示两种方
19、法。静态显示要求外部有锁存器,CPU输出待显示数据后,锁存器将数据保存,直至再送新的显示数据为止。这种方法显示可靠,主要缺点是使用元件多,线路复杂,成本较高。在微机控制系统中,若控制系统时间允许,常采用动态扫描显示。此种方法的优点是线路简单,价格便宜。动态扫描显示按数据输出方式又可分为并行和串行两种。并行方式一般使用并行接口,如8255或8155的一个端口(如PA口)输出显示码,另一个端口(如PB口)输出位选码。在对显示器要求不是太高的场合,也常采用串行数据输出方式进行动态扫描,这种方式利用8051内部的串行口和某个并行口(如P1口)组成了控制电路。 本系统需显示的数据较少,故采用串行动态扫描
20、显示。原理图中74LS164是串行输入并行输出移位寄存器,它与8051的串行口按方式0连接。74LS164接受RXD端串行输出的待显示数据。每输出一个字节,8051内部的硬件自动使SCON寄存器的中断标志TI置位,通过对TI的测试,即可确定一个字节是否发送完毕。这种方式在程序设计时与并行动态扫描编程方法类似,但需要加入如下的处理:(1) 对8051的串行口进行初始化编程。 (2) 待显示的数据只要送至串行数据缓冲区,串行口就立刻自动将数据输出。 7407是集电极开路高压输出的六缓冲器/驱动器,其功能是对74LS164输出的段码信号进行放大,驱动LED显示,需通过上拉电阻接高电平。LED的位选由
21、8051的P1.0P1.5发出,经过75452反向驱动器来实现。LED显示器采用共阴极连接,动态显示方式。键扫描处理采取了软件消抖等一系列抗干扰措施。1) 键盘输入电路键盘是由若干个按键组成的开关组,当没有一个键按下时,所有行线输出为1;当某个键按下时,该键所在的行线和列线短接,行线的输出由列线的输入电平决定,74LS164可提供键盘的列扫描信号。 2) 键盘信号的识别本设计采用的是非编码式键盘,采用软件方法判别究竟是哪一个键按下。其过程如下(1) 进行整体扫描,从74LS164输出的列值00H判断P3.4、P3.5是否为0,当为0时表示有键按下。(2) 当有键按下时,由逐列扫描找出这个键所在
22、的行值,此时74LS164逐次输出所对应的列值为01H、02H、04H、08H、10H、20H、40H、80H。(3) 由键值所在的行值和列值即可计算出按键所在的位置。因本系统的键盘只有两行,故行值加列值即得键值。其中,第一行的行值为00H,第二行的行值为08H。 3) 键盘消抖的处理机械按键在闭合时不会马上稳定接通,在断开时也不会一下子断开,而是伴随着一连串的抖动。为保证CPU对按键的一次闭合仅做一次处理,对抖动信号必须进行消抖处理。本系统采用软件消抖,调用子程序实现延时10 ms,待键闭合稳定后再次接受键入的信号,此时抖动已经停止,键盘状态有效。 4) 显示器电路(1) LED显示器工作原
23、理。显示器为七段数码管,需由驱动电路7407(反向器)驱动,并采用共阴极接法。共阴极LED显示器的阴极共地,当某二极管的阳极为高电平时,发光二极管点亮。十进制数对应的段码见表4.1。 表4.1 七段LED显示器段码表(共阴极) 显示字符0123456789.段码3FH06H5BH4FH66H6DH07H7DH7EH6FH80H (2) 显示扫描电路。LED的每一种显示字符对应一个段码,CPU送出这个段码,LED便显示这个段码所对应的字符。在本系统中由移位寄存器74LS164提供需要显示的段码。当我们需要同时显示多个字符时,可逐次把需要的字符显示在规定的位置上。本系统通过P1.0P1.5口向显示
24、器提供位选码,用于控制各个显示器的接地端。在每点亮一个显示器之后,必须稍停一段时间,使之发光稳定,然后轮流点亮其他的显示器。这样巡回扫描速度较快,每秒可重复多次。虽然在同一时刻只有一个显示器在工作,但利用人眼的视觉暂留效应和发光二极管熄灭时的余辉效应,我们看到的都是稳定的多个字符同时显示。这种显示为动态显示,此时,段选码和位选码均由软件控制。 4.6 D/A转换接口扩展在本系统中,执行机构滑差电机的转速可由经DAC0832输出的控制电流来调节,从而实现对皮带上物料的流量控制。(1) 8051与DAC0832的连接。由于DAC0832内部已设有输入数据寄存器,因而可以直接与单片机的数据总线相连,
25、并作为单片机的外部数据存储单元。DAC0832的地址可设为C000H。Vcc和ILE接5 V,8031的WR与DAC0832的WR1相连,Vss与、WR2、XFERD 、 GND相连后接地。本系统0832工作于单缓冲方式,只用输入寄存器锁存数据。8位DA寄存器接成直通方式,即把WR2及XFER都接地。由8051的P2.6选通。D/A转换原理图见图4.5。 图4.5 D/A转换原理图(2) D/A转换。D/A转换过程如下: 数据采集后送入CPU进行处理,计算出瞬时流量,并与设定值作比较,通过PID调节送出控制变量Vi。 CPU对DAC0832进行一次写操作,把一个数字量直接写入数据寄存器,通过D
26、/A转换,输出模拟量。 DAC0832的两个输出端Iout1和Iout2为电流输出形式,为了提高电流输出能力,提供420 mA的控制电流,输出加上一级功率放大。 输出的控制电流经放大后接可控硅控制板,控制可控硅的导通角,从而调节滑差电机的转速,使物料流量稳定在预期的设定值。4.7 报警电路 图4.6 报警电路原理图报警电路由8051的P1.6触发。当系统工作正常时,P1.6输出为1,禁止振荡脉冲在与非门输出,扬声器关闭。当检测到异常情况时,P1.6清零,使扬声器发出报警信号。由于P1口是准双向口,要想将某一位作输出位时,必须先在锁存器中写入“1”。所以应先将P1口置为高电平,使P1.6为1,再
27、经过反向去封闭振荡器。这就是在硬件上加一个反向器的原因。振荡器可选用石英晶体振荡器或多谐振荡器,产生一个音频范围内的振荡波形,再由放大电路放大,驱动扬声器发音。皮带配料秤单片机控制系统硬件图见附录。第五章 软件设计本系统采用模块化程序设计技术编写监控软件。根据系统功能,将软件划分为若干个功能相对独立的模块,为每一个模块设计算法和程序流程,再根据流程图编制程序。每个模块程序调试成功后,最后连接在一起进行总调。为了提高控制精度,采用了浮点数的技术,在程序中调用了大量的实用子程序。皮带配料秤监控软件从功能上可划分为以下几个模块:(1) 系统初始化。(2) 键扫描及显示。(3) 键输入和键命令处理。(
28、4) 运行管理程序,包括信号采集、计算瞬时流量及控制输出三部分。 5.1 系统初始化系统初始化主要任务是在程序开始时,对本系统中所用到的各个地址、串行口和定时器的工作方式进行初始化设定,并对用户地址进行规划。下面以简表的形式,把需要初始化的单元罗列出来,并对存放的数据及初始化状态逐一做出介绍,见表5.1。 表5.1 初始化状态表 工作单元存放数据初始化状态38H, 39H, 3AH(上次实测值与设定值之差)00H, 00H, 00H29H, 2AH, 2BH(两次差值之差)00H, 00H, 00H65H, 66H, 67H(上次输出控制变量)00H, 00H, 00H3BH超限次数00H位地
29、址存放数据初始化状态3EH判S键是否按下的标志0(未按)3DH判断是否首次按键的标志0(首次)3FH判电机是否在中速运行标志1(中速)35H系数P输入标志位0(未送过)36H系数a输入标志位0(未送过)37H系数c输入标志位0(未送过)P1.6报警标志位1(禁止报警)P1.7设定值输入标志位1(无输入)5.2 键值扫描及显示键扫描时,先整体扫描是否有键按下,如果有,再逐列扫描,确定是哪个键按下。逐列扫描时,先得出按键所在列,然后经扫描得出行值,行值加列值就得到按键的键值。具体过程为:(1) 进行整体扫描,从74LS164输出00H判断P3.4、P3.5是否为0,当为0时表示有键按下。此时P1.
30、7为1,表示流量设定值还未输入,返回键扫描等待输入。(2) 当有键按下时,调用子程序实现延时10 ms,消除键抖动。再次整体扫描,进行第二次判断以消除干扰。 00HSBUF整体扫描P3.4=0?延时10ms,消抖处理 YP3.5=0? Y第一次扫描吗?P1.7=1?FEH A计算键值A SBUF(逐列扫描) Y P3.4=0?A A10判别功能键或数字键下一列输出值送A P3.5=0? C=1?8列扫描完否?N功能键处理显示子程序 N图5.1 键扫描程序流程图(3) 第二次扫描仍为有键按下时,由逐列扫描找出这个键所在的行值,即按键所在的位置。此时74LS164逐次输出值为FEH,FDH,FBH
31、,F7H,EFH,DFH,BFH,7FH(对应的列值分别为01H,02H,04H,08H,10H,20H,40H,80H)。扫描第一列时由74LS164输出FEH(第一列为低电平),分别扫描各行,判断P3.4或P3.5是否为0,当为0时表明第一列有键按下,转去计算键值。当第一列没有键按下时,再继续扫描第二列。逐次扫描各列直到找到为0的行输出为止,由按键所在的行值和列值即可计算出按键所在的位置。因本系统的键盘只有两行,故行值加列值即得键值。其中,第一行的行值为00H(P3.40),第二行的行值为08H(P3.50)。 (4) 当键值大于等于10时,说明按下的是功能键,则通过散转程序转到各自的入口
32、地址,分别实现各自的功能。若键值小于10,则为数字键,调显示子程序显示。键扫描程序流程图见图5.1。本系统设计键盘为28键盘,其分布见表5.2。 表5.2 键盘分布表76543210RUNZSTOPMONSWR985.3 显示子程序显示子程序是按照动态显示的原理完成的,将需要显示的数据以十进制的形式显示在六位数码管上。显示程序的设计思想是将显示缓冲区中的显示数每次顺序向高位移一位,把刚扫描到按键的键值送给最低位。当第一个键按下时,让程序执行一段除最右边LED显示外其余均熄灭的程序,即给其他缓冲区送入一个数,使它查表后得到的段码为00H,则其他数码管不亮,该程序为DISP1。当第二个键按下时,跳
33、过DISP1使显示缓冲区正确移位,即执行DISP2程序。DISP2程序的作用是将每个缓冲区顺序向高位移一次,并把敲入的键送入最低位。 A40H41H42H43H44H45H 图5.2 显示方式示意图 5.4 键输入和键命令处理 (1) 当按下的键值为10时,代表WR键。WR键的功能为输入流量设定值或PID调节及线性公式中的系数(P、I、D、a、b、c、d)。流量设定值是一个两位数,P、I、D、a、b、c、d转速系数是4位数,其格式为前两位是整数位,后两位是小数位。在输入设定值时,应先保证S键(设定键)已按下,此时输入的两位数为设定值的两个单字节BCD码,再将其压缩为一个字节的压缩BCD码,存入
34、内存缓冲区设定值单元以备计算时使用。在输入系数时,应按照P、I、D、a、b、c、d转速系数的顺序依次送入相对应的数。同理,也应将4位数据压缩为两个字节的压缩BCD码备用。WR键处理流程图见图5.3。 开始 压缩40H、41H、42H、43H单元内容,顺序送P、I、D、a、b、c、d及转速系数 S键是否按下? NY压缩40H、41H单元内容送设定值单元清标志位跳回键扫描图5.3 WR键处理流程图(2) 当键值为11时,代表S键。S键是用户设定流量的专用键。按下此键流量设定值先显示出来,如需要改变设定值,则用键盘敲入相应的数字键,随后按下WR键即可。S键处理流程图见图5.4。(3) 当键值为12时
35、,执行退出键MON。按下该键后,6个LED中最右边的显示器显示提示符“P”,其他5个显示器全熄灭。然后返回键扫描程序,这样就可以退出命令状态,执行清标志位功能,等待新命令的输入。 在调试过程中,MON键用得非常频繁,修改参数或输入命令键出错时可按MON键退回到初始状态。 (4) 当键值为13时,执行停机键STOP。STOP键的功能是当系统处于运行状态时,按下该键,使系统停止工作。在本设计中,DAC0832的片选信号是由P2.6端输出并接反向器后引入的,DAC0832的地址为C000H。将00H送DAC 0832,则D/A转换后的模拟量为0,电机就停止转动,起到了STOP键的功能。停机后系统仍要
36、跳回到键扫描程序,为下次投入运行做准备。开始49H(设定值) A取设定值的高4位,放入A的低4位调显示置标志位3DH=0,置标志位3EH=1跳回键扫描图5.4 S键处理流程图 (5) 当键值为15时,执行Z键。Z键是校零键,它是测试输送皮带自重的专用键。按下此键,先启动输送皮带空转运动,然后启动A/D转换器对荷重传感器的输出信号进行转换,取若干次结果的平均值作为皮带的自重,写入相应单元保存。在正式运行中,荷重传感器输出的是毛重信号,计算时应扣除皮带自重。Z键散转处理程序的设计步骤如下: 数据采集。按下Z键后,CPU为DAC0832转换器送入80H的数字量输出,滑差电机以中速运转(3FH1)。随
37、后启动ADC0809,用通道0(ADDA、ADDB、ADDC均接地选通)对荷重信号(此时为皮带自重,不传送任何物料)进行采集。 数字滤波。当A/D转换结束后(EOC1),读取转换结果并存于30H单元,再执行上述过程一遍,将第二次的转换结果并存于31H单元,而后相加求平价值送32H单元。 高速下的数据采集与数字滤波。将CPU的数字量输出升高为E0H送入DAC0832,滑差电机以高速运转(3FH0)。重复中速下的两次采集过程,同样求出平均值。最后将两种速度下得到的两个平均值再次按平均值滤波进行计算,结果送30H单元。这个数据作为皮带的自重值,在以后的运算中每测一次荷重信号,转换为数字量以后,都应减
38、去30H单元的皮带自重才得到真实的物料重量。这样的结果才能参与数字运算,才能满足系统的精度指标。Z键处理流程图见图5.5。开始设3FH=1给DAC0832送数字量80H,滑差电机中速运行启动0832启动0809转换两次了吗? N计算平均值再次计算平均值3FH=0?Y N跳回键扫描数字量改为80H,滑差电机高速运行,令3FH=0 图5.5 Z键处理流程图(6) 当键值为14时,执行运行键RUN,即配料系统在按下RUN键后进入运行状态。在本系统中,首先要判别是否已输入过设定值,若没有输入过,则应跳回键扫描。如果设定值已经输入,则转去执行本系统的核心环节-运行管理程序。 5.5 运行管理程序 5.5
39、.1 采样程序本系统采样周期为2 s,用延时程序实现。因该系统任务单一,CPU只需顺序进行采样、计算、控制输出、显示等任务,各任务之间无时序上的冲突,故不用采用中断处理。采样程序工作过程如下: 启动ADC0809将荷重信号转换为数字量,再减去执行Z键后所得到的皮带自重,将其(皮带单位长度上的瞬时重量P(t)存入固定单元,为后面计算F(t)做准备。 让定时器1选用门控方式计数。将TMOD的最高位GATE置1,这样当TR1为1(开定时器1)时,定时器的起停将由INT1控制:当INT1为高电平时启动计数,为低电平时停止计数。根据定时器中的值可计算INT1引脚上出现的正脉冲宽度。这一正脉冲宽度与我们所
40、检测的走速是相关的,这是T法测速原理计算线速度的典型应用。所谓T法测速,是利用脉冲发生器两个输出脉冲之间的间隔时间来计算转速的一种测速方法。用一个计数器对已知频率的时钟脉冲进行计数,利用时钟频率和计数值可以求出时间,继而算出转速的测量值。在计算时,用公式n60f/pm计算转速。其中f为频率,p为脉冲发生器每秒输出的脉冲数,在本系统中f500 kHz,p600;m为计数器1测出的机器周期数,即门控方式下的正脉冲宽度,将其代入公式即可算出转速。再将转速乘以一个已查好的转速系数,即可求出皮带的线速度。在进行程序设计时,定时器1以方式1(16位计数器模式)工作,则定时器方式选择寄存器TMOD中的M1M
41、001B,T法测速时采用门控方式,GATE1。故TMOD10010000B,即在初始化时TMOD将置为90H。 5.5.2 数制转换程序由于计算过程中出现了三次方,加上PID调节精度要求较高,因而编程软件计算过程中均采用三字节浮点数。本系统数据转换的难点和重点在于调试中各个系数的转换,由于当初敲入P、I、D、a、b、c、d 转换系数时是以两个字节的压缩BCD码存放的,规定第一字节存整数,第二字节存小数,但实际的系数是4位十进制数,所以要转换为三字节浮点数。其转换过程如下: 将双字节压缩BCD码转换为4个单字节BCD码,并扩大100倍,即把两个字节全看作整数。 调用4位十进制整数转换成二进制整数
42、的子程序,将数据转换为二进制形式。 调用双字节整数(二进制数)转换为三字节浮点数的子程序,将数据转换为三字节浮点数形式。 用浮点数除法子程序除以100(同样要化为浮点数),即可得到所需的浮点数。 5.5.3 计算过程本设计的计算主要有两部分:一是计算瞬时流量,二是通过PID调节程序计算输出控制变量Vi。为了提高控制精度,采用三字节浮点数的加、减、乘等算法进行计算。 用公式F(t)ax3(t)bx2(t)cx(t)dV(t)计算瞬时流量F(t),可调用浮点数加法、乘法子程序,计算结果送入显示程序。 用PID调节子程序在流量测试的基础上,把流量设定值和实际测试得到的瞬时流量值进行比较,计算出误差,
43、再用增量式PID调节算法计算出输出控制量Vi,控制滑差电机的速度,从而实现流量控制。 5.5.4 显示程序显示程序用于显示计算出来的瞬时流量F(t),它主要是用一个取整子程序,使瞬时流量F(t)转换成二进制数,并取出16位的整数绝对值和16位的小数部分,调用双字节二进制整数转换成十进制整数的子程序和双字节二进制小数转换为十进制小数的子程序,分别将数据转化为十进制,并将整数部分送给45H、44H单元,小数部分送入42H、41H、40H单元,43H单元送入0AH,即段码80H,用于显示小数点“”。在调用显示子程序时,显示器将以“*.*”的形式显示。 5.5.5 报警处理当超限三次后,就要报警。若报
44、警条件满足,则置P1.6为0。由硬件电路可知,P1.6为0后振荡器脉冲便可输出,从而使扬声器发声。同时计算Vi值去控制滑差电机,使瞬时流量尽可能跟随设定值,保证系统稳定运行。第六章 系统调试系统的调试主要是软件调试和对常见问题的处理。1)在软件设计中已经把分成的若干个功能相对独立的模块进行调试成功后,最后连接在一起进行总调,现在主要是对整个皮带秤单片机控制系统进行一下系统运行即可。2)在调试时皮带运输机的皮带跑偏是最常见的问题故障。为解决这类故障重点要注意安装的尺寸精度与日常的维护保养。跑偏的原因有多种,需根据不同的原因区别处理。(1)调整承载托辊组 皮带机的皮带在整个皮带运输机的中部跑偏时可调整托辊组的位置来调整跑偏;在制造时托辊组的两侧安装孔都加工成长孔,以便进行调整。具体方法是皮带偏向哪一侧,托辊组的哪一侧朝皮带前进方向前移,或另外一侧后移。如图1所示皮带向上方向跑偏则托辊组的下位处应当向左移动,托辊组的上位处向右移动。(2)安装调心托