基于HC32L110的PID温控器

背景介绍

        最近几年搞项目开发,大家都在提国产化,之前差不多有十年的时间一直在使用ST的芯片在做开发,先是STM32F103和107,再就是STM32L071和073,还用STM32F429开发了几个产品,中间穿插着使用低功耗的处理MSP430F5438A开了几个产品,之后就是芯片库存告急,st的芯片几乎很难找到批量的库存,那几年公司业务也一般,调研了几家国产芯片,之后偶然的机会接触到了小华半导体的低功耗系列HC32L196的芯片,测试后发现国产芯片也可以了,对于我们功耗要求也不是那么严苛,整机静态功耗100uA,锂电池供电,基本就满足需求了。还有一点比较重要的是,在休眠模式下串口唤醒不丢数,之前STM32的L系列芯片要调试到任何情况下都不丢数据,必须让芯片在低功耗运行模式下才能实现,这两年没再关注ST的芯片也不太清楚现在是否有改观,小华的芯片可以做到在9600波特率下串口唤醒不丢数据,国产芯片已经很不错了。

需求

  • 具备RS485通讯功能,支持Modbus-RTU协议;
  • 具备电源指示灯和运行指示灯;
  • 控制固态继电器,调节加热部分的功率;
  • 能够采集PT100的温度,偏差在1℃以内;
  • Modbus从机地址可配置;
  • 加热温度的波动控制在1℃以内;

技术难点

        控制加热锅炉的功率,开始考虑使用板载的器件直接控制锅炉,经过请教大牛,给了个建议使用固态继电器,通过固态继电器来控制锅炉,板子上使用控制直流有刷电机的A4950,这样板子的通用性会更强一些,同时使用固态继电器,标准化的产品会增强系统的稳定性。确定方案后难点就在固态继电器的特性上了,过零点切换,这个是重点,这个特点决定PWM的频率不能太快,要考虑1%高脉冲里有多少个周波可以计算在内,这里采用的1Hz的PWM,通过调节占空比来实现50Hz交流电的控制;

        温度采集,开始没有过多考虑就直接用最简单粗暴的方式采集PT100的阻值,分压法,实际设计完硬件后,考虑软件实现时发现PT100的正常工作电流有要求,工作电流要求≤5mA,这样PT100电阻的分压变化范围会很小,在5mA点留下,两百摄氏度比零度时电压变化了0.375V,无法将MCU自带ADC的效用发挥到最大。然后开始查资料,最后确定使用一个稳压芯片提供稳定的2.5V电压,搭建一个电阻桥,然后使用一个MS358运放芯片放大50倍,然后用ADC采集电压。

        稳定电压的提供,如何提供一个2.5V的稳定电压,通过查询资料,使用了TL431,串联的电阻一定不要太大了,开始用1K的电压无法稳定在2.5V,换成100的就OK了。

        电阻桥的设计,跟PT100对应位置的电阻设计比较重要,需要根据测量温度的范围来选取阻值,开始考虑测量范围0~200℃,所以选用了100欧姆的电阻,后来需求上要求能够测试零下十几度的温度,遂将此电阻阻值设置为75欧姆,还有就是电阻桥上串联的电阻用来控制电路中电流的,选用了10K的电阻,电流大了放大倍数会变小,需要根据项目需求实际计算一个合理的值。

        运放的选择,也是国产化的思维作祟,选用了MS358,供电电压3.3V,电压在其合理的范围内,实际测试时发现输出电压到了2.1付左右后无法再往上增加,询问了原厂的技术,说设计看不出来问题,让我改一下芯片的供电电压试试,为了避坑,我调节了放大倍数,让最高测试点不超过2.1V,同时也调节了供电电压,因为调节后的极限温度比较高,也能满足项目需求了就没再关注这个问题,过程中也购买了TI的LM358DR芯片进行测试,效果一毛一样,可能真是便宜没好货,老工程师给建议,不要图低成本太多,还是要先实现项目目标为主。

        其余部分没啥难度,复用直流有刷电机的部分代码。

设计

        核心器件选型

        大部分复用了直流有刷电机控制板的器件,新增了稳压芯片TL431,运放芯片MS358。

        功能框图

         功能描述

  • 具备RS485通讯功能,支持Modbus-RTU协议;
  • 具备电源指示灯和运行指示灯;
  • 支持PT100阻值采集,温度范围-20℃~200℃;
  • 支持供电电压采集;
  • 默认PWM输出频率1Hz,占空比可调0~99;
  • 支持参数设置,掉电不丢失;
  • 加热控制部分采用磁隔离;
  • Modbus从机地址可以配置;
  • 串口通讯参数可以配置;
  • 加热工作模式可以配置(恒定功率加热,PID温控加热等);

产品

正面图

背面图

                       

控制模式有四种,固定功率加热模式,固定功率+时间加热模式,PID温控加热模式和温度采集模式。

产品配置助手,基于python3的QT6开发,如下图所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值