传感器课程设计 压力计的设计论文概要Word文档格式.docx
《传感器课程设计 压力计的设计论文概要Word文档格式.docx》由会员分享,可在线阅读,更多相关《传感器课程设计 压力计的设计论文概要Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
![传感器课程设计 压力计的设计论文概要Word文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/23/1ec81054-d3cb-4909-a5ec-cd486feb5916/1ec81054-d3cb-4909-a5ec-cd486feb59161.gif)
图1-1压力计原理方框图
图2-1数字压力计系统硬件设计框图
二、硬件电路的设计
2.1传感器的选型
力学传感器的种类繁多,但常用的压力传感器有电阻应变片压力传感器、半导体应变片压力传感器、压阻式压力传感器、电感式压力传感器、电容式压力传感器、谐振式压力传感器及电容式加速度传感器,光纤压力传感器等。
应用最为广泛的是压阻式压力传感器,它具有极低的价格和较高的精度以及较好的线性特性。
在选择合适的压力传感器过程中,了解介质的特点尤为重要。
介质的腐蚀性如何,导电性如何。
根据介质的这些属性选用相应类型的传感器。
介质温度范围如何,一是介质的经常性的温度范围为多少,根据此信息选择补偿温度与其范围一致的传感器,二是介质的最高温度范围,根据此信息选择使用温度范围一致的传感器。
若以上两点如果选择不正确,极有可能损害传感器甚至引起事故。
设计仿真时由于PROTEUS中没有传感器,因此用一个范围为75~150分压电路代替传感器的输出电流,使的仿真得以进行。
(滑动变阻器)
2.2传感器接口电路设计
MPX4115内部原理图如图2-2所示:
图2-2内部原理图
2.3单片机最小系统设计
选用的单片机为AT89C51系列芯片,该芯片的最小系统由时钟电路、复位电路、片选信号构成。
在最小系统构成的基础上,将P1口作为模拟量的转换为数字量的接收端,P0口作LED显示屏的数据发送端,P2口作LED显示屏的控制端口,同时作为过压及欠压的报警电路使用。
具体最小系统设计如图3-1所示:
2.4数模转换电路设计
ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。
其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。
ADC0808是ADC0809的简化版本,功能基本相同。
一般在硬件仿真时采用ADC0808进行A/D转换,实际使用时采用ADC0809进行A/D转换。
ADC0808接线图
内部结构
ADC0808是CMOS单片型逐次逼近式A/D转换器,它有8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器。
引脚功能(外部特性)
ADC0808芯片有28条引脚,采用双列直插式封装,如右图所示。
各引脚功能如下:
1~5和26~28(IN0~IN7):
8路模拟量输入端。
8、14、15和17~21:
8位数字量输出端。
22(ALE):
地址锁存允许信号,输入,高电平有效。
6(START):
A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。
7(EOC):
A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
9(OE):
数据输出允许信号,输入,高电平有效。
当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
10(CLK):
时钟脉冲输入端。
要求时钟频率不高于640KHZ。
12(VREF(+))和16(VREF(-)):
参考电压输入端
11(Vcc):
主电源输入端。
13(GND):
地。
23~25(ADDA、ADDB、ADDC):
3位地址输入线,用于选通8路模拟输入中的一路
输出端注意:
out7为最低位-out0为最高位,out7-out0分别接单片机的P0.0到P0.7端。
2.5显示电路设计
单片机AT89C51
7SEG-MPX4-CC
LED的ABCDEFGDP引脚接对应的单片机上的P10P11P12P13P14P15P16P17,1234则对应单片机的P20P21P22P23。
LED的公共端com接地,则其余引脚接+5V,所以对应的LED的显示器的七段码是0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,
2.6电源电路设计
电路中的电源部分如下图所示。
其中,3号引脚是电源输入端接外部电源+15V电源。
1号引脚为电源模块输出端,输出+5V。
本次设计电路中的电源均采用直流+5V驱动。
直流+5V
三、软件部分的设计
3.1程序代码
#include<
reg51.h>
#defineuintunsignedint
#defineucharunsignedchar
ucharcodetable[]
={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0xee,
0x3e,0x9c,0x7a,0x9e,0x8e};
//七段共阴数码管编码表
sbitSTART=P3^0;
sbitEOC=P3^1;
sbitOE=P3^2;
sbitONOFF=P3^3;
//控制放气门开或关
voiddelay(uintm)//LED显示延时子程序
{
while(m--);
}
delay1(uintc)//循环间隔延时C毫秒子程序
uchara,b;
for(;
c>
0;
c--)
for(b=142;
b>
b--)
for(a=2;
a>
a--);
voidfun1(uinti)//AD转换及数据处理子程序
uintP;
externuintPP;
//定义全局变量PP
START=1;
START=0;
while(i>
0)//fun1只执行i次
{
if(i>
0)
{
OE=1;
//转换结束输出使能
P=P0;
//AD转换结果赋给P
P=P*1.0/255*207;
//完成75~150mA到0~207kPa的转换
OE=0;
//停止输出
P2=0xfe;
//个位位选
P1=table[P%10];
//个位段选
delay(1000);
//个位显示延时约1ms
P2=0xfd;
//十位位选
P1=table[P/10%10];
//十位段选
//十位显示延时约1ms
P2=0xfb;
//百位位选
P1=table[P/100%10];
//百位段选
//百位显示延时约1ms
if(P>
176)ONOFF=1;
//打开放气阀
if(P<
64)ONOFF=0;
i=i-1;
delay1(100);
//每次转换后延时100ms(0.1s)
//启动下一次转换
}
voidmain()//主程序
ONOFF=0;
//初始时放气阀关闭
//初始时不进行AD转换
while
(1)//死循环
fun1
(1);
//调用一次转换子程序
PP=P;
//转换处理结果(压力值)给PP
3.2流程图
系统总流程图A/D转化程序流程图
显示流程图主函数程序图
四、仿真及结果
五、小结
本次课程设计的压力计的核心是单片机的使用。
通过改变滑动变阻器的阻值(压力传感器的变换),从而改变电信号(电压),通过单片机接收电信号,处理电信号,送入A/D转化(ADC0808),再送入LED显示屏显示。
通过为期五天的课程设计,我基本上完成了压力计的设计的任务。
通过这次课程设计,把自己所学的理论知识运用于实践,受益非浅,对单片机有了更深的认识。
对我以后独自处理问题有了很大的帮助。
在整个课程设计过程中,同学和老师一直给予我们很多的帮助,帮助我们顺利的完成了这次课程设计。
对单片机、数模转换、LED、传感器进行了综合性的应用,感谢老师给予我们这次机会,让我们有机会自己动手做项目,增强了我们的动手能力。
有效的将理论与实际相结合。
时间不长,但我希望以后还会有这样的机会,让我们自己动手,增强我们的动手能力。
六、参考文献
1.《51单片机原理及应用—基于KeilC与Proteus》陈海宴北京航空航天大学出版社。
2.《单片机的C语言程序设计与应用—基于Proteus仿真》姜志海赵艳雷陈松电子工业出版社。
3.《传感器设计基础》张春主编国防工业出版社
4.《传感器原理与检测技术》钱显毅主编机械工业出版社