基于STM32f的T12焊笔PCB设计及原理图详解

项目开源地址:https://github.com/Cai-Zi/STM32_T12_Controller

Gitee:https://gitee.com/Cai-Zi/STM32_T12_Controller

PCB开源地址:https://oshwhub.com/caisheng/T12han-tai-kong-zhi-qi

焊接及原理图

原理图

手柄电路

计划之后有时间再做短路保护,毕竟安全第一!点赞过500,咱们安排进阶版!

滑动变阻器RP1和R10的电阻和调整至400KΩ即可。

AD823也可以用这些来代替:LM6118, LM6218, LT1122, LT1201, LT1213, LT1215, OPA2132, OPA2134, OPA2227, OPA2604, TLE2072, TLE2142, TLE2227, MCP602

emmmmmmmmmmm,有很多小伙伴想用LM358,得用LM358的双通道串联来放大100倍,请读者自行研究哈~

稳压二极管和肖特基二极管的封装如下,有黑线的那一侧和示意图的竖线对应。

ss8050的引脚对应关系如下,原理图中标注了bce

IRF9540N的引脚对应关系关系如下,原理图中标注了GDS。

AMS1117-3.3降压芯片的封装

AD823的封装

烧写固件

固件下载地址:https://github.com/Cai-Zi/STM32_T12_Controller/releases/tag/v1.2

如果你的电脑安装了keil软件,那么编译工程再进行烧录即可,这里不再赘述,可参考笔者的这篇博客:

https://blog.csdn.net/weixin_42268054/article/details/106878860

如果你的电脑没有keil软件,又不打算开发调试源代码,那么这里推荐使用STM32 ST-LINK Utility软件。软件介绍、下载、安装、使用请参考strongerHuang的这篇博客:

https://blog.csdn.net/ybhuangfugui/article/details/52597133

先将ST-LINK下载器连接STM32开发板,接线如下:

GND 电源地

3V3 接3.3v

SWCLK 接DCLK

SWDIO 接DIO

打开软件,点击该按钮进行连接;

点击Target》Program…;

点击Browse,打开遥控器端或者接收机端的hex文件,点击Start进行烧写;

看到提示信息即说明烧写完成。

使用说明

已完成的功能包含设置温度、自动休眠、自动关机、蜂鸣器开关、恢复默认设置;

在home页面时,短按旋转编码器设置加热开关,长按进入菜单,旋转设置加热温度;

在菜单页面时,短按进入选择,再短按退出,旋转设置参数,长按退出菜单。

睡眠温度为100℃,最小设置温度为150℃,最大设置温度为400℃,建议焊接温度:300-380°C;

标准模式下,烙铁控制的温度为显示的温度;强力模式下,烙铁控制的温度比显示的温度高50℃;

PWM更新频率为390Hz,细分数为255;

使用分段式PID:温差>100℃时,全速加热;温差30~100℃时,激进的PID;温差<30℃时,保守的PID;

读者可自行使用万用表的温度计校准分度表:使用USB-TTL串口下载器和串口调试助手(115200bps)读取100℃、200℃、300℃、420℃时的ADC值;

串口下载器和蓝色板之间的连接:

GND 电源地

3V3 接3.3v

RXD 接PA9

TXD 接PA10

然后更改main.h文件中的TEMP100、TEMP200、TEMP300、TEMP420即可。

5. 工作原理

这一部分是为了让读者能够理解控制原理,不想深究的话可以忽略哈~

5.1 T12烙铁头

T12官方原理图,其发热丝是一种材料,中间导线又是另外一种导线。结合点就是热电偶,也就是测温点。

下面大概说明下热电偶,说说这个烙铁头是怎么测温的。

热电偶是一种感温元件。它直接测量温度,并把温度信号转换成热电动势信号, 通过电气仪表转换成被测介质的温度。热电偶测温的基本原理是两种不同成份的材质导体组成闭合回路,当两端存在温度梯度时,回路中就会有电流通过,此时两端之间就存在电动势——热电动势,这就是所谓的塞贝克效应(Seebeck effect)。两种不同成份的均质导体为热电极,温度较高的一端为工作端,温度较低的一端为自由端。

通过分析就可以知道,发热丝本身即是发热体,也是热偶的工作端。

参考:https://www.geek-workshop.com/forum.php?mod=viewthread&tid=72

热电偶与热电势的计算

鲁迅说过:欲控之,必测之。(鲁迅:我没说过这话,不过听着在理!)

我们先来测量烙铁的温度,再用PID进行闭环控制它的温度,实现恒温。

六种热电偶分度表:S型/K型/B型/E型/J型/T型

https://www.doc88.com/p-276403097011.html

实验得到20℃时的热电势约为0.11mV,80℃时的热电势约为0.60mV,根据各个类型的分度表,可以确定烙铁头的热电偶似乎属于S型。

https://tech.hqew.com/fangan_1628934

常用热电偶的拟合多项式系数,对应温度计算公式为:T=A0*U^0+A1*U^1+…+Ai*U^i;其中U为测得的电动势(V),T为热电偶两端的温度(℃)。

但是经过自己使用万用表的温度计测得热电压,得到温度-电压的关系如下图,发现烙铁的热电偶和S型不符!还好两者在小区间内基本是线性关系,那就只能使用自己测量的电压值了。

from pylab import *
x=[10*i for i in range(0,38)]
y=[0,55,113,150,189,384,576,731,908,1102,
1239,1482,1668,1863,2100,2206,2508,2731,3046,3163,
3408,3658,3954,4146,4389,4688,4937,5213,5495,5653,
5714,5913,6009,6180,6690,6956,7325,7565]
mpl.rcParams['font.sans-serif'] = ['SimHei']  # 添加这条可以让图形显示中文
plt.plot(x, y, 'r-', color='#4169E1', alpha=0.8, linewidth=1)
plt.xlabel('温度[℃]')
plt.ylabel('电压[uV]')
plt.title('温度-电压曲线')
plt.show()

运算放大器(放大热电偶两端的电压)

由于热电偶的热电压只有几mV,无法直接使用单片机的ADC采样,需要放大其电压值,所以使用运算放大器。

非反相闭环放大器如下图(我们用的就是这样的连接)。假设这个闭环放大器使用理想的运算放大器,则因为其开环增益为无限大,所以运算放大器的两输入端电压差几乎为零,其输出与输入电压的关系式如下:

Vout = ((R2 / R1) + 1) * Vin

参考:http://www.elecfans.com/baike/bandaoti/bandaotiqijian/20100309184249.html

5.4 增量式PID算法

PID的定义:

P:Proportion(比例),就是输入偏差乘以一个常数。

I:Integral(积分),就是对输入偏差进行积分运算。

D:Derivative(微分),对输入偏差进行微分运算。

其中,输入偏差=读出的被控制对象的值-设定值。

P用于控制调节力度,P越大,调节作用越激进,P调小会让调节作用更保守;

D的作用就是让物理量的速度趋于0,只要这个量具有了速度,D就向相反的方向用力,尽力刹住这个变化。D参数越大,向速度相反方向刹车的力道就越强。

I 的作用就是,减小静态情况下的误差,让受控物理量尽可能接近目标值。I 在使用时还有个问题:需要设定积分限制。防止在刚开始加热时,就把积分量设得太大,难以控制。

常用的PID模型

PID控制并不一定要三者都出现,也可以只是PI、PD控制,关键决定于控制的对象。比如我们要控制一个人,让他以PID的控制方式来行走110步后停下来。

(1)P控制

比例控制就是让他按照一定的比例走,然后停下。比如比例系数为108,则走一次就走了108步,然后就不走了。P比例控制是一种最简单的控制方式,控制器的输出与输入误差信号成比例关系。但是仅有比例控制时系统输出存在稳态误差。比如上面的只能走到108,无论怎样都走不到110。

(2)PI控制

比例-积分控制就是按照一定的步伐走到112步然后回头接着走,走到108步位置时,然后又回头向110步位置走。在110位置处来回晃荡几次,最后停在110步的位置。说明:在积分I控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统来说,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差的影响取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大,从而使稳态误差进一步减小,直到等于0。因此,比例+积分(PI)控制器可以使系统在进入稳态后无稳态误差。

(3)PD控制

比例-微分控制就是按照一定的步伐走到一百零几步后,再慢慢地走向110步的位置靠近,如果最后能精确停在110步的位置,就是无静差控制;如果停在110步附近(如109步或111步位置),就是有静差控制。在微分控制D中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。

自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳,原因是存在较大惯性组件(环节)或滞后组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差作用的变化“超前”,即在误差接近于零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入“比例P”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势。这样,具有比例+微分的控制器就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例P+微分D(PD)控制器能改善系统在调节过程中的动态特性。

PID算法结构

PID算法的数学模型为:

其中,Kp为比例参数,Ek为本次的偏差值,Sk为积分成分,Dk为微分成分。

积分成分

其中T为采样周期, Ti为积分常数。

微分成分

其中Td为微分常数。

在实际应用中,PID算法具体分两种:一种是位置式PID算法,一种是增量式PID算法。

a)位置式PID算法表达式:

物联沃分享整理
物联沃-IOTWORD物联网 » 基于STM32f的T12焊笔PCB设计及原理图详解

发表评论