




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
RC充放电实现温度测量作者:宋海平 中国海洋大学 2013年 3 月一提到温度测量,我们通常往往都会想到AD采样,但是在一些对测量精度要求不是很高的场合,我们是不是可以换一种思路,抛弃AD,用其他的方式来实现呢,呵呵,正好接触到一个项目,所以打算挑战一下,没错,就是RC充放电来实现温度测量。先看一下基本的电路连接: 0 (原文件名:RC0.PNG) 图O:cpu拿出三个GPIO管脚,分别连接热敏电阻、100K高精电阻R1、泄流电阻R2,然后通过一只电容器连接到GND。在这里电容器可以理解成一只小电池,而且还是一只可充电电池。 1 (原文件名:RC1.PNG) 图1:将RT设置成高阻太(输入),这样热敏电阻相当于断开(虚线),R1设置成输出,泄流电阻R2设置成输出,如果cpu内部有上拉的话,最好打开,或者配置成强推挽,具体情况根据所选则的cpu而定。这样R2给电容器充电,程序中一直检测R1管脚,直到R1管脚为高 while(R1 = 1);其实电容器被不一定被充满电,只要满足R1管脚处的电平对于cpu来说是个高电平就足以。2 (原文件名:RC2.PNG) 图2:保持RT继续高阻(断开),将R1设置成输出,输出0(低电平),R2设置成输入,此时电容通过100K高精度电阻进行放电,程序中一直检测R2管脚,直到R2管脚为低电平 while(R2 = 0);记录时间T1,T1就是电容器通过100k电阻放电所需要的时间。图3:过程跟图一是一模一样的,给电容器充电(不一定充满),原因你懂的;3 (原文件名:RC3.PNG) 4 (原文件名:RC4.PNG) 图4:将R1设置成高阻(断开),RT设置成输出,并且输出低电平,将R2设置成输出;此时电容器通过RT进行放电,程序中一直检测R2管脚,直到R2管脚为低电平 while(R2 = 0);记录时间T2,T2就是电容器通过100k电阻放电所需要的时间。到此,我们就可以算出热敏电阻RT的阻值了:6 (原文件名:RC6.PNG) 001 /*002 *中国海洋大学003 *宋海平004 * 温度采集005 * 参考电阻为100 K006 * param 007 * unsigned char channel:采集哪个通道的温度 008 * NTP_OUTSIDE: 温控器外部温度探头009 * NTP_INSIDE: 温控器内部探头010 *return011 * ERROR_NTP_PARA_ERROR:参数错误012 * ERROR_NTP_LOST_ERROR:温度探头丢失013 * 非负:采集到的温度值014 *015 * brief 016 * 中国海洋大学 宋海平 017 */018 019 020 #define NTP_CHECK (1)021 short ntp_100k_get_temperature(unsigned char channel)022 double x, y, z;023 unsigned long temperature_cnt_a, temperature_cnt_b;024 unsigned char tmp;025 026 if(channel = NTP_INSIDE)027 SET_P2(7, IO_PORT_TRI_IN); /参考电阻 输入028 SET_P2(6, IO_PORT_PULL_OUT); / 泄流电阻输出029 SET_P4(4, IO_PORT_TRI_IN); / 热敏电阻输入030 031 RFL0 = 0; /泄流电阻输出0032 while(RE0); / 一直等到电容空033 034 RFL0 = 1; /泄流电阻输出1035 while(!RE0); / 一直等到电容满036 037 SET_P2(7, IO_PORT_NO_PULL_IO); /参考电阻 输出038 SET_P2(6, IO_PORT_TRI_IN); / 泄流电阻输入039 SET_P4(4, IO_PORT_TRI_IN);/ 热敏电阻输入040 041 RE0 = 0; /参考电阻输出0, 给电容放电042 temperature_cnt_a = 1;043 while(RFL0) / 等到电容电量放空044 temperature_cnt_a +;045 if(temperature_cnt_a NTP_MAX_COUNTER)046 return ERROR_NTP_LOST_ERROR;047 048 049 050 SET_P2(7, IO_PORT_TRI_IN); /参考电阻 输入051 SET_P2(6, IO_PORT_PULL_OUT); / 泄流电阻输出052 SET_P4(4, IO_PORT_TRI_IN); / 热敏电阻输入053 054 RFL0 = 0; /泄流电阻输出0055 while(RE0); / 一直等到电容空056 057 RFL0 = 1; /泄流电阻输出1058 while(!RE0); / 一直等到电容满059 060 SET_P2(7, IO_PORT_TRI_IN); /参考电阻 输入061 SET_P2(6, IO_PORT_TRI_IN); / 泄流电阻输入062 SET_P4(4, IO_PORT_NO_PULL_IO);/ 热敏电阻输出063 RT0 = 0; /通过热敏电阻给电容充电064 temperature_cnt_b = 1;065 while(RFL0)066 temperature_cnt_b +;067 if(temperature_cnt_b NTP_MAX_COUNTER)068 return ERROR_NTP_LOST_ERROR;069 070 071 else if(channel = NTP_OUTSIDE)072 SET_P2(4, IO_PORT_TRI_IN); /参考电阻 输入073 SET_P2(3, IO_PORT_PULL_OUT); / 泄流电阻输出074 SET_P2(5, IO_PORT_TRI_IN); / 热敏电阻输入075 076 RFL1 = 1; /泄流电阻输出1077 while(!RE1); / 一直等到电容放满078 079 SET_P2(4, IO_PORT_NO_PULL_IO); /参考电阻 输出080 SET_P2(3, IO_PORT_TRI_IN); / 泄流电阻输入081 SET_P2(5, IO_PORT_TRI_IN);/ 热敏电阻输入082 083 RE1 = 0; /参考电阻输出0, 给电容放电084 temperature_cnt_a = 1;085 while(RFL1) / 等到电容电量充满086 temperature_cnt_a +;087 if(temperature_cnt_a NTP_MAX_COUNTER)088 return ERROR_NTP_LOST_ERROR;089 090 091 SET_P2(4, IO_PORT_TRI_IN); /参考电阻 输入092 SET_P2(3, IO_PORT_PULL_OUT); / 泄流电阻输出093 SET_P2(5, IO_PORT_TRI_IN); / 热敏电阻输入094 095 RFL1 = 1; /泄流电阻输出1096 while(!RE1); / 一直等到电容满097 098 SET_P2(4, IO_PORT_TRI_IN); /参考电阻 输入099 SET_P2(3, IO_PORT_TRI_IN); / 泄流电阻输入100 SET_P2(5, IO_PORT_NO_PULL_IO);/ 热敏电阻输出101 RT1 = 0; /通过热敏电阻给电容放电102 temperature_cnt_b = 1;103 while(RFL1)104 temperature_cnt_b +;105 if(temperature_cnt_b NTP_MAX_COUNTER)106 return ERROR_NTP_LOST_ERROR;107 108 109 else110 return
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年借款合同模板汇编
- 2025年成人高考《语文》现代文阅读能力提升与试题解析试卷
- 2025年医保知识考试题库及答案:医保欺诈防范案例分析及防范手段试题卷
- 2025年营养师基础知识考核试卷:营养与减肥塑形试题
- 2025年专利代理人实务试题深度解析与答案
- 小区草坪翻新整改合同范本5篇
- 餐饮行业供应链管理合同范本
- 压力容器-安全总监试题附答案
- 复方甘草口服溶液临床应用考核试题
- 2025年社会工作者职业水平考试中级实务模拟试卷:社会工作专业能力与团队协作能力综合测试试题
- 苏教版三年级数学(下册)《间隔排列》课件
- 2023-2023年中国工商银行校园招聘考试历年真题、考查知识点以及备考指导
- 临时聘用合同模板(三篇)
- 《复旦大学介绍》
- 电力系统分析基础教案-按课时
- 动漫及动漫文化的定义
- 江苏亿洲再生资源科技有限公司资源综合利用技改提升项目 环评报告书
- 质量改进培训-课件
- 马云演讲中英文版
- 2022自考英语二课文中英文对照
- 弱电桥架安装及电缆敷设施工方案(PPT)
评论
0/150
提交评论