传感器课程设计王召东 马慧婷.docx
《传感器课程设计王召东 马慧婷.docx》由会员分享,可在线阅读,更多相关《传感器课程设计王召东 马慧婷.docx(11页珍藏版)》请在冰点文库上搜索。
![传感器课程设计王召东 马慧婷.docx](https://file1.bingdoc.com/fileroot1/2023-5/23/b46c0a54-fde0-4146-8a08-745733ee3a7e/b46c0a54-fde0-4146-8a08-745733ee3a7e1.gif)
传感器课程设计王召东马慧婷
山东农业大学
检测技术与自动化仪表课程设计报告
设计课题:
电子称系统设计
专业班级:
12级自动化二班
小组成员:
王召东,马慧婷
指导教师:
娄伟
评定成绩:
2014年10月22日
电子称系统的设计
一、设计任务与要求
1.压力传感器的稳定输出:
本课程设计是以YZC-665压力传感器为中心,要求传感器的输出稳定,受温度等其他条件影响小,且输出值与应变(所承受压力)成确定关系,最好成线性关系;
2.HX711A/D转换器的输出值与实际重量的拟合:
本课程设计的转换元件是HX711,要求完成其输出数字量与实际重量的拟合,并用拟合函数在单片机程序中对输出数字量转换;
3.单片机系统的程序编写:
本课程设计的处理系统是51单片机,要求在程序中完成对来自HX711的电压值接受,对电压值与实际重量的转换,以及实际重量在1602液晶显示屏的显示等;
4.经济性:
在保证本课程设计精确度的条件下,尽量采用价格较低,较实用的材料和器械,以降低成本。
二、方案设计与论证
针对本课程设计的前两个任务和要求,关键是保证传感器输入的稳定性,A/D转换器基准电压的稳定性及输出数字量的稳定性,YZC-655对应变的灵敏度较高,为保证数字量的稳定性,可适当省略数字量的几位;第三个要求对HX711,51单片机,1602液晶显示屏有一定了解,并能通过C程序将几个部件联合在一起。
方案一:
压力传感器的底座及上盘全用钢板,以保证其形变方向唯一,且只受上方的压力而产生形变,且压力传感器的电源采用高精度电源,保证输出稳定;HX711的输出数字量为24位,为保证输出量相对稳定,取其高16位;HX711的读程序采用厂家给的配套程序。
方案二:
本着经济性原则,压力传感器的底座及上盘采用1.5厘米木制压缩板,上下两面的螺丝全部使用,用以稳定传感器;传感器电源与单片机电源共用,HX711的输出量取前12位。
三、单元电路设计与参数计算
1.最小系统的设计:
所编写的程序如下:
#include
sbitADDO=P2^6;
sbitADSK=P2^7;
sbitRS=P1^3;
sbitEN=P1^5;
voiddelay(inti)
{intk=100,j=0;
for(i=0;ifor(j=0;j}
unsignedlonglongReadCount(void)/*HX711的接收程序*/[1]
{
unsignedlongCount;
inti;
ADSK=0;//使能AD(PD_SCK置低)
Count=0;
while(ADDO);//AD转换未结束则等待,否则开始读取
for(i=0;i<24;i++)
{
ADSK=1;/*PD_SCK置高(发送脉冲)*/
Count=Count<<1;/*下降沿来时变量Count左移一位,右侧补零*/
ADSK=0;/*PD_SCK置低*/
if(ADDO)Count++;
}
ADSK=1;
ADSK=0;
return(Count);
}
voidwritezhiling(unsignedcharzhi)
{RS=0;/*写指令*/[2]
P0=zhi;
delay(5);
EN=1;
delay(5);
EN=0;
}
voidwriteshuju(unsignedcharshu)
{RS=1;/*写数据*/
P0=shu;
delay(5);
EN=1;
delay(5);
EN=0;}
voidchushihua()
{EN=0;
writezhiling(0x38);/*16*2显示,5*7点阵,8位数据*/
writezhiling(0x0c);/*开显示,显示光标,光标闪烁*/
writezhiling(0x06);/*写一个字符后指针加一,屏幕不移动*/
writezhiling(0x01);}/*显示清零,指针清零*/
voidmain()
{unsignedlongb=0;
inti,c=0;
unsignedchartable[4];
unsignedchartable1[]="nindetizhong:
";
unsignedchartable2[]="kg";
P1=0x62;
chushihua();
b=longReadCount();
b=(int)(b/4096);
b=b*2-8;
for(i=3;i>=0;i--)/*赋值*/
{table[i]=(unsignedchar)(b%10);
b=b/10;}
writezhiling(0x80);/*第一排显示“nidetizhong:
”*/
for(i=0;table1[i]!
='\0';i++)
writeshuju(table1[i]);
writezhiling(0x80+0x45);/*第二排显示重量*/
for(i=0;i<4;i++)
writeshuju(table[i]+48);
for(i=0;table2[i]!
='\0';i++)
writeshuju(table2[i]);
while
(1);}
2.HX711与传感器连接图:
将实际重量与HX711输出的数字量进行拟合,计算参数:
实际重量
数字量
实际重量
数字量
0
5
9.5
51
1.7
13
10.2
54
2.8
18
13.0
69
3.3
21
14.3
75
5.1
29
15.6
82
5.7
32
17.5
91
8.0
44
18.4
96
用一次曲线拟合,所得a=-8.5(纵截距),b=2(斜率)
拟合函数:
y=2*x-8.5
3.1602液晶显示屏与单片机连接图:
四、总原理图及元器件清单
1.总原理图
2.元件清单
元件序号
型号
主要参数
数量
备注
C1
普通陶瓷电容
30uf
1
C2
普通陶瓷电容
30uf
1
C3
电感电容
10u
1
Y1
XTAL
11.0592MHZ
1
A1
AT89C51
40pints
1
H1
HX711
128倍增益
1
X1
1602
16字两行液晶显示屏
1
R1
普通电阻
10K
1
R2
普通电阻
10K
1
R3
排阻
10K
1
S1
弹性开关
1
五、性能测试与分析
由于采用了方案二木质材料底座和盖板,本课程设计所得的电子称称重范围受到限制。
设计要求1:
YZC-665内部采用电桥电路,所以受温度影响较小;采用八个螺丝连接传感器与底座和盖板,保证其形变方向唯一,且只受上方压力影响。
设计要求2:
为保证输出量稳定,只取放大后数字量的前12位,并用CurveExpert软件进行一次函数拟合,得出函数后在单片机中通过函数完成了对数字量的转换;
设计要求3:
HX711的接收程序采用网上下载的程序,程序简单且执行效率高,1602液晶显示屏的写程序采用单片机教程上的程序,两个程序已经较好的完成了任务;
设计要求4:
木制底座和盖板,通用的螺丝,性价比高适合小程序的51单片机作为控制系统,都较好地实现了经济性原则。
实验成果图:
六、结论与心得
本课程设计在设计和调试过程当中出了很多问题。
我感觉最难的是单片机的编程,将几部分联系到一起发挥功能确实挺难得,另外也让我们意识到了当初学好C语言的重要性;HX711输出数字量与实际重量的拟合让我们也重新学习了MATLAB的曲线拟合;硬件的连接也是挺考验人的,最小系统就有好几处焊接错误,以后也要着手再练练焊功。
七、参考文献
[1].XX文库,HX711参考驱动程序(C51)_XX文库
[2].郭天祥,第161页,电子工业出版社,2009。