
专业版
【星火计划】最丐加热台
9.5k
0
0
11
简介
加热床项目和烙铁项目基本上是功能复用的。 稍做修改就能的出。
简介:加热床项目和烙铁项目基本上是功能复用的。 稍做修改就能的出。开源协议
:GPL 3.0
创建时间:2022-06-01 01:43:20更新时间:2022-08-18 05:25:22
描述
星火计划的B站参赛视频:
记得三连加评论,获奖了才有动力持续更新,谢谢大家!!!
功能简介
利用PCB导线电阻通过大电流产生焦耳热,加热铝基板,实现铁板烧功能。
整体硬件基于我的项目BUCK936数控焊台进行小修小改得到。
人机交互从LCD1602加按键改成OLED12864+旋转编码器。防止交互时不小心戳到发热板烫手指。
电路原理
电源预稳压

由于LM1117-33的输入耐压是12V。为了扩宽输入电压范围,就加入了一个预稳压模块。
R15,R16分压就产生了输入电源一半的电压。经过Q4增强驱动能力,把降低后的电压给到1117-33。使最高输入电源电压从12V扩展到24V。
然后C7在栅极处形成低通滤波,增强电源纹波抑制。
如果把R16换成稳压管,Q2换成三极管,就变成了上课常见的串联型稳压电源电路

一个IO点两个LED

分配好IO发现还多了两个,不如加热板外面加个流水灯做警示作用。这里借鉴呢网上的图,一个IO驱动两个LED。
推挽输出时某一时刻只有一个LED有电,只要输出方波就能两个同时点亮。
但是如何熄灭呢?
假设LED1网络高阻态输出,考虑红色LED的导通压降2V*2=4V大于VCC3.3V。所以此时LED都不亮。
但是在这里会产生一个现象。当加热板温度上去后,会通过热辐射加热LED,此时LED导通压降减少,导致LED无法关断,即使关断也会微微发亮。
运算放大

U2.1可以用虚短续断分析的出R2两端电压为0.3V,这IR1=IR2=30uA,然后就可以通过(ADC_NTC电压-0.3V)/30uA得出R1的电阻,从而推算温度。
但是分析U2.2时你们就会头疼了。R6~R9几个电阻怎么分压,得出放大倍数为50呢?

这是等效电路R8,R9是并联,求得等效电阻为45.5kΩ。
然后是R6,R7,可以用戴维南等效求得一个电压为0.3V,输出内阻为909Ω的等效电路。
现在放大倍数和关系式就能轻易求出。注意0.3V的等效电压源相当于把前面的0.3V消去再进行放大。
代码讲解
函数指针传递
void dot_set(uint8_t x,uint8_t y);//描点
void dot_reset(uint8_t x,uint8_t y);//清点
void dot_alt(uint8_t x,uint8_t y);//翻转点
void FastHLine(uint8_t x,uint8_t y,uint8_t len, void dot(uint8_t,uint8_t));
void FastVLine(uint8_t x,uint8_t y,uint8_t len, void dot(uint8_t,uint8_t));
void Line(uint8_t x0,uint8_t y0,uint8_t x1,uint8_t y1, void dot(uint8_t,uint8_t));
函数传递除了传递数据和指针和可以传递函数指针,这里给出示例。而且这是编译器固有的语法,这里不展开描述了。
多连击检测
500ms内捕获到连续上升沿就计数,并重新计时。如果500ms没有操作就输出连击数。
这里是借鉴了耳机线功能,一个按键识别单击双击三击实现不同功能。
该函数需要定期轮询来计数。
uint8_t get_EC11_state()
{
static uint16_t event_tick=0;
uint8_t out_temp=0;
switch(get_ec11_key())
{
case 1://按下事件
event_tick/=1000;
event_tick++;
event_tick*=1000;//保留千位
break;
case 2://长按事件
event_tick=0;
out_temp=0xff;
break;
}
if(event_tick)
{
event_tick++;
if(event_tick%1000==500)
{
out_temp=event_tick/1000;
event_tick=0;
}
}
return out_temp;
}
软件功能介绍
使用时注意,先导入附件里面的界面.json文件,然后左侧设置如下图。

右边对应的参数是
- 电源电压
- 当前温度
- 设定温度
- 占空比(最大64000)
实机数据测试
加热铝基板经过测试发现冷态电阻是2.5Ω,温度上去后稳定在4Ω。
而且烤机后测量转接板和控制板的温度都上升到70°左右,这温度显然会影响电子元件工作。
经过猜想热量是从加热板背面通过对流和辐射传下去的。而且这些无用的发热使得升温速度变慢,30W就只能维持在160度附近恒定。
猜想有一半的发热从下方散溢出去。如果能隔绝这部分损耗会怎么样?
这时我发现有气凝胶毡这种新型的隔热材料,耐热性能也符合项目要求,10*10CM的10mm厚度才10元不到包邮。
于是带来了下面测试:

状态\区间 | 100度~200度升温用时 | 100度~200度降温用时 |
---|---|---|
无隔热 | 110s | 130s |
有隔热 | 100s | 150s |
略有提升,但是收效甚微
状态\测温位置 | 主板温度 | 螺丝转接板温度 |
---|---|---|
无隔热 | 48度 | 80度 |
有隔热 | 43.5度 | 60度 |
经过测量发现热量主要是通过铜柱向下传递,虽然隔热垫有效果,但是并不显著。
结论是这隔热垫的升级投入并没有引起质变。
推荐的改进方向
如果想提高功率无非就两种方法,提高电流,提高电压。(Q=UI)
我这里开关管是用三个AO3400并联,不知道是开关损坏大还是元件耐压不够,电源上了20V左右时MOS管就被击穿了。
也可能这些3400是2300假冒的(测试元件不来自LCSC)。软件上还做了些许补救,把PWM频率从40kHz下调到500Hz,以降低开关损耗。
在20V以下烤机一切正常。如果想采用24V供电最好采用更大封装的mos管。功率器件封装越大,参数越强。
如果功率提高后,低温段最大功率超过电源额定输出功率,可以考虑程序上软启动。实现起来不难,就在PWM输出加个对应温度做出不同的最大PWM限制。
如果铝基板电阻相对电源额定功率偏小,也可以全程锁定最大占空比。
有可能导致哨叫会比较明显,因为PWM频率才500Hz。而且长期运行在PWM下电感磁损会加剧发热。
不过这里对电感要求不高,功能是降低对电源的冲击。只要不是到达磁芯居里温度然后导致电源进保护就行。
实测满载下电感温度也才70的,黄色铁粉芯,不排除是隔壁铝基板的热传递导致部分温升。
复刻成本计算
物料 | 大概成本 |
---|---|
铁壳开关电源 | 20元包邮 |
DAPLink(山寨STLink可以代替,这单片机不能用正常的STLink烧录) | 20元 |
HK32F030MF4P6 | 1元包邮 |
GS8552(温度无所谓可以考虑LMV358) | 1元 |
0.96寸OLED12864(甚至可以不用人机交互,一直用上位机) | 12元 |
EC11编码器 | 2元 |
MF58 | 2元包邮 |
阻容二三极管 | 10元 |
合计(不带烧录器) | 50元 |
设计图

BOM


添加到专辑
0
0
分享
侵权投诉
评论