
uno控制ptc恒温加热台
简介
使用arduino uno控制双向可控硅,采用过零检测和逐次逼近法达到恒温控制目的。
简介:使用arduino uno控制双向可控硅,采用过零检测和逐次逼近法达到恒温控制目的。开源协议
:GPL 3.0
(未经作者授权,禁止转载)描述
前言
买了一个鹿仙子的140w ptc加热台,没有温度显示及调节功能,刚好手头有闲置的uno及一个之前做电子负载时买错的1.3寸oled,干脆都用上吧。
警告:本项目涉及220v交流电,制作者需有一定电路基础,作者保证电路设计的安全性,不对制作者在制作和使用环节引发的安全问题负责!
1.软件功能简介和设计思路
使用arduino ide编译,旋转编码器调节设定温度,双击编码器sw键保存设定温度到uno的eeprom,长按sw键3秒开始加热,加热时屏幕第三行显示“正在加热”,不加热时无显示。最初想使用arduino的库函数pid控制,后来发现不能控温,原因在于pid的周期是2ms,而正弦交流电周期是20ms。考虑到ptc控温不需要特别精准,加上ptc加热的非线性特点,采用了逼近法,桥式整流后每隔10ms采样一次过零信号,采样10次即100ms内,如果当前温度低于设定温度40度,pwm一直高电平;设定温度-当前温度<40度时pwm占空比70%;设定温度-当前温度<5度时pwm占空比30%,因时间问题我没有长时间测试加热效果,如果在使用中对温度调节不满意可以执行改动pwm占空比。第一次写综合的arduino代码,不喜勿喷,可以在评论区提出改进意见。
2、硬件
考虑到强弱电分离,pcb设计成三块板,分别是过零检测和可控硅控制板、编码器调节和oled显示板、uno适配板。pcb设计是很一般的业余水平,不知道220v如何铺铜,靠近220v的一律没有铺铜。为了省钱,三块板画成了一个板框,据说嘉立创开槽长度超过75%就按照拼板收费,不过我打板时审核成了一块板,拼运气吧。
不用理会未连接的那几条飞线,板子裁开后用线缆连接
3、附件
4、个别元件某宝链接
编码器模块排针要卸下来反着焊接 https://item.taobao.com/item.htm?spm=a1z09.2.0.0.288f2e8dAfPp8P&id=648231745636&_u=f2h4vops881c
接插件 2.54 胶壳直针座 https://item.taobao.com/item.htm?spm=a1z09.2.0.0.288f2e8dAfPp8P&id=526112254730&_u=f2h4vops1065
2pin和4pin在一家买就行,FC-10P 线长20CM, DC3-10P,都在同一家搜索。
5、装配注意事项
鹿仙子自带的ptc加热台螺钉不要扔,那是隔热的,是个好东东。ptc板原来的四个孔做沉孔处理后,使用3X50mm螺丝穿过去后用螺母固定,然后套在鹿仙子自带的ptc加热台螺钉上,测试20分钟没问题,3d打印外壳(pla材质)完全能够承受。附件中有图说明。
设计图
BOM


评论