资讯详情

资讯详情

基于ADS122U04与TM4C1299的工业温度采集系统设计

1. 项目整体设计与方案选型做工业温度采集项目最怕的不是传感器选型而是ADC到MCU之间那一堆模拟信号走线问题。特别是HVAC这种设备压缩机一启动变频器一工作现场环境里全是电磁干扰模拟信号线稍微长一点采集到的温度数据就直接没法看。所以当我拿到ADS122U04IPWR这颗芯片时第一反应就是TI把ADC做成UART接口这个思路确实切中了工业现场的痛点。ADS122U04IPWR是一颗24位Delta-Sigma ADC片内集成了PGA可编程增益放大器、内部基准源和2线UART接口。它支持4通道差分输入或8通道单端输入测温场景下通常搭配热电偶、RTD铂电阻或者NTC热敏电阻。这颗芯片最有价值的地方在于数字输出MCU端不需要再面对微弱的毫伏级模拟信号只需要处理干净的数字波形这在抗干扰和布线上都是质的改变。TM4C1299NCZAD则是TI的Cortex-M4F系列MCU主频120MHz带FPU浮点运算单元内置1MB Flash和256KB SRAM外设资源相当丰富。4个UART模块、Ethernet MAC、USB、PWM、QEI等接口一应俱全。在HVAC控制系统中TM4C1299既当主控又当网关上接触摸屏或楼宇自控系统下挂多路温度采集节点IO资源和算力都够用。这个方案的核心架构不复杂每个采集节点放一颗ADS122U04传感器信号进来后直接在节点上完成24位高精度转换再通过UART总线把数字结果传给TM4C1299主控。主控负责汇总所有节点的温度数据做标定、滤波、报警判断最后通过以太网或者RS485上报到上位机组态软件。我选这个组合的逻辑其实很简单把模拟信号处理尽量靠近传感器减少模拟链路的长度数字总线做远距离传输抗干扰能力要强得多。UART是MCU上最基础的外设两根线就能通信不挑引脚不像SPI和I2C那样对时序有严格要求。对于多点测温系统来说这种模拟前端数字化 主控集中处理的架构在稳定性、成本和可维护性上都比传统的模拟长线传输方式有优势。这套方案适合的场景很明确工业设备多点温度监测、HVAC风管和水管温度采集、冷库冷链监控、机房环境温湿度补偿等。如果你正在做类似项目手头MCU的UART资源还算充裕那这个组合值得参考。1.1 核心需求解析先过一遍这个项目到底要解决什么问题。工业HVAC系统里的温度测量点往往很分散冷水机组进出口、风柜送风回风、冷却塔进出水、机房环境温度每个点的距离少则几米多则几十米。如果全部把传感器信号拉回主控板遇到长距离传输就会面临两个麻烦线缆成本高信号衰减和干扰严重。温度传感器信号本身就很微弱。热电偶输出大概是每摄氏度几十微伏RTD也需要恒流源激励才能转换成电压信号。这些信号在长线传输过程中稍微有点共模干扰或者线阻不一致测量结果就偏得离谱。在工业现场实测过就会发现变频器一启动模拟信号线上就能看到明显的毛刺滤波电路加得再多也压不干净。所以第一层需求是靠近传感器端完成模数转换。ADS122U04的24位分辨率配合内部PGA可以直接处理热电偶和RTD的微弱信号。数字信号通过UART传输随便用两根普通双绞线就能跑几十米逻辑电平的噪声容限远高于模拟信号。第二层需求是主控端要有足够的算力和外设来做数据处理。TM4C1299带硬浮点单元做线性化计算、冷端补偿、滤波算法都很从容剩下的大量IO口还能顺便管管继电器、读读开关量、驱动个显示屏一个MCU把整个控制面板的活都包了。第三层需求是系统的扩展性和维护性。多路ADC共用一条UART总线节点可以灵活增减不需要改动主控硬件。单个传感器节点出问题只需要替换对应节点不至于像集中式采集那样一坏全瘫。1.2 方案联调与硬件连接ADS122U04和TM4C1299之间的电气连接看起来很简单就是TX、RX、GND三根线但实际联调时还是会遇到一些小坑。先说UART电平ADS122U04的IO电压范围是2.3V到5.5VTM4C1299的IO口是3.3V直接对接没有问题。但要是ADS122U04工作在5V供电模式下它的逻辑高电平输出可能会到接近5V这就需要用电阻分压或者电平转换电路把RX线上的电压钳到3.3V以下。实际项目中我一般这样做ADS122U04用3.3V供电和MCU同源两个芯片的UART就可以直连。需要远距离传输时在现场节点端增加一颗RS485收发器把UART信号转成差分信号到主控端再转回来。这样采集节点和主控之间的线缆长度可以从几米扩展到几百米抗干扰能力也强得多。芯片引脚定义上ADS122U04使用A0和A1两个引脚作为UART接口A0是接收MCU视角的发送A1是发送MCU视角的接收。这两个引脚同时也是芯片地址配置引脚通过上下拉电阻组合成不同地址最多可以在一根总线上挂4颗芯片。这个设计非常巧妙地址配置和通信引脚复用省掉了专门的地址引脚但代价是接线板上需要预留几颗电阻的位置来设定地址。TM4C1299端的UART配置要注意启用FIFO和中断ADS122U04的UART波特率默认是9600bps帧格式为1个起始位、8个数据位、无校验、1个停止位。主控端UART外设的波特率必须严格匹配这个使用内部晶振时容易产生误差建议TM4C1299使用外部精准晶振或者把内部80MHz振荡器的误差考虑进去。我自己就在波特率匹配上吃过亏内部振荡器标的1%误差实测下来数据偶尔就会丢字节后来换用外部晶振就稳定了。2. 硬件设计要点与元器件选型ADS122U04本身集成了很多在前端模拟电路里需要用到的功能但外围器件如果选得不好照样会拖累整体精度。2.1 传感器输入配置详解先看ADS122U04的输入通道它有4个差分输入对可以配置为4路差分或者8路单端。测温项目里最常见的三种传感器接法如下。热电偶接法K型、J型、T型热电偶都是差分输出把正负极分别接到ADC的AINP和AINN引脚即可。热电偶信号非常微弱K型在室温附近只有40uV/℃左右的灵敏度所以必须启用PGA增益设置在32到128之间比较合适。ADS122U04内部集成了冷端补偿用的温度传感器这颗温度传感器精度出厂校准过用来做热电偶冷端补偿省掉了外置NTC测温电路的麻烦。RTD接法对于PT100或PT1000铂电阻需要给传感器提供恒流激励。ADS122U04内部有两个IDAC恒流源电流大小可配置为0.25mA到1.5mA。我的使用习惯是PT100用1mA、PT1000用0.5mA这样既能把激励电流对传感器自热的影响控制在合理范围又能让信号电压落在ADC的输入量程内。RTD采用三线制接法时用IDAC1给传感器供电再用一根线将远端参考点引回ADC的另一个通道软件上做差减掉线阻带来的误差。NTC热敏电阻接法如果对精度要求不是极致NTC用分压电路接成单端输入即可。分压上拉电阻的选值需要和NTC在测量范围中点附近匹配保证输出电压不超出ADC的输入范围。需要注意的是NTC的非线性比较严重软件里要么查表要么用Steinhart-Hart方程做拟合。我在第一版设计里三种传感器都保留了接口通过0欧电阻选择通路方便现场灵活切换。多做了这一步的好处是后期验证阶段节省了大量改板时间。如果你也想做兼容设计记住ADC输入引脚对接传感器之前最好串联一颗1kΩ左右的限流电阻倒不是电流会多大主要是静电和浪涌冲击时能保护ADC的输入ESD结构。2.2 供电与基准源设计ADS122U04内部集成了低漂移基准源默认2.048V这颗基准源的温漂性能足以满足常规工业测温需求所以外部不需要再挂基准芯片省成本和PCB面积。需要注意的是模拟电源AVDD和数字电源DVDD虽然芯片允许AVDD和DVDD接同一个电源但实测中数字开关噪声会通过电源引脚耦合到模拟前端所以我的板上做法是分别用磁珠和LC滤波隔离AVDD经过一个10Ω电阻加100uF电容组成RC滤波效果已经很好了。基准源还有一个使用细节内部2.048V基准对应ADC满量程单端输入模式下输入电压不能超过基准电压否则ADC输出会饱和。热电偶和RTD信号都很小这个不是问题。但如果有人用它采集0到5V的工业标准信号就需要外部分压或者改用PGA增益配置。我在这个项目里只用内部基准因为外部基准电路如果布局不好引入的噪声可能比内部基准还大尤其是在开关电源供电的环境下。TM4C1299端的供电比较常规3.3V主供电内核和IO分开注意在电源引脚旁边放足够容量的去耦电容。MCU功耗不高但以太网PHY或外部存储芯片工作时的瞬态电流不小电源拓扑上我习惯在每个电源域出口放10uF钽电容加0.1uF陶瓷电容组合。整板电源由24V开关电源转5V再通过LDO降到3.3V模拟部分再单独一级LC滤波。工业化设计时电源的干净程度直接决定了24位ADC最后几位数字是不是稳定跳动。2.3 UART总线设计与端接ADS122U04支持2线UART波特率最高支持到200kbps但默认上电后运行在9600bps需要通过寄存器配置更高速率。对于温度采集这种慢速信号9600bps已经完全够用一帧温度数据加上命令头也就几十个字节一秒采集几十个点都没有压力。总线拓扑上多颗ADS122U04挂在同一条UART总线上通过每个芯片的地址区分。这种模式下主控发送的命令会广播到所有节点只有地址匹配的芯片才会响应。节点超过4颗时还可以分组用两个UART外设各挂一组TM4C1299有4个UART模块挂8路甚至12路测温节点都没问题。线缆长度超过10米时建议在总线的两端各加一个120Ω端接电阻。UART是异步通信理论上不要求阻抗匹配但工业现场的电磁环境比实验室恶劣得多两根线之间的分布电容和空间耦合会造成信号畸变端接电阻能有效减小反射。我试过不加端接电阻在30米双绞线上跑9600bps大部分时间能通信但偶尔会出现帧错误加电阻后这个现象就消失了。还有一点值得提醒UART通信线和电源线不要绑在一起走线至少保持5厘米的间距。24V感性负载切换时电源线上会有很大的电流突变耦合到通信线上就可能造成误码。这个在柜内布线规范上属于常识但实际项目里经常被忽略。3. 固件架构与通信协议设计硬件只是骨架固件才是让系统真正跑起来的关键。TM4C1299的固件开发环境我用的TI官方CCS配合TivaWare库上手难度不算高。3.1 模块初始化与ADC配置流程初始化顺序有讲究先把MCU的UART外设和GPIO配好再给ADS122U04上电最后发配置命令。顺序反了可能导致芯片收到错误的启动时序状态机直接卡在复位状态。ADS122U04的配置寄存器有6个分别是配置寄存器0到5通过命令码写入。配置的主要参数包括输入多路复用选择MUX、PGA增益、数据速率、滤波器模式、转换模式、IDAC电流大小、内部温度传感器使能等。典型配置流程如下MCU端的UART配置代码大概长这样void UART0_Init(void) { SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA); GPIOPinConfigure(GPIO_PA0_U0RX); GPIOPinConfigure(GPIO_PA1_U0TX); GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1); UARTConfigSetExpClk(UART0_BASE, SysCtlClockGet(), 9600, (UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE)); UARTFIFOEnable(UART0_BASE); UARTIntEnable(UART0_BASE, UART_INT_RX | UART_INT_RT); IntEnable(INT_UART0); }ADS122U04的配置命令字比较直白每个寄存器对应一个命令字节格式是命令码加寄存器数据。比如写配置寄存器0命令字节是0x40后面跟上要写入的寄存器值。发送完后芯片会返回一个状态字节主控需要判断是否正常接收。读取ADC转换结果时命令码是0x10芯片会返回3个字节的24位数据加1个状态字节。这里有个坑读寄存器命令和读数据命令的时序不同UART速率高时问题不大速率低时要注意中间的空闲时间不能太短否则芯片状态机没有切换完成会返回错误数据。我实际调试时给每条命令之间加了5ms延时稳定性明显改善。3.2 地址配置与多节点轮询机制多节点轮询是整个系统稳定运行的基石。每颗ADS122U04的A0和A1引脚通过上下拉电阻设置地址A0对应bit0A1对应bit1组合出4个地址00、01、10、11。主控端在发送命令时命令字节的高两位自动携带目标地址。比如地址为01的芯片它的读数据命令字节就是0x50而不是0x10。我的固件里做了一个节点表的结构体数组每个节点记录着自己的地址、传感器类型、标定系数、滤波后的温度值、报警状态等信息。主控循环里依次调用每个节点的采集函数逻辑结构大概如下typedef struct { uint8_t addr; uint8_t sensorType; float temperature; float rawCode; uint8_t status; } TempNode; TempNode nodes[NODE_COUNT]; void PollAllNodes(void) { for (int i 0; i NODE_COUNT; i) { RequestADCConversion(nodes[i].addr); DelayMs(50); ReadADCResult(nodes[i].addr, nodes[i].rawCode, nodes[i].status); nodes[i].temperature LinearizeAndCompensate(nodes[i]); } }轮询周期取决于ADC的数据速率设置。ADS122U04的数据速率最高能到20kSPS但工业测温完全不需要这么快我设在20SPS加上滤波和标定单节点完整处理时间大约100ms。四个节点轮询一圈也就半秒左右对于温度控制来说响应速度绰绰有余。轮询机制的稳定性还取决于超时处理。UART通信偶尔受到干扰芯片可能一帧数据没发全或者干脆不返回。主控端必须给每个节点的等待加上超时时间超时后标记该节点通信异常继续轮询下一个节点绝不能死等一个节点导致整个系统卡住。3.3 指令交互与错误重试策略ADS122U04的命令体系包括系统命令和读写寄存器命令。系统命令有复位0x06、启动转换0x08、停止转换0x0A、读数据0x10等。上电后建议先发一次复位命令等芯片稳定后再进入配置流程。虽然芯片上电内部也有POR复位但外部主动复位一次能保证所有寄存器从已知状态开始。错误重试策略方面我采用的是每帧确认、三次重试、累计告警的策略。每个命令发出后等待芯片响应如果响应超时或状态字节不对重发该命令最多三次。三次都失败就判定该节点通信故障在系统状态页面上报警同时把故障节点的历史温度数据保持冻结值避免控制系统接收到一个错误的跳变温度导致误动作。这个策略在长期运行的HVAC系统里非常重要。HVAC系统通常是24小时不间断运行设备维护窗口很少。通信故障时如果系统无所适从可能整个空调系统都停摆。有了故障节点隔离机制单一传感器故障只影响它所在区域的温度控制精度其他区域照常运行给维护人员留出了充分的检修时间窗口。4. 温度测量算法与标定实现硬件和通信搞定了接下来就是测温的核心——数据怎么变成有意义的温度值。4.1 热电偶冷端补偿与线性化热电偶的测温原理是两根不同金属导体在两端存在温差时产生热电动势。这个电动势的大小不仅取决于测量端温度还取决于参考端也就是连接ADC的那一端的温度。ADC的输入引脚并不能自动把参考端温度保持为零摄氏度所以软件里必须做冷端补偿补偿的原理就是真实温度对应的总电动势 测量电动势 冷端温度对应的电动势。ADS122U04的好处是集成了内部温度传感器精度出厂校准可以直接读出来当作冷端温度。软件流程是先读内部温度传感器值得到冷端Tref再查热电偶分度表得到Tref对应的电动势Eref然后用ADC实测的电动势Em Eref作为总电动势反查分度表得到真实温度。这个过程我写成了一个通用的查表函数把热电偶的分度表做成常量数组二分查找加线性插值。K型热电偶这种线性度还不错的在0到1000摄氏度范围内可以近似用多项式拟合误差能控制在0.5度以内。但如果测温范围横跨很大区间还是老老实实查分度表加线性插值更准确。N型热电偶或者钨铼热电偶的非线性更严重多项式拟合误差就会放大。热电偶采集的放大倍数也要注意PGA增益和ADC输入范围是配合的。ADS122U04内部参考2.048V增益64倍时输入范围就是±32mV对应K型热电偶大约800摄氏度量程。如果你需要测更高温增益降到16倍量程能到3200摄氏度左右但分辨率也会相应下降。具体选多少增益按你最高测温上限反推留出20%的余量。4.2 RTD三线制接法与线性化处理PT100用的场景一般是风管温度、水管温度这类HVAC测量点测温范围通常在-50到150摄氏度之间。比起热电偶RTD的信号要大得多而且稳定性更好适合对精度有较高要求的场合。三线制RTD接法能消除导线电阻的影响。基本原理是两根导线分别连接到传感器两端第三根线连接到传感器的一端后沿导线引回。激励电流从IDAC1流出经过一根导线进入RTD再从另一端经导线回到GND。ADC测量的是RTD两端电压这两端的压差不包含导线电阻产生的压降因为测量回路和激励回路各自独立。如果使用两线制几百米的导线电阻带来的误差在PT100上就可能达到好几度。PT100的线性化可以用Callendar-Van Dusen方程来做。这个方程有两个形式0摄氏度以下和以上分开计算。对于HVAC应用来说如果把温度范围限制在0到150摄氏度线性化校正可以简化成二次多项式误差在0.1度以内。我实测过PT100在电机轴承测温这种场景0.1度的精度已经完全够用。RTD线性化代码我一般用查表加插值表的间隔10摄氏度中间插值误差完全可以忽略。查表比算多项式在CPU上更省事而且修改量程时只需要换表不用改系数。4.3 数字滤波与抗干扰算法24位ADC虽然分辨率高但最后几位在工业环境中往往会跳动。这种跳动来自传感器本身的热噪声、电源纹波、电磁干扰等多种因素。数字滤波是解决这个问题的最后一道防线。我在项目中使用了滑动平均加中值滤波的两级组合。中值滤波的作用是剔除突发性干扰导致的毛刺滑动平均的作用是平滑随机噪声。具体实现是采集5个原始数据先取中间3个做滑动平均输出一个滤波值。这个组合在保留温度变化响应速度的同时能把峰峰值跳动从5到6个LSB压到1到2个LSB。滤波窗口的长度需要权衡响应速度和滤波效果。对于HVAC系统温度变化本身就很慢风管温度的变化周期通常是几十秒到几分钟采样窗口拉长到10秒也没有问题。对于电机轴承这类快速升温的场景需要把窗口缩短到2到3秒不然温度已经升高了10度显示还是滞后的可能会出现保护误动作。还要注意ADC数据速率和滤波窗口的匹配。如果ADC数据速率是20SPS滑动窗口用10个点就意味着1秒的延迟。如果你的控制逻辑对温度的反应时间要求小于1秒那就要提高数据速率或者减小窗口。我个人经验是先把滤波器参数和延迟估算写在设计文档里再根据实际系统的响应要求调整比到了现场再拍脑袋改参数靠谱得多。5. 常见问题与排查技巧实录这部分内容是从实际调试验证中踩坑换来的经验整理出来希望能帮大家少走弯路。5.1 UART通信不稳定的典型原因通信不稳是最常见也最让人头疼的问题。典型现象是调试时数据正常一到现场就丢帧、错数据。我总结下来原因无非四类波特率误差。TM4C1299使用内部振荡器时误差可能在1%左右这个误差在9600bps下不一定出问题但如果你把ADS122U04的波特率调到更高档位误差就会累积到误码的程度。解决方法是TM4C1299用外部晶振或者测量实际波特率后做软件校准。电平不匹配。前文提到过如果ADS122U04用了5V供电TX高电平输出接近5VTM4C1299的3.3V IO可能吃不消。用示波器看波形如果发现RX引脚电压超过3.6V就需要加电阻分压。地电位差。远程节点和主控之间的距离远时两个设备之间的地电位可能不完全一致这就是共模电压。处理办法是把两个设备的地通过粗导线可靠连接或者使用RS485接口做差分传输从物理层面消除共模问题。上电时序。ADS122U04和MCU同时上电时MCU的UART可能会发送半截字符导致芯片状态机错乱。解法是MCU启动后延时200ms再发第一条命令或者用GPIO控制ADS122U04的复位和电源让芯片在主控准备就绪后再上电。5.2 温度数据跳变与精度偏差排查温度数据跳变先排查传感器接线是否牢固特别是热电偶这种微弱信号接头处的接触电阻变化会被放大器放大。用热风枪加热传感器端做测试如果加热过程中数据呈现高度非线性跳变基本可以断定是接线问题。如果接线正常再看PGA增益设置是否正确。我一次调试中数据稳定但换算后的温度比实际高了一倍排查后发现粗心把增益设置成了128而程序里用的增益系数是32倍率整整差了4倍。这种低级错误靠自查往往很难发现建议写一个自检函数用片内测试信号源对ADC链路做一次增益校准输出增益误差系数用于软件补偿。零点漂移则多半是冷端补偿没做好。热电偶的冷端必须紧贴在ADC芯片附近或者至少和芯片温度保持一致。如果冷端被放置在靠近通风口或者发热元件的位置它的温度和芯片内部温度传感器感受到的温度不一致补偿结果就会偏差数度。解决办法是PCB布局上让冷端远离发热器件并加一个导热垫片保证温度均匀。5.3 多节点总线地址冲突与配置误区多颗ADS122U04挂在同一条UART线上最常见的坑是地址跳线没设置好或上拉电阻取值不当。A0和A1引脚的逻辑电平由外部电阻决定常用的配置是10kΩ电阻上拉到DVDD和下拉到GND。如果电阻虚焊或者板材阻抗异常引脚的逻辑电平可能就是浮空状态芯片地址随机跳动。排查地址问题最直接的办法是给每颗芯片单独上电用示波器观察A0和A1引脚的电平。或者更简单先用单颗芯片模式调试通确认响应正常后再逐步增加节点。我在项目中就吃过这个亏三颗芯片上电后只有一颗响应折腾了半天发现是其中一颗的A1引脚虚焊。另外注意ADS122U04的UART通信是半双工还是全双工要分清楚。它的指令交互模式是主问从答芯片不会主动上报数据所以主控端轮询时必须掌握好节奏。如果你习惯用中断方式接收数据记得在接收完一帧完整数据后再做解析不要半帧就处理否则大概率拿到错数据。5.4 PCB布局布线与现场安装建议ADS122U04这类高精度ADC虽然自带数字输出抗干扰能力但模拟前端的布局仍然不能马虎。传感器信号输入引脚到ADC之间走线尽量短而粗最好用地线包围起来隔离。模拟电源的滤波电容要靠近芯片引脚放置小于3mm的距离最好。数字信号线和模拟信号线保持垂直交叉不要在PCB同一层平行走很远。现场安装时传感器探头要注意导热和绝缘处理。RTD探头的保护套管和被测介质之间要有良好的导热硅脂填充不然动态响应慢控制回路的PID调节会出现大超调。热电偶的补偿导线一定要用同类型号的不能随便拿普通铜线替代否则插头处的异种金属接触会产生额外的热电效应。线缆走线路径尽量远离动力电缆。工程中经常能看到温度信号线和压缩机动力线绑在同一个线槽里这种情况下无论用什么滤波算法都救不回来。我一般要求信号线至少离开动力线30厘米必须交叉的地方垂直走线。6. 实测数据与长期运行经验硬件设计定型后我做了两周的连续运行测试包括常温环境老化、温度冲击和电源波动模拟。下面是几组有代表性的实测数据。K型热电偶配PGA增益64、内部基准常温25摄氏度环境下连续采集24小时温度读数波动范围在0.3摄氏度以内数据曲线非常平稳。热电偶冷端补偿后的最大误差在正负0.5摄氏度以内已经超过多数HVAC控制系统的精度要求。PT100配1mA激励电流0到100摄氏度的范围内和标准水银温度计对比最大偏差0.2摄氏度主要误差来源是PT100本身的精度等级。如果你选A级PT100允许误差在0.15摄氏度附近整体精度还能再提一档。多节点总线通信方面四个节点挂一条总线连续48小时运行统计通信错误帧数量为零可靠性令人满意。在偶尔一次人为制造干扰的测试中在通信线上用继电器火花干扰系统出现了两帧数据错误重试机制正常恢复没有报故障。这些数据说明ADS122U04配合TM4C1299的方案稳定性和精度对于工业HVAC应用是完全够用的。如果你就是做普通的环境温度监测甚至可以说这套配置的性能是溢出无浪费的。电源纹波方面我做了对比实验。模拟电源用LC滤波后纹波从50mV降到8mVADC数据跳动位数从4个LSB降到1个LSB。如果你的系统噪声指标很严不要省这个LC滤波器成本只需要几块钱收益非常明显。最后再分享一个小技巧ADS122U04有个内部系统测试功能可以给输入端注入一个已知电压用来自检ADC链路。我在每小时的维护周期里跑一次自检如果自检值和出厂标定值偏差超过阈值就主动上报传感器故障而不是等温度数据错了半天才发现。这个功能在无人值守的HVAC机房里特别实用能提前预警避免因传感器漂移导致的隐性温度偏差。7. 现场部署和产线转换经验芯片从开发板到量产型号的过程有几个细节和生产工艺相关顺带提一下。ADS122U04和TM4C1299NCZAD都是表贴封装焊膏厚度和回流焊温度曲线按照芯片规格书设置即可。需要注意的是温度采集板如果有传感器插座插座和板子之间的接触电阻会在长期使用中增大建议电位计选型时选镀金触点并在出厂前做通断测试。校准产线流程上每块板子在出厂前用标准电阻箱模拟PT100做一次三点温度校准0摄氏度、50摄氏度、100摄氏度。校准系数烧录到板载Flash里主控端启动时读取这套系数参与计算。这样即便不同批次使用的传感器个体有差异整机精度也能保持一致。这种情况下的维护经验是温度传感器探头属于易耗品尤其是热电偶长期工作在振动环境下内部偶丝可能因为疲劳而断裂。建议传感器节点端做成可插拔结构这样现场更换探头时不需要断电整个系统拔下旧探头插上新探头主控程序自动识别和标定停机时间可以压缩到几分钟以内。
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →