切换到宽版
  • 202141阅读
  • 408回复

[C51]开源啦!STC15F204EA旋转编码器版白光T12控制器代码完工(附运行视频) [复制链接]

上一主题 下一主题
离线金向维
 

发帖
5298
M币
772
专家
112
粉丝
697
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2014-09-04
— 本帖被 mydigit 设置为精华,作者+3000M币+5专家(2014-09-05) —
刚刚完成了全部代码,把能找出的bug都修正了,现在开放源代码和固件供大家测试.今天是研发代码的第七天了,筋疲力尽,日月无光.请大家务必尽快测试,有bug我会修正,如果没有bug我就不再管了.想加入新功能或者修改功能的坛友请自己修改代码.

在此感谢@goodcode 大神最初设计的硬件和软件,没有他就没有这个白光控制器.

基本情况说明:
代码长度772行

近几天测试刷机次数603次

STC15F204EA有效flash空间大小4089,本固件占用大小3861,空间使用率94.4%

和goodcode原版比较改进的地方:
1.显示优化
    goodcode版数码管有周期性轻微闪烁,应该是单片机处理某个事件太长了;此固件无肉眼可见闪烁;goodcode版关机时由于电容缓慢放电,数码管亮度逐渐降低且不同时关断;此固件关机时数码管亮度几乎无变化,且三位数同时关断
2.开关机优化
    本固件开机无logo直接进入工作状态;goodcode版开机有logo且不可取消,而且开机有个小bug,无论温度高低总会先加热一下;本固件关机时巧妙地开启加热来加速电容放电进而加速关机时间,一般断开电源2秒左右(视情况也可能长到数秒)可关机;goodcode版关机慢,关机速度差异大,恰好加热时关机快,不加热时关机慢
3.保存设定温度优化
    本固件用巧妙的方式实现了掉电存储温度数据,下次开机默认关机前的设定温度;goodcode版是每隔10s保存一次数据,也就是说每改变一次温度至少要等10秒才能关机,否则再次开机不能恢复原来的温度
4.休眠模式,关机模式优化
    本固件进入休眠状态的时间可调(0~60分钟,为0则不休眠,休眠温度200度),休眠后进入关机模式的时间可调(0~180分钟,为0则不关机,关机后不加热),这样组合可以实现先休眠再关机或者只休眠不关机或者即不休眠也不关机功能(ps不能实现只关机不休眠,要关机必须先允许休眠);goodcode版只能先休眠(3分钟休眠,不可调),再关机(关机时间可调,但不可取消关机功能,也就是说一段时间后一定会关机)
5.关机模式唤醒方式优化
    本固件可设置成在关机后既能用震动传感器(晃动手柄)唤醒又能用编码器唤醒或者只能用编码器唤醒;goodcode版关机模式只能用编码器唤醒
6.最低温度和温度步进优化(视个人偏好,你可能认为不是优化)
    本固件最低温度为200度;goodcode版温度0度起调,鉴于低温下偏差极大我把最低温度设置为200度;本固件温度步进(每转一下编码器增加多少度)可从0,1,2,5,10度中选,其中设为0度可以锁定焊台温度,防止熊孩子或者不懂的人乱调,步进只能从这几个数值选是为了防止出现3,7,11这样逼死处女座的步进值和100度这样不实用的步进值;goodcode版步进貌似从1~100可调
7.设置模式优化
    本固件设置模式大幅优化,人机交互方式简单.按住编码器按钮不动再开机进入参数设置模式,显示菜单P00 1.5秒然后显示此菜单对应的参数,转动编码器改变参数,按下编码器自动保存参数到EEPROM(此时关机都行,goodcode版只能设置完所有参数才能关机,否则不会保存)然后显示下一项菜单P01,依次循环.设置完所有菜单后自动进入加热模式.(也就是说此固件所有参数设置方式一致,简单,设置到任意一个参数都可以随时关机而不丢失参数);goodcode版参数设置方式复杂,有时显示完菜单立刻显示参数,有时又要输入1再按编码器才能显示参数;改变参数还要分百位十位个位,必须长按编码器才能进入下一项,且必须设置完所有参数才可关机;此固件还优化了参数步进值(比如关机时间在0~30之间调节步进为1,在30~180之间调节步进为10,这样数值小的时候调的精确,数值大的时候调的快,避免转了n多圈编码器还没调到最大值)
8.可设置的参数优化
    此固件没有晦涩难懂的PID等的调节,除了影响温度精度的必要参数外,只加入诸如休眠  时间,唤醒方式等实用的参数设置功能
9.没有像goodcode版有一个bug(goodcode版貌似有时如果已经进入休眠状态,然后唤醒, 加热,如果温度还没达到设定温度就旋转编码器会没有反应)
10.开放源代码
    此固件开放源代码,即日起任何个人和组织可以在遵守法律的前提下随意测试,修改,发布,传播此源代码和固件,并可用于商业或非商业用途而无需经我特别允许(ps:需注明此代码原作者,即我(金向维)),此固件没有用完单片机
所有的flash空间,方便修改或加入新功能;goodcode版几乎用完了所有flash空间,即便开放源代码也很难修改,更难加入新功能

相比goodcode版不足的地方
1.在正常加热模式不能设置任何参数(但是加入了按下编码器按钮显示室温的功能);goodcode版在加热模式可以设置放大器增益和温度步进
2.温度稳定度(指能否完全稳定在设置温度而不波动)比goodcode版稍差(只是稍差);但是焊超级大焊点的性能由于goodcode版,此固件在遇到超级大焊点时温度只下降10几度(除非超出T12加热能力,比如在水里肯定不能达到300度一样);goodcode版焊超级大焊点时最多可能温度下降40度
3.此固件高度依赖TL431的精度,如果TL431接法错误(稍后会说明,这点很重要,务必留意)会导致完全无法使用此固件(goodcode版如果TL431电压不对可以通过参数修改让焊台"正常"运行),如果TL431精度太差可能导致掉电存储功能失灵.此固件还要求单片机的电源电压不低于4.85V(一般都有7805稳压,没有问题)
4.其他未知的问题

注意事项(极其重要):
  有没有谁和我是从同一个卖家入手的此焊台,他的电路板上TL431接法是错误的
这是我买的时候的截图

这是现在的截图

如果你和我一样从此处买的,请务必用飞线的方式把TL431按正确的接法接好(否则完全不能运行我的固件) 我看了看图片貌似现在的版本TL431接法还是错的(如图)

修改方式如下图,我的早就改好了

使用说明:
正常加热模式:
开机进入正常加热模式,左旋编码器温度减,右旋温度加,一段时间后没有操作进入休眠模式,休眠温度200度,个位数的小数点显示,作为休眠指示,晃动手柄或者转动编码器退出休眠模式;如果进入休眠模式后仍没有操作,一段时间后进入关机模式,停止加热,数码管显示000,转动编码器可以退出关机模式正常加热;如果唤醒方式设置为0还可以震动手柄退出关机模式,如果唤醒方式为1则只能转动编码器退出关机模式;正常加热模式下按下编码器按钮显示室温,松开后不再显示室温. 支持热插拔,拔下烙铁头后数码管显示500


参数设置模式:
按住编码器按钮不动再开机进入参数设置模式,共有9个菜单供设置P00,P01,P02,P03,P04,P05,P06,P07,P08 数码管显示菜单1.5秒,然后自动显示此菜单对应的参数,此时左旋编码器减小,右旋增加,按下(短按即可,没有长按功能)自动保存当前设置的参数,然后显示下一个菜单1.5秒,然后显示这个菜单对应的参数,以此类推.当所有参数设置完后自动进入正常加热模式.由于每设置一个参数保存一次,所以你可以随时关机而不必设置所有的参数(比如你只想设置P01,设置完P01后就可以关机再开机进入正常模式)
菜单项:
P00:恢复默认参数(0或1,默认值0,0为不恢复,1为恢复)
P01:运算放大器增益(200~350倍,步进1,默认值270,goodcode设计的硬件,增益从大约200到300可调(有个小电位器))
P02:运算放大器失调电压(0~250mV,步进2,默认值100,指将烙铁头保持室温运算放大器固有的输出电压,根据我的测量此电压随温度变化很大,不同的放大倍数下也不一样,放大倍数越高越大,如果你不会测量,请保持默认值)
P03:热电偶℃/mV数据(30~50,步进1,默认值41,指热电偶需要温升多少度电压才升高1mV,根据我的测量原装二手T12此值约为41(此值很难精确测量),更换国产头需要改变此数据,请根据热电偶类型自行自算,如果不懂且用原装T12,请保持默认值)
P04:温度调节步进(0,1,2,5,10度可选,为0则可以锁定烙铁温度)
P05:休眠时间(多长时间无动作进入休眠)(0~60分钟,步进1,为0则禁止休眠功能)
P06:关机时间(0~180分钟,0~30时步进1,30~180时步进10,为0则禁止关机功能)
P07:温度修正(-30~+30度,步进1)(由于NTC电阻在机箱内,焊台发热会导致检测的NTC温度比室温高,造成热电偶冷端补偿偏高,烙铁温度不准确,或者其他原因导致温度不准确.假如你把其他参数都设置成正确值了温度仍偏高或偏低,可以用此参数修正.比如检测到显示的烙铁温度比实际值高20度就将此参数设置为-20)
P08:唤醒模式(0,1,为0则在关机模式下即可旋转编码器又可以震动手柄唤醒,为1则只能旋转编码器唤醒(说明:按下编码器不能唤醒,只能旋转))

刷机说明:
请严格按照图中的设置下载固件,一点都不要改动.下载过程中建议不要插入烙铁头,首次下载好后先恢复默认值再插入烙铁头使用,否则会烧红烙铁头.
单片机时钟务必选择24M,务必允许低压复位并将检测电压设置到最高(4.05V),勾选低压时禁止EEPROM操作

请大家尽快测试,有bug回帖,我会修正,但不会加入任何新功能,想加的坛友自己修改代码吧

白光控制器 代码+电路资料下载:(请用好压解压)

上边附件里的电路图不是最新版的 所以又单独传了一下电路图



运行视频
flash: http://player.youku.com/player.php/sid/XNzczNzYxMTYw/v.swf



[ 此帖被金向维在2014-10-02 14:57重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共113条打赏 ,M币+354 ,专家+5
123456...12下一页
到第
页
关键词: 焊台白光
离线金向维

发帖
5298
M币
772
专家
112
粉丝
697
只看该作者 1楼 发表于: 2014-09-04
请登录后查看
本帖最近打赏记录:共1条打赏 ,M币+13
zzy_85569381 M币 +13 謝謝分享 2018-08-31
离线金向维

发帖
5298
M币
772
专家
112
粉丝
697
只看该作者 2楼 发表于: 2014-09-04
番外篇:
请登录后查看
本帖最近打赏记录:共1条打赏 ,M币+13
zzy_85569381 M币 +13 謝謝分享 2018-08-31
离线李逍遥

发帖
1106
M币
2448
专家
0
粉丝
15
只看该作者 3楼 发表于: 2014-09-04
请登录后查看
离线李逍遥

发帖
1106
M币
2448
专家
0
粉丝
15
只看该作者 4楼 发表于: 2014-09-04
请登录后查看
离线lj102
发帖
158
M币
792
专家
2
粉丝
24
只看该作者 5楼 发表于: 2014-09-04
请登录后查看
离线lj102
发帖
158
M币
792
专家
2
粉丝
24
只看该作者 6楼 发表于: 2014-09-04
请登录后查看
离线金向维

发帖
5298
M币
772
专家
112
粉丝
697
只看该作者 7楼 发表于: 2014-09-04
回 李逍遥 的帖子
请登录后查看
离线lj102
发帖
158
M币
792
专家
2
粉丝
24
只看该作者 8楼 发表于: 2014-09-04
请登录后查看
本帖最近打赏记录:共6条打赏 ,M币+18
离线潜隆

发帖
56083
M币
220
专家
1050
粉丝
983
只看该作者 9楼 发表于: 2014-09-04
请登录后查看
快速回复
限80 字节
温馨提示:欢迎交流讨论,请勿发布纯表情、纯引用等灌水帖子;以免被删除
 
上一个 下一个