怎样以HY16F188为核心设计一个触控温度计?

控制/MCU

1882人已加入

描述

1. 内容简介

温度的量测应用非常的广泛,从农业上的气温观测,及日常防疫的体温量测至工业上的半导体制程,温度都是相当重要的一个指标及依据。本文主要是介绍HYCON HY16F188 Series芯片在温度量测上的应用,并透过Touch Key的界面进行操作。由于HY16F188芯片内部集成高精度∑△ADC,且ADC输出频率最快可以到达10KHZ,藉由外部LCD驱动IC HY2613B完成显示。HY16F188用于温度上的量测,不需外接的感测组件即完成,达到周边电路简单且省电的应用。

2.原理说明

2.1量测原理

本应用的温度量测组件是采用,IC内部的绝对温度传感器TPS,绝对温度传感器由二极管(BJT)组成,其电压信号对温度的变化为一通过0°K曲线,其具以下特色温度传感器在环境温度为0°K时期输出的电压值VTPS@0°K =0V透过测量方式可使得模拟数字转换器ADC的偏移电压(VADC-OFFSET)与BJT之不对称性(IS1≠IS2)自动抵销。校正温度仅需单点校正。

单片机

HY16F启用时,TPS的功能随即被自动启用。在同一温度TA(℃)下,量测到VTPS0与VTPS1的数值后,将两数相加并取平均值即可求得在温度TA下测得TPS相对应的电压值VTPS@TA。TPS的输出电压VTPS对温度变化为一线性曲线,故可推倒得出其增益值GTPS(或称斜率)

单片机

TPS增益公式

2.2控制芯片

单片机简介:HY16F系列32位高性能Flash单片机(HY16F188)

单片机

纮康HY16F系列32位高性能Flash单片机(HY16F188)

(1)采用最新Andes 32位CPU核心N801处理器。

(2)电压操作范围2.4~3.6V,以及-40℃~85℃工作温度范围。

(3)支持外部20MHz石英震荡器或内部20MHz高精度RC震荡器,拥有多种CPU工作频率切换选择,可让使用者达到最佳省电规划。

(3.1)运行模式 350uA@2MHz/2(3.2)待机模式 10uA@32KHz/2(3.3)休眠模式 2.5uA

(4)程序内存64KBytes Flash ROM

(5)数据存储器08KBytes SRAM。

(6)拥有BOR and WDT功能,可防止CPU死机。

(7)24-bit高精准度ΣΔADC模拟数字转换器

(7.1)内置PGA (Programmable Gain Amplifier)最高可达128倍放大。

(7.2)内置温度传感器TPS。

(8)超低输入噪声运算放大器OPAMP。

(9)16-bit Timer A

(10)16-bit Timer B模块具PWM波形产生功能

(11)16-bit Timer C 模块具数字Capture/Compare 功能

(12)硬件串行通讯SPI模块

(13)硬件串行通讯I2C模块

(14)硬件串行通讯UART模块

(15)硬件RTC时钟功能模块

(16)硬件Touch KEY功能模块

3.系统设计

3.1硬件说明

HY16F188对于触控温度计的应用,整体电路就只需HY16F开发板上之Touch Key及LCD显示芯片及LCD。

单片机

触控温度量测应用內部电路图

3.2温度设定

TPS量测图:ADC内部的PGA放大1倍,ADGN放大1倍,参考电压由VDDA -VSS供给,则ΔVR_I=1.2V

单片机

3.3触控设定

单片机

内建硬件触控模块(使用模拟比较器方块)

如上图 所示,TOUCH KEY 外围电路连接简单,只需再CMP的正输入端CH1端接入一个参考电容Cref=10nf;CMP的正输入端配置为CH1,与touch key pad的CH1端连接;负输入端配置为RLC,与NON-OVERLAP 的输出端RLO连接;NON-OVERLAP的电压源选择VDD18=1.8v,且CPRLS=1短路22.5R与20R电阻,设置NON-OVERLAP分压输出为1/16R;启动TMB且计数源为CMPO。透过设置CPIS=1,令CMP的输入端短路,将CH1上的Cref电容上的电量通过RLO接到VSS,进行完全放电;启动比较器及TMB开始计数,启动NON-OVERLAP,让VDD对touch pad 充电,由于NON-OVERLAP的开关功能,touch PAD对CH1 Cref充电,使得CH1端电压慢慢上升,当CH1端电压上升到RLO电位时,比较器输出转态CMPO=0,产生CMP中断标志位,停止TMB计数并记录TMBR计数值,与设定的TOUCH KEY计数临界值比较,若小于临界值,表示有触摸Touch Pad,反则,没有触摸Touch Pad。分别对不同的touch pad扫描。

3.4显示设置

电路MCU通过IIC与LCD Driver通讯,电路简单,操作方便,只须将数据发送给LCD driver HY2613,MCU就可以处理其他事情,且更新数据方便。

4.操作流程

一开机后,随即会显是当下温度,触摸Touch Key1会使程序进入Idle Mode,程序进入Idle Mode后,开启TimeA开始计数,每0.3S唤醒一次扫Touch Key1判断Touch Key1是否被触碰,如有则离开Idle Mode。

在显示温度情况下如按下Touch Key3,则会进入温度校正模式。

在显示温度情况下如按下Touch Key4,则会进入触控校正模式。

在温度校正模式下,一开始16F会自动抓取现在AD value并记录下来,完成后用户需透过Touch Key1、2设定现在温度,设定完成后再次触摸Touch Key3及设定完成,离开温度校正子程序。

在触控校正模式下,一开始16F会自动抓取untouch value,此时LCD会自动倒数。在倒数时切勿碰触Touch Key。当自动抓取完成后,LCD会依序出现994444、99333、99222、991111,用户需一出现数字触摸对应Touch Key。对应表如下表1

 

单片机

 

4.1程序流程

单片机

主程序流程

单片机

温度校正程序

单片机

触控校正程序

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分