Coder Social home page Coder Social logo

zsyg / t12touch-screen-welding-machines Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jie326513988/t12touch-screen-welding-machines

0.0 1.0 0.0 9.35 MB

Arduino 2.4寸触屏焊台-包括pcb文件和源代码

License: BSD 3-Clause "New" or "Revised" License

C++ 100.00%

t12touch-screen-welding-machines's Introduction

T12触屏焊台-ArduinoProMini-Atmega328p-au核心

  • 使用了LCDWIKI_KBV、LCDWIKI_GUI、TouchScreen库,感谢LCDWIKI
  • Arduino核心板,触摸屏,降压电路为模块拔插式,其他部分电路为贴片焊接,方便新手,方便调试。
  • 从30℃加热到260℃需12秒,400℃需20秒,稳定跳动温度1-3℃,与实际误差1-10℃(跟环境温度有关)。
  • 观看视频https://www.bilibili.com/video/av83184959
  • 基本功能已经完善。
    • 1.触摸调节温度
    • 2.虚拟键盘
    • 3.调节pid参数
    • 4.烙铁的休眠设置
    • 5.屏幕校准
    • 6.断电保存数据
    • 7.软件过压过流机内高温保护
    • 8.内置看门狗防止死机

2020-02-17
NMOS的版本不再更新,即现在的版本(程序0.84和PCB1.3、1.4)。电路将大改一次,改用PMOS管改善发热问题,改用运放加0.1R的电阻检测电流,丢弃垃圾电流芯片。核心、5v电源和屏幕依旧使用拔插式。

2020-02-17
v0.84,修改了主界面和设置界面的布局,使其更加对称顺眼。
2020-02-14
V0.83,PWM输出修改成相位和频率校正模式,占空比控制精度提升一倍(0-511),并把频率降低至61HZ,烙铁发出的滴滴声大幅下降,频率提升到16khz时烙铁的滴滴声彻底听不见但MOS管发热严重并且控温效果差故不用高频PWM,喜欢滴滴声的可以用V0.82。
2020-02-08
v0.82上线,增加测温的间隔,稍微提升一点加热效率。蜂鸣器的digitalWrite写法太占内存改为向端口输入引脚地址PINX写1来翻转状态bitWrite(PINB, 3, 1),又节省74字节的内存,已用30606字节。修改了一下原理图和PCB,版本V1.4。优化sleep,当前温度低于设置的休眠温度时,到达休眠时间也存储当前温度。
2020-02-07
上传原理图和能直接打板的文件,版本为V1.2。PCB我还想优化一下再放出,当然现在的版本也是可以用。
2020-02-06
v0.81 修复一个触屏校准的BUG。触摸加入一段限制算法降低屏幕自己点击自己的概率。电流测量加入一段判断算法,这样主界面就不会乱跳电流值了。
2020-02-05
v0.81版本,键盘触摸手感提升。
2020-01-28
v0.81版本,修复了一个休眠的BUG,优化了温度测量,上传了3D打印件和成本清单。
2020-01-24
v0.80版本,经过了8个小时的努力以及十几根头发的代价,又又又再一次压缩了Flash,还剩0.38%的空间,终于在nano/mini平台上加入屏幕校准功能。Uno平台还有5%,还可以美化一下UI。
2020-01-22
v0.71版 新增坐标显示的开关,优化了flash,Mini还剩2%,Uno还剩7%,优化触摸读取速度,下一版本加入屏幕校准功能。
2020-01-22
v0.7版,主界面新增一键到达设定温度的功能400/320/240。
2020-01-20
v0.7版,增加软件过压过流过温保护,修正烙铁休眠唤醒不会回温的BUG,主界面美化一下,电路去掉了一个100欧的电阻,加热效率提升30%。
2020-01-19
v0.6版上线,优化一些些内存,修改一下下菜单,增加了烙铁进入休眠的时间阈值和休眠的温度的菜单项,同样支持虚拟键盘修改数值和EEPROM。
2020-01-16
优化了加热效率和控温稳定性。与设定值差10℃以上时,采样周期长,10℃以内,采样周期短。从30℃加热到260℃需15秒,稳定跳动温度3℃以内,通常为1℃。
2020-01-14
终于实现了模拟键盘输入并可更改pid数值并储存在Eeprom中,有点小BUG但不影响使用。
2020-01-13
初步实现稳定控温,从30℃加热到260℃需45秒,太久了。

引脚定义

LCD D0 D1 D2 D3 D4 D5 D6 D7
UNO/MINI/NANO 8 9 2 3 4 5 6 7
LCDWIKI_KBV mylcd(ILI9341, A2, A1, 13, A0, 12); //model,cs,cd,wr,rd,resett
#define YP A2 // must be an analog pin, use "An" notation!
#define XM A1 // must be an analog pin, use "An" notation!
#define YM 9 // can be a digital pin
#define XP 8 // can be a digital pin
#define t12_temp_pin A5 //T12温度读取引脚
#define sleep_pin A3 //休眠状态读取引脚
#define ec_pin A4 //电流读取引脚
#define volage_pin A6 //电源电压读取引脚
#define ntc_pin A7 //ntc读取引脚
#define t12_pwm_pin 10 //T12加热控制引脚
#define buzzer_pin 11 //蜂鸣器控制引脚

电路简介 PCB文件待完善

1.热电偶信号放大电路
使用AD8628轨到轨运算放大器,放大510倍,输入和输出均加有低通滤波器。
2.功率输出电路
使用光耦和AOD4184场效应管组成的简单功率输出控制电路。
3.检测电流电压电路
电流检测使用ACS712量程为±5A的霍尔感应电流传感器,输出并未加低通滤波电路,测量值比较飘,只能降低精度至0.1A。
电压检测使用简单的分压电路测量,量程为0-42V,精度0.1V,输入检测电压前反向并联26V的瞬态抑制二极管,防止脉冲电涌损坏单片机。
4.供电电路
5V部分使用固定输出4.98V的降压模块,拔插式。为单片机、LCD、运算放大器、电流传感器供电。同样为了防止脉冲电涌,输出反向并联5.1V的稳压二极管。
24V部分使用的AC-DC24V4A成品电源,只要电压不超过24V电流大于3A即可。
5.显示电路
使用2.4寸带触摸功能LCD屏幕模块,拔插式。提供显示功能和触摸功能。
6.控制核心
使用ArduinoProMini平台,核心为Atmel328p-AU,拔插式。

T12温度测量的方法及曲线拟合
  • 因为每个厂家的T12内的热电偶都会有不同,所以不能使用常规的K/J/B型热电偶的分度表,除非T12厂家有给出
  • 准备一个500℃的测温设备,紧贴在T12的发热尖端,使用高温胶带绑紧
  • T12的热电偶电压经运算放大器510倍后再使用arduino测量T12的AD值,即T12热电偶的电压转换成数字量后的值
  • 使用pid算法加热T12,设置加热到的AD值为0-1000,每隔100个AD值记录一次温度
  • 记录得到AD值和对应的温度值后,使用EXCEL中的曲线拟合功能,拟合出一条一元二次方程,此方程就是温度和AD关系的曲线
  • 有了此方程我们就能从T12当前的AD值计算出温度值
  • 本项目的方程 temp = -0.000184 * t12_ad * t12_ad + 0.5532 * t12_ad + 34.978
  • 注意不同厂家的T12热电偶规格不同,更换厂家需要重新拟合一次曲线。

t12touch-screen-welding-machines's People

Contributors

jie326513988 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.