Coder Social home page Coder Social logo

stm32_t12_controller's Introduction

T20

T20焊台控制器

License: MIT Latest version
工欲善其事,必先利其器。 这个开源项目使用STM32F103C8T6-BluePill(8元包邮)来制作T12焊台控制器,助你拥有一个得心应手的焊台!!!
此控制器命名为T20,和J20航模遥控器做成一个系列,20也象征着开发时间。
原理图部分主要参考了sfrwmaker的开源仓库https://github.com/sfrwmaker/hakko_t12_stm32
程序部分使用keil5和stm32标准库编写,PID参数是白嫖的wagiminator的开源仓库https://github.com/wagiminator/ATmega-Soldering-Station

元件清单(BOM)

  • (1)T12烙铁头(焊贴片用刀头,焊插件用尖头)
  • (2)烙铁手柄(笔者买的907手柄)、硅胶线(5线)、烙铁支架(带NTC电阻10k、震动开关)、航插(5线)
  • (3)24V4A开关电源,给烙铁供电 淘宝商品链接
  • (4)DC-DC降压模块,24V转5V,给控制板供电 淘宝商品链接
  • (5)旋转编码器 淘宝商品链接
  • (6)OLED显示屏(7脚SPI) 淘宝商品链接
  • (7)STM32F103C8T6最小系统板
  • (8)IRF9540 MOS管P沟道,驱动电烙铁的 淘宝商品链接
  • (9)SS8050三极管
  • (10)肖特基二极管(用来续流)
  • (11)运算放大器AD823 淘宝商品链接
  • (12)3.3v稳压管 淘宝商品链接
  • (13)18v稳压管 淘宝商品链接
  • (14)电解电容100uF(用来稳压)
  • (15)独石电容0.1uF(用来滤波),又称104电容
  • (16)有源蜂鸣器5V的(接电即响)
  • (17)470Ω、1k、51k、10k、100k电阻若干
  • (18)500k可调电阻 淘宝商品链接
  • (19)ST-LINK V2下载器
    调试STM32性价比极高,可烧写程序,可断点调试

引脚说明

  • OLED_D0 -> PB13
  • OLED_D1 -> PB15
  • OLED_RES -> PB15
  • OLED_DC -> PB11
  • OLED_CS -> PB12
  • BM_CLK -> PB0
  • BM_DT -> PB3
  • BM_SW -> PB1
  • BEEPER -> PB9
  • NTC -> PA6
  • T12_ADC -> PA4
  • HEAT -> PA0
  • SLEEP -> PA8
  • TX -> PA9
  • RX -> PA10

版本说明

  • V1.0(2020.10.20)
    配套的T12烙铁头为S型热电偶,如果是其他类型的热电偶,需要更改程序中的分度表;
    已完成的功能包含设置温度、自动休眠、自动关机、蜂鸣器开关、恢复默认设置;
    在home页面时,短按旋转编码器设置加热开关,长按进入菜单,旋转设置加热温度;
    在菜单页面时,短按进入选择,再短按退出,旋转设置参数,长按退出菜单。
  • V1.1(2020.11.3)
    实际测试发现T12烙铁里面的热电偶与S型不符(更不符合其他类型),使用万用表的温度计校准了分度表,读者可自行设置校准值;
    使用USB-TTL串口下载器和串口调试助手(115200bps)读取ADC值,然后更改adc.c文件中的TEMP100、TEMP200、TEMP300、TEMP420即可;
    实际使用中温度的波动在30℃左右,焊接时设置280℃即可。
  • V1.2(2020.11.5)
    参考wagiminator的PID控制方式,将PWM更新频率由10Hz提高到390Hz,细分数由100提高到255;
    使用分段式PID:温差>100℃时,全速加热;温差30~100℃时,激进的PID;温差<30℃时,保守的PID;
    得到的温度非常稳定!!!焊接大焊点时,波动在10℃左右。
    读者可自行使用万用表的温度计校准分度表:使用USB-TTL串口下载器和串口调试助手(115200bps)读取100℃、200℃、300℃、420℃时的ADC值,
    然后更改main.h文件中的TEMP100、TEMP200、TEMP300、TEMP420即可;
  • V1.3(2020.11.16)
    修复旋转编码器检测不到旋转方向问题;
    增加输入电压检测,原理图做了相应修改;
    home界面增加输入电压显示,加热力度百分比显示;
  • V1.4(2020.11.22)
    通过均值滤波来稳定T12的温度值,并使用手柄温度实时校准T12温度;
    修改分段PID:温差>50℃时,全速加热;温差30~50℃时,激进的PID;温差<30℃时,保守的PID。

THANKS

感谢简繁贡献的UI设计~
感谢欣宏贡献的PCB设计和结构设计~

stm32_t12_controller's People

Contributors

cai-zi 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.