业余制作,其实主打的就是一个缝合,这里抄个想法、那里抄个电路、再去抄段程序,一缝合,就是自己的一个小制作。也只有在这样的缝合过程中,才更能找到乐趣和动力,学到东西。 现在网络的便捷和朋友们的无私分享,开源方案各种类型都有。而且现在制作PCB既方便了,还免费。大部分人可能习惯于照搬开源资料,立创打板。但有一些朋友却不敢给合自己的想法和实际,去尝试改进、完善,有些甚至不敢改动一个电阻或电容,对于软件,也只求有个hex固件可以烧录就行。但这样最终其实只是练习了一下焊接技术,基本没学到啥。
今天就分享下我的过程,希望能让大家手里的吃灰东西派上用场,更重要的是希望能提出一种思路,让一些朋友跨出自己设计和制作(缝合)这一步。直接从空白开始设计制作一个作品,可能很困难,但在别人的基础上,缝合一下、修改一下、完善一下,个人觉得,只要有兴趣,还是应该没什么问题的。 想必有很多喜欢折腾电子制作的朋友,手头都有一堆stc89、stc15、M8、arduino(atmega)、stm8等单片机制作的电子电压表表头或者最小系统开发板之类东西,已经放在角落里吃灰好久吧。我手里就有本坛前段时间比较流行的@桃源客 朋友开源共享的stc8h的电子电压表,当时打了5块板,焊了2块。一块用到电子负载上了,另外一块就一直在吃灰。
网上关于T12的制作很早就是个热门话题,烙铁本身也是喜欢电子的朋友的必备工具, 正好自己原来照搬开源资料制作的数控T12送给朋友了,自己用的是最简单的白菜白光。正好可以利用吃灰的物件,做一个,另外,也顺便继续学习一下C51单片机(平时一直用的arduino的,51的只是上次用来做了个简单的自行车尾灯。 自己的垃圾堆里找出个24V3A的电源,正好是T12的绝配,只是体积有点偏大,好在烙铁也基本是固定使用。
其实,原理上来说,数控T12比模拟控制的T12更简单。“上电 - 检测T12温度(热电偶电压) - 和设定温度比较 - 低:加热,高:关闭 ”。就是这么简单。
而数字表头,直接就有单片机(ADC、引脚IO、显示屏、按键),电流检测部分还一般都有运放放大电路。几乎拥有一个完整的数控T12控制器硬件的全部,T12的控制过程也比较简单,又是一个适合初学者学习单片机的好项目。 我们需要额外做的,就是IO引脚输出电平控制大电流PMOS管控制T12加热和关闭,以及把T12的热电偶电压引入,硬件上只需要额外做这样一个小板就可以了。主要是软件的编制。 以上是电子电压表头的简化图,原理是将电流在R5-1和R5-2上的压降电压,用TP09运放进行(1+250/2)倍的放大,单片机ADC采集放大后的电压,折算成电流值。我们需要用到的是原来电流检测的输入口Ain+,输入T12热电偶的电动势,放大后采集电压,折算成温度,和设定温度比较,用OUT1引脚输出的高、低电平,控制T12加热的加热和关闭。按键可以用来设定温度、功能选择等。
用洞洞板做个小板,电路如上。就是端口控制PMOS输出(也可以用NMOS),加热T12,同时将T12的热电偶电压引入到运放,放大后ADC检测。 上图中 T12+和T12GND接T12烙铁头的正负端,OP9-Ain接图一的Ain+,MCU-IO接OUT1. 上图中 R5-1,R5-2检流电阻去掉,R3,R4分别换成300K和1K,放大300倍。
小小的板上,其实各个元件都是有其用处的.
硬件就搞定了。
接下来就是软件了。 软件也简单,原来的电子电压表头软件已经搞定了显示、按键、ADC读取。我们只需要非常小的改动,就可以了。 流程如上,就是这么简单。 简单到主流程其实只需要一句语句就足够表达了: CurTempADC < SetTempADC ? HeatPin = 1 : HeatPin = 0;
和数字电压电流表头连接好,烧录进程序,基本就可以很稳定的运行了。 如果追求完善,可以用上PID、眼花缭乱的UI、校准换烙铁头温度曲线等菜单,但核心就是上面这句话。 个人感觉这样其实就足够了,温度钝性很大的,不用PID也蛮稳定的,差个10来度根本没啥实际影响。 我其实都没去测算温度(主要是没有温度测量工具),直接用ADC值 / 10作为温度显示,使用时,多调节几次,感觉差不多了,看看CurTempADC的值,自己知道该多少就可以了。
视频:
后续可以折腾的内容: 1.加上震动开关或干簧管,实现睡眠或自动关闭功能就可以了。 2.使用PID控制算法(可以控制加热持续时间或者PWM占空比),使温度更平稳。(这个要做得好,其实很不容易) 3.完善UI界面。菜单设置相关设置。(关于单片机的菜单系统,可以做个通用的框架。)
其实学单片机也不是特别无聊,从简单的项目入手,比较有趣,也学得深,会碰到各种的坑,逼着你去查资料、找原因。填坑的过程就是不断学习的过程。 以上制作比较粗糙,只是提供一个思路。
|