本帖最后由 apachectl 于 2019-8-2 18:34 编辑
T12 白光烙铁也是电子DIY中一个非常经典的项目,以至于T12白光DIY烙铁也是广大爱好者和专业人员的标配工具;T12的整个电路可以说是一个标准的温控系统,因此把代码稍微改制,就可以实现各种温控器的方案; T12目前大多数采用12864的OLD方案在做,少数低端的还在使用数码管,为了彰显豪华版的T12,我们决定拿2.8吋的shmictrl液晶屏来做,这样显示就可以足够豪华 为了做这个项目,某宝上买了一个最低档的套件,说实话,就是买个手柄,怕烫到自己。 好了,废话不多说,上图: 利用原来的外壳做个一个支架,连接屏幕。 电路上采用标准的T12 控制: 加热部分:PWM 信号控制MOS给烙铁头加热 烙铁头热电偶信号放大:一个标准的运算放大电路,放大信号约200倍 电源部分:40V以下均可以输入,转成5V,供屏幕和单片机使用 其中C12预留焊盘 实际PCB以及接法图中预留了ESP12s的位置,理论上可以做成物联网烙铁,但是没有什么实际用途,只是预留。 核心控制算法有人觉得控制算法很神秘,其实很简单; - int TAD=0; //温度AD值
- int pwm=327; //占空比一半
- int setupAD=900; //设置的AD值
- void ctrl0(){
- if (TAD<setupAD-100){
- pwm=65535; //100%
- }
- else {
- if (TAD>setupAD){
- pwm=100; //基本相当于关闭
- }
- else{
- //自动计算PWM
- pwm=(setupAD-TAD)*65535/100;
- }
- }
- }
复制代码
这个函数就是控制算法,可以看到总共没有几行代码,大致的意思是每次获取温度测量的AD值(TAD)之后,调用一下本函数,根据目标AD值(setupAD)来计算一下需要加热的PWM占空比; 可以看到,当TAD与目标setupAD 差值比较大的时候,100%全力加热;当100以内,根据差值大小动态按比例调整PWM值;当温度超过预设温度时,给一个非常小的PWM维护,当然也可以测底关闭; 当然这只是原理,实际请参见源代码,多个几个分组。 实际效果:从80度上升到250度,实际焊接无明显降温。 50度上升到450度。
相关资料下载:
最新固件发布:
1、增加了待机,支持手柄滚珠开关,滚珠开关在手柄一端接地,一端接主板sleep
2、重新优化可控温算法,以及优化了滤波算法,显示加热速度更快
3、增加了NTC,可以在手柄或机箱内安装ntc,ntc型号:MF52A103F3435 (A1) ,没有装ntc的话,系统恒定认为NTC室温28度;接法一端接GND,一端接主板ntc
4、增加了蜂蜜,可以选用无源的蜂鸣器,板子上有接口,注意正负极
下载参见原下载地址,新固件已经覆盖老固件,源码同步更新。
|