本帖最后由 zhang_yy007 于 2022-3-18 17:04 编辑
参考了本论坛的:开源!基于ATmega328P白菜白光T12控制器 全新UI界面
立创有程序和PCB文件。立创开源广场基于国产LGT8F328P芯片,移植的Stefan Wagner的作品,原作品地址在:原立创海外版地址 程序在:github。已经出新版本了,新版本没用过,还是习惯了1.7+的版本吧。 ATmega328P 芯片已经涨价到30多元一片了,还没货,这不能被掐脖子呀。 移植了以下功能,其实改动了部分程序即可,应该没啥难度: This 1.7+ version of the code implements:
// - 烙铁头温度实时监测
// - Temperature measurement of the tip
// - PID温度控制
// - Direct or PID control of the heater
// - 可以通过编码器进行控制温度
// - Temperature control via rotary encoder
// - 短按编码器进入短时升温模式
// - Boost mode by short pressing rotary encoder switch
// - 长按编码器进入主菜单
// - Setup menu by long pressing rotary encoder switch
// - 手柄震动检测(需要手柄含有震动传感器)
// - Handle movement detection (by checking ball switch)
// - 手柄连接检测(通过判断烙铁头温度是否能够被读取来实现)
// - Iron unconnected detection (by idenfying invalid temperature readings)
// - 定时器设定 - 随眠,关机时间
// - Time driven sleep/power off mode if iron is unused (movement detection)
// - 可以测量主控芯片电压以及温度、//该芯片该功能目前还在探索中,内部寄存器存在差异。
// - Measurement of input voltage, Vcc and ATmega's internal temperature
// - 在OLED上实现信息显示
// - Information display on OLED
// - 支持无源蜂鸣器
// - Buzzer
// - 允许设置不同烙铁头的温度校准值
// - Calibrating and managing different soldering tips
// - 设置被保存在EEPROM,掉电不丢失
// - Storing user settings into the EEPROM
// - 允许热插拔烙铁头,并弹出烙铁头配置选择菜单
// - Tip change detection
// - 芯片过热以及低电压报警// 该芯片该功能目前还在探索中,内部寄存器存在差异。
// - Chip overheating and low voltage alarm
// - 更好的实时温度条以及实时功率条
// - Better real-time temperature bar and real-time power bar
// - 拥有过渡动画
// - Have transition animation
// - 内置屏幕保护程序
// - Built in screen saver
// - 屏幕翻转设置
// - Screen flip settings
// - 内置英文、中文、//日文 空间所限,删了该词库 // - Built in English, Chinese and Japanese language pack
// - 开机密码设置
// - System Password 新增功能:将原来温度的显示位置,更改为休眠倒计时显示。
以上画横线的,代表目前没有移植该功能。 感谢nulllab团队LGT8F328P芯片的技术支持,该芯片价格低廉(4-6元一片),功能强大、可选内置晶振,移植程序较为简单。
附件有PCB-Gerber可以直接打印、有修改后的LGT程序,测试了四五台了,没问题。(建议去立创免费下载哦。)
下面正文开始: 1、测试移植的程序,显示正常,存储正常,移植有戏。
2、原来ATmega328P版本的板子,可以贴两个试一下,唯一不足的是不能直接下载程序,调试非常不方便,决定重新改一下原板,适配LGT8F328P,并增加廉价蜂鸣器、插件18V稳压二极管,去掉晶振等。
3、重新设计了外壳,增加了type-C接口,配合诱骗器,可以直接用高端的“氮化镓”或者PD充电器供电。
4、程序调试,发现问题了,T12的温度极不稳定,一直在跳动,重新研读程序,发现将LGT8F328P的休眠模式关闭后,延时时间过短AD读数不稳,为了增加稳定性,只能增加延时, 由原来的300微妙增加到2毫妙,可以稳定了。后期又发现了一个问题,就是输出在加热时测的T12温度偏低,懒得上示波器了,最后将输出的1微法电容并联了一个4.7微法,基本解决了加热温度偏低的问题(还会偏低5-10℃,不过不影响使用了,没必要那么精确吧)。如果要精确,可以调整一下延时,将延时降低一下就好了。这块板子下载不方便,新板子里程序已经修改了。
5、新板子到了,调试方便了很多,温度漂移的问题也解决了,后来的板子增加了直插的18V稳压二极管,方便使用。
6、测试一切 正常,白色的开关其实是买了的,结果买大了一号,就用黑色的将就一下吧。
7、这个震动开关需要着重说一下:金色端放在下面,卖家说是金色端放在上面的,结果发现微震动是无法识别的,反过来焊接轻微碰一下就能被识别到。
对了,程序里面将原来芯片温度的显示,更改为了休眠倒计时。
8、原来的程序,也修改了一下,功能正常
9、这个是之前做的,用的就是ATmega328P
10、本次做的,最后用UV胶固化一下,收工(可以不用固化,挺牢固的)
11、对了程序的烧写,需要用到一个uno或者nano作为烧录器,还需要LGT的文件,这个参照这里https://gitee.com/nulllab/nulllab_arduino 需要有一定的基础哈。
最后的最后,不建议小白自己做,耗时耗力,会遇到很多问题,可以去买其他人的成品。
另外,去年好像挖了坑,其实已经填上了,就是大家不感兴趣,也就没有再发,这里汇报一下吧。
想实现恒流供水控制,讨论解决方案 就是这个,用了隔膜泵、脉冲流量计和自己研的高精度电动阀门,完美实现了。
这里稍微展示一下控制器的成品:
这个是一代测试产品,功能可以实现。
这个是二代,彩屏触摸版本,可以显示更多的内容,效果很满意,5-10秒可以稳定流量,实现恒流。
就这个,希望论坛越来越好,大家有好的作品也及时交流、展示一下。
最后的最后:该程序会有挑烙铁头的问题,因为烙铁头的电阻、控制板的供电电压等,会出现温度不稳的情况,这个修改一下uint16_t time2settle = 3000;即可,但是比较麻烦,需要重新下载固件,所以我增加了在用户界面修改该参数的窗口,并且修改后可以存在eeprom中,下次用不用再修改了。
将“关于”进行了“狸猫换太子”进去后是time2settle的修改,设定范围是5-995(其实缩小了10倍,实际是50-9950微妙)。
这个就是不稳定的原因,这个延时太长太短都会有影响。
程序做的修改(time2settle部分),还有别的eeprom也要修改一下。
关于变成了修改延时了。
修改后按一下就保存了。
|