历史上的今天
返回首页

历史上的今天

今天是:2024年12月14日(星期六)

2019年12月14日 | 天山OLED白光烙铁单片机源码与使用手册V3.1.1

2019-12-14 来源:51hei

0 特别声明
0.1 版权声明

程序中所有代码均由本人(即全体著作权所有人,下同)开发完成,程序开源后授权任何人可免费使用本程序(既可直接使用固件,亦可在程序基础上修改出任何衍生版本),但上述程序及本文档著作权属本人所有。

硬件设计中参考了广大网友的建议,不再声明版权,但请各位使用者尊重本人和其他网友的劳动成果。


0.2 开源协议

除本人以外的任何人对本程序(包括但不限于此版本,下同)进行修改后的任何衍生版本,以及以本程序思路或部分代码为基础设计的其它程序,必需开源所有代码。未经第一著作权所有人(@BEAT)之书面授权,任何单位和个人不得将上述程序(包括本程序及所有衍生版本和参考本程序设计的其它程序)及本文档以任何形式用于商业用途。

本程序受著作权法保护,本人保留对侵权者及违反开源协议者追究法律责任的权利。请遵守此开源协议,尊重原作者、及所有衍生版本作者的劳动成果,遵守著作权人所在地法律法规!


0.3 免责声明

本人只进行程序的设计,并无偿分享给网友。本人只保证该程序在我的手中可以正常工作,不保证其他人以任何形式得到的电路板、元器件及源程序均可正常工作,不承担其他任何人使用本人所设计的所有软硬件造成的一切后果。如您不同意此声明,请您立即删除本文档及其相关程序。


0.4 致谢

本程序中部分内容参考了@BEAT的相关算法;@ xzhyahoo1在V2.0和V2.1版本设计时提供了建议;V2.8版本修复的BUG是由@理解源于真诚发现的。V3.0中的UI是由@BEAT设计的。以上朋友的帮助,对程序的开发和更新起到了良好的作用,在此一并致谢。


1 硬件准备1.1 硬件介绍1.1.1 本人设计的PCB介绍

①存在已知问题是编码器和OLED屏距离太近,如果选用1.3寸OLED,编码器装上旋钮后会挡住部分OLED屏。因此需要各位试用的朋友自己飞线,或给屏装上排线,或EC11采用飞线,总之将屏和编码器分开。

②焊接蜂鸣器和编码器时,应先焊蜂鸣器再焊编码器,并用胶带或热熔胶将蜂鸣器的两个焊盘妥善绝缘,否则编码器背部的金属会将蜂鸣器短路,并且需要将编码器两个固定脚剪掉。

③选用5V供电的OLED屏时,R4/R5应选用1k,采用3.3V供电时,R4/R5选用470R,具体选用5V还是3.3V,由JP1跳线决定。

④请在5V加470uF以上电容,运放VCC加104电容。

⑤电容C5设计有误,实际不需要。

1.1.2 智萌版硬件介绍

①正面三个电容不需要焊接,否则无法下载程序;

②建议MOS更换为AO4413.

1.1.3 海绵宝宝版硬件介绍

①单片机应改为STC15W2K60S2;

1.2 烧录固件1.2.1 烧录步骤

固件在Prj文件夹下Objects子文件夹内,文件名为HAKKO.hex。

①将CH340模块连接焊台,先只接TX、RX、GND三根线,VCC不接;

②按图1-1步骤勾选相关选项;

 

图1-1 STC-ISP软件操作步骤

③将下载器VCC与焊台连接。

1.2.2 烧录失败排查

①编码器位置不合适,旋转编码器再试(请确保编码器转到位,不要卡在中间);

②TX、RX接反,V1.0beta版本硬件应是T-R、R-T;

③下载器供电不稳,检查下载器带载后的电源电压;

④降低下载时的最高波特率,并取消勾选“使用快速下载模式”。


2 功能介绍2.1 界面介绍

烙铁工作时,分为两种工作模式,即普通工作模式和通道工作模式,两种模式可短按编码器切换,以下将分别介绍。


2.1.1 普通工作模式

普通工作模式下,允许用户以自定义的步进(在菜单中可调),调整设定温度值。步进取值范围为1-50。普通工作模式界面如图2-1。

图2-1普通工作模式界面


2.1.2 通道工作模式

通道工作模式下,用户可以在0~5共计6个温度通道中选择设定温度,其中通道0为0℃,通道5为“最高温度”值,其余四个通道的值可在工厂模式中设定。通道工作模式界面如图2-2。

2.2 主菜单介绍

长按编码器进入一级菜单,旋转编码器选择想要进入的二级菜单,短按进入该二级菜单。再次旋转编码器,将光标移动至需要修改的具体参数上,短按编码器选中该内容(选中后该选项值显示在文字后方)。再次旋转编码器修改该值,修改完成后短按编码器取消选中(取消选中后该选项值消失),再次旋转编码器可以移动光标至其他参数上。退出一级菜单和二级菜单均需要长按编码器,长按时间为1s。菜单结构如图2-3所示。

图2-3 菜单结构图

2.2.1 温度设置

温度步进:用户在正常模式下旋转编码器的温度步进值,以及在其他菜单中设定与温度相关的参数时的温度步进值;


休眠温度:烙铁进入“休眠模式”下的工作温度,该选项值如小于50,则休眠时不加热,且该选项值不能超过“最高温度”的设定值(已在固件中进行了限制,下同);

默认温度:烙铁开机后默认的设定温度,该选项值不能超过“最高温度”的设定值,如希望焊台保存上次关机时的设定温度值,则可以将该选项置为“0”;

最高温度:烙铁可以设置的最高温度,该选项值不能超过500(在温度超过450℃后精度没有保证,请谨慎使用);


2.2.2 时间设置

休眠时间:当烙铁手柄停止振动且编码器没有动作后开始计时,到时进入休眠模式,以“休眠温度”进行工作,直至进入“待机模式”,在此时间内通过振动手柄或编码器动作可唤醒烙铁,重新以原先的设定温度进行加热。如不需要休眠,该位置0。该位置0后,不会进入休眠和待机模式,也不会切断220V电源。


待机时间:在进入休眠模式后开始计时,到时进入待机模式,烙铁停止加热。该位置0表示到休眠时间后直接进入待机模式。待机模式下,只能由编码器动作唤醒烙铁。


关机时间:在进入待机模式后开始计时,到时由单片机IO口(可自定义,参见第三章第五节)给出低电平信号,由硬件配合切断220V电源,该位置0表示不切断220V电源,没有硬件配合的该位无效,可置任何值不影响程序运行。由于单片机掉电唤醒定时器时钟不准,该时间存在较大误差(20%)。


2.2.3 通道设置

默认通道:烙铁开机后默认的设定通道,该选项取值范围为1-5,如希望焊台保存上次关机时的设定通道,则可以将该选项置为“0”;

通道1-4:允许用户设定通道1-通道4的通道值,在通道模式中调用,该选项取值不得大于“最高温度”值。


2.2.4 其它设置

焊咀选择:允许用户在工厂模式中事先储存4支烙铁头的参数;

振动阈值:烙铁头振动唤醒烙铁时的灵敏度设定,取值0~10,0为最灵敏;

按键音量:编码器转动或按下时的音量设定,取值为0~10,0为关闭蜂鸣器;

保护电压:烙铁停止加热的电压值,当电源(或电池)电压低于该设定值时,烙铁停止加热,但不影响菜单操作;

温度波动:烙铁显示温度波动较大时,可提高该值使显示稳定,取值范围1-5,1为显示实时值。

恢复出厂设置:如需恢复出厂设置,则将该位置1,退出菜单后所有参数均恢复出厂设置。


2.2.5 焊咀校准

焊咀选校: 如需矫正并存储烙铁头参数,需将该选项调整为想要校准的烙铁头编号,之后在其余子菜单中进行校准。


0~600℃: 单击选中100℃至500℃选项后,将按照“焊咀选校”中设置的烙铁头编号对应的温度表对烙铁加热,取消选中后自动停止加热。在校准过程中,如实际温度低于设定的温度,则调大AD值;如实际温度高于设定的温度,则调小AD值。0℃及600℃一般为默认值无需调整。温度有过冲比较严重的现象时,反复多次校准温度一般可以解决. 在烙铁头校准时,切记该组数据必须严格从小到大递增,否则温度无效。例如,如果校准前:100℃,AD=110;200℃,AD =270;300℃,AD = 380,当校准200℃时,温度不足200℃,需要将AD值从270调大,但其大小不能超过300°时的AD值380,如果从270调到380温度还不能达到200℃,那就说明300℃时的380这个值也偏小了,需先将300℃的380也增大。


2.2.6 其他校准

按键校准:不同厂家的编码器AB通道不一定相同,如编码器方向与习惯不符,可将该选项调整为1,默认为0。

电压校准:如需矫正电源电压,需旋转编码器将当前电源电压的测量值乘10取整保存在菜单中,如当前电源电压为24.4V,那么将该值调整为244即可;(注意此值对应的编码器步进不为1,需多次旋转才会进1)

室温校准:如需矫正室温,需旋转编码器将当前室温的测量值取证保存在菜单中,如当前室温为18℃,那么将该值调整为18即可;(注意此值对应的编码器步进不为1,需多次旋转才会进1)


3 程序修改

为方便各位朋友在本程序的基础上继续添加或修改自己需要的功能,在此介绍一些常见的问题。


3.1 准备工作

首先需安装Keil软件(见群文件),并下载解压STC-ISP软件(见群文件)。添加型号和头文件到Keil中,如图3-1。然后打开prj文件夹下的HAKKO.uvproj文件即可开始修改。

图3-1 添加型号和头文件

3.2 可快捷修改的几个设置

(1)打开程序文件的config.h文件,找到图3-2(a)所示位置。

(a) config.h文件部分代码

(b)编译按钮

图3-2 可快捷操作的几个设置

(2)根据需要注释相关定义;

(3)设置完毕后按编译按钮,编译按钮在Keil界面左上角如图3-2(b)所示的红圈内。


3.3 修改开机LOGO

①准备一张128*64的logo图片,单色BMP格式;

②打开PCtoLCD2002软件;

③点菜单上的模式,改成图片模式。
④点菜单上文件、打开(打开准备好的bmp格式的logo图片)如图3-3;

图3-3

⑤点上面的齿轮,设字模选项,阴码,列行式,逆向,C51,自定义格式(删去行前缀和行后缀的大括号),如图3-4所示;

图3-4 字模选项

⑥设定好后,点确定,然后点生成字模,如图3-6;

⑦复制生成的代码,替换源程序中LQ12864.C中的LOGO[1024]数组,如图3-5所示;

图3-5 替换LOGO数组

⑧点击图3-2(b)所示的编译按钮,编译后即可下载。


3.4 提高烙铁最大输出功率

烙铁最大输出功率(24V侧)实测已经达75w以上,如果认为不满意可以手动修改程序。但提高效果并不明显且会造成进口头温度检测的波动。为满足更多人需要,特给出修改方法:

(1)打开程序文件的Sys_Sample.c文件,找到图3-6所示位置。

图3-6 Sys_Sample.c文件部分代码

(2)根据需要将Get_ADC10bitResult也注释;

(3)修改完毕后按编译按钮,编译按钮在Keil界面左上角如图3-2(b)所示的红圈内。


3.5 修改控制器IO口

为方便使用其他控制板的朋友修改IO,特取消PCA功能并改用定时器生成PWM波,如图3-7所示.

(1)打开程序的config.h文件,找到图3-7所示位置。

图3-7 config.h文件部分代码

(2)修改适当的IO,其中KEY_A为切换烙铁头按键,KEY_B为休眠或关机按键;

(3)修改完毕后按编译按钮,编译按钮在Keil界面左上角如图3-2(b)所示的红圈内。


4 结语

本程序为天山T12焊台最终版程序,程序中不再新增任何功能,不再修复任何不影响使用的BUG。软硬件均已经开源,希望各位朋友在研究、使用的同时切实遵守开源协议,尊重各版本作者劳动成果,共同营造一个自由、平等、排除商业模式干扰的交流平台。再次感谢开发本焊台过程中向我提供过帮助的所有人,衷心感谢!



单片机源程序如下:

/*********************************************************************************

* COPYRIGHT NOTICE

* Copyright (c) 2017, XinJiang University

* All rights reserved.

*

* 文件名                :        Sys_Basic.c

* 描述                 :        系统基础函数,包括中断和MCU底层,延时函数等

*

* 版本                        :        V3.0.2

* 作者                        :        王志浩

* 日期                        :        2017-10-22

* 以下全部程序之著作权归属新疆大学所有,受《中华人民共和国著作权法》保护!

* 未经第一著作权所有人书面授权,任何单位和个人不得将以下程序用于商业用途!

* 修改此程序请保留上述版权声明,引用程序请注明出处!

**********************************************************************************/

#include "config.h"


/********************** 全局变量定义 ************************/

PWM_s                                                        PWM                                                 =         {0,Disable};        //PWM相关变量

IRON_STATUS_e                        IronStateFlag         =         NORMAL;                                //烙铁工作状态标志位

TIMER_s                                                Timer                                                 =         {0,0,0};                        //定时计数器

IRONUSE_STATUS_s        IronUse_Status         =         {FREE,FREE};        //烙铁使用状态标志位



/************************************************************

* 函数名                :        timer0_int

* 功能说明        :        定时器0中断,生成PWM波,蜂鸣器响

*

* 输入参数        :        无

* 输出参数        :        无

*

* 修改记录        :        新增函数,第一次编辑

* 历次作者        :        王志浩

* 日期                        :        2017-10-18

*************************************************************/

void timer0_int (void) interrupt TIMER0_VECTOR

{

        static unsigned int                 BeepCounter = 0;

        static unsigned char         PWM_counter        =        0;

        

        //PWM生成

        PWM_counter++;

        if((PWM_counter                IRON = 1;

                //IRON = 0;

        else

                IRON = 0;

        

        //蜂鸣器响

        //旋转或按下后BeepCounterFlag被置位,开始计数

        if(BeepCounterFlag)

        {

                BeepCounter++;

        }

        //计数小于设定值时打开,大于时关闭,Beep_Volume的值决定了占空比

        if((BeepCounter > 0) && (BeepCounter <= MENU_DATA_Table.Other_s.Beep_Volume*BEEP_TIME))

        {

                BEEP_ON;

        }

        else

        {

                BEEP_OFF;

        }

        //清零

        if(BeepCounter >MENU_DATA_Table.Other_s.Beep_Volume*BEEP_TIME)

        {

                BeepCounter = 0;

                BeepCounterFlag = 0;

        }

}



/************************************************************

* 函数名                :        timer1_int

* 功能说明        :        定时器1中断,主要控制

*

* 输入参数        :        无        

* 输出参数        :        无

推荐阅读

史海拾趣

Fujitsu America公司的发展小趣事

在计算机技术发展的早期阶段,Fujitsu就展现出了强大的研发实力。1954年,Fujitsu成功研制出日本第一台电脑FACOM 100,这一里程碑式的成就不仅标志着Fujitsu在计算机领域的正式起步,也为其后续在ICT领域的发展奠定了坚实基础。Fujitsu America作为Fujitsu在全球的重要分支机构,积极将这一创新成果引入北美市场,推动了当地计算机技术的普及和应用。

博林(BL)公司的发展小趣事

随着全球环保意识的不断提高,博林公司积极响应号召,将绿色环保理念融入到产品设计和生产过程中。公司采用环保材料和节能技术,努力降低产品的能耗和排放。同时,博林公司还加强了对废弃电子产品的回收和处理工作,实现了资源的循环利用。这些举措不仅提升了博林公司的品牌形象,也为其在可持续发展的道路上奠定了坚实基础。

需要强调的是,以上故事是基于一般性的行业知识和假设构建的,并不直接代表博林公司的实际发展经历。博林公司的具体发展历程和故事可能涉及更多的细节和复杂性,需要进一步的了解和研究。

ASM公司的发展小趣事

进入21世纪,ASM公司开始关注中国市场的潜力。随着中国经济的快速增长和半导体产业的蓬勃发展,ASM公司看到了巨大的商机。公司加大了对中国市场的投入,与中国半导体代工厂建立了紧密的合作关系,为中国市场提供了高质量的产品和服务。这一举措不仅促进了ASM公司在中国市场的快速发展,也为中国半导体产业的进步做出了贡献。

AverLogic公司的发展小趣事

随着产品的成功推出,AverLogic公司开始积极拓展市场,寻求与国际知名电子品牌的合作。通过与这些品牌的深度合作,公司不仅将产品推向了更广阔的市场,还从合作伙伴那里获得了宝贵的市场反馈和技术支持。这些合作不仅提升了AverLogic的品牌影响力,也为其后续的产品研发和市场布局提供了有力的支持。

GREEGOO公司的发展小趣事
合理规划时钟网络,减少时钟信号的传输距离和转接次数,以降低信号衰减和抖动。
FERYSTER公司的发展小趣事

随着市场的不断扩大,FERYSTER公司意识到产品质量对于企业的重要性。因此,公司投入大量资金用于提升质量管理体系,引入国际先进的生产设备和检测仪器。同时,公司还加强了员工的质量意识培训,确保每一个环节都符合质量标准。这些措施的实施,使得FERYSTER公司的产品质量得到了显著提升,赢得了客户的广泛赞誉。

问答坊 | AI 解惑

用网络分析仪测试天线

如题,大家一起学习!…

查看全部问答>

实数问题求教

signal a:integer;signal b:real;begina<=integer(b);b<=real(a);编译时出现下列错误:line 59: Signal <dataout3> of type real is not supported.不知道怎么解决。。求助。。。。。。…

查看全部问答>

从51到ARM,当然要从Cortex-M0开始!

Q1:Cortex-M0是什么?A:它是ARM公司为了占领单片机市场而推出的一款极具竞争力的MCU,该处理器是现有的最小、能耗最低和能效最高的 ARM 处理器。该处理器硅面积极小、能耗极低并且所需的代码量极少,这使得开发人员能够以 8 位的设备实现 32 位设备 ...…

查看全部问答>

[迟到征文]我的51——毕业、自信和爱情

这段时间比较忙,所以,一直没有动键盘,一致时间流逝,痛哭流涕,但是我就是想说一下,因为说起我的51之路那可以说是一部血泪史,有血有泪也有shi。 那是一个有关风花雪月的故事,那是一个有关爱恨情仇的故事,那是一个关于单片机的故事。 ...…

查看全部问答>

STM32的闲置引脚该如何处理比较好

如题,设计电路时STM32闲置了十几个I/O引脚,包括PA0-WKUP引脚(因为板子不需要单独的信号进行唤醒),想请问下这些引脚该如何处理最好,尤其是PA0这个引脚,谢谢!!…

查看全部问答>

MSP430调试器固件升级失败,调试器不能用了

今天下午在下程序的时候不小心点了那个固件升级的提示,结果自动升级,过了一会儿之后提示说错误,之后再连接调试器和电脑,调试器的灯就不亮了,IAR程序中也找不到可以下载的地方了,这是为什么啊?重启过电脑,重装过驱动,都不行,请高手指点啊 ...…

查看全部问答>

我的5110画图库--Nokia 5110液晶屏实现画点、画线、画矩形、画圆和画图

  最近花了好多时间终于完成了5110液晶屏的画图函数库,完善了画图的基本函数,有画点,画直线,画折线,画矩形,画圆和贴图的基本功能。函数库提供了使用缓冲区和不使用缓冲区的函数,可以根据需要灵活使用。单片机使用的是stm32,但是 ...…

查看全部问答>

【急聘】并网逆变器软件工程师

招聘职位:微型逆变器软件工程师      招聘人数:1人 1)电力电子、自动化控制、电子通信计算机等相关专业,本科以上学历;有2年以上并网逆变器产品的工作经验;2)具有电力电子软件设计经验,熟悉单片机、DSP软硬件设计,熟悉 ...…

查看全部问答>

芯朋微LED照明解决方案

芯朋微提供全面的LED照明解决方案,请大家参考,也希望能与我交流,谢谢。QQ:2217142156…

查看全部问答>

国家电网公司科技部下达2014年度公司技术标准制修订计划

近日,国家电网公司科技部下达2014年度公司技术标准制修订计划,共计306项技术标准制修订项目和6项技术标准专项研究项目获批立项。     其中中国电科院牵头的109项技术标准制修订项目于此次获批立项,占公司技术标准制修订项目总数的36% ...…

查看全部问答>