|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 岁月如歌21 于 2025-10-24 15:17 编辑
( }! e' u5 W6 O, ~7 x$ J$ Z) o
9 o2 R% u% f4 g" R) T1 |
) z# R( |# R+ s0 E买了一些T12焊台的配件,初步测试了其PID控制的可行性,效果非常好,
6 |. @! W6 P) N1 ?. t3 M- J24V供电,设置温度200度,从21度升温到188度(可以正常焊接了)耗时仅8秒。
# c/ Z; p4 i, s9 e& a' e哪怕用一节小小的3S 14.8V 1400mAH锂电池,' }% t9 L% a2 J9 Y* I
升温也是20多秒,可以连续用将近2小时,对弈便携使用非常方便,7 b: A6 t" N- X
不用拖220V电源插板。
+ D$ h4 G X' N- m# c7 h/ _8 X. ?/ `. L正在设计电路,使用3位数码管显示,之后开源在这里,: I" [* C( m. R% @7 c: a
让每个电工都能做自己的不会坏的T12焊台。
& n/ n* i7 [. \, } ~4 |9 p5 x+ g
/ G Q* x# U; O4 I3 n/ L
0 y2 o( M/ j2 W2 v初步测试效果LCD显示界面:: ?4 l% G. s! C/ G d# C8 \ x( e( L, ?
左边一列从上到下分别是输入电压、发热电流、目标温度、当前实际温度,
2 a" b E% T% a) o1 F* t右边一列从上到下分别是输出状态、发热功率、NTC温度、热电偶温度。4 \: a9 g t9 P3 j4 @
9 d* D7 c% m" c' i
串口绘图-响应曲线,
8 A! J; Z0 r+ j! _5 A$ g设置200度,从21度到188度,只需要8秒,PID曲线无超调,干净利落:
. K# |: J& l; a
5 i& v. ? @9 P: n, a$ v7 K$ `
板子回来了,实测不错,很实用的数控电烙铁。
6 Y. g% H/ @; v' x6 W* p. [% R焊好的板子前面(PCB底层),字符I2C-OLED12864误写成I2S-OLED12864了。( |$ b8 M5 a3 Z
左边为电烙铁接口航空插座GX12-5,中间为3位LED数码管,
2 G$ B) U/ n) r) c7 l右边为编码器(20脉冲一圈)。
4 N3 c( \$ D% a2 J. g
+ ], p; g% B& X+ N6 [$ k
; |/ w+ _( {9 h, @
) a) U! h* ]5 \* G0 Z: i
& E. [1 q& t' G0 P* o# |
4 n. Z, n' o z8 \6 @# T+ Z( l7 l7 ]- U$ |. H3 V% G
使用STC-ISP的串口助手调试, 可以使用STC-ISP里的串口绘图观察曲线 或 7段数码管观察温度, 或者使用文本显示参数.( Z( L& W0 _8 l+ ~, Y" z5 O
串口设置:115200,8,N,1.3 v1 t0 d7 n$ l$ @+ }% Y3 e
6 w" V4 S5 `' C/ S) \2 [0 I
本程序演示使用STC8H系列mcu的ADC测量热电偶和NTC温度,+ i( Y7 S9 F# G: @
经过PID处理后,软件PWM控制MOSFET控制PT12电烙铁加热,达到恒温目的.
% f! e) O3 f: S3 T7 X* P* B程序默认串口绘图观察3条曲线:2 \3 T# b* p% d, t% ~: l1 \# E, H
1、目标温度(单位度)。; H/ w9 w5 W9 G; g) }) @$ f
2、当前温度(单位度)。8 m3 T# c9 }! |8 `
3、输出PWM的值。
) Q- F% S2 v' s* U( D. t4 \, V2 _5 L9 X
PID整定就是根据具体的项目中的温升速度、散热速度,调整PID采样周期、比例增益、积分增益、微分增益、积分上下限。
5 Y3 a5 U! G; z, LPID温控可以只用PI(微分增益设置为0)即可达到稳定,本利测试时微分增益为0.
, m! d7 f6 M' D. y' jPID整定是一件繁琐的事,要有耐心,并且要深入理解PID的行为表现。
0 |5 O3 O0 w) x4 S' Q: j. g. X6 Q6 s特别提醒:想要升温快,则就会有过冲,升温越快过冲越大。) C3 T1 s0 f+ M R. d- D" r
/ }. H# K" `) _0 k: ]
9 K$ [4 O/ l! U% c0 ^串口发送单字符命令:% `6 {2 L: ]8 ^2 q+ v
0: 不打印信息.' u4 s* h" _3 I
1: 打印绘图曲线。9 X2 j4 h4 Y! _- j
2: 打印7段数码管显示温度。4 H5 A( ~1 O, ^4 V% w' u0 `
3: 使用文本返回设置温度、当前温度、NTC温度、热电偶温度8 g1 m7 }( A u+ [
0 Y8 c% N8 S/ K3 Z
串口发送数字字符串设置采样时间、目标温度、pGain、iGain、dGain,数据之间逗号分隔:
2 g. X3 M& u0 h2 z- r150,100,120,0,' N2 ^' {0 \ _$ M: ?5 Q
150: 目标温度, 单位度.* p. y6 k7 { M( B; s
100: pGain比例增益
( r: P' R7 f/ y4 M120: iGain积分增益, 1对应为0.001
- {' i" Y3 k/ o0 y9 y' f& ~' z; y3 ~ 0: dGain微分增益' m6 x4 }" ]$ e+ c8 p7 ^ q, d7 L
上电后先显示设置温度2秒,之后显示当前实际温度,此时电烙铁没有启动。
8 G! {# P/ n, T按一下编码器,开始加热,再按一下编码器,停止加热。3 c3 ? H/ V# @5 X
顺时针转动编码器,设置温度升高,最高温度400度。
* x5 O! L$ _! x5 o. f1 [逆时针转动编码器,设置温度降低,最低温度 40度。7 M2 q" V o- V3 u4 {+ Q! N% [
转动编码器第一个脉冲只切换到显示设定温度模式,设定温度不变。* x' l6 D+ t: E# [7 k( l9 u; `
设置温度时,停止转动编码器2秒后恢复显示实际温度,并保存设置的温度,每次上电后会恢复这个设置的温度。# d" \ C( C+ q, S0 r
输出PWM时,数码管旁边的独立的一个LED会指示PWM输出,周期200ms,亮的时间等于PWM占空比。
- |: y: d& ]* e2 X本例子的PID参数是在24V、烙铁头为T12-K时调试出来的,不同厂家的烙铁头可能会有差异,电压低比较多时,
: e; v& s% Y3 o9 e. s7 \PID参数可能不合适,实际使用24~14V都可以,14V时升温会慢好多,达25~30秒。
/ S' @1 ~: n+ W& }& z使用过程中检测到震动开关动作,重新定时5分钟,当没有使用烙铁,检测不到震动开关动作超过5分钟,7 Q* `# L! w& B5 v* E
就停止加热,要重新加热,按一下编码器重新启动加热,用户可以修改程序用震动开关动作来启动加热。
) s, e- c8 H4 i( j4 O6 c( D5 c- Q( h& z n
加热过程中,检测到震动开关动作,则个位数码管的小数点闪烁一下。, f, D3 S2 _% f! L; F( X: e0 u [4 b: _
24V输入,不加热时电流25~35mA,加热时最大电流2.8A。
1 h' `, H& `: E- f5 n8 z7 X, M6 n
; a' Z# n* b+ I; t4 U& @; l7 \
" b% ~& e; k- d! |- l' C" _$ Y6 k9 k0 |
! C+ m0 i- P. d( u8 N" F- C
" \+ R$ l6 j2 h1 A! \5 } G
; R1 W# z- ^( o2 p |
|