|
之前制作了两个无显示的936电烙铁,分别控制A1321和A1322发热芯的。
https://www.mydigit.cn/forum.php?mod=viewthread&tid=108356
https://www.mydigit.cn/forum.php?mod=viewthread&tid=163395
感觉只能使用一种发热芯,有局限性,也不便移动。就想用单片机和数码管做一个能识别并使用A1321和A1322/A1323发热芯的电烙铁。
参考的老站这个帖子:http://bbs.mydigit.cn/read.php?tid=1012273
没有买T12发热芯,就没有增加加热T12发热芯的功能。后续有机会再增加。预留了OLED屏幕接口,SPI和IIC接口都有。
现在能实现的功能:
1.使用过程中实现A1321和A1322/3无缝切换,不需要重启,不需要断电,不需要任何多余操作,只需要拔下手柄,再插上你想要用的手柄,连温度都和刚才设置一样。
2.上电自动判断手柄类型并按初始设置温度加热,使用过程中可手动长按编码器3秒切换手柄类型。
3.数码管显示实时温度。预留OLED接口,可支持支持SPI,IIC接口的OLED,0.96和1.3寸等等多种尺寸,只要接口一样都支持。
4.三种发热芯都可以自动休眠。双击编码器进入设置休眠时间状态,可设定0-120分钟后休眠,步长10分钟。支持旋转、单击编码器唤醒方式。休眠时间设置为0时不会进入休眠状态。
5.加热过程中左旋或右旋编码器设置加热温度200-480度,步长20度。设置好加热温度后闪烁3次,然后显示实时温度。
6.单击启动加热,再次单击停止加热。
7.检测输入电压,低于12V时蜂鸣器响报警。
8.检测机器内部温度,高于60度时停止加热并蜂鸣器响报警。同时数码管显示“HOT”。
整机采用单片机STM32F103CBT6和旋转编码器EC11控制,mos管用的Nmos,运放用的LM358,数码管是0.36英寸的。
旋转编码器有左旋、右旋、单击和双击动作。动作定义如下:
1、单击:正常加热过程中单击一次编码器,停止加热,再单击一次,开始加热。
2、双击:正常加热过程中双击编码器进入设置休眠时间状态,左旋或右旋调节休眠时间。设置完毕后再双击退出设置进入正常加热状态。
3、左旋或右旋:正常加热过程中调节加热温度,设置休眠时间状态下调节休眠时间。左旋减小,右旋增大。
设计思路就是不同发热芯工作电流不同,通过康铜丝检测两端的电压来区分不同发热芯。通过运放放大发热芯传感器的电压值给单片机AD管脚,单片机采集到AD信号后与不同的阈值比较控制MOS管通断来控制加热温度。A1321的传感器是热电阻,不能直接产生电压,需要加上拉电阻。也可以用恒流源来产生电压。本次未采用恒流源方法。
先来成品图,手工开孔,精度不够,有点难看。
电路图如下:
整体电路
主控部分,采用STM32F103CBT6
供电部分
温度和电流采集部分,电位器是调节烙铁温度的。
数码管电路,采用IO直接驱动。没加限流电阻,亮度有点大,可以使用。也可以通过程序驱动共阴或共阳数码管。
旋转编码器电路
手柄接口定义,一个是航插接口,一个是直插接口。10uF电容未焊接。
电路板焊接好调试并写程序。此电路板铺铜有问题,应该把手柄加热24V的地和单片机的地区分开,在电源地处汇合。设计好的MP2451电路焊接在电路板上,手柄加热时采集的温度AD值受影响,不会变化。解决办法就是外接24V转5V电路。另外航插直接焊接在电路板上也会影响温度采集,可以采用直插接口处外接航插。或者航插的地单独引线到电源地。
调试过程:
开机显示“TES”,此时手柄开始加热,并通过检测康铜丝两端的电压区分手柄类型。识别后显示手柄类型,“321”代表A1321芯,“322”代表A1322或A1323芯,“Err”代表无芯。
识别到A1321芯,显示“321”
识别到A1322芯,显示“322”
无芯时显示“Err”
加热过程温度
网上买的24V6A电源,感觉有点假。
电源内部
要放进电路板,输出电容位置太小了,要改位置。把散热片剪掉一部分,电容拆下来。
一个电容放倒,一个放后面
电源插座位置加一个开关
接上电路板,外接的电路是LM2576-5,24V转5V电路。
绘制开孔位置并在电源外壳上开孔
安装
上电测试
休眠状态,显示“---”,停止加热。旋转一下编码器或按一下编码器即可退出休眠状态。
制作完毕。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|