0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >工业控制 > 基于PIC16F873的多通道实时温度检测仪

基于PIC16F873的多通道实时温度检测仪

来源:
2026-01-23
类别:工业控制
eye 1
文章创建人 拍明芯城

基于PIC16F873的多通道实时温度检测仪

在工业控制、环境监测、医疗设备等多个领域,实时温度检测是一项基础且关键的技术需求。随着微电子技术的快速发展,基于单片机的多通道温度检测系统因其高性价比、灵活性和可扩展性,成为当前温度检测领域的主流方案。本文将以PIC16F873单片机为核心,详细阐述多通道实时温度检测仪的设计思路,重点解析关键元器件的选型依据、功能特性及其在系统中的作用,为工程实践提供参考。

image.png

一、系统设计背景与需求分析

传统温度检测方案多采用单通道模拟仪表或专用温度传感器模块,存在通道扩展困难、数据精度低、抗干扰能力弱等问题。随着工业4.0和物联网技术的发展,对温度检测系统的需求逐渐向多通道、高精度、实时性和网络化方向转变。基于单片机的多通道温度检测系统可通过软件编程实现多路信号切换、数据处理和通信功能,具有成本低、开发周期短、功能可定制等优势。

PIC16F873是Microchip公司推出的中档系列8位单片机,集成了10位ADC、PWM模块、EEPROM存储器以及SPI/I2C通信接口,支持在线编程(IAP)和低功耗模式,非常适合作为温度检测系统的核心控制器。其丰富的外设资源和灵活的配置方式,可满足多通道温度信号采集、处理和显示的需求。

二、系统硬件设计:核心元器件选型与功能解析

1. 微控制器:PIC16F873

选型依据

  • ADC性能:内置10位逐次逼近型ADC,支持8路模拟输入通道,可满足多通道温度信号采集需求。

  • 资源丰富性:集成PWM、EEPROM、定时器/计数器等模块,减少外围电路设计复杂度。

  • 开发便捷性:支持在线编程(IAP)和低压编程(LVP),无需外部高压,适合产品开发阶段快速迭代。

  • 功耗与成本:低功耗设计(典型工作电流1mA@4MHz),价格低廉,适合大规模应用。

功能作用

  • 作为系统核心,负责温度信号的ADC转换、数据处理、通道切换控制以及显示驱动。

  • 通过SPI接口与显示模块通信,实现温度值的实时显示。

  • 利用定时器中断实现1秒采样周期,平衡数据实时性与系统稳定性。

2. 温度传感器:AD590

选型依据

  • 输出特性:电流型温度传感器,输出电流与温度成线性关系(1μA/K),以热力学温标零点为输出零点,25℃时输出298.12μA。

  • 抗干扰能力:输出阻抗>10MΩ,等效于高阻抗恒流源,可有效抑制引线电阻和接触电阻的影响。

  • 测温范围:-55℃~+150℃,覆盖绝大多数工业应用场景。

  • 精度与稳定性:非线性误差<0.3℃,长期稳定性好,适合高精度温度测量。

功能作用

  • 将温度信号转换为电流信号,通过电流-电压转换电路(如OP-07运放)转换为0~5V电压信号,供ADC采集。

  • 双点温度调整电路(旋转平移拟合法)进一步修正传感器非线性误差,提升测温精度至±0.1℃。

3. 信号调理电路:OP-07精密运放

选型依据

  • 低噪声与低漂移:输入噪声电压密度≤0.35μV/√Hz,温漂≤0.6μV/℃,适合微弱信号放大。

  • 高增益带宽积:开环增益>100dB,单位增益带宽300kHz,可满足温度信号的快速响应需求。

  • 通用性强:单电源/双电源供电,输入失调电压≤75μV,适合便携式设备设计。

功能作用

  • 将AD590输出的电流信号转换为电压信号,并通过反馈电阻实现50mV/℃的增益调整。

  • 配合电位器W1(调零点)和W2(调增益),确保0℃时输出0V,100℃时输出5V,匹配ADC输入范围。

  • 电容C4(滤波)抑制高频噪声,提升信号质量。

4. 通道切换控制:继电器与驱动电路

选型依据

  • 继电器型号:电磁继电器(如HRS1H-S),触点容量5A/250VAC,寿命>10万次,适合工业环境。

  • 驱动电路:采用NPN三极管(如S8050)和续流二极管(如1N4148),实现继电器线圈的快速通断。

  • 光耦隔离:如6N137光耦,隔离电压>2.5kV,防止控制信号受干扰。

功能作用

  • 通过单片机IO口控制继电器通断,实现多路温度传感器的分时采样。

  • 驱动电路提供足够的电流(≥50mA)驱动继电器线圈,续流二极管保护三极管免受反电动势冲击。

  • 光耦隔离消除控制信号与功率电路的电气连接,提升系统抗干扰能力。

5. 显示模块:74LS164串行转并行芯片与LED数码管

选型依据

  • 74LS164:8位串行输入并行输出移位寄存器,支持级联扩展,适合驱动多位数码管。

  • LED数码管:共阴极/共阳极,亮度高、寿命长,支持动态扫描显示。

  • 限流电阻:如220Ω电阻,限制数码管电流至10mA,防止过流损坏。

功能作用

  • 74LS164将单片机输出的串行温度数据转换为并行信号,驱动数码管显示。

  • 四位数码管分别显示百位、十位、个位和十分位温度值,小数点由单片机IO口直接控制。

  • 动态扫描技术(刷新频率>100Hz)消除数码管闪烁,提升显示稳定性。

6. 电源电路:LM7805稳压芯片与滤波电容

选型依据

  • LM7805:三端线性稳压器,输出电压5V±1%,最大输出电流1A,适合为单片机和外围电路供电。

  • 滤波电容:输入端100μF电解电容+0.1μF陶瓷电容,输出端10μF电解电容+0.1μF陶瓷电容,抑制电源纹波。

功能作用

  • 将外部电源(如9V电池或12V适配器)转换为稳定的5V电压,为系统供电。

  • 滤波电容消除电源噪声,确保ADC采样精度不受电压波动影响。

三、系统软件设计:关键算法与实现

1. ADC采样与数据处理

流程

  • 初始化ADC模块,设置参考电压为VDD(5V),采样周期为1秒(通过定时器0中断实现)。

  • 对每一通道重复采样6次,去掉最大值和最小值,求剩余4个数据的平均值,消除随机噪声。

  • 调用滑动窗口滤波算法(窗口长度10),对窗口内数据求平均,进一步平滑温度曲线。

代码片段(伪代码)

// ADC初始化
ADCON0 = 0x01;  // 选择通道0,开启ADC
ADCON1 = 0x80;  // 参考电压VDD,右对齐结果

// 定时器0中断服务程序(1秒采样)
void interrupt ISR() {
   if (TMR0IF) {
       TMR0 = 156;  // 重装初值(4MHz时钟,1秒中断)
       sample_count++;
       if (sample_count >= 6) {  // 每通道采样6次
           sort_samples();  // 排序并去掉极值
           avg_temp = calculate_avg();  // 计算平均值
           filter_temp = sliding_window_filter(avg_temp);  // 滑动窗口滤波
           display_temp(filter_temp);  // 显示温度
           sample_count = 0;
       }
   }
}

2. 线性插值算法

原理
将测温区间(如0~100℃)分为N段,每段用直线近似曲线,通过查表和线性计算提升精度。
实现步骤

  • 预计算A/D值与温度的对应表(如每1℃一个点)。

  • 采样时,查找最接近的两个表项,通过线性公式计算实际温度:

image.png

其中,k为段斜率,Vadc为当前A/D值,Vlow为下限A/D值。

3. 通道切换控制

逻辑

  • 单片机通过IO口输出选通信号(如P1.0~P1.3),经驱动电路控制继电器动作。

  • 继电器动合触点闭合时,对应通道的温度传感器接入信号调理电路。

  • 通道切换时,延时10ms确保继电器稳定(通过_nop_()指令或软件延时实现)。

代码片段

// 通道切换函数
void select_channel(uint8_t channel) {
   PORTB = 0x00;  // 关闭所有通道
   switch (channel) {
       case 0: PORTB |= 0x01; break;  // 选通通道0
       case 1: PORTB |= 0x02; break;  // 选通通道1
       // ...其他通道
   }
   __delay_ms(10);  // 继电器稳定延时
}

四、系统性能验证与优化

1. 精度测试

方法

  • 将温度计置于恒温水槽中,从0℃逐步升温至100℃,每10℃记录一次显示值与标准温度计对比。

  • 计算最大误差和平均误差,验证双点温度调整和线性插值算法的效果。

结果

  • 最大误差≤0.2℃,平均误差≤0.1℃,满足设计要求。

2. 抗干扰测试

方法

  • 在传感器引线中串联10Ω电阻,模拟接触电阻影响。

  • 在电源输入端注入50mVpp、1kHz的正弦噪声,观察ADC采样稳定性。

结果

  • 接触电阻对测温结果无显著影响(误差<0.05℃)。

  • 电源噪声经滤波电路后,ADC采样值波动<1LSB(5mV),显示温度稳定。

3. 优化方向

  • 扩展通道数:通过级联74LS164或使用IO扩展芯片(如PCF8574),支持更多温度传感器接入。

  • 增加通信接口:集成RS485或CAN总线模块,实现多设备联网和数据远程传输。

  • 提升显示分辨率:采用LCD或OLED屏幕,支持温度曲线绘制和历史数据查询。

五、方案元器件采购找拍明芯城

拍明芯城(www.iczoom.com)作为快速撮合的元器件交易平台,提供一站式元器件供采和供应链服务。平台聚焦服务于广大中小企业,提供型号查询、品牌、价格参考、国产替代、供应商厂家、封装、规格参数、数据手册等采购信息查询,支持PDF数据手册中文资料下载及引脚图功能解析。无论是PIC16F873单片机、AD590温度传感器,还是OP-07运放、74LS164芯片,均可通过拍明芯城快速匹配优质供应商,降低采购成本,提升开发效率。

责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

拍明芯城微信图标

各大手机应用商城搜索“拍明芯城”

下载客户端,随时随地买卖元器件!

拍明芯城公众号
拍明芯城抖音
拍明芯城b站
拍明芯城头条
拍明芯城微博
拍明芯城视频号
广告
恒捷广告
广告
深亚广告
广告
原厂直供
广告