第一篇:单片机课程设计:汽车ABS控制器模拟测试系统硬件接口设计与实现
引言: 汽车行驶在路途中遇到突发状况时进行紧急制动,容易发生侧滑,甚至发生掉头和侧翻。相当多的交通事故由此产生。因此在行车制动中,不能让车轮抱死,进而才不发生侧滑和掉头,甚至可以在制动过程中正常转向。
汽车ABS防抱死制动系统便是一套能在制动过程中随时监测车轮滑转程度,并依此自动调节作用在车轮上的制动力矩,防止车轮自动抱死的系统装置。目前,我国对批量生产的ABS进行质量检测方法主要分为两种:道路试验和静态检测。前者跑道上专人测试,费用昂贵。后者借助仪表对ABS的元件进行静态测试,价格低廉适合批量检测。但元件静态特性没问题并不能保证ABS的功能正常。对于批量生产的汽车ABS进行质量静态检测需要能够反映车辆实际制动情况进而来判断其功能是否正常,并评定其性能的优劣。
因此汽车 ABS性能模拟测试技术成为研究的重点。ABS控制器(ECU)的性能决定了ABS 的性能。因此ABS的性能检测的关键在于ECU的性能检测。开发的汽车ABS 性能模拟测试系统能实现ABS ECU的性能检测与评价。本文进行ABS ECU与性能测试系统的硬件接口的研究,以实现对ABS ECU的实时检测。
第一章防抱死制动系统的构成
3.1.1防抱死制动系统的组成
汽车A8S系统由控制器、电磁阀、轮速传感器三部分组成,其系统原理框图如图3-1 所示(以气压制动为例)。
3.1.1控制器
ABS控制器ECU是整个防抱死刹车系统的核心控制部件,它接受车轮速度传感器送来的速度信号,通过计算与逻辑判断产生相应的控制电信号,控制电磁阀去调节制动压力。当 车轮滑移率不在控制范围之内时,控制器就输出一个控制信号,使电磁阀打开或关闭,从而调节轮缸压力,使轮速上升或下降,将汽车车轮滑移率控制在一定范围内,实现汽 车的安全、可靠制动。
电子控制器主要有输入电路、微处理器(CPU)、只读存储器(ROM)、随机存储器(RAM)和输出电路等组成。电子控制器的作用是在制动过程中通过对四个车轮轮遮传感器输入的信号进行运算处理。另外,电子控制器还对防抱死系统的工作状态进行检测,当判定系统存在故障时,将防抱死系统自动关闭退出控制过程,使制动系统恢复为常规的制动系统。
3.1.2电磁阀
电磁阀是防抱死刹车系统的执行部件,当控制器输出控制信号时电磁阀动作,对轮 缸压力进行调节以使制动力在接近峰值制动力区域内波动,实现汽车制动效果最佳:当 无控制信号输出时电磁阀不动作,相当于常规制动系统,直接输出最大制动压力。
3.1.3轮速传感器
车轮速度(即车轮绕轮轴旋转的线速度)传感器(简称轮速传感器)信号可供发动机控制模块、防抱死制动系统(ABs)控制模块及仪表控制模块共享,使车辆在制动过程中,防抱死制动控制模块和发动机控制模块联合控制.达到最佳制动效能。
电磁感应式转速传感器安置在车轮上,齿圈固定在车轮上与车轮同步转动,传感器将产生频率与车轮转速成正比的交变电压信号输入电子控制器.供电子控制器对车轮的运动状态进行监测。
3.2防抱死制动系统的工作原理
如图3-6所示为Audi200型轿车所用的防抱死制动系统。每个车轮上均装有一个车轮 转速传感器(电磁式),它将关于车轮轮速的信号输给电子控制单元。电子控制单元根据 车轮轮速信号对各车轮的运动状态进行检测和判断,并形成相应的指令,控制由电磁阀 总成、电动泵总成和储液器等组成的制动压力调节装置,通过制动管路对各制动轮缸实 施制动压力的调节。
3.3本章小结
本章主要讲述了防抱死制动系统的组成:电子控制器、电磁阀、轮速传感器,并讲 述了各组成部分的功用原理;同时简单阐述了ABS的工作原理,为下面对防抱死制动系统控制器模拟测试系统硬件接口设计与实现研究做了铺垫。
第二章ABS ECU模拟测试系统
ABS最重要的功能并不是为了缩短制动距离,而是为了能够尽量保持制动时汽车的方向稳定性。而ABS控制器(ECU)的性能决定了ABS 的性能。因此ABS的性能检测的关键在于ECU的性能检测。
2.1 ABS ECU模拟测试系统的组成
ABS ECU模拟测试系统由微机、I/O 接口硬件和ECU 3部分组成。其工作原理如图1
汽车ABS性能测试软件在微机中运行,该测试软件中建立了车辆模型、车轮模型、制动系统模型以及性能评价模型。I/O接口硬件部分是以单片机(AT89S51)为核心,集数据采集、信 号发生和数据输为一体的系统,包括ABS阀控信号采集模块、轮速信号模拟模块和串行通信模块。
2.2ABS ECU模拟测试系统工作原理
图1所示的系统初始化(后包括软件和硬件的初始化),ABS性能测试软件将一个速度初始值通过串口发 I/O 接口硬件中的单片机, 再由接口板上的ABS轮速信号模拟模块将该值转换成与轮速传感器工作频率相同的脉冲信号, 并发送给ECU,ECU通过内部软件对脉冲 信号进行处理并发出压力调节器的阀控信号,接口板上的ABS阀控信号采集模块将采集到的这一信号再发送给单片机。单片机通过串口将该信号发给测试系统依此循环下去。
这样微机、I/O接口硬件、ECU 构成了实时闭 环模拟检测系统。ABS ECU 性能模拟测试系统接口原理见图2
2.3本章小结
本章主要阐述了ABS ECU模拟测试系统的组成微机、I/O接口硬件和ECU。以及简单概述了它的工作原理。对接下来的设计做一个简要的框架。
第三章I/O接口硬件设计
3.1ABS阀控信号采集模块
ABS ECU模拟测试系统的输入值为ECU 发出的 ABS压力调节器的电磁阀控制信号。每个压力调节器由一个进气阀(常闭)、一个排气阀(常开)构成,这样压力调节器3种工作状态即增压、减压和保压。当进、排气电磁阀线圈不通电时(阀控信号状态为 11),为 增压,当进、排气电磁阀线圈都通电时(阀控信号状态为 00),为减压状态;当进气阀线圈通电,排气阀线圈不通电时(阀控信号状态01)为保压状态。因此每个调节器有两路信号需要系统采集。
采用如图3所示的由TLP521光电耦合器和AT89S51单片机构成的阀控信号采集系统。当某路电磁阀线圈通电时,单片机的P1口相应位就为低电平(信号状态为0),不通电时为 高电平(信号状态为1)这样通过比较同一压力调节器两路电磁阀信号就可知道压力调节器的工作状态。把采集到的信号状态通过串行通信模块发给微机,就实现了对的阀控信号实时采集。
图3 ABS阀控信号采集系统电路图 3.2 ABS轮速信号模拟块
模拟测试系统的输出值为每个车轮的轮速,而 ABS ECU 得到的是4个轮速传感器发出的轮速脉冲信号。为了使ECU能正常识别得到的轮速信号,必须模拟出类似的矩形脉冲信号,并且该信号的频率要能随轮速值的变化,而实时地改变确保ECU实时连续工作。
输出的矩形脉冲信号的频率由单片机内的定时/计数器T0来实现。ABS车轮转速传感器采用100齿的齿圈车轮半径为0.5M则汽车车速为0——200Km/h时产生的脉冲频率为0——1786H。频率计算公式为
f=vZ/(2πr)式中f——频率,Hz
v——车速,m/s Z——车轮转速传感器齿圈的齿数 R——车轮半径,m ABS控制器一般在车速大于10Km/h时才开始正常工作,则此时轮速脉冲信为88Hz。因此ABS控制器正常工作时,接收的速度脉冲频率范围为88——1786Hz。选择计数器 T0工作方式为模1,单片机的外部晶振为11.0952Hz,TL0 与TH0 构成位16位计数器,它可以产生的脉冲频率范围为:15Hz——1MHz,满足所需要求,可作为脉冲频率的主要控制量,TL0和TH0的取值范围为0——FFH。微机上的软件系统计算车轮转速以及对应的脉冲频率所 需的TL0和TH0值,将其传递给单片机,并写入TL0和TH0 寄存器。TL0和TH0 的计算公式为
TL0 =[65536-11.0952*10^6/(12f)]16L TH0=[65536-11.0952*10^6(12f]16H
式中:[ ]16H/L代表高8位16进制码或低8位的16进制码。
采用图 4所示的ABS轮速信号模拟模块,它是由DAC0832、AT89S51和LM358组成 的一路频率脉冲发生电路。输出口(out)能够根据单片机指令发出电压为5V的变频率脉冲信号,与速度传感器发出的信号一致,从而实现对速度信号的模拟。要实现路轮速信号的模拟需要采用4个和DAC0832和LM358,由单片机的P2.6、P2.5、P2.4、P2.3分别对DAC0832进行片选,就可以实现各个轮速的独立模拟。
3.3串行通信模块
I/O接口硬件与微机通信采RS-232用标准的串行通信,其连接方式如图5所示。与ABS性能测试软件的数据通信由2部分构成:①由ABS性能测试软件生产的车轮速度值,转换成对应脉冲频率所需要的TL0和TH0值,发送给单片机。在测试软件中利用MicosoftVisualC++中MSComm控制的SetOutput(COleVariant(array))函数发送数据。Array是一个CBity Array类型,他存放了要发送的数据TL0,TH0。②由ABS阀控信号采集模块采集到的电磁阀控信号值(单片机P1口的值),发送给微机。
在测试软件中可以通过Get InBuffercount()函数查询是否接收到数据函数将收到的 数据接收进来处理。利用MicosoftVisualC++中MSComm控件可完成微机上的串行通信设置。控件对象的SetCommPort()函数设置串行端口;SetSettings(“9600,n,8,1”)设置9600波特率,无奇偶校验位,8位数据位,1位中止位。单片机与微机进行通信时,必须保证相同的波特率,所以选用方式2工作。单片机串口初始化选用串口工作方式1,允许接收设置程序如下:
MOV TMOD,#21H MOV
SCON,# 050H ;
串口方式1 MOV
PCON,# 80H;
波特率加倍 MOV
TH1,#0FAH;
波特率9600 MOV
TL1,#FAH ;
第四章ABSECU模拟测试系统工作流程
ABSECU模拟测试系统的软件系统由在微机中运行的ABS试软件和单片机中运行的程序两部分构成。ABS软件主要处理采集到ABS阀控信息,转化成压力后,通过车辆动力学方程,对制动系统工作特性、轮胎与地面特性进行模
拟计算得到相应的轮速,然后将轮速等效值通过串口发给单片机。微机与ECU通信的程序流程如图6所示。单片机程序主要是将P1口采集到的阀控信号通过串口发给微机,然后将串口收到的值发给TL0和TH0,转换成速度脉冲后发给ECU,单片机程序流程 图如图7所示。
ABS控制器的控制算法5——10ms左右循环一次,实际控制过程中电磁阀每秒有
8——20个动作状态。波特率9600为完全可以满足数据传送要求,且单片机对微机传来的轮速等效值采用了实时查询,可以完成微机与ECU的实时通信。电磁阀的控制信号处理方式是微机每发送一次轮速等效值的同时,便将阀控信号传送给微机,由于阀控信号的变化相 对于轮速信号的变化慢,所以不会引起阀控信号迟滞。
第二篇:课程设计--基于FPGA的指纹采集接口设计与实现
基于FPGA的指纹采集接口设计与实现
一、引言
相对于密码、证件等传统身份认证技术和诸如语音、虹膜、脸形、签名等其他生物特征识别认证技术而言,指纹识别认证是一种更为理想的身份认证技术。其优点体现在:
1.广泛性——每个人的每一跟手指都具有指纹;
2.唯一性——每个人的指纹都不相同,极难进行复制;
3.稳定性——指纹不会随着年龄的增长而改变;
4.易采集性——指纹图像可运用专业的指纹传感器获取,易于开发识别认证系统。
随着电子商务的发展和消费类电子的普及,越来越多的领域需要指纹识别系统。目前,基于、的独立式指纹识别系统已经成功应用于考勤、门禁、安检等领域。同时,随着微电子技术的进步,设计开发能应用在小型微型系统(如手机、PDA等)的ASIC资金资助:上海市科学技术委员会PDC计划项目(No.047062023)和AM 0403项目(专用集成电路)指纹识别认证系统,将具有很强的现实意义和广阔的市场空间。
由于FPGA(现场可编程门阵列)具有高集成度,低功耗,短开发周期等优点,本文选用FPGA作为指纹识别认证系统的核心器件,以控制其依次实现指 纹采集、指纹特征点提取、存储、比 对等等过程。可见,指纹识别认证系统的首要任务是如何采集到高质量指纹图像以保证后续任务的完成,而指纹图像质量不仅与指纹传感器自身的性能有关,也与数 据传输通信接口的性能密切相关。因此,如何设计性能优良的通信接口是实际系统设计的一个难点问题。于是本文针对这一问题进行了研究,介绍了一种基于 FPGA与滑动式指纹传感器的指纹采集接口的设计与实现方法。
二、简介指纹采集接口器件
本指纹采集接口的核心控制器件为Xilinx公司SpartanIII系列的XC3S400型FPGA芯片,它的封装形式为PQ208。这款芯片采用先进的90ns工艺,最大容量40万门,工作频率高达200M,足以完成系统需要。
另外,本文选用的指纹采集传感器为富士通公司的MBF300滑动式电容指纹采集传感器。这款指纹传感器采用标准CMOS技术,含有8位A/D变换 器,能在2.8V~5V的宽电压范围内工作,能自动检测到是否有指纹到达传感器,并实现在线采集。而它与以往采用的面积式指纹传感器相比最大的优点在于,在保证指纹图像高分辨率(500dpi)的同时大大减小了传感器的尺寸(13.3×3.6)。
MBF300支持3种通信接口:8位微处理器总线接口(microprocessor bus interface)、集成的USB全速接口(Integrated USB Full-Speed Interface)和集成SPI接口(Integrated Serial Peripheral Interface)。其中本文选用SPI接口,并将详细讲述基于MBF300和FPGA的SPI设计与实现方法。
MBF300的SPI接口需要时钟信号线SCK、主进从出信号线MISO、主出从进信号线MOSI和使能信号线,共4根信号线。其中,传感器的时钟 源可以从外部输人,也可以外接一个晶体振荡器后,利用MBF300内部的振荡电路来获得时钟源。在选择了SPI模式后,MBF300的其他两种模式将自动 禁止。在本系统中,MBF300在SPI工作模式下相当于一个从设备,XC3S400作为主设备。XC3S400通过读写MBF300内部的寄存器实现对 它的控制,以完成指纹采集的任务。
另外,MBF300在SPI的从设备状态下,它的通信协议的具体内容包括:
MOSI线上的数据在SCK的上升沿被采样;
MISO线上的数据在SCK的下降沿发生改变;
SCK在空闲状态时,可以为高电平,也可以为低电平;
串行传输过程中,高位在前(最先被移出)。具体时序见图1。
三、指纹采集接口的设计与实现
本文中指纹传感器MBF300的主要任务是采集指纹图像,并自动A/D转换,并把转换后的图像数据通过SPI接口传送到FPGA芯片XC3S400 中,以进行指纹登记或者指纹识别比对。由此可见,指纹采集是整个指纹识别系统的第一步,采集质量的好坏将直接影响系统的性能与准确度的高低,因此,接下来 将重点介绍指纹采集接口——SPI接口的设计,在此过程中,XC3S400为SPI主设备,MBF300为SPI从设备。
1、指纹采集电路
由于FPGA内部采用的SRAM存储器结构,所以需要外置一个PROM在上电时对FPGA进行程序配置。同时,还扩展了一个SRAM和Flash分 别用作存储指纹程序运行时的临时数据和指纹数据信息。另外,为了实现与PC机通信,指纹采集部分还设计一个RS232接口,整个的硬件电路如图2所示。由 图中可以看出,整个指纹采集的核心部件就是FPGA芯片XC3S400,它相当于常见的嵌入系统中的DSP或者ARM,控制着整个指纹采集,以及指纹登 记,指纹比对,结果输出等过程。
2、指纹采集接口硬件设计与实现
本文的SPI接口主设备为FPGA芯片XC3S400,从设备为指纹传感器MBF200。由于FPGA没有特定管脚的要求,本文任意选用XC3S400的4个I/O口137—140,分别与指纹传感器MBF300的相应管脚连接,见图3所示。
3、指纹采集接口软件设计与实现
接口时钟采用传感器内部的12M时钟,整个采集指纹图像流程如图4所示,主要有初始化,调整参数,指纹采集,指纹存储几部分组成。
3.1 初始化XC3S400和MBF300
XC3S400为FPGA器件,因此在系统上电后先要对其进行初始化,即从PROM中读取配置数据,以完成后面的指纹采集、特征点提取、存储、比对等工作;初始化XC3S400之后,接着初始化指纹传感器MBF300,其中部分VHDL源程序如下:
……
ENTITY ini_mbf300 IS
PORT(......pgc : INOUT STD_LOGIC_VECTOR(7 DOWNTO 0);
dtr : INOUT STD_LOGIC_VECTOR(7 DOWNTO 0);
dcr : INOUT STD_LOGIC_VECTOR(7 DOWNTO 0);
thr : INOUT STD_LOGIC_VECTOR(7 DOWNTO 0);
ctrlb : INOUT STD_LOGIC_VECTOR(7 DOWNTO 0);
isr : INOUT STD_LOGIC_VECTOR(7 DOWNTO 0);
icr : INOUT STD_LOGIC_VECTOR(7 DOWNTO 0);
......);--定义需要初始化的MBF300寄存器;
END ini_mbf300;
ARCHITECTURE ini_mbf300 OF ini_mbf300 IS
BEGIN
pgc <= “00000110 ”;--初始设置图像增益为1.5;
dtr <= “00111111”;
dcr <= “00000001”;
thr <= “00101100”;
ctrlb <= “00000001”;--使能阵列,AD及时钟;
isr <= “00000011”;--清空中断;
icr <= “01011001”;--使能自动检测;…...END ini_mbf300;......3.2 调整MBF300参数
调整MBF300参数,也就是调整PGC、DTR、DCR三个寄存器的值来调整放电时间、放电电流速率和图像的放大增益,直到获得最佳质量的图像。
3.3 采集指纹图像
XC3S400按照MBF300的SPI时序要求,在MOSI信号线上发送一系列读写MBF300寄存器的指令,并由MBF300在MISO信号线上发送A/D转换后的指纹数据,直到一幅完整的256*32的指纹图像传输完毕。
3.4 存储指纹图像
采集到的原始指纹图像保存到片外SRAM中,地址空间为0000 0000 0000 0000~FFFF FFFF FFFF FFFF。实验调试与结论
指纹采集接口的整个程序的VHDL源代码已经通过调试,在ModelSim SE 6.1b中成功仿真,FPGA的SPI时序与MBF300一致,完全能达到指纹采集的目的。于是将MBF300设置为DTR=0x15,DCR= 0x20,PGC=0x01,通过SPI接口采集到的原始指纹数据通过图2中的RS232接口传送给PC机,然后利用Matlab工具数据转化得到指纹图 像,它足以满足后续的指纹特征点提取、比对等要求。
四、小结
这种基于FPGA芯片XC3S400与固体指纹传感器MBF300的SPI接口具有设计实现简单,传输速率高的特点,完 全能胜任指纹采集的任务。而MBF300的高精度更能保证采集到的指纹图像的质量,这有利于简化后续的指纹图像增强、二值化等算法。总之,基于FPGA与 指纹传感器的指纹采集系统的SPI接口的成功实现,为指纹识别技术的SOC片上集成打开一个良好的开端。
本文作者创新点:
虽然基于DSP或者ARM的指纹识别认证系统已经在考勤,门禁等领域实现商品化,但这样的嵌入式系统很难实现小型化集成化,更无法SOC,所以本文 采用FPGA来实现指纹识别认证系统,利用FPGA高集成度,低功耗,短开发周期等优点,并以实现系统的ASIC为研究背景,具有很强的现实意义和广阔的 市场空间。
只有保证高质量的指纹采集才会保证高质量的指纹识别认证,因此本文主要介绍了基于FPGA的指纹识别系统的指纹采集接口部分的设计与实现方案,经实验研究证实该接口完全能满足实际需要,这为指纹识别系统的片上集成打开了一个良好的开端。
参考文献:
[1]谢健阳,李铁才,唐降龙等.指纹识别系统的设计与实现.微计算机信息.2006;22(3-2):156-157;
[2]周宁婕,付宇卓,周煜.基于DSP的指纹识别系统硬件平台设计.计算机仿真.2005;22(1):241-243;
[3]黄林波,杜坤梅,谢建阳等.基于ARM的指纹识别算法的研究与开发.哈尔滨商业大学学报(自然科学版).2005;21(2):179-181;[4]沈小丰, 李小贝.便携式指纹识别系统的设计.自动化技术与应用.2005;24(4):55-58
[5] MBF300 Solid State Fingerprint Sweep Sensor,Data Sheet[Z].2002 [6] Spartan-3 FPGA Family: Complete Data Sheet [Z].2005
第三篇:基于单片机体温检测仪系统的设计与实现
In this paper, a temperature detection system based on a single-chip microcomputer is designed to detect human body temperature, display it in digital form, and play the detected human body temperature specific value through the mode of voice playback.The system is composed of several parts: SCM, sensor, LCD, and voice module.The hardware structure is designed with the microcontroller STC89C52 as the core.It detects the human body temperature through the temperature sensor DS18B20, displays the human body temperature value on the LCD1602, and then plays the detected value through the voice module..Part of the system software through the software keil C language program development and design, debugging.The designed electronic body temperature detector has realized temperature detection, digitization, and electronization, which is of great help to the development of future thermometers.The electronic thermometer can gradually replace mercury(toxic element)thermometers, which greatly improves the use value of thermometers, makes readings clear, and reduces Human body damage, safety and environmental protection have further improved the smart life of people.Keywords: Body temperature detector;Electronic;STC89C52 microcontroller;LCD1602
I
基于单片机体温检测仪系统的设计与实现
目录
摘要...........................................................................................错误!未定义书签。Abstract.....................................................................................错误!未定义书签。目录...........................................................................................................................II 1 绪论.............................................................................................................................................1 1.1 背景..................................................................................................................................1 1.1.1 项目背景.......................................................................................................................1 1.1.2 国内发展状况...............................................................................................................1 1.1.3 项目研究内容和要求...................................................................................................2 2 系统分析与设计.........................................................................................................................3 2.1 系统分析..........................................................................................................................3 2.1.1 系统流程.......................................................................................................................3 2.2 概要设计..........................................................................................................................3 2.2.1 程序流程.......................................................................................................................3 2.2.2 功能模块介绍...............................................................................................................3 3 系统实现...................................................................................................................................12 3.1 读ROM地址...............................................................................................................12 3.2 读取温度........................................................................................................................13 3.3 显示温度........................................................................................................................14 4 测试结果...................................................................................................................................16 4.1 测试计划........................................................................................................................16 4.2 仿真结果........................................................................................................................18 5 总结与展望...............................................................................................................................IV 参考文献...................................................................................................................V 致谢...........................................................................................错误!未定义书签。
II
基于单片机的体温探测仪设计 绪论
1.1 背景
体温是人们身体状况的重要指标之一。体温的高低影响着人们的健康状况,会引起一系列的疾病,所以在生病的时候,体温的数值至关重要,而温度检测仪是人们常用的手段。1.1.1 项目背景
在正常的健康状态下,体温是稳定的,保持在约36.2至37.2℃,具体的温度数值产生状况可以区分为:低热:37.4℃~38℃;中等度热:38.1℃~39℃:高热:39.1℃~41℃;超高热:41℃以上。体温的变化会影响人们的健康,所以检测体温就显得非常重要。在现代发展过程中,体温探测器是最重要的手段之一。我们经常使用的水银温度计就是其中之一。然而,由于包含有毒元素和电子技术的水银温度计的发展,电子温度计逐渐发展并渐渐取代水银温度计。
最早的温度计产生在16世纪,由意大利发明家伽利略发明,后来伽利略的学生和其他科学家,在这个基础上反复改进,华氏温度计诞生了;华氏温度计制成后又经过30多年,瑞典人摄尔修斯改进了华伦海特温度计的刻度,他把水的沸点定为100度,把水的冰点定为0度。后来施勒默尔把两个温度点的数值又倒过来,就成了现在的百分温度,即摄氏温度,用℃表示,成为了人们常用方式。
在现代技术的高速发展,电子体温检测仪逐步出现发展壮大,渐渐取代普通体温计,电子体温计由温度传感器,LCD显示器,和集成电路等电子元件组成。电子体温检测仪可以快速准确地测量一个人体温,与传统的水银温度计相比,电子温度检测仪具有读数方便,测量时间短,精度高,记忆性好等优点。特别是电子体温计不含水银,对人体和环境没有影响,特别适合家庭,医院等场合使用。
1.1.2 国内发展状况
中国的电子温度计产业起源于1998年,发展速度超过30%,并在一年内超过10年。利润率,政策壁垒和技术壁垒低一倍甚至10倍以上,吸引了大量公司进入该行业。目前,拥有80多个电子温度计的国产品牌是行业领先的国外品牌,如“欧姆龙”,“夏尔”,“网关”等。有“海尔”,“Delcon”,“Yucon”和“Hypercon”。华辰,华安,康复,冲等迅速发展。未来国内品牌扩张,试图进入该行业的厂商将达到50家以上。由于电子温度计行业逐步标准化和高新类的电子产品的兴起,电子体温计产品行业进入空前高速发展阶段。
常用的电子温度计有三种类型:硬棒温度计:广泛应用于家庭的温度计,使用腋下测量和口腔测量。软棒类型:软头电子体温计可以任意弯曲,多方位,无死角,适合所有部位的测量,一般可以使用口,腋,肛三种测量方法。安抚奶嘴类型:婴儿安抚奶嘴电子体温计是根据宝宝的生理特点精心设计和制造的。所有部件都设计
基于单片机体温检测仪系统的设计与实现
成圆弧形,曲率基于婴儿嘴巴的形状。硅胶奶嘴中的温度传感器包含一个温度传感器。与以往传统市场的体温计相比,它的误差一般不超过±0.1℃,易于读取和携带,但是当由体温,时间和外界空气,体内不同部位测得的体温和温度差异导致稳定性差。
1.1.3 项目研究内容和要求
在本项目中,设计的体温检测仪要求便于携带,精度准确,具有播报功能。所以在设计中选取了单片机STC89C52为核心,因为STC89C52它具有便携性,易用性和高性能等优点,它内部具有存储器4K,宽度8bit,128内存,本设计使用它可以满足我们所有的需求。此外还选用了温度传感器DS18B20为主的检测体温模块,检测体温温度,用LCD1602显示体温数值作为体温检测仪的显示器,最后加以来实现体温检测到的数值播报功能。在本项目中研究的主要是体温检测,经过温度传感器进行温度采集,再进行数字转换,通过单片机转发给显示模块LCD1602,在进行数值播报这一系列功能实现的过程。
具体功能:
1、显示温度范围 0摄氏度到85摄氏度。
2、温度精确到小数点后一位。
3、LCD1602显示DS18B20检测到的温度数值。
4、当温度超过一定上限的数值,会进行温度交警,LCD显示“temp is too high”
基于单片机体温检测仪系统的设计与实现 系统分析与设计
2.1 系统分析
在这个设计当中选用了单片机STC89C52作为核心,主要起主控作用,控制着整个系统的运行。这个体温检测仪系统采用了温度传感器DS18B20进行温度的检测,当传感器检测温度之后,会在LCD1602上显示相应的温度数值。2.1.1 系统流程
系统设计流程图如图1-1所示。
图2-1系统设计框图
2.2 概要设计 2.2.1 程序流程
程序流程图如图2-2程序流程图所示
图2-2程序流程图
2.2.2 功能模块介绍
单片机系统模块:主要由STC89C52单片机、复位电路和晶振电路三个部分组成。
基于单片机体温检测仪系统的设计与实现
STC89C52单片机是ATMEL公司制造的低电压,高性能CMOS 8位微控制器。它采用ATMEL的高密度非易失性存取技术,内置8个字节的只读存储器(EPROM)和128字节内部RAM,k字节Flash闪速存储器。STC89C52单片机拥有较高的性能,而且成本低,可用于各种控制领域,它集成了微型计算机的主要组件,包括CPU,存储器,可编程I / O端口,定时器/计数器和串行端口。
芯片参数:
1、工作电压:3.3V--5.5V
2、工作频率范围:0--40MHz 3、8位CPU
4、片集成256字节RAM。5、4个8位的并行I/O接口:P0,P1,P2,P3
6、单片机下载程序直接通过P30 P31 RXD和TXD串行端口。
7、具有EEPROM功能。8、2个16位定时/计数器 9、5个优先级别的5个中断源
10、定时器可以用来模拟许多异步串行端口。它的基本结构如图3-1所示。
图2-3单片机基本结构图
电源电路:此最小系统中的电源供电模块的电源可以通过计算机的USB口供给,也可使用外部稳定的5V电源供电模块供给。电源电路中接入了电源指示LED,图中R2为LED的限流电阻。当LED发亮时,这表示USB电源电路供电成功。
基于单片机体温检测仪系统的设计与实现
图2-4电源电路图
晶振电路:电路中的C1非极性电容器和C2非极性电容器是启动电容器。当12MHz晶体振荡器工作在高频时,它会产生一定的寄生电感。为了平衡电感并产生谐振,可以添加两个10-33pf的非极性电容。
单片机内部有一个振荡电路,我们需要将晶振电路连接到外部工作。晶体和电容以及内部电路组成一个振荡电路。只要MCU接通电源,电容就开始振荡,晶体振荡器工作,从而使MCU具有连续的时钟信号。51单片机有一个12路分频器,所以时钟周期为t = 1 /12000000≈1us。
图2-5晶振电路图
基于单片机体温检测仪系统的设计与实现
LCD显示模块:LCD1602是一种用于显示字母,数字,符号等的点阵式液晶模块。由多个5X7或5X11点阵字符位组成,每个点字符位都可以显示一个字符,每一位在点线之间有一个间隔,每行也有一个间隔,它会播放一个字符间距和行。间距的作用。LCD1602指显示内容为16X2,表示可显示两行,每行16个字符的LCD模块(可显示字符或者数字)。我们可以通过单片机的端口来控制LCD1602的数据引脚,数据命令和使能引脚由SCM的P1.5,P1.6和P1.7端口控制。通过遵循LCD1602通信时序控制,我们可以显示要显示的数据,通过P2端口发送给LCD实时显示。
图2-6 LCD显示电路图
LCD1602采用标准的16脚接口,其中: 1:GND是电源地
2:VCC连接到5V电源的正极。
3:V0是LCD对比度调节端子。当正电源连接时,对比度最弱。当电源接地时,对比度最高。(对比度过高,会产生“鬼影”,使用时可用10K电位器调节对比度)。
4:RS为寄存器选择,高电平为1时选择数据寄存器,低电平为0时选择指令寄存器。
5:RW是读/写信号线。读操作在高电平(1)下执行,写操作在低电平(0)下执行。
6:E(或EN)端为使能端,高电平时读信息(1),负跳时执行指令。7〜14:D0〜D7为8位双向数据终端。第15至第16脚:空脚或背光电源。15:针背光正极 16:针背光负极。
功能特点:3.3V或5V工作电压,对比度可调,包括复位电路,提供多种控制命令,如:清屏,字符闪烁,光标闪烁,显示移位等功能,具有80字节数据显存DDRA内存是192个字符发生器CGROM与5X7点阵和8个用户可定义的5X7字符发生器CGRAM。
特点应用:微功耗,体积小,显示内容丰富,超薄轻便,常用于袖珍仪器和低功耗应用。LCD1602指令、功能令、指令码如下图所示:
基于单片机体温检测仪系统的设计与实现
图2-7
LCD1602指令集图
测温模块:由DS18B20传感器组成,单总线结构,DS18B20的DQ与单片机P3口连接,通过上拉电阻接电源,只要发送DS18B20传感器相应的ROM地址,就能访问该器件。本系统通过DS18B20传感器检测到人体温度,再调用单片机中的读取DS18B20温度的程序:向总线放启动温度转换命令,启动连接总线上的DS18B20模块温度装换——根据传感器的64位ROM地址,发送到总线匹配对应的传感器模块——向总线发读取暂存器命令读DS18B20模块转换的温度值。
图2-8
测温模块电路图
基于单片机体温检测仪系统的设计与实现
DS18B20传感器的工作原理:DS18B20的读写时序和温度测量原理与DS1820相同,但由于温差取得的位数不同,温度转换延时时间从2s到750ms不等。DS18B20温度测量原理:低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号给计数器1。高温度系数晶体振荡器随着温度显着地改变其振荡速率,并且所产生的信号用作计数器2的脉冲输入。计数器1和温度寄存器预设为对应于-55°C的基准值。计数器1对由低温度系数晶体振荡器产生的脉冲信号进行倒计数。当计数器1的预置值减小到0时,温度寄存器值将增加1,计数器1的预置再次被加载,并且计数器1重新启动。对由低温度系数晶体振荡器产生的脉冲信号进行计数,并且重复该周期直到计数器2达到0.温度寄存器值的累积被停止。此时,温度寄存器中的值是测量温度。斜率累加器用于补偿和校正温度测量过程中的非线性,其输出用于校正计数器的预设值。技术性能:
1、独特的单线接口模式,DS18B20只需要一条端口线即可连接微处理器,实现微处理器与DS18B20的双向通信。
2、温度范围-55°C〜+ 125°C,固有温度误差(注意,不是分辨率,以前出错了)1°C。
3、支持多点联网功能,多个DS18B20可以并行连接在三根线上,最多只能并联8根,实现多点温度测量,如果数量过多,会使电源电源电压过低,导致信号传输不稳定。
4、电源:3.0〜5.5V / DC(数据线寄生供电)
5、不需要使用任何外部组件
6、测量结果以9〜12位串行传输
7、不锈钢保护管直径Φ6
8、适用于DN15〜25,DN40〜DN250各种传媒行业管道和狭小空间设备的测温
9、标准安装螺纹M10X1,M12X1.5,G1 / 2“可选
10、PVC电缆直接出线或德式球接线盒出线,方便与其他电器设备连接。接线方法:
面对传感器平坦的一面,左正右负,一旦逆转,它们会立即变热,并可能燃烧!同时,反过来也是传感器始终显示85°C的原因。在实际操作过程中,正负旋转反转,传感器立即发热,液晶屏不显示读数,正负极端显示85°C。另外,如果使用51单片机,中间引脚必须连接4.7K-10K的上拉电阻,否则,由于高电平不能正常输入/输出,或者在电源显示85°C后立即或 使用几个月后温度升至85°C并正常。特点:
独特的第一线接口只需要一个端口通信,简化了分布式温度检测应用。不需要外部组件来提供数据总线电力。电压范围为3.0 V至5.5 V.不需要备用电源。测量温度范围为-55°C至+ 125°C。华氏度相当于-67°C至257°F-10°C至+85°C±0.5°C
基于单片机体温检测仪系统的设计与实现
温度传感器可编程分辨率为9至12位,温度转换为12位数字格式,最大可达750毫秒,用户可定义的非易失性温度报警设置,应用包括温度控制,工业系统,消费类电子产品温度计,敏感系统。
描述DS18B20的数字温度计提供9到12位(可编程设备温度读数)。由于DS18B20是一种端口通信,中央微处理器只有一个与DS18B20的端口连接。对于读写和温度转换,可以从数据线本身获得能量,无需外部电源。由于每个DS18B20包含一个唯一的序列号,所以同一条总线上可以同时存在多个DS18B20。这使得温度传感器可以放置在许多不同的地方。它有许多用途,包括空调环境控制,建筑物中温度设备或机器的传感,以及过程监控和控制。
DS18B20使用单线通信接口,由于第一线通信接口,必须先完成ROM设置,否则存储器和控制功能将不可用。主要提供以下功能命令之一:1.读取ROM 2.ROM匹配3.搜索ROM 4.跳过ROM 5.报警检查。这些指令在没有设备的64位平版ROM序列号上运行。可以选择一条线上的多个设备来选择一个设备。同时,总线可以知道总线上有多少设备以及总线上有哪些设备。
如果指令成功完成DS18B20温度测量,则数据将存储在DS18B20的存储器中。控制功能指示DS18B20执行温度测量。测量结果将被放入DS18B20的存储器中,并可由存储器功能的指令器读取,读取内容的片上存储器。温度报警触发TH和TL有一个字节的EEPROM数据。如果DS18B20不使用警报检查指令,则这些寄存器可用于一般用户存储目的。片内还包含配置字节以理想地解决温度数字转换问题。写入TH,TL指令和配置字节是使用存储器功能指令完成的。通过寄存器读寄存器。所有数据的读写从最低位开始。
部件描述:DS18B20的存储器由暂存RAM和电可擦除RAM组成,电可擦除RAM又包括温度触发器TH和TL以及配置寄存器。内存可以完全确定第一线端口的通信,用写入寄存器的命令将数字写入寄存器,然后读取寄存器的命令也可用于确认这些数字。当进行确认时,可以使用命令复制寄存器将这些数字传送到电可擦除RAM中。当寄存器中的数字被修改时,此过程确保数字完整性。
高速缓冲存储器RAM由8个字节的存储器组成;读取寄存器的命令可以读取第九个字节。该字节用于验证前八个字节。
64位光刻ROM,其前8位是DS18B20自己的代码,接下来的48位是连续的数字代码,最后8位是CRC校验的前56位。64位光刻ROM还包含五个ROM功能命令:读取ROM,匹配ROM,跳转ROM,查找ROM和报警查找。
外部电源连接:DS18B20可以使用外部电源VDD或内部寄生电源。当VDD端口连接到3.0V至5.5V的电压时,使用外部电源;当VDD端口接地时使用内部寄生电源。无论是内部寄生电源还是外部电源,I / O端口线都必须连接一个约5KΩ的上拉电阻。
配置寄存器配置有不同的位数,以确定温度和转换次数。可以看出,R1和R0
基于单片机体温检测仪系统的设计与实现
是温度决定位,可以通过R1和R0的不同组合来配置为9位,10位,11位和12位温度显示。这样,可以知道对应于不同温度转换位的转换时间。四种配置的分辨率分别为0.5℃,0.25℃,0.125℃和0.0625℃,出货时配置为12位。
温度读数:DS18B20配置为12位。读取温度时,读取16位数据。前5位是符号位。当前5位为1时,读取温度为负值;目前的5位。在0时,读取温度为正值。当温度为正值时,读取方法为:将十六进制数转换为十进制数。当温度为负值时,读数方法为:将16加到16的倒数,然后转换为10进制。例:0550H = +85 度(0*16^0+5*16^1+5*16^2+0*16^3=1360;1360*0.0625=85),FC90H =-55 度。
ROM指令表如下所示:
图2-9 ROM指令表图
RAM指令表:
图2-10 RAM指令表图
时序:
使用时间间隙来读写 DSl8B20 的数据位和写命令(1)初始化
时序见图 2.11 总线 在to 时段发送一复位脉冲(最短为 480us 的低电平信号)接着在 tl 时段释放总线并进入接收状态 DSl8B20 在检测到总线的上升沿之后 等待 15-60us 接着 DS18B20 在 t2 时段发出存在脉冲(60-240 us)如图中虚线所示。
基于单片机体温检测仪系统的设计与实现
图2-11 初始化时序
(2)写时间隙
当总线 t0 时段从高电平到低电平时,就产生写时间隙,见图 2-12和 图 2-13,从 t0时段开始在15us 之内应将所需写的位送到总线上 DSl8B20 在 t 后 15-60us 间对总线采样,若低电平写入的位是 0。见图 2-12,若高电平写入的是 1,见图 2-13连续写 2 位间的间隙应大于 1us。
图2-12 写0时序
图2-13 写1时序
(3)读时间隙
见图 2-13主机总线 to 时段从高拉至低电平时 总线只须保持低电平l 7us 之后在 t1 时段将总线拉高 产生读时间隙 读时间隙在 t1 时段后 t 2 时段前有效 t z 距 to 为 15us 也就是说 t z 时段前主机必须完成读位 并在 t o 后的 60 us 一 120 us 内释放总线。
图2-14 读时序
读取温度过程:调用初使化子程序---送入跳过 ROM 命令(0xcc)---送入温度转换命令(0x44)---温度转换,再次初使化 ds18B20---送入跳过 ROM 命令(0xcc)-----送入读温度暂存器命令(0xbe)---读出温度值低字节----读出温度值高字节。
报警模块:当检测到的体温数值超过37摄氏度时,系统会进行报警显示,LCD1602进行报警提示,LCD第二行会显示“temp is too high”。
基于单片机体温检测仪系统的设计与实现 系统实现
3.1 读ROM地址
读ROM地址程序要把DS18B20模块连接到单总线上,并把当前DS18B20模块的ROM地址读取:过程如下,首先计算存储当前DS18B20模块ROM地址的存储单元的偏移地址,然后初始化DS18B20,发送和读取ROM命令,并将ROM地址读入内存位置。读ROM地址部分程序: void read_ROM(){
uchar j;
j = NUM1*8;
DS18B20_init();
write_byte(0x33);
ROM[j] = read_byte();}
图3-1 ROM读取地址程序的流程图
基于单片机体温检测仪系统的设计与实现
3.2 读取温度
读取DS18B20温度时,首先向总线放启动温度转换命令,启动连接总线上的DS18B20模块温度装换;再根据传感器的64位ROM地址,发送到总线匹配对应的传感器模块;最后向总线发读取暂存器命令读DS18B20模块转换的温度值。读取温度部分程序: void read_temp()
{ DS18B20_init();write_byte(0xcc);
write_byte(0x44);
delay(400);
DS18B20_init();write_byte(0xcc);write_byte(0xbe);
DATA_L = read_byte();
DATA_H = read_byte();
temp1=DATA_H*256 + DATA_L;
temp=temp1*0.0625;temp2=temp*10;}
图3-2 DS18B20读取温度程序的流程图
基于单片机体温检测仪系统的设计与实现
3.3 显示温度
显示温度传感器读出的温度值,DS18B20传感器的温度值是12位,存放在2个字节中,其中高字节的高5位为符号位,如果温度值是正数,则符号位0,如果温度值是负数,则符号位为1。在显示温度程序时,首先根据高位字节的高5位确定是正数或者负数,并提取高位字节的百位,十位和十位数字,并将其转换为字符代码并将其放入相应的缓冲区;将其内容显示在液晶监视器上。显示温度部分程序: void disp_temp(){
uchar k;
} 报警提示: if(temp2 > 370)
{
wc51r(0xc0);
{
wc51ddr(LCD2_line[k]);
delay(2);
} } else {
wc51r(0xc0);
wc51r(0x80);
LCD1_line[10] =(temp2%100)%10+0x30;LCD1_line[7] =(temp2/100)+0x30;
LCD1_line[8] =(temp2%100)/10+0x30;
LCD1_line[9] = '.';LCD1_line[12] = '^';LCD1_line[13] = 'C';for(k=0;k<16;k++){
wc51ddr(LCD1_line[k]);
delay(2);}
for(k=0;k<16;k++)
基于单片机体温检测仪系统的设计与实现
for(k=0;k<16;k++)
}
{
wc51ddr(LCD3_line[k]);
delay(2);
} }
图3-3 DS18B20显示温度程序的流程图
基于单片机体温检测仪系统的设计与实现 测试结果
4.1 测试计划
在keil,我们编译程序并通过keil编译编译器,以确保程序没有错误。如果没有错误,我们使用keil软件模拟逐步模拟并检查相关寄存器的值以确认程序是否正确。或者,通过编译生成的十六进制文件编译仿真软件并检查结果,直到结果没有错误。
Proteus仿真软件不仅可以在仿真软件的接线图中,Keil编译的编译程序可以直接下载到单片机仿真器上,可以模拟实验结果,从而检测出设计成功。
在keil中,我们编写了一个由keil中的编译器编译的程序。这确保语法无错误。我们在keil中使用软件仿真来模拟逐步模拟,并且检查相关寄存器的值。该过程是正确的。或者编译生成的HEX文件并将其写入仿真软件以查看特定效果,并且可以无误地完成。
Keil C51由ARM公司开发。它是一款非常强大的单片机开发工具,用于51单片机的开发和设计,内部具体的编译和调试软件仿真等等。您也可以开发ARM程序。Keil软件只需要设置生成HEX,就可以将高级语言翻译成机器可识别的机器语言。
设计开发过程使用Keil C51开发环境。首先打开keil C51程序开发软件,双击这个软件进入软件开发的主界面,这时候没有项目文件,我们需要创建一个项目,点击项目项目,选择第一个选项,然后选择保存位置和项目名称,然后弹出选择单片机类型的接口,因为我们使用的硬件单片机STC89C52和AT89S52属于同一个。当keil创建项目时,我们可以用AT89C52替换STC89C52微控制器。由于它们都属于5微控制器,请选择确定,然后单击确定。
图4-1 keil创建工程
完成上述步骤后,需要创建.c文件并将其保存,然后想要将保存的.c文件添加
基于单片机体温检测仪系统的设计与实现
到项目中,右键单击该项目组,然后选择添加文件...,然后 你可以看到项目目录中的.c文件。此时,您可以将程序写入程序区域。程序编写完成后,需要编译。Keil C51软件可以生成可直接使用的HEX格式文件。因此,还必须生成HEX文件。要生成HEX文件,您必须在IDE的“Projet”>“Output”HEX-80中选择HEX Format列,然后勾选Create HEX File列。如下图所示:
图4-2 keil配置图
接下来我们把编译生成的hex文件,下载到仿真软件中的模拟单片机,进行仿真测试。
Proteus软件是英国Lab Center Electronics公司发布的EDA工具软件(该软件是广州飞马电子科技有限公司的总代理)。它不仅具有其他EDA工具软件的仿真功能,而且还可以仿真MCU和外围设备。它是模拟微控制器和外围设备的更好工具。尽管目前国内的推广工作刚刚起步,但单片机爱好者,从事单片机教学的教师以及致力于单片机开发和应用的科技工作者对此表示赞赏。
Proteus是英国着名的EDA工具(仿真软件)。从原理图布局和代码调试到单片机和外围电路的协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。它是世界上唯一将电路仿真软件,PCB设计软件和虚拟模型仿真软件相结合的设计平台。该处理器型号支持8051,HC11,PIC10 / 12/16/18/24/30 / DsPIC33,AVR,ARM,8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并继续增加其他系列处理器模型。在编译方面,它也支持许多编译器,如IAR,keil和MPLAB。
特征: 1.原则布局
2.PCB自动或手动布线 3.SPICE电路仿真
基于单片机体温检测仪系统的设计与实现
革命性的特点: 1.交互式电路仿真
用户甚至可以使用RAM,ROM,键盘,电机,LED,LCD,AD / DA,一些SPI器件和一些IIC器件等实时应用。
2.仿真处理器及其外围电路
可以仿真51系列,AVR,PIC,ARM等。常用的主流单片机。您也可以直接在基于原理图的虚拟原型上编程,然后显示和输出。运行后您可以看到输入和输出的效果。通过配备系统配置的虚拟逻辑分析仪和示波器,Proteus建立了完整的电子设计开发环境。4.2 仿真结果
经过仿真测试,系统顺利运行,LCD显示准确地得出检测的结果。
图4-3 电路模拟仿真图
实物检测成果如下图所示:
基于单片机体温检测仪系统的设计与实现
图4-2 系统实物检测图
基于单片机的体温探测仪设计 总结与展望
本系统通过以单片机STC89C52为核心设计开发的体温检测仪,用DS18C20传感器检测体温,在LCD1602显示体温数值,在最后的实验下基本实现了这些功能,满足了项目需求。但是该系统还是存在着不少的缺陷,还有许多改进的地方需要完善。相较于其他的温度检测系统来说,本次设计的体温检测仪最大的亮点就在于它的集成度较高,携带也比较方便,我对此系统还有更近一步的空间,对于温度传感器的知识了解还不是很深入,对此掌握的还不是很熟练。通过了这次的温度检测仪的设计和开发,对温度传感器的知识有了进一步的了解,在设计的过程中也学习到了很多知识,也了解了自己的不足之处,希望在今后能够加深对这方面的知识,在以后的设计过程中能更一步。
IV
基于单片机体温检测仪系统的设计与实现
参考文献
[1] 杨加国,谢维成.单片机原理与应用及C52程序设计(第三版)[M].北京:清华大学出版社,2014.[2] 李泉溪.单片机原理与应用实例仿真.北京:北京航空航天大学出版社,2007: 266-275.[3] 高卫东.51单片机原理与实践[M].北京航空航天大学出版社,2011.[4] 潘永雄.新编单片机原理及应用[M].西安电子科技大学出版社,2008.[5] 何立民.单片机应用系统设计[M].北京:北京航天航空出版社,1990:50-490.[6] 刘瑞新.单片机原理及应用教程.机械工业出版社,2003:7 [7] 楼然苗.单片机课程设计指导.北京:北京航空航天大学出版社,2007:55-63.[8] 贾巍.单片机仿真开发软件的应用[M,]中国水运出版社,2007.[9] 刘文涛.单片机应用开发实例[M].清华大学出版社,2005.[10] 王勇等.凌阳单片机原理及其毕业设计精选[M].科学出版社, [11] 刘笃仁,韩保君.传感器原理及应用技术[M].机械工业出版社,2003:8.[12] 何希才.传感器及其应用电路.北京:电子工业出版社,2001:36-47.[13] 张开生,郭国法.MCS-51单片机温度控制系统的设计[M].2005:7.[14] 赵丽娟,邵欣.基于单片机的温度监控系统的设计与实现[M].机械制造,2006:3.[15] 朱旭光,刘建辉.农业大棚的温湿度控制系统[J].自动化技术与应用,2005.V
基于单片机体温检测仪系统的设计与实现
VI
第四篇:汽车安全检测系统的设计与实现
汽车安全检测系统的设计与实现
引言汽车在为人类带来便利的同时,也带来了大气污染、环境噪声及交通安全等一系列问题。因此,如何把汽车废气和噪音污染限制在一定的范围内,同时又能做到安全性能相对较高,是汽车制造应重点考虑的主要因素。汽车本身是一个较为复杂的系统,出厂时都要求符合一定的标准,但随着行驶里程的增加和使用时间的延续,其性能和安全状况将会不断降低,那么汽车运行一段时间后是否还能满足标准的要求?这就要定期对其进行安全检测。汽车安全性能检测就是对汽车的安全性能状况进行测试和检验的一门技术,它已成为交通行业管理部门对车辆安全性能检测和汽车生产维修行业以及汽车进出厂检验及故障诊断的主要技术手段。2 系统构成与硬件设计汽车检测分为汽车性能检测和汽车安全检测两类,本文主要针对汽车安全检测介绍全检车过程的自动控制原理与实现。图1给出了汽车安全检测计算机控制系统的各组成部分结构框图。该系统主要由登录机、上位机和下位机(各工位检测设备及仪表)三个部分组成[1]。系统核心软件设计本系统软件主要涉及各检测设备、登录机与上位机三个部分。各检测设备程序一般均由厂家提供,系统通过其接口程序调用使用设备。登录机功能较为单一,其软件设计也不复杂。此处着重以上位机监控与管理软件来分析说明系统核心功能模块的软件设计与实现过程。3.1 数据库与数据报表设计与实现按照“汽车检测站计算机控制系统技术规范(JT/T478-2002)”[2]对数据库设计的规定,要求在车辆上线检测时,控制系统应实时记录检测数据,并在完成一辆车辆的所有检测项目后,控制系统应立即将该车辆完备的检测数据和判定结果存入数据库。为此,本系统选用了SQL Server 2000作数据库管理系统。整个系统建立一个数据库AutosDetDB,其中主要数据表有:车辆基本信息表BaseInfoT,车辆档案信息表AutosT,检测项目信息表DetItmT,检测数据信息表DetDataT,检测项目判定表AssT,项目合格标准表DetStdT等;前5个数据表通过车辆标识码VIN字段实现关联。系统设有数据源Autos,统一采用ODBC数据接口访问数据库,实现相关数据的插入、删除、修改及查询操作。数据报表是车辆安全检测站在车辆安检完毕后向车主报告或反馈车辆安全性能状况的重要技术手段。根据“机动车安全检验项目和方法(GA 468-2004)”[2]对报表设计的规范,要求报表必须涵盖如下信息:检测站名称,上线流水号,车辆基本信息,车辆七项线内检测(尾气、车速、灯光、喇叭、侧滑、轴重、制动)的检测结果及合格判定,线内地沟检查结果及合格判定,外观检查与路试等线外检验结果及合格判定。考虑到该数据报表涉及的数据类型及数据格式较多、布局错综复杂这一情况,报表设计未在VB的数据环境中使用数据报表设计器DataReport对象来进行。而是先将系统数据报表在Word 2000中制成A4页面大小的表格模板,以Doc格式文档存盘;然后在上位机软件报表窗体中引入OLE容器控件,在该容器控件中插入事先创建好的Doc格式报表模板文件并在已加载报表模板的相应位置均添加Label标签,各标签与检测数据信息表DetDataT中的相应字段绑定。每当车辆检测完后,报表模板中所有标签的Caption属性均被自动更新为当前车辆的各项目检测值,通过调用OLE控件所在窗体对象的PrintForm事件即可实现报表的实时打印输出。3.2 通信串口程序设计与实现本系统上位机与检测线上的所有检测设备和仪表均采用基于串口的主从通信方式。上位机自带2个串口另加一块PCI总线8串口卡,共可提供10个通信串口。由图1可知,这10个串口分别负责与工位电子显示屏以及分布在3个工位的9台设备和仪表进行数据通信,同时在系统程序中加载10个串口通信控件。根据各检测设备通信协议的要求,设置相应串口通信控件的关键属性[3]。考虑到系统的灵活性及检测线中检测设备通信故障检修的方便性,系统可为各设备动态分配通信端口。为统一操作和管理,系统定义了一个过程MultiComInit,负责所有串口的初始化操作;此外,还定义了一个过程MultiComCls,负责所有串口的关闭操作。以下以端口8为例,给出相应串口的初始化程序代码[4]。'MSComCH串口控件负责与侧滑仪通信MSComCH.CommPort=8 '端口号,可在1~10间设置MSComCH.Settings=“2400,n,8,1” '波特率,校验位,数据位,停止位MSComCH.InputMode=comInputModeBinary '二进制数据传输方式MSComCH.InBufferSize=512 '接收缓冲区大小MSComCH.OutBufferSize=512 '发送缓冲区大小MSComCH.RThreshold=12 '接收12字节产生oncomm事件MSComCH.SThreshold=0 '禁止发送字节产生oncomm事件MSComCH.PortOpen=True '打开串口3.3 待检项目车辆就位程序设计与实现车检时车辆就位极为关键。安检线上只有地沟属线内目视检查项目,对车辆定位没有严格要求;此外其他项目检测均需车辆精确定位,否则,检测就无法进行或是检测结果不准确。本检测线上各项目检测点均安装了光电开关或遥控开关,这些开关直接与上位机PCI-1762数字I/O卡各DI端口相连,系统通过实时判断相应DI端口的电平变化情况即可判定受检车是否就位。下面以汽车轴重检测为例,对本系统车辆就位功能模块的设计过程加以说明。汽车轴重仪传感器部分由一对电子称组成,可用于实现同轴左右轮的称重。轴重检测时需要前后两对光电开光(靠近车头的为前光电开关)实现被检轴定位。假定连接这两对光电开关的I/O卡两DI端口的电平变化情况存放在DI(0)和DI(1)数组元素中。数组元素值为1,表示光电信号被车轮遮挡;反之,则表示光电信号未被车轮遮挡。图2描述了轴重检测时被检车辆当前车轴的就位判定过程,图中TmrDW定时间隔表示车轴就位时间,该时间可视实际情况自由设定。
3.4 检测程序设计与实现车辆安全检测涉及的检测项目较多,这里仅以核心检测项目之一——制动检测为例,对其检测程序的设计过程进行描述。制动检测主要实现对车辆各轴左右轮制动力的检测,本系统采用HYZD-10型制动仪来完成这一检测过程。在检测各轴制动力时,上位机启动设备检测后,制动仪不断采样制动力并上传采样数据,同时,上位机利用串口事件触发方式接收采样数据并实时绘制制动力变化曲线,找出制动期间左右轮的最大制动力以及两轮制动力最大差值点时刻左右轮制动力。以上信息都是制动检测项目合格与否的重要衡量指标。下面给出的是连续制动5秒钟期间系统绘制的同轴左右两轮制动力变化曲线(见图3)及绘制制动力曲线的部分主要程序代码,其中,数组LX、RX分别用于存放左、右轮制动力线段的X轴坐标;数组LY、RY分别用于存放左、右轮制动力线段的Y轴坐标。OnComCnt=OnComCnt+1 '串口事件触发计数If OnComCnt=1LX(1)=OnComCnt:LY(1)=TmpL '计算左轮制动力终点坐标RX(1)=OnComCnt:RY(1)=TmpR '计算右轮制动力终点坐标ElseLX(0)=LX(1):LY(0)=LY(1)'计算左轮制动力起点坐标LX(1)=OnComCnt:LY(1)=TmpL '计算左轮制动力终点坐标RX(0)=RX(1):RY(0)=RY(1)'计算右轮制动力起点坐标RX(1)=OnComCnt:RY(1)=TmpR '计算右轮制动力终点坐标End IfPict.DrawStyle=0 '定义线型及颜色, 画线Pict.Line(LX(0),LY(0))-(LX(1),LY(1)),vbRedPict.Line(RX(0),RY(0))-(RX(1),RY(1)),vbBlue4 结束语该系统已用于本市机动车检测中心的汽车安全检测线,日检车达320辆,高峰时系统允许5辆车同时在线检测。除地沟检查和尾气检测的插取样管作业外,其余项目检测无需人工参与,基本实现了无人化自动检车。与其它检测线相比,本系统总体协调性好,能较好地均衡各工位的工作负荷,检车效率提高了0.7倍左右。系统软件可操作性强,人机界面友好。主控程序采用了前一工位封锁后一工位的级联式集中控制策略,从而可确保检测次序和防止数据错乱,提高了系统稳定性和检测结果准确可靠性。此外,上位主控机可动态设置各检测设备的通信串口号,便于系统维护和设备通信故障调试。但上、下位机间采用主从式串口通信,使得它们之间的数据交互传输距离成了本系统的一个瓶颈,因此,这一不足还有待于今后努力探索和解决。
第五篇:模拟电子线路虚拟实验教学系统的设计与实现
模拟电子线路虚拟实验教学系统的设计与实现
摘要:虚拟技术的发展使电子线路的分析设计过程得以在计算机上轻松、准确、快捷地完成。这样,一方面克服了实验室在元器件和规格上的限制,避免了损坏仪器等不利因素,另一方面使得实验不受时间及空间的限制,从而促进电子线路实验教学的现代化。
关键词: 电子线路EDA技术多媒体技术虚拟实验 1.电子线路虚拟实验概述
虚拟技术是近年发展起来的,利用计算机模仿真实过程的实用技术。电子线路虚拟实验是利用计算机构造一个实验模拟环境,通过电路的建立和对数据与电路功能的分析,达到实验效果和目的的一种新的实验方法。EDA技术是一种以计算机为基本工作平台,以高级语言描述、具有系统级仿真和综合能力的软件工具。软件有多种,其中Multisim软件是较常见的电子技术设计和实训的工具。通常工具软件的元器件库储存有许多大公司的晶体管、阻容元件、集成电路和数字门电路芯片等元器件,仪器库则有万用表、示波器、信号发生器、扫频仪、逻辑分析仪、数字信号发生器、逻辑转换等仪器,接通开关就可以进行和实物实验一样的测试分析了。但这类软件的缺点是元件均是以电路符号实现的,与实物试验差别很大.我们所完成的多媒体电子技术实验系统软件的突出优点是:元件及仪表均以实物形式重现,直观性强,可操作性高。
2.电子线路虚拟实验的实现 2.1实行虚拟实验的必要性
电子线路是一门较为抽象的理论型课程。在学习电路理论时必须理论联系实际,抓好教学中的实验环节,让学生能根据自己的实际情况,结合教师的教学要求进行实验操作,验证所学到的电路原理。但是,学生在实验中出现的种种现象又不尽人意,暴露了传统实物实验的一些固有缺陷。例如:
(1)学生不熟悉电路连接,还没有掌握好锡焊技术,所以连接电路时极易出错。
(2)电路连接错误,易造成电子元器件及测试仪器的损坏。学生不熟悉仪器操作也是造成仪器容易损坏的原因。
(3)学生不能根据自己的学习进度安排实验时间,更不能像做家庭作业一样在课余时间进行练习。有限的教学时数与学生技能的提高矛盾突出。
(4)实验的元器件离散性大,环境变化引起的温漂、干扰等因素会造成实验数据的偏差。(5)传统的电子技术实验是以实物为主的,设备易磨损老化,需要定期更新;教学实验室的设备配置与教学大纲的教学要求相对应,随着教学要求的提高及电子技术的飞速发展,实验设备的技术水平也不断提高,数量也要有所增加,这要消耗我们有限的教学经费。EDA技术恰好能够弥补实验的不足。它的优点是:
(1)在计算机上即可完成和实现电路的电气连接,检测电路的电性能。例如,显示检测点的电压电流波形及对电路进行直流分析、交流分析、瞬态分析、傅立叶分析等多种分析,及时获得实验结果。
(2)评估元器件参数变化(包括故障)对电路造成的影响。分析一些较难测量的电路特性,如进行噪声(Noise)、频谱(Fourier)、器件灵敏度(Sensitivity)、温度特性(Temperature)分析等。
(3)可以在短暂的实验时间里快速完成较复杂的电路连接、测试工作。(4)可以很容易地实现对学生的量化评估。
2.2实验室的建构
作为传统电子技术实验的补充,使学生初步掌握仿真软件技术,可使实验内容紧密联系课本内容,比较全面地概括和反映部分所学的知识点,将课堂内容具体化。一方面继承实物
实验可操作性、参与性强的优点,另一方面又可利用计算机优势,发挥其直观、动态模拟、迅速准确、资源共享、资金投入量少等特点,从而建立一种新型的实验教学方式,进一步提高教学效率。系统配置是:一台多媒体计算机+多媒体电子技术实验系统应用软件。
3.虚拟实验示例
现以“单管基本电压放大器”为例,说明具体实验在虚拟实验室中是怎样开展的。实验中进行了一系列参数设置、波形观察和数据读取,以验证虚拟实验的可操作性。
首先计算机装上具有电子技术实验系统功能的软件,然后利用软件提供的元件和仪器在屏幕上搭建单管电压放大电路,如图1所示。
图1单管电压放大电路
图中信号发生器的输出信号频率为1kHz,幅度为VP-P=20mV的正弦波;万用表用于测量各点的工作电压;示波器用于测量各点的波形。
接通虚拟直流电源开关,调整电位器Rw,使电路处于最佳放大状态,示波器就显示出波形失真最小、输出信号幅度最大的反相放大波形;Rw调至阻值最大时,三级管接近截止,输出幅度较小的截止失真波形;调至阻值最小时,三级管接近饱和,输出饱和失真波形。图1中显示为三极管放大状态时示波器面板显示图。
通过一系列电路的测试和数据的读取分析与实物实验所得结果进行比较,得出基于EDA软件的电子线路虚拟实验能完整、准确、快速地达到所有电子线路课程的实验要求和实验目的的结论。
4虚拟实验在教学中的应用 4.1功能作用
a.辅助课堂教学
传统的电子线路教学往往是理论教学和实验部分分开进行。教师在教室内用粉笔、黑板传授抽象的理论知识,在黑板上画电路图,给学生分析电路特性,分析电路随着某一元件的
变化而变化的情况。教师讲得辛苦,却得不到理想的效果;学生听课吃力,往往不得要领,很难对有关理论留下深刻的印象。进行实验,其主要目的就是为了检验课堂上传授的理论知识,加深对理论的理解和记忆。但是我们很难将一个实验搬到课堂中来,倘若有虚拟实验室,便可以很方便地利用其在课堂上进行演示,让抽象的理论及时得到检验,给予学生感官上的认识,达到从感性认识到理性认识的有机过渡。
b.代表实物实验中理论的验证、电路分析和数据获取等部分的操作 辅助实验教学的开展,为学习者提供一个检验电子线路理论和知识的环境。充分利用计算机快速准确将繁琐的计算公式通过编制程序计算出结果,画出精确仿真图线,帮助学生理解和分析复杂的电路。学生可以独立使用自己计算机中构建的虚拟实验室,主动设疑、实验,不断地得到实验结果;并且可以修改参数,在不必担心损坏仪器的情况下,迅速进行实验仿真,检验自己对所学知识的掌握情况,这对提高学生的学习积极性,提高教学水平是有益处的。
c.便于学生发挥创造性思维
教育的目的在于提高学生的分析能力、判断能力及创新能力,提高学生的综合素质。我们知道用实物设计制作复杂一点的电路,单是搭建时准备零件、制作电路板、焊接就要花费不少功夫;接好电路后,为了使电路处于满意的工作状态,不断地更换零件、调整参数也是十分费时费工的。学生要运用自己学到的知识设计制作新颖的电路是一件很困难的事。现在,虚拟实验室给学生创造一个优良环境,学生可以充分发挥他们的智慧,展现他们的才华。
d.完善电子线路的远程教学 实验虚拟化,把实验室搬到了网络,对于电子线路这门操作性很强的课程来说,更加完善了电子线路的远程教学。
4.2运用基础
与传统实验一样,实验仿真软件在设置实验时,首先明确该实验要解决什么问题。这就要求教学人员不仅要对课程内容和教学任务做系统深入的研究,认识该学科的特点,划分知识点,尤其是重点、难点,而且还要充分考虑学生的学习特点,在此基础上确定实验内容,编写实验指导书,让学生在具备电子线路基本知识的基础上开展虚拟实验。
4.3工作流程
在虚拟实验室中做实验的基本流程程序结构(如图2所示)。
图2实验基本流程方框图
因为我们的教学主要是理论传授,不需要去开发和设计电路,所以上述的实验流程并不包括电路设计开发部分。但是EDA软件在极大地满足我们的实验要求的基础上,还有非凡的应用潜力,这无疑是个广阔的天地。
在计算机辅助教学实践中,学生上机普遍存在两个问题:一是面对众多的计算机,教师难以准确、全面地掌握学生练习的实际情况,及时进行个别辅导;二是难以做到上机时学生之间、师生之间进行情况交流,使上机操作变成学生自己的活动,影响教学。因此就要求建立一种虚拟试验的教学模式,使教学信息交流双向化。
4.4虚拟实验室课堂的教学模式
由于虚拟实验室加入了教学的环节,打破了传统教学的流程,势必要求制定出新的教学模式以适应发展的需要。根据建构主义理论和教学设计理论的有关知识,可建立以下两个教学模式(如图3所示):
图3a实物实验教学模式方框图图
图3b虚拟实验教学模式方框图
第一种模式是先做1~2次实物实验,学生有了形象体验后再做虚拟实验,对于从事没有实物操作经验或抽象思维能力、形象化能力较差的人,这样做效果会好些;理工科的学生关于电子实物制作一般都已有所接触,所以第一、二种教学模式他们都能较好地接受。教师可根据教学和实验效果适当变更。
5建立虚拟实验室,推广电子线路远程教学
在信息社会中,知识的更新速度很快,各学科间的相互交叉渗透更为普遍,一次性的学校学习将不能满足信息社会对人才的需求。这就使得各层次的教育必须面向社会,以服务于不同需求的社会人群。这个教学任务是传统的教学手段所不能胜任的。Internet的飞速发展和普及,使这一教学任务的实现成为可能。
教学软件与Internet接轨才能在人们广泛的继续教育、培训教育乃至终身教育中显示其优势性能,充分发挥重要作用。本软件就是让电子线路实验教学与Internet接轨的良好工具。使用本技术的虚拟实验室可以有效地配合网上电子线路理论教学,原有的电子线路CAI加上虚拟实验将使网络教学更加完善,便于推广电子线路教学的远程化。
虚拟实验室不受时间及空间限制的这一特性,对于读非全日制课程的学生有非常大的帮助,令他们无须到真正的实验室做实验。这样学生学习就可以不受地理环境、时间、年龄、职业的限制,可以根据各自的学习习惯灵活机动地安排自己的学习时间。在需要的时候,任何人只要与Internet互连,就可在任何地方,机会均等地接受同样的教育,接受网络为他们提供的完整的知识信息和技能培训。