STC12C5A60S2实现PT100传感器分段高精度测温
一、绪论
最近研究怎么实现一个高度稳定的热源,家里没有PT1000,也没有高精度的AD,只有PT100和陈年的几个单片机,怎么办?方法总比困难多,经过搜罗,终于找到AD神器一片,STC12C5A60S2,可以同时实现8路10位AD,这么好的资源怎能放弃?好,开工。
二、电路设计
工欲善其事,必先利其器。先找原理图吧,经过搜罗和评估,认为这张图可信度高一些,看了下,两级运放放大,刨去固有的电压降低0.7+0.7=1.4,用5V的电源,至少可以将模拟电压信号固定在0.5~3.5伏,如果把惠斯通电桥调零到20-50度,1024的分辨率,精度理论可以在0.03,算了吧,能到0.1稳定下来就不错了。。。TL431产生稳定的电桥电源2.5v。
三、KEIL5 使用C51开发
打开KEIL5,才发现KEIL5默认没有KEIL C51支持,懒得下载和安装KEIL4,就下载了个c51v959.exe,安装完了,在使用STC-ISP安装STC单片机的支持就可以了。如图。
完了后记得破解才能用。
四、ADC采集与显示
#define ADC_POWER 0x80
#define ADC_FLAG 0x10
#define ADC_START 0x08
#define ADC_SPEEDLL 0x00
#define ADC_SPEEDL 0x20
#define ADC_SPEEDH 0x40
#define ADC_SPEEDHH 0x60 BYTE ch = 0;
BYTE result =0;
WORD wresult =0;
BYTE num[]={'0','1','2','3','4','5','6','7','8','9'};void Delay(WORD n)
{WORD x;while (n--){x = 5000;while (x--);}
}void InitADC()
{P1ASF = 0xff;ADC_RES = 0; ADC_RESL = 0;ADC_CONTR = ADC_POWER | ADC_SPEEDLL;Delay(2);
}WORD GetADCResult(BYTE ch)
{WORD result = 0;ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START;_nop_(); _nop_();_nop_();_nop_();while (!(ADC_CONTR & ADC_FLAG));ADC_CONTR &= ~ADC_FLAG; ADC_RESL &=0x03;result=ADC_RES*4+ADC_RESL;return result;
}void main(void)
{ P1M0 = 0x00;P1M1 = 0x00;Uart_Init();InitADC();Y_LAMP=1;G_LAMP=1;R_LAMP=1;SendString("start service...\r\n");while (1) {wresult = GetADCResult(0);SendString("value=");SendData(num[wresult/1000]);SendData(num[wresult%1000/100]);SendData(num[wresult%100/10]);SendData(num[wresult%10]);SendString("\r\n");delaytime(20000);}
}
五、效果展示
上面的数据没有处理,大家可以看到,从常温368-484是我用手攥了下PT100产生的。其实利用这种滑窗调节法,可以大大提高指定温度范围的精度。
更新:如果想做精度较高的低温窄带标准温度源的话,可以参考一下车载小型冰箱,拆开看看就可以了,呵呵,昨天偶把李宁送的车载冰箱拆开看了看,TEC模块,还有驱动,都有的,再加上一层保温,就可以解决了,这种半导体温度源,就是稳定下来稍微慢了点。
STC12C5A60S2实现PT100传感器分段高精度测温相关推荐
- PT100高精度测温电路 AD623+REF3030(转)
源: PT100高精度测温电路 AD623+REF3030(很稳定)
- PT100高精度测温电路 AD623+REF3030(转载)
PT100是一种正温度系数的热敏电阻.说到什么是正温度系数?就必须要结合负温度系数来讲了.随着温度的升高,电阻的阻值变大,就是正温度系数的热敏电阻,相反,如果随着温度的升高,电阻的阻值变小,就是负温度 ...
- PT100高精度测温电路 AD623+REF3030(很稳定)
出处:https://blog.csdn.net/gflytu/article/details/53902929 PT100是一种正温度系数的热敏电阻.说到什么是正温度系数?就必须要结合负温度系数来讲 ...
- 光纤收发器的原理及应用_基于砷化镓传感器的光纤测温原理及其在地铁中的应用...
1.概况 我们公司研究了一种新型的光纤测温技术及装置,其核心是基于砷化镓传感器对波长的吸收特性.介绍了该测温系统的组成和功能,分析了其在地铁中的应用实例,以及实际测温结果与地铁主所负荷的关系. 大型油 ...
- MAX31865模块PT100两线制测温
项目场景: 采用MAX31865芯片读取PT100测温,遇到的问题和步骤记录,采用的STM32F405 硬件SPI1读取温度.本次使用的两线制,四线制也是通用的.主要修改里边参数. 问题描述: 1,读 ...
- 基于op07的k型热电偶测量电路_基于K型热电偶的测温装置设计
基于 K 型热电偶的测温装置设计 * 王安敏 孔令布 孟海彦 [摘 要] 摘 要 工业现场的温度检测大多以 K 型热电偶为传感器测量高温,针 对热电偶测量温度存在线性度差,测量误差大等问题.现采用 K ...
- 基于STM32的智能篮球测温记分记时系统
1.项目概述(20分) 1.1项目简介(5分) 进入21世纪,伴随着电子信息通信技术的应用与普及开发,人们对电子技术的要也越来越高.篮球作为一种体育运动进入了人们的生活.为对比赛进行规范化管理,研究一 ...
- 基于STM32设计的健康检测设备(测温心率计步)
1. 项目介绍 本文介绍的项目是基于STM32设计的健康检测设备,支持体温测量,心率检测,支持运动计步(采用MPU6050陀螺仪实现),支持WIFI传输数据到手机APP打印显示. 硬件环境介绍: MC ...
- 无线测温装置在变压器中的设计与应用
安科瑞 汪国琴 一.引言 随着国家电力行业规模的快速发展,用电需求量也在持续上升,电力变压器不断在向大容量.高电压方向发展.变压器作为电力系统中的重要电力设备,运行的安全可靠性将会对电网的供电质量 ...
最新文章
- ubuntu操作系统下载
- Hadoop大数据零基础高端实战培训系列配文本挖掘项目
- 2012腾讯春季实习生面试经历(一)
- ReactNative环境配置的坑
- Mybatis接口注解开发
- The current branch is not configured for pull N...
- 程序员都会的 35 个 jQuery 小技巧
- JAVA面试--电商业内大厂
- ubuntu 10.04的git安装和使用
- oracle没有自带的程序吗,oracle – 空包定义(没有公共成员)
- URL地址 问号传参解析
- 联想重装系统去掉保护_带有联想保护系统的电脑安装系统具体步骤如下
- 大学计算机模拟2014网络应用,2014全校大学计算机基础模拟考试.doc
- 新浪微博发布文章html,微博怎么发文章
- 计算机幂函数xn,幂函数
- 系统分析和设计方法之输出设计和原型化
- 【Web】HTML基础——了解HMTL基本结构+常用标签的使用
- java 挑战性_想接受Java挑战吗?
- 电商数仓(dwt 层)
- appium通过坐标定位元素