微机控制.docx
《微机控制.docx》由会员分享,可在线阅读,更多相关《微机控制.docx(21页珍藏版)》请在冰豆网上搜索。
![微机控制.docx](https://file1.bdocx.com/fileroot1/2023-6/25/ae9e2554-9c1a-46e7-bd94-978ad308166a/ae9e2554-9c1a-46e7-bd94-978ad308166a1.gif)
微机控制
1总体方案设计
电子秤采用现代传感器技术、电子技术和计算机技术一体化的电子称量装置,才能满足并解决现实生活中提出的“快速、准确、连续、自动”称量要求,同时有效地消除人为误差,使之更符合法制计量管理和工业生产过程控制的应用要求。
数字电子秤一般由以下5部分组成:
传感器、信号放大系统、模数转换系统、显示器、和量程切换系统。
其原理图如图1.1所示。
图1.1数字电子称原理图
电子秤的测量过程实际是通过传感器将被测物体的重量转换成电压信号输出,放大系统把来自传感器的微弱信号放大,放大后的电压信号经过模数转换把模拟信号转换成数字量,数字量通过显示器显示重量。
2控制系统的建模和数字控制器设计
2.1控制器部分
本系统基于51系列单片机来实现,因为系统需要大量的控制液晶显示和键盘。
不宜采用大规模可编程逻辑器件:
CPLD、FPGA来实现。
(因为大规模可编程逻辑器件一般是使用状态机方式来实现,即所解决的问题都是规则的有限状态转换问题。
本系统状态较多,难度较大。
)另外系统没有其它高标准的要求,我们最终选择了AT89S52通用的比较普通单片机来实现系统设计。
内部带有8KB的程序存储器,在外面扩展了32K数据存储器,以满足系统要求。
2.2数据采集部分
2.2.1传感器
题目要求称重范围9.999Kg,重量误差不大于
Kg,考虑到秤台自重、振动和冲击分量,还要避免超重损坏传感器,所以传感器量程必须大于额定称重—
。
我们选择的是L-PSIII型传感器,量程20Kg,精度为
,满量程时误差
0.002Kg。
可以满足本系统的精度要求。
其原理如下图2.1所示:
图2.1原理图
称重传感器主要由弹性体、电阻应变片电缆线等组成,内部线路采用惠更斯电桥,当弹性体承受载荷产生变形时,输出信号电压可由下式给出:
(2-1)
2.2.2前级放大器部分
压力传感器输出的电压信号为毫伏级,所以对运算放大器要求很高。
我们考虑可以采用以下几种方案可以采用:
方案一、利用普通低温漂运算放大器构成多级放大器。
普通低温漂运算放大器构成多级放大器会引入大量噪声。
由于A/D转换器需要很高的精度,所以几毫伏的干扰信号就会直接影响最后的测量精度。
所以,此中方案不宜采用。
方案二、由高精度低漂移运算放大器构成差动放大器。
差动放大器具有高输入阻抗,增益高的特点,可以利用普通运放(如OP07)做成一个差动放大器。
图2.2差动放大器
电阻R1、R2电容C1、C2、C3、C4用于滤除前级的噪声,C1、C2为普通小电容,可以滤除高频干扰,C3、C4为大的电解电容,主要用于滤除低频噪声。
优点:
输入级加入射随放大器,增大了输入阻抗,中间级为差动放大电路,滑动变阻器R6可以调节输出零点,最后一级可以用于微调放大倍数,使输出满足满量程要求。
输出级为反向放大器,所以输出电阻不是很大,比较符合应用要求。
缺点:
此电路要求R3、R4相等,误差将会影响输出精度,难度较大。
实际测量,每一级运放都会引入较大噪声。
对精度影响较大。
方案三:
采用专用仪表放大器,如:
INA126,INA121等。
此类芯片内部采用差动输入,共模抑制比高,差模输入阻抗大,增益高,精度也非常好,且外部接口简单。
以INA126为例,接口如下图所示:
图2.3INA126结构图
放大器增益
,通过改变
的大小来改变放大器的增益。
基于以上分析,我们决定采用制作方便而且精度很好的专用仪表放大器INA126。
2.2.3A/D转换器
由上面对传感器量程和精度的分析可知:
A/D转换器误差应在
以下
12位A/D精度:
10Kg/4096=2.44g
14位A/D精度:
10Kg/16384=0.61g
考虑到其他部分所带来的干扰,12位A/D无法满足系统精度要求。
所以我们需要选择14位或者精度更高的A/D。
方案一、逐次逼近型A/D转换器,如:
ADS7805、ADS7804等。
逐次逼近型A/D转换,一般具有采样/保持功能。
采样频率高,功耗比较低,是理想的高速、高精度、省电型A/D转换器件。
高精度逐次逼近型A/D转换器一般都带有内部基准源和内部时钟,基于89C52构成的系统设计时仅需要外接几个电阻、电容。
但考虑到所转换的信号为一慢变信号,逐次逼近型A/D转换器的快速的优点不能很好的发挥,且根据系统的要求,14位AD足以满足精度要求,太高的精度就反而浪费了系统资源。
所以此方案并不是理想的选择。
方案二、双积分型A/D转换器:
如:
ICL7135、ICL7109等。
双积分型A/D转换器精度高,但速度较慢(如:
ICL7135),具有精确的差分输入,输入阻抗高(大于
),可自动调零,超量程信号,全部输出于TTL电平兼容。
双积分型A/D转换器具有很强的抗干扰能力。
对正负对称的工频干扰信号积分为零,所以对50HZ的工频干扰抑制能力较强,对高于工频干扰(例如噪声电压)已有良好的滤波作用。
只要干扰电压的平均值为零,对输出就不产生影响。
尤其对本系统,缓慢变化的压力信号,很容易受到工频信号的影响。
故而采用双积分型A/D转换器可大大降低对滤波电路的要求。
作为电子秤,系统对AD的转换速度要求并不高,精度上14位的AD足以满足要求。
另外双积分型A/D转换器较强的抗干扰能力,和精确的差分输入,低廉的价格。
综合的分析其优点和缺点,我们最终选择了ICL7135。
3硬件系统设计
3.1传感器
3.1.1应变片的原理
导体或半导体材料在受到外界力(拉力或压力)作用时,将产生机械变形,机械变形会导致其电阻值变化,这种因形变而使其电阻值发生变化的现象称为“应变效应”。
设有一根电阻丝,如图3.1所示,它在未受力时的初始电阻为
式中ρ——电阻丝的电阻率;
l——电阻丝的长度;
S——电阻丝的截面积。
图3.1金属丝伸长后几何尺寸变化
设电阻丝在外力F的作用下被拉伸(或压缩),则其ρ、l、S均发生变化,变化量分别为dρ、dl、dS,电阻值相应变化为dR,由多元函数微分得
dR=∂Rdl+∂RdS+∂Rdρ
∂l∂S∂ρ=ρdl−ρdS+ldρ
用相对变化表示得dR=dl−dS+dρ
实验证明,电阻丝及应变片的电阻相对变化量dRR与材料力学中的轴向应变的关系在很大范围内是线性的,即dR/R=Kε
K—电阻应变片的灵敏度
3.1.2桥式测量电路
电子秤传感器的测量电路通常使用桥式测量电路,它将应变电阻值的变化转换为电压或电流的变化,这就是传感器输出的电信号。
电桥电路有四个电阻,其中任何一个都可以是电阻应变片电阻,电桥的一个对角线接入工作电压U,另一个对角线为输出电压Uo。
其特点是:
当四个桥臂电阻达到相应的关系时,电桥输出为零,或则就有电压输出,可利用灵敏检流计来测量,所以电桥能够精确地测量微小的电阻变化。
测量电路是电子秤设计电路中是一个重要的环节,在制作的过程中应尽量选择好元件,调整好测量的范围的精确度,以避免减小测量数据的误差。
图3.2全桥测量电桥图(其中V0输出为0~2mv)
激励电压:
9VDC~12VDC;灵敏度:
2±0.1mV/V
输入阻抗:
405±10Ω;输出阻抗:
350±3Ω
极限过载范围:
150%;安全过载范围:
120%
使用温度范围:
-20℃~+60℃
3.2三运放大电路
本次课程设计中,需要一个放大电路,我们将采用三运放大电路,主要的元件就是三运放大器。
在许多需要用A/D转换和数字采集系统中,多数情况下,传感器输出的模拟信号都很微弱,必须通过一个模拟放大器对其进行一定倍数的放大,才能满足A/D转换器对输入信号电平的要求,在此情况下,就必须选择一种符合要求的放大器。
图3.3三运放大电路结构图
为使系统产生的误差更小,传统上,设计秤重、测力、转矩及压力测量系统时,输出的数据更精确广泛采用全桥接电阻传感器的方法。
本设计采用全桥测量电路。
大多数桥接传感器都要求较高的激励电压(通常为10V),同时输出较低的满量程差动电压,约为2mV/V。
传感器的输出通常由仪表放大器加以放大。
3.3间接比较型模式转换器A/D
3.3.1双积分ADC简介
间接比较型A/D转换器是先将模拟信号电压变换为相应的某种形式的中间信号,然后再将这个中间信号变换为二进制代码输出。
双积分式ADC就是一种首先将输入的模拟信号变换成与其成正比的时间间隔,然后再在这段时间间隔内对固定频率的时钟脉冲信号进行计数的A/D转换器,所获得的计数值就是正比于输入模拟信号的数字量。
双积分AD电路由积分器、比较器、计数器、参考电压源、电子切换开关、逻辑控制及CP信号几部分组成,原理框图和积分波形如图3.4和3.5所示。
图3.4原理框图
图3.5积分波形图
图3.6所示为双积分AD原理图,图中S0,S1为模拟开关,控制逻辑包括一个n为计数器,附加触发器Fc,模拟开关驱动电路L0,L1及门G1,G2等。
转换开始前,令转换控制信号Vs=0计数器和附加触发器均置0,S0闭合,电容器充分放电,V01=0。
当Vs=1以后,S0断开,A/D转换开始。
分下面两个阶段:
通过2次积分将Vi转换成相应的时间间隔。
转换开始时t=0,S1与Vi接通,
Vi通过R对C充电,积分器输出电压负向线性变化,积分器对Vi在0~t1时间积分。
当t=t1时,
式中,Vi为0~t1时的输入模拟电压的值。
量化编码阶段。
利用计数器对已知的时钟脉冲计数至t2,完成A/D转换。
从t=t1开始,S1与参考电压—VREF接通,通过R对C反向充电,V01逐渐上升,经t2—t1时间间隔,V0=0。
所以
因为VREF和t1为定值,所以T2与Vi成正比,即将Vi变换为与它成正比的时间间隔。
在T2阶段,将CP(周期为Tc)送入计数器计数,
图3.6双积分A/D装换器原理图
则
由此可见,计数器计数所获得的数字量正比于输入模拟电压。
双积分A/D转换器工作波形如图3.7所示。
它具有工作性能稳定的优点,输出数字量与积分器时间常数无关,对干扰(如工频干扰等)有很强的抑制作用,但该电路转换速度低
图3.7双积分A/D装换器工作波形图
3.4CT74LS290计数器介绍
由双积分A/D装换器转换出的数字脉冲进入CT74LS290计数器中进行计数进位计算其工作原理如下
当输入第1~9个脉冲时,百分位片计数;十分位片、个位片、十位片的CP0未出现脉冲下降沿,因而保持计数“0”状态不变;
当输入第10个脉冲时,百分位片返回计数“0”状态,其Q3输出一个下降沿使十位片计数“1”,因此输出读数为Q3Q2Q1Q0Q3Q2Q1Q0=00010000,即计数“0.10”。
当输入第11~19个脉冲时,仍由百分位片计数,而十分位片保持“1”不变,即计数为“11~19”;当输入第20个脉冲时,个位片返回计数“0”状态,其Q3输出一个下降沿使十位片计数“2”,即计数为“0.20”。
以后以次类推。
当输入第101~109个脉冲时,十分位片计数;个位片的CP0未出现脉冲下降沿,因而保持计数“0”状态不变;
当第110个脉冲时,十分位片返回计数“0”状态
输出一个下降沿使个位片计数“1”,因此输出读数为
=000100000000,即计数“1.00”
当输入第111~119个脉冲时,仍由十分位片计数,而个位片保持“1”不变,即计数为“111~119”;当输入第120个脉冲时,十分片返回计数“0”
状态
输出一个下降沿使十位片计数“2”,即计数为“2.00”。
以后以次类推。
由个位向十位进位时步骤和上面一样。
综上所述,该电路构成10000进制四位异步加法计数器。
图3.8计数器工作
原理图
3.5集成二进制七段译码驱动器介绍
输出的信号分别进入集成二进制—七段译码驱动器中,集成二进制—七段译码驱动器的使用端BI/RBO、LT和RB的功能如下所述:
消隐(灭灯):
输入BI在低电平时有效。
当BI为低电平时,不论其余输入状态如何,所有输出无效,数码管七段全暗,无显示。
可用来使显示的数码闪烁,或与某一信号同时显示。
在译码时,BI应接高电平或悬空(TTL)。
灯测试(试灯):
输入LT在低电平时有效。
在BI/RBO为高电平的情况下,只要LT为低电平,无论其输入时什么状态,所有输出全有效,数码管七段全亮。
可用来检验数码管、译码器和有关电路有无故障。
在译码时,LT应接高电平或悬空(TTL)。
脉冲消隐(动态灭灯):
输入RBI高电平或悬空(TTL)时,对译码器无影响。
在BI和LT全为高电平的情况下,当RBI为低电平时,若输入的数码是十进制的零,即0000,则七段全暗,不加以显示;若输入的数码不是十进制的零,则照常显示。
显示数码时,有些零可不显示。
例如,003.80中百位的零可不显示,则十位的零也可不显示。
小数点后第二位的零,如不考虑有效数字的零称为冗余零。
脉冲消隐输入RBI为低电平,就可使冗余零消隐。
脉冲消隐(动态灭灯):
输出RBO和消隐输入BI共用一个管脚,当它用作输出端时,与RBI配合,共同使冗余零消隐。
以3位的十进制的零是否要显示,取决于百位是否为零,有否显示。
这就将要用电路中的RBO进行判断。
在RBI和A3、A2、A1、A0全为低电平时,RBO输出低电平;否则,输出高电平。
百位为零(及百位的A3、A2、A1、A0全为低电平),而且被消隐(及百位的RBI也为低电平),则百位的RBO和十位的RBI全为低(因为二者连在一起),其余数码照常显示。
若百位不是零,或是未使零消隐,则百位的RBO和十位的RBI全为高电平,使十位数的零不具备消隐条件,而好其他数码一起照常显示。
我们在实验中采用的是用74LS48驱动共阴极数码管见图3.9
图3.974LS48驱动共阴极数码管原理图
74ls48引脚功能表—七段译码驱动器功能几设计总图如图3.10所示:
图3.10
74ls48引脚功能表—七段译码驱动器功能几设计总
4软件设计
4.1主程序设计
本设计中的程序由主控制程序、LM4229液晶显示驱动程序、ADC0832采样程序和4*4键盘程序组成。
整个设计中采用由下向上的设计思路。
主程序中主要完成对LCM4229、ADC0832、及键盘扫描程序的调用。
在编写程序的过程中,各变量统一采用全局变量方式命名,同时考虑到电子秤对精度的要求,本设计中的价格及总量相关的变量全部采用浮点数。
主程序流程图如图4.1所示。
图4.1主程序流程图
图4.2LM4229液晶显示驱动程序流程图
4.2LM4229液晶显示驱动程序
LM4229液晶能够显示比较复杂的汉字和图形,如图4.2所示,首先必须对其写入控制操作字,包括图形的显示方式,字体的模式。
然后写入初始行地址,指针自动左移,直到写完全部数据为止。
write_data(place&0xff);//写入地址高位
write_data(place/256);//写入地址低位
write_com(0x24);//地址设置
write_com(0xb0);//设置数据自动写
write_data(ASC_MSK[(c1-0x20)*16+k]);/*---例如:
0的ASCII码为0x30,
在ASC_MSK中的位置为0x10*16---16字节字码依次写入LCD---*/
write_com(0xb2);//自动复位
place=place+30;
4.3ADC0832采样程序
图4.3ADC0832采样程序程序流程图图4.44*4键盘程序
MCU通过拉低CS、拉高CLK来启动ADC0832进行外部压力传感转换后的电压信号进行采样,每产生8个CLK脉冲,DATA获得一位完整的8bit数据,此时MCU发送中断请求,拉高CS,拉低CLK,并将数据DAT返回,如图4.3所示。
4.44*4键盘程序
本设计中采用了4*4矩阵式键盘,如图4.4所示,单片机定时进行查询。
首先单片机发送行扫描代码,然后进行列扫描,当发现某一列出现了低电平时,即返回相应的键盘值。
若没有发现则说明当前行没有键按下,行扫描右移一位,继续执行列扫描。
MCU根据相应的键值,即可确定被按下的键。
总结
通过这次单片机的课程设计,使我认识到单片机的应用领域确实很广泛,不仅培养了我自己的独立思考能力,还加深了对单片机应用的认识。
但我也仅仅是掌握了其中的一小部分而已。
所以设计过程中难免出现差错,以后我会继续学习,不断完善自己。
我所设计的这个系统主要是为了减少人员开支和节约水资源,采用了自动化的结构形式,实现对水箱水位的自动控制。
系统以单片机89C51为核心部件,单片机系统完成对水箱水位信号的采集、处理、等功能;
运行程序该系统的主要特点是:
1)工作运行稳定,抗干扰能力强。
能在多种不同环境中运行。
保证了该系统的可靠性。
2)在无需人工干预的情况下,能有效地进行水箱水位自动控制,减少了劳动力,减少了用电量,降低了成本。
3)该控制器具有小巧、经济、可靠、实用和节能降耗的特点。
虽然这次的单片机课程设计已经过去了,但接下来还有一次培养我们自己动手能力的更具挑战性的电子钟课程设计。
我会按时参加本次设计安排的课程、认真查阅相关书籍、努力学习相关方面的知识,争取完成自己的第一个动手能力的课程实训,并努力将其完善。
致谢
通过这次课程设计,我对传感器设计基础知识复习了一遍,而且更重要的是又学到了很多新的知识,获得了新的经验。
我从中学会了如何去做设计,学会知道团队精神的重要性,在这次的课程设计当中,在一些材料的选用,与其它同学进行了交流,提高了自己的工作效率。
在如此短的时间。
依靠个人能力是不可能完成如此繁琐的资料查找与收集的。
所以,通过这次课程设计,加强了同学之间的交流,大大增进了我们班的凝聚力,协作的精神更强了。
而且自己也学到了很多实际的有用的东西,相信对以后的工作一定会大有益处。
最后,在此对竟静静老师的帮助表示深深的谢意。
参考文献
[1]孙德辉,杨宁,微型计算机控制技术.北京:
冶金工业出版社,1998
[2]杨宁,单片机微信计算机原理与应用.大连:
大连海运学院出版社,1992
[3]杨宁,微机控制技术.北京,高等教育出版社,2001
[4]孙德辉,郑士富等,微型计算机控制系统.北京:
冶金工业出版社,2002
[5]付家才,工业控制工程实践技术.北京:
化学工业出版社,2003
[6]陈光东,赵性初,单片机微型计算机原理与接口技术,武汉:
华中科技大学出版社,1999
[7]邵世惶.计算机控制技术.北京:
纺织工业出版社,1991
[8]胡汉才.单片机原理与及其接口技术.北京:
清华大学出版社,1996
[9]潘新民,王燕芳.微型计算机控制技术.北京:
人民邮政出版社,1999
[10]房小翠,王金凤.单片机实用系统设计技术.北京:
国防工业出版社,1999
[11]杨天怡,黄勤.微型计算机控制技术.重庆:
重庆大学出版社,1996
[12]张洪闫,蓝清华.单片机应用技术教程.北京:
清华大学出版社,1997
[13]孙平和,杨宁,单片微机原理与接口技术.北京:
冶金工业出版社,1998
[14]冯培悌,微信计算机科学技术.杭州:
浙江大学出版社,1990
[15]林敏,薛红.计算机控制技术与系统.北京:
中国轻工出版社,1999