单片机的数字测力计的设计.docx
- 文档编号:17901859
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:17
- 大小:132.58KB
单片机的数字测力计的设计.docx
《单片机的数字测力计的设计.docx》由会员分享,可在线阅读,更多相关《单片机的数字测力计的设计.docx(17页珍藏版)》请在冰点文库上搜索。
单片机的数字测力计的设计
关键字:
信息时代,传感器,转换器,51单片机,数码显示。
一、绪论
(一)背景
在教案实验中和一些工业中常常需要测一些力的大小,传统的一些弹簧测力计由于精度不准,弹簧容易形变,调零不准等等缺点。
为了提高传感器和单片机的认识和了解,尤其是对数字测力计的深入研究以及其用法和用途,基于实用、精确、广泛、操作简单和调零容易的原则设计了本系统。
(二)设计目的
掌握数字测力计,调零系统、报错系统组装与调试方法。
熟悉仿真软件(PROTEUS)编译软件(KEIL)的使用
掌握AD转换器,单片机,数码管得使用及其各个引脚的功能
掌握各个器件数据的计算和量程的选取,和数据的通用性
二、设计与实现
(一)传感器
选取:
选择的传感器要求实现测量在0—100N的力信号,实现实验室用的小量程的测力计的传感器对0—100N的力信号的识别。
选用FS20测力传感器是一种高性价比的微力传感器,采用MICROFUSE技术,长期稳定性好,超高分分辨率,过量程保护,带温度补偿的压力传感器。
特点:
低成本;超小外形;低噪声;0-5V输出;高稳定性;低飘移;反极性及过载保护;工业标准封装;
量程:
500—1500g
描述:
FS20测力传感器(如下图)是一种高性价比的微力传感器;采用MICROFUSE技术,长期稳定性好,超高分辨力,过量程保护,带温度补偿,非常适合OEM产品。
运用:
婴儿称、油漆喷雾器、汽车安全刹车、机器人、泵、微压力测量、接触力测量、医疗设备、家用电器;
设计:
图1
如上图1所示:
用杠杆的原理将0—100N的力缩小X倍数使其在500-1500g的可被FS20传感器识别的信号。
设要测量的拉力为F
设传力杠杆对压件的向上压力为f
设调零杠杆对压件的压力为N
设压件的重力为G
设以上对传感器的向上压力为T
所以:
此力系统对传感器的向上作用力T为500g且向下的拉力F为0N时,此时测力计为零正常状态。
各个力的作用变化如下表所示。
状态
N+G
f
F
U
零状态
500g
0
0N
0V
工作中
500g
0-1000g
0-100N
0-5V
过载中
500g
>1000g
>100
过载
调零:
调零的条件是
当F=0N时T=N+G+f=500g
操作:
调节N的大小使
N+G+f=500g
计算传力杠杆的缩小倍数
X=F/f=100/1000g*9.8=10.2
精度:
取X=10.2时当f=1000g时F=1.0*9.8*10.2=99.96N所以精度可以。
(二)A/D转换器
选取:
ADC转换器的作用是将模拟量转换成数字量,以便于芯片进行处理。
选用有八位分辨率的模拟量输入通道,有有转换启停控制,模拟输入电压范围0—5V,转换时间为100us.
ADC0809芯片介绍(如下图2)
ADC0809芯片有28个引脚,采用双列直插式封装。
各个引脚的含义如下。
IN0-IN7:
8路模拟量输入端
D0—D7:
8位数字量输出端
ADDA、ADDB、ADDC是3位地址译码线,译码结果决定转换8路模拟量中的一路。
译码情况如下表:
ADDA
ADDB
ADDC
选择通道
0
0
0
IN0
0
0
1
IN1
0
1
0
IN2
0
1
1
IN3
1
0
0
IN4
1
0
1
IN5
1
1
0
IN6
1
1
1
IN7
ALE:
地址锁存信号,输入,高电平。
START:
A/D转换启动信号,输出,高电平。
EOC:
A/D转换结束信号,输出,高电平。
OE:
数据输出允许信号,输入,高电平。
CLK:
时钟脉冲输入端,决定A/D转换频率。
Vref-、Vref+:
基准电压。
Vcc:
+5V图2
GND:
地线
量程的确定及数据计算:
在调零的情况下(N+G=500g时)
测量拉力F的变化范围0-100N
传力杠杆对传感器的压力f变化范围0-1000g
传感器输出电压U变化范围0-5V
转换器的通道1转换成数字的范围是0-255
所以:
当取最小量程为1N时,各个数据的最小变化为:
数据量
拉力F
压力f
电压U
数字量
最小变化
1N
10g
0.05V
2.56
各个数据随拉力的变化表为:
数据量
拉力F
压力f
电压U
数字量
零状态
0
0
0
0
工作中
0-100N
0-1000g
0-5V
0-255
超载中
>100N
>1000g
无
0
传感器到转换器连接的简单叙述:
从传感器的三根引线中,有一根接地,一根接五伏电源,一根是信号线经过处理后接到0-5V的转换器的通道0口处,然后转换器进行模数转化成0-255的数字信号之后送到单片机进行处理。
把0-255的数字经过处理得到0-100的数字后,通过数码管显示出来。
设计的测力计的最小量程为1N,所以得到的数字信号得按2.56的倍数进行处理得到0-100的数字信号。
(三)
数码管
描述:
7SEG数码显示器是由发光二级管按一定的
结构组合起来的显示器件,在单片机应用
系统中通常使用的是8段式LED数码显示
管(如右图3)其中7段发光二极管构成7
笔的字形,从a-g引脚输入不同的8位二
级制编码,可显示不同的数字和字符,通常图3
把控制发光二极管8位二进制编码称为字段
码。
引脚功能
a-g:
信号显示的输入端
DP:
公用端
1,2:
选通端
硬件译码:
由于数码管的断码值与显示的数字要一一对应,而要显示的数字的规律但断码值却没规律,在处理显示时要用查表的方法,需要占用很大的空间,选取一个硬件译码器势在必行。
74ls248译码器:
如右图是一种共阴极一位十六进制数到字段码转换芯片,能够输出四位二进制表示的一位十六进制数的七位字段码。
引脚功能:
A-D:
二进制数输入端
QA-QG:
字段码输出端
BI/RBO:
可以作为输入端使用,也可以作为输出端使用
LT:
灯测试输入端,低电平有效图4
RBI:
输出有效,高电平有效
(四)单片机
8051单片机的结构
MCS-51(下图)单片机在结构上基本相同,只是在个别模块上有些区别。
如图为8051单片机它包含了作为微型计算机所必须的基本功能部件,各个功能部件通过片内单一总线连成一个整体,集成在一个芯片上。
MCS-51单片机是一块芯片集成了CPU、储存器、(包括RAM和ROM)、定时器、计时器、和多功能的I/O线等一台计算机所必须的基本功能部件。
主要包括一个8位CPU、1个片内振荡器、及其
时钟带电路、128BRAM、4KBROM
2个十六位定时器/计数器、32条
可编程的I/O线和一个可编程的全
双串行接口、5个中断源、2个中断
优先级嵌套中断结构。
引脚及功能:
Vcc:
+5V电源线
Vss:
接地线
XTAL1:
片内振荡器反向放大器
的输入端和内部时钟工作的输入
端。
采用内部振荡器时,它接外
部石英晶体和微调电容的一个引
脚。
XTAL2:
片内振荡器反向放大器图5
的输出端,接外部石英晶体和
微调电容的另一个引脚。
采用外
部振荡器时,该引脚悬空。
RST:
复位输入端,高电平有效。
ALE:
地址所存允许编程线。
PSEN:
外部程序存储器的读选段
EA:
片外ROM允许访问端。
P0:
P0接口有8条接口线,它有一个输出锁存器、两个三态缓冲器输出驱动电路和输出控制电路组成。
P0接口是一个三态双向I/O接口,它有两种不同的功能。
P1:
P1接口有8条接口线,是一个准双向接口,只作普通的I/O接口使用。
做输出接口使用时不需要接外接上拉电阻。
做输入接口使用时,必须先向锁存器写入“1”。
P2:
P2接口有8条接口线,也是一个准双向接口,它有两种使用功能,一种是作普通I/O口使用,另一种是系统外扩展存储器时候,做地址线的高8位使用。
其中P0口做低8位使用。
P3:
P3接口有8条接口线,是一个多用的准双向I/O接口,第一功能是作普通的I/O接口使用,第二功能是作为控制呵特殊功能的接口使用,这时候8条接线的定义功能各不相同。
I/O接口的读写:
P0-P3接口都可以作为普通的I/O口使用,当作为输入口使用时,必须先向该接口的锁存器中写入“1“,然后再从读引脚缓冲器中读入引脚状态,这样的读入结果才正确
P3接口的特殊功能:
P3口
符号
备注
P3.0
RXD
串行口发射端
P3.1
TXD
串行口接收端
P3.2
INT0
外部中断接口0
P3.3
INT1
外部中断接口1
P3.4
T0
定时计数中断0
P3.5
T1
定时计数中断1
P3.6
WR
读取允许端
P3.7
RD
写入允许端
(五)
总系统设计图
图6
(六)执行程序
#include
#include
#defineclk=P3^0。
#defineIN0XBYTE【0X0000】。
ucharm,n。
voidmain(void)
{TMOD=0x02。
//工作于方式二
TH0=256-400。
//T0赋初值
HL0=256-400。
IT0=1。
//外部中断0脉冲触发
EX0=1。
//外部中断0允许触发
ET0=1。
//T0中断允许触发
EA=1。
//总中断允许
TR0=0。
//T0启动
IN0=0。
//启动转换(P2.7=0)
P=0。
//赋初值
while
(1)//等待中断并显示输出
{P1=n。
P1=m。
}
}
voidint_abc(void)interrupt0//中断函数
{uchart,p。
floatq。
q=(flaot)IN0。
//转换值给q
t=(char)(q/2.56)//计算是2.56的多少倍
p=t。
//输出
if(q>(t+0.5))//四舍五入
p=p+1。
n=p/10+64。
//显示处理
m=p%10+128
}
voidint_T0(void)interrupt1//T0中断函数
{clk=!
clk。
}
三、调试与完成
(一)PROTEUS的使用
Proteus软件具有其它EDA工具软件(例:
multisim)的功能。
这些功能是:
原理布图
PCB自动或人工布线
SPICE电路仿真
互动的电路仿真
用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。
仿真处理器及其外围电路
可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。
还可以直接在基于原理图的虚拟原型
上编程,再配合显示及输出,能看到运行后输入输出的效果。
配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境.要求能画出各个器件的接线图。
(二)KEIL
系统概述
KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
下面详细介绍KeilC51开发系统各部分功能和使用。
KeilC51单片机软件开发系统的整体结构
C51工具包的整体结构,uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。
开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。
然后分别由C51及C51编译器编译生成目标文件(.OBJ)。
目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。
ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。
所以写出C程序并能调试成功
(三)系统调试
程序调试:
打开KEIL软件,把13页的程序输入里面,确定没错误时候。
编译成HEX格式的文件,然后加载到模拟单片机里面。
运行调试,手动输入模拟量看看能不能实现本设计的模拟功能。
若实现时有错误,则需要改变程序代码。
多次修改、调试按思路调试一定能实现。
模拟器件调试:
打开PROTEUS软件,按要求把系统设计图画出PROTEUS的模拟起器件,检查各个器件的属性是否与所选的器件的参数一致,只有这样才能真实的实现模拟。
并能查处真实的器件是否需要替换。
要多次调试才能实现。
然后检查效果是否符合要求。
多次调试,以保设计无误。
传感器的调试:
查看传感器的规格型号是否符合要求,按第六页的图形安装并调整。
调整各个力的初始值,使得N+G=500g,F=0N的时候为零状态。
若F=0时,不是零状态则要调整调零杠杆即调N的大小,使得N+G+f=0,且F=0;
并且还得保证输出电压U=0V才能保证系统调试正确。
外部力信号
系统调试:
PROTEUS系统调试时候需要各个独立的调试的正确无误
才能进行系统调试如下图7
四、结束语
随着信息时代的到来,数字处理技术、传感器技术得到了显著的提高,对测力精度的要求越来越高,对其操作要求越简单。
虽然本设计写的不是很好,但应该能满足要求。
选题目时第一个题目选的不好,主要是没有思路,我给同学聊天偶然听到她的题目是数字温度计之类的,我想了想,这类题目就是我想写的,只是没有想到,所以我加上对传感器的想法,然后就把题目改成了数字测力计,在此要感谢周老师的指导和对我的思路的肯定。
在这个设计里对我来说传感器部分是比较难的,上网查了好多资料,还给陈老师发邮件问传感器怎么选,选用时应注意的参数。
还有在选分度时不知道会影响其他数据的参数,所以最小量程一改再改。
最后结合所有参数和误差小的原则把它定位为1N。
经过这次设计使我对传感器的参数选取,单片机的模数转换部分有了更深入的了解。
由于我的能力有限,知识还不全面,把以前计划的200N的量程最小分度为0.1N的四位数码管显示测力计改为了99N最小量程为1N的两位数码管显示的测力计。
其中最小量程为0.1N的设想是,传感器的信号传到模数转换器是经通道0转换整数部分,然后经过单片机处理。
之后通过打开晶闸管把信号送到另一通道。
在进入通道时先滤掉整数部分电压(大于U/200的电压),再经过放大器放大到与原来一样的倍数。
之后处理显示。
在滤掉整数和放大时没有实现,主要是选取整流二极管,放大器和一些晶闸管时的一些型号、参数、及其计算时比较繁琐,且还要考虑很多,还有单片机的引脚不够要用串行扩展口等等,所以改成了本设计的思路。
我想在以后的积累和学习中能够实现我最初的想法,我真的希望看到本设计的高手朋友们能够实现它,并能完成的更好。
参考文献:
单片机原理及应用,主编:
李传军,河南科学技术出版社。
单片机C语言程序设计,主编:
侯殿友,人民邮电出版社。
电子技术及实训,主编:
李伟,中国电力出版社。
传感器及应用技术,主编:
沈聿农,化学工业出版社。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 数字 测力计 设计