用单片机和EDA协同设计温度采集系统

发布者:技术掌门最新更新时间:2012-07-17 来源: 21ic 关键字:EDA  操作系统  单片机 手机看文章 扫描二维码
随时随地手机看文章

       引 言

  目前市场中大多数温度采集卡的测量范围、测量方式及测量精度在出厂时就已经固定。测量方式单一、测量范围固定、传感方式也只能适应一定的场合。因此不能很好的适用一些多测量方式及测量范围的场合。再者它们的测量程序和查表数据库已经固定,对于一些有特殊要求的场合不能适用。本系统采用现场可编程门阵列(FPGAEP1K30QC208-3)对数据进行处理,它的程序能够在线修改,因此有极强的可塑性。可以适时的对其程序及查表数据库进行改进和更新,能使系统的性能得到升级。从而可以使系统满足不同的场合需要。

  1 温度采集系统硬件设计

  由于不同的传感器有不同的输出量,但是最终都需要转换为0~10V的电压值,从而才能满足A/D转换器的转换要求。因此各个传感器需要不同的转换和放大电路。转换后的电压量经过多路模拟开关选择送到同一个A/D转换器进行转换。再经FPGA进行数据处理及显示输出。整机框图如图1所示。

温度采集系统整机方框图

       1.1 PN结测温原理

  由于 PN结随温度变化产生的是一个电压信号,温度每升高1℃,PN结的正向导通压降下降1 mV。但在0℃时要求输出电压为0 V,因此必须将PN结连接成单臂非平衡直流电桥。并且将输出电压放大到0~10 V范围送A/D转换电路。电路原理图如图(2)所示:

结构测温原理图

       1.2 PT100热电阻测温原理硬件电路

  由于PT100热电阻随温度变化产生的是一个电阻信号,当温度升高时电阻值增大。因此必须将热电阻接成单臂直流电桥,将其阻值变化转换为电压变化信号。再将这个电压信号放大到0~10 V范围送A/D转换电路。电路图略。

  1.3 热电偶测温原理硬件电路

  热电偶的输出是一个随温度变化的电压信号,它必须加上冷端补偿电路才能正常工作,并且它的输出也要转换为0~10 V的范围送A/D转换电路。电路图如图3所示:

热电偶测温原理图

       2 温度采集系统软件设计

  温度采集系统软件分为单片机程序设计和FPGA程序设计,单片机程序采用汇编语言编写,实现对外围电路的控制。FPGA采用VHDL语言编写,实现对数据的处理及被测温度的显示输出。[page]

  2.1 单片机控制

  单片机用来控制多路模拟开关及FPGA,并显示是那种方式测量。P1口接一位数码管(表示输出测量方式代码,1代表PN结测量方式,2代表热电偶测量方式,3代表热电阻测量方式)。P2口接输出模拟开关控制字、存储器片选信号及FPGA程序切换控制信号。程序流程图如图4所示。

单片机控制程序流程图

       2.2 FPGA数据处理

  FPGA对数据的处理是根据不同的测量方式进行数据处理的。当选择PN结测量方式时,FPGA根据PN结的温度电压变化函数,对数据进行计算,从而得出对应的温度值;当选择热电偶或热电阻测量方式时,FPGA是依次查找对应分度表的数据与A/D转换的数据进行比较计算,最终得出其温度值。可见热电偶或热电阻测量方式的数据处理是相同的,只是分度表不同而已。

  2.2.1 PN结数据处理

  PN结测量方式,FPGA根据PN结的温度电压变化函数(温度每升高1℃,PN结正向导通压降减小1 mV),对数据进行计算,从而得出对应的温度值。

  2.2.2 热电偶、热电阻数据处理

  热电偶或热电阻测量方式,FPGA是依次查找对应分度表的数据与A/D转换的数据进行比较计算,最终得出其温度值。程序流程图如图5所示。

热电偶阻数据处理流程图

       3 温度采集系统安装调试

  安装调试是一个系统最关键也是最容易出现问题的一步,本系统安装调试中遇到的一些问题及给出最后处理方法如下:(1)热电偶的工作必须有冷端补偿电路才能正常工作,在搭试其冷端补偿电路时,它的桥路电阻参数很难确定。因为不同型号的热电偶其各桥臂电阻及限流电阻也会不同,在多次调整各个参数后才确定了其各桥臂参数。(2)各放大电路在开始时用了一级的电压放大,出现了抗干扰能力差、放大倍数不稳定等问题。为了提高抗干扰能力,稳定电压放大倍数。后来采用两级放大,第一级采用低放大倍数的差放电路,消除共模干扰。第二级再采用电压放大就很好的实现无干扰稳定放大。(3)软件调试中出现了显示清零的现象,最后查出是AD转换数据没有锁存住。采用软件锁存的办法使得该问题得到了解决。

  4 结语

  该温度采集系统能够实现PN结(20~100℃)、热电阻(PT100)(0~800℃)、热电偶(镍锘-镍硅K型)(0~1 000℃)3种方式的温度测量。可以满足不同测量范围、不同测量精度及不同场合的需要。本设计采用EDA作为开发工具,搭配单片机控制。使得整个设计具有较新的设计思想。采用12ADC模数转换器,使得测量精度得到了极大的提高。数据处理采用现场可编程门阵列FPGA(EP1K30QC208—3),它极高的程序执行速度使得系统响应更快更精确。

关键字:EDA  操作系统  单片机 引用地址:用单片机和EDA协同设计温度采集系统

上一篇:基于μC/OS-II接入网接口的研究与设计
下一篇:基于裸机编程的实时系统

推荐阅读最新更新时间:2024-03-16 13:03

学习单片机6
位及位操作指令 通过前面那些流水灯的例子,我们已经习惯了 位 一位就是一盏灯的亮和灭,而我们学的指令却全都是用 字节 来介绍的:字节的移动、加法、减法、逻辑运算、移位等等。用字节来处理一些数学问题,比如说:控制冰箱的温度、电视的音量等等很直观,可以直接用数值来表在。可是如果用它来控制一些开关的打开和合上,灯的亮和灭,就有些不直接了,记得我们上次课上的流水灯的例子吗?我们知道送往P1口的数值后并不能马上知道哪个灯亮和来灭,而是要化成二进制才知道。工业中有很多场合需要处理这类开关输出,继电器吸合,用字节来处理就显示有些麻烦,所以在8031单片机中特意引入一个位处理机制。   位寻址区   在8031中,有一部份RAM和一部
[单片机]
单片机8入8出场效应管控制板
单片机可编程场效应管控制板的vb.net上位机源码资料包内容: 资料目录 1 八入八出场效应管工控开发板功能介绍 1.1八入八出场效应管工控开发板简介 1.2硬件连接标注说明 1.3 STC12C5A60S2系列1T单片机简介 1.4 N沟道Irf1205场效应管简介 2 开发板编程入门教学 2.1 Keil uVision4简介 2.2 用keil软件建一个简单工程 2.3 下载程序方法 3 开发板应用实例 3.1控制某一路延时通断实例 3.2随机输出控制使用实例 3.5、八路输出流水灯实例 3.4一对一输入输出点动控制程序 3.5一对一输入输出自锁控制实例 3.6一对一输入输出互锁控制实例 3.7上位机串口控制测试 3.8
[单片机]
<font color='red'>单片机</font>8入8出场效应管控制板
C8051F020单片机在总磷在线自动分析仪中应用
1 概述 C8051FOXX系列单片机是Cygnal公司新推出的一种混合信号系统级单片机。该系列单片机片内含CIP-51的CPU内核,它的指令系统与MCs-51完全兼容。其中的C8051F020 单片机含有64kB片内Flash程序存储器,4352B的RAM、8个I/O端口共64根I/O口线、一个12位A/D转换器和一个8位A/D转换器以及一个双12位D/A转换器、2个比较器、5个16位通用定时器、5个捕捉/比较模块的可编程计数/定时器阵列、看门狗定时器、VDD监视器和温度传感器等部分。C8051F020单片机支持双时钟,其工作电压范围为2.7-3.6V(端口I/O,RsT和JTAC引脚的耐压为5V)。与以前的51系列单片机相比,
[单片机]
C8051F020<font color='red'>单片机</font>在总磷在线自动分析仪中应用
为什么单片机会用EEPROM作为data memory而不用flash
受单片机成本限制,用flash的话比如我要对某字节存储,那么就需要把整页都擦除,其他地方的数据要保留就得进行缓存,占用RAM资源较多。而用EEPROM就要方便操作,有能够节省本来就不多的单片机资源。 EEPROM,EPROM,FLASH 都是基于一种浮栅管单元(Floating gate transister)的结构。 EPROM 的浮栅处于绝缘的二氧化硅层中,充入的电子只能用紫外线的能量来激出,EEPROM 的单元是由FLOTOX(Floating- gate tuneling oxide transister)及一个附加的Transister 组成,由于FLOTOX 的特性及两管结构,所以可以单元读/写。技术上,FLASH 是结
[单片机]
stm8s单片机实现多通道转换
今天在使用stm8s单片机的AD功能,单片机上有AN0到AN9十个通道。想只用其中的三路AN5到AN7。 //ADC初始化 void ADC_Init(void) { ADC_CR1 = 0x50; ADC_CR2 = 0x38; ADC_TDRL = 0xE0; //禁止施密特触发 } unsigned int Read_ADC_Temp(unsigned channel) { unsigned int i,ADtemp; ADC_Init(); //ADC_CSR = 0x00; ADC_CSR = channel; ADC_CR1 = 0x01; // CR1寄存器的最低位置1,使能ADC转换 for(i = 0;
[单片机]
NXP P89LPC901单片机汽车起动保护控制器设计
1引言 汽车发动机的起动是通过起动机驱动发动机飞轮旋转实现的。由蓄电池驱动的起动机驱动齿轮产生机械运动;传动机构将驱动齿轮啮合入飞轮齿圈,同时能在发动机起动后自动脱开;起动机直流电动机的通断由电磁开关控制。汽车起动机属于汽车中的贵重部件,轻易不会损坏。但是,为了延长起动机的使用寿命,须有恰当的使用方法。由于误操作等原因,在汽车发动机起动时,若发动机起动后起动机不能及时断电.将烧毁起动机或损坏飞轮齿环;若起动时变速器不在空档,则会引发交通事故和人身安全。在起动发动机的过程中,起动机要从蓄电池引人300~400 Ah的电量,为了防止蓄电池出现过流或损坏现象,起动时间一般不应超过5 s;冬季容易出现起动困难的现象,多次起动时每次起动
[嵌入式]
如何用AT89C2051单片机自制一个倒计时器
倒计时器在生活非常有用,用单片机自制,不但电路简单,而且功能可根据需要自行设计。由74系列、40系列小规模数字芯片设计的倒计时器非常多,但有显示不直观(无LED数码管);调整参数不灵活;计时精度低(采用RC振荡)等缺点。 一、功能介绍 1. 独立的三路倒计时。均可独立设置启动、关闭。 2. 范围:0~20小时,可任意设定。关机后数据不丢失。计时精度高:《0.1S 3.。独立的三路输出: a:第1路 蜂鸣器输出: 15S b:第2路PNP晶体管输出:5S c:第3路 PNP晶体管输出:直致关机 二、工作原理 电路见上图整机由89c2051、三位LED数码管、K1-K4、R、T等元器件组成。89C2051内部T1定时器完成1
[单片机]
如何用AT89C2051<font color='red'>单片机</font>自制一个倒计时器
基于单片机的具有通讯口的智能温控表
1 引言      温控表已广泛应用于工业控制等诸多领域,本文介绍的具有计算机通讯功能的智能温控表是一种新颖的自动化仪表,它以单片机AT89C52为核心,采用电压/频率转换技术和RS-485通信接口芯片MAX487,具有测量精度高、可靠性好、抗干扰性能强、可实现计算机网络控制等优点,可广泛应用于冶金、纺织、化工、医疗等行业。它具有-200~+500°C范围的温度测量和自动控制,是老式温控表的替代产品,市场前景广阔。 2 系统硬件设计      系统硬件框图如图1所示。   系统接通220V交流电源后,通过稳压电路(7805、7905)产生±5V直流工作电源,以满足本系统中集成电路工作需要,系统的遥测电路开始工作:在人
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved