apachectl 发表于 2019-7-17 13:42:34

我做的真彩界面TFT白光T12电烙铁(已开源)

本帖最后由 apachectl 于 2019-7-17 13:42 编辑

T12 白光烙铁也是电子DIY中一个非常经典的项目,以至于T12白光DIY烙铁也是广大爱好者和专业人员的标配工具;T12的整个电路可以说是一个标准的温控系统,因此把代码稍微改制,就可以实现各种温控器的方案;

T12目前大多数采用12864的OLD方案在做,少数低端的还在使用数码管,为了彰显豪华版的T12,我们决定拿2.8吋的shmictrl液晶屏来做,这样显示就可以足够豪华

为了做这个项目,某宝上买了一个最低档的套件,说实话,就是买个手柄,怕烫到自己。 好了,废话不多说,上图:



利用原来的外壳做个一个支架,连接屏幕。

电路上采用标准的T12 控制:

加热部分:


PWM 信号控制MOS给烙铁头加热

烙铁头热电偶信号放大:


一个标准的运算放大电路,放大信号约200倍

电源部分:


40V以下均可以输入,转成5V,供屏幕和单片机使用 其中C12预留焊盘

全部的原理图,请参见: https://lceda.cn/zhqsoft/shmictrl-28-t12

实际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维护,当然也可以测底关闭;

当然这只是原理,实际请参见源代码,多个几个分组。

界面: http://a-diy.cn/m/4B88DAE322E3C2498C8722806679D436.jpg

实际效果:


从80度上升到250度,实际焊接无明显降温。



50度上升到450度。

相关资料下载:

原理图与PCB https://lceda.cn/zhqsoft/shmictrl-28-t12

sHMIctrl工程文件(源代码) http://shmictrl.com/download/shmictrl-t12.sz
页: [1]
查看完整版本: 我做的真彩界面TFT白光T12电烙铁(已开源)