天山OLED白光烙铁单片机源码与使用手册V3.1.1

发布者:ShiningSmile最新更新时间:2019-12-14 来源: 51hei关键字:天山  OLED  白光烙铁  单片机 手机看文章 扫描二维码
随时随地手机看文章

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中断,主要控制

*

* 输入参数        :        无        

* 输出参数        :        无

[1] [2] [3] [4] [5]
关键字:天山  OLED  白光烙铁  单片机 引用地址:天山OLED白光烙铁单片机源码与使用手册V3.1.1

上一篇:三杯式风速传感器液晶显示单片机程序与实验报告
下一篇:用Proteus仿真H桥+直流伺服电机 附详细文档+源程序

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved