|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 岁月如歌21 于 2025-10-24 15:17 编辑
1 _* A. c! H( F; w+ S2 W) m" h( R: c1 a2 \( K' s/ n, g9 u4 _
& ?# u* o( [( J/ {: c
买了一些T12焊台的配件,初步测试了其PID控制的可行性,效果非常好,
" T8 `. S5 Y) @! l, B+ `24V供电,设置温度200度,从21度升温到188度(可以正常焊接了)耗时仅8秒。
. r- N4 k$ G4 j2 @, a哪怕用一节小小的3S 14.8V 1400mAH锂电池,
b' }- x: Y6 Q/ Y; m B. ]! b升温也是20多秒,可以连续用将近2小时,对弈便携使用非常方便,: k! c' N' x0 b7 [2 p( s8 W q
不用拖220V电源插板。: S8 U4 Q3 U+ o
正在设计电路,使用3位数码管显示,之后开源在这里,
& a5 L2 Z& v% b. D让每个电工都能做自己的不会坏的T12焊台。
# d5 ^4 j: y2 i3 C6 Z z
& J/ i- f1 s* g. i9 x' Y$ v
2 R# o8 Z! F2 M5 O$ ^; J初步测试效果LCD显示界面:
( V# {% f t' A2 h6 H左边一列从上到下分别是输入电压、发热电流、目标温度、当前实际温度,
& s. N8 A1 A3 n9 ?) E; \右边一列从上到下分别是输出状态、发热功率、NTC温度、热电偶温度。' I6 B. x7 X F* A
8 C9 _$ |* ]. |. {串口绘图-响应曲线,
6 S3 e7 ^% Z; d: h$ d设置200度,从21度到188度,只需要8秒,PID曲线无超调,干净利落:2 \/ R+ t; l0 W+ I+ g7 i& b( \
! W1 b' T/ o3 h
板子回来了,实测不错,很实用的数控电烙铁。7 W2 A$ V M7 }$ {) W. j
焊好的板子前面(PCB底层),字符I2C-OLED12864误写成I2S-OLED12864了。6 R2 j; W5 J+ P. R. k. n4 r1 c/ H
左边为电烙铁接口航空插座GX12-5,中间为3位LED数码管,
2 D& N' m6 W- W2 o' l! A: S/ n. o* v右边为编码器(20脉冲一圈)。2 C% P. B% @, X2 g( y- f
$ s/ Y7 k% P; x* C x
! H: @5 y9 g, L" {2 C# t
6 h, z- ^! z1 U% A+ _- I
+ `, P# r: U+ m+ U4 b6 P
# B; Q3 k4 F1 C: q' U" H# n# @8 |) Z/ W" d! l
使用STC-ISP的串口助手调试, 可以使用STC-ISP里的串口绘图观察曲线 或 7段数码管观察温度, 或者使用文本显示参数.
9 r# X& P1 B2 w- g串口设置:115200,8,N,1.
! p; i! w/ R1 Z* \3 Y1 P
+ K4 T" s/ Y+ Y) P: ?7 N本程序演示使用STC8H系列mcu的ADC测量热电偶和NTC温度,- N/ Z0 S z, F) L( H1 @$ O/ k
经过PID处理后,软件PWM控制MOSFET控制PT12电烙铁加热,达到恒温目的./ R' ~2 _: Q8 J# C! ^: e
程序默认串口绘图观察3条曲线:
, E7 o# n$ v9 y' I' K1、目标温度(单位度)。
+ i' t2 X) W* @4 o, W" z2、当前温度(单位度)。8 z( Z' ~- V2 \- ]) I) d7 L3 `! M/ X
3、输出PWM的值。
0 \2 G5 t6 B: D5 s
7 b" H ^- z) \( I1 N8 E, y* A) qPID整定就是根据具体的项目中的温升速度、散热速度,调整PID采样周期、比例增益、积分增益、微分增益、积分上下限。
1 E! \; O" r; c; V7 w, E6 KPID温控可以只用PI(微分增益设置为0)即可达到稳定,本利测试时微分增益为0.# q( c% `3 }! i! U
PID整定是一件繁琐的事,要有耐心,并且要深入理解PID的行为表现。
r5 Z6 x, J0 L5 `( J4 y特别提醒:想要升温快,则就会有过冲,升温越快过冲越大。5 V$ c& P/ V* }
8 x2 M( F- H( Q- M" \- ^' c. K- g7 }. \3 T* {
串口发送单字符命令:
* b# b! ~% }8 ?; W: h0: 不打印信息.( U: [8 T# T' e* p, { w
1: 打印绘图曲线。
3 ]. l1 E5 m d B3 {" |) F2: 打印7段数码管显示温度。
/ W" j( J4 F; y/ }' X: j: j6 {3: 使用文本返回设置温度、当前温度、NTC温度、热电偶温度
$ N. v8 t8 O% s
; d8 b% q+ L9 r, n串口发送数字字符串设置采样时间、目标温度、pGain、iGain、dGain,数据之间逗号分隔:
1 n$ y/ ]% }" A9 V150,100,120,0,0 K: H- `: @) a: |* B. |
150: 目标温度, 单位度.
: \6 `( S( j6 S# D8 {2 h6 W: G100: pGain比例增益
- E; e/ ]& T, R2 l8 c& G120: iGain积分增益, 1对应为0.001( i3 _1 M; S! J% V, ?1 ~& @
0: dGain微分增益5 E2 O4 J/ H7 h) Y1 Y% C
上电后先显示设置温度2秒,之后显示当前实际温度,此时电烙铁没有启动。# t9 |0 T+ k1 v2 Y- i
按一下编码器,开始加热,再按一下编码器,停止加热。
7 c, X- q! p; ?: N* P: |4 E: X顺时针转动编码器,设置温度升高,最高温度400度。
4 ?6 T+ P+ {$ |$ X逆时针转动编码器,设置温度降低,最低温度 40度。) ?$ u" Q4 u3 R" G) V5 Z$ K
转动编码器第一个脉冲只切换到显示设定温度模式,设定温度不变。9 ]2 `. |0 H$ j6 Q u, K9 a
设置温度时,停止转动编码器2秒后恢复显示实际温度,并保存设置的温度,每次上电后会恢复这个设置的温度。
0 w( N9 g& q1 O; D: ^# ~输出PWM时,数码管旁边的独立的一个LED会指示PWM输出,周期200ms,亮的时间等于PWM占空比。( C( a5 u, K0 [
本例子的PID参数是在24V、烙铁头为T12-K时调试出来的,不同厂家的烙铁头可能会有差异,电压低比较多时,
+ m6 W3 n* n/ N5 W: qPID参数可能不合适,实际使用24~14V都可以,14V时升温会慢好多,达25~30秒。5 X2 C' z7 e- J# Q; C- k
使用过程中检测到震动开关动作,重新定时5分钟,当没有使用烙铁,检测不到震动开关动作超过5分钟,
A, `9 Y+ X+ ~5 e就停止加热,要重新加热,按一下编码器重新启动加热,用户可以修改程序用震动开关动作来启动加热。* \7 T- e0 |, X: _6 c `' W
! l$ e" c' ~: n. q* M- {. w" M k
加热过程中,检测到震动开关动作,则个位数码管的小数点闪烁一下。$ F- ~' n( Y' o! p. a6 s
24V输入,不加热时电流25~35mA,加热时最大电流2.8A。
/ ?, u0 D' w0 n% }" T
' K- b) @% }% {- u# T) r: W
3 _8 c3 U9 \4 a: ^
) b( X; M; K$ U
- y2 F1 J+ y9 @# _0 Q1 q& w( ~5 f9 o4 c6 E: L: r2 q
|
|