Giter Site home page Giter Site logo

axxaxx / axxsolder Goto Github PK

View Code? Open in Web Editor NEW
502.0 27.0 44.0 578.47 MB

STM32 Based soldering station for JBC cartridges, 9-24 VDC and USB-PD power

License: GNU General Public License v3.0

Python 0.09% C 96.22% Assembly 0.11% HTML 3.57% Makefile 0.01%
diy jbc soldering soldering-controller soldering-iron soldering-station stm32 pid pid-control soldering-irons

axxsolder's People

Contributors

adrianmihalko avatar axxaxx avatar nighthawk32 avatar v-barshaw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

axxsolder's Issues

Implement READ/WRITE to EEPROM

By utilizing EEPROM one could for example:

  • Remember SET Temperature - Save the current SET Temperature and automatically use that same value next time AxxSolder is powered on.
  • Adjust EMERGENCY_SLEEP_TIME - Set the time for when AxxSolder will automatically go into sleep mode, currently set to 30 min.
  • Set tuning parameters - allow the user to calibrate the temperature of AxxSolder and save the settings.

Settings item to limit output power

Implement a setting where the user can limit the output power

e.g.

Limit power
0 - No limit except hard power limits specific for each cartridge type (NT115 - 20W, T210 - 60W, T245 - 120W)
10 - limit power to 10 W
20 - limit power to 20 W
...
110 - limit power to 110 W
120 - limit power to 120 W

Hirose RPC1-12RB-6P(71) Obsolete

Hi. I stumbled upon your this and wanted to build a AxxSolder Portable. I was in the process of ordering Hirose RPC1-12RB-6P(71) from mouser and it's now listed as obsolete. I also tried some other electronics stores like digikey and they are also listing it as obsolete. Do you know of an alternative for this connector end?

Enable stand-by/sleep with buttonpress

Especially for the portable version, it would be nice to have the iron cool down with a press on the encoder. The iron could heat up again from the next press. It would act like toggling sleep mode which can now only be done by resting the iron on the AxxSolder.

Pcb file

Hi where is the file to get pcb made ?

Remove unused ambient temperature sensor

The ambient temperature sensor TMP236AQDBZRQ1 is unused and could be removed from PCB to reduce cost and complexity.
Firmware needs to be updated to not show ambient temperature anymore

LCSC.com Part Numbers for v2.1 and v2.2

Hi,

Those are the part numbers for v2.1 and v2.2 from LCSC

Part (v2.1) Part (v2.2) LCSC.com/JLCPCB Part # Footprint Comment
C1, C6, C12, C14, C19 C1, C6, C12, C14, C19 C15850 Capacitor_SMD:C_0805_2012Metric 10u
C2, C3, C5, C7, C8, C9, C10, C11, C13, C20, C21, C22, C24 C2, C3, C5, C7, C8, C9, C10, C11, C13, C20, C21, C22, C24, C28, C29 C49678 Capacitor_SMD:C_0805_2012Metric 100n
C4, C17, C18 C4, C25, C27 C12891 Capacitor_SMD:C_1206_3216Metric 22u
-- C17, C18 C6119901 Capacitor_SMD:C_0805_2012Metric 22u
C25 -- C45783 Capacitor_SMD:C_0805_2012Metric 22u
C15, C16 C15, C16 C46653 Capacitor_SMD:C_0805_2012Metric 1n
C23 C23 C310841 EMZR500ARA331MJA0G:CAPAE1030X1050N 330u
C26 C26 C113832 Capacitor_SMD:C_0805_2012Metric 75p
D1, D3, D5, D6, D12 D1, D3, D5, D6, D12 C916425 BAT54S,215:SOT95P230X110-3N BAT54S
D2 D2 C2687553 PMEG6020ER,115:PMEG6020ER115 PMEG6020ER
D4 D4
D7 D7 C503376 PMEG10030ELPX:SODFL4725X110N PMEG10030ELPX
D8 D8 C707996 SMCJ24CA:DIONM7969X262N SMCJ24CA
F1 F1 C352820 3557-2:3557-2 10AFuse
IC1 IC1 C688540 LTC4440AHMS8E-5#PBF:SOP65P490X110-9N LTC4440AHMS8E-5#PBF
IC2 IC2 C529357 STM32G431KBT6:QFP80P900X900X160-32N STM32G431KBT6
L1 L1 C2847543 INDPM7366X300N SRP7028CC-100M
IC3 IC3 C2869735 TMP236AQDBZRQ1:SOT95P237X112-3N TMP236AQDBZRQ1
IC4 IC4 C882727 OPA2333AIDRBR:SON65P300X300X100-9N-D OPA2333AIDRBR
J1 J1
J4 J4
LS1 LS1 C391032 CMI-9653S-SMT-TR:CMI9653SSMTTR CMI-9653S-SMT-TR
PS1 PS1 C115288 SOT230P700X190-4N LD1117AS33TR
IC6 IC6 C311983 SOT95P280X110-6N TPS54302DDCR
Q2 Q2 C551416 2N7002NXAKR:SOT95P230X110-3N 2N7002NXAKR
R1, R5, R6, R17, R25, R26 R1, R5, R6, R17, R25, R26 C17673 Resistor_SMD:R_0805_2012Metric 4k7
R2 R2 C17713 Resistor_SMD:R_0805_2012Metric 47k
R3 R3 C17772 Resistor_SMD:R_0805_2012Metric 6k8
R8, R9, R11, R12, R13, R14, R16, R18 R8, R9, R11, R12, R13, R14, R16, R18 C17414 Resistor_SMD:R_0805_2012Metric 10k
R10 R10 C346458 WSLP25122L500FEA:RESC6432X89N 2m
R15 R15 C17557 Resistor_SMD:R_0805_2012Metric 220
R19, R20 R19, R20 C4310 Resistor_SMD:R_0805_2012Metric 1k5
R21, R22 R21, R22 C17709 Resistor_SMD:R_0805_2012Metric 470k
R23, R24 R23, R24 C17556 Resistor_SMD:R_0805_2012Metric 220k
R27 R27 C17720 Resistor_SMD:R_0805_2012Metric 49.9
R28 R28 C149504 Resistor_SMD:R_0805_2012Metric 100k
R29 R29 C17446 Resistor_SMD:R_0805_2012Metric 13k3
U1 U1
U2 U2 C2760081 BSC014N04LS:BSC014N04LS BSC014N04LS

I've orders the boards, but please bear in mind I've not tested them yet.

update
included the v2.2 components

Stand temperature instead of full cooldown

First of all, thank you for this awesome project and the support you provided via email. First station is done and working!

I noticed that the iron fully cools down in the stand. As i remember the JBC stations just reduce the temperature to 150°C or something. Someone told me that would reduce the stress and oxidation of the tips. I can´t confirm that but it sounds plausible.

After 10-15 minutes the JBCs shut off the heaters completly.

Individual tip calibrations

One of the things that is great about the custom firmware for the STM32 T12/C245 stations, is the ability to save individual tip calibrations, since even with genuine JBC tips, different versions/models have varying temperatures, with the clone tips even more so. I have both Unisolder and Aixun T3A, neither offers this capability, so if you have cartridges that don't match the built-in tip profiles, you are out of luck. With Unisolder these profiles can only be modified through firmware change, if you understand the code, and how the author coded it. With the Aixun T3A, you can change the calibration profile through a number of temperature steps, but it has two problems. First, it is not tip specific, Two even though it saves the value, this is change is never displayed to the user, so when you go back into the menu, all setting show with no changes.

Schedule for V3.0

Is there any rough schedule available for V3.0 release? I think about waiting for the V3.0 release.

Utilize current measurement for "no-tip-detection"

The board is equipped with a current shunt. The voltage over the shunt is amplified with the on-board OP-amp and measured with the STM32 ADC.

By measuring the current it should be possible to detect if a tip is missing and/or broken. This requires some clever timing and measurement during the high-phase of the PWM.

At the moment the actual temp shows ~567 deg C when no tip is attached. It would be nice if AxxSolder detected a "no-tip" status.

Firmware upload via USB

Implement hardware so that the user can update firmware over USB instead of needing to own a SWD programmer.

Sometimes miss current measurement

AxxSolder seems to miss current measurement and shows " --- " as temperature for approximately 0.25 s every 10 minutes.

It basically blinks " --- " very fast and then back to showing actual temperature.

This is probably due to the ADC not being read at the correct time at some points.

Does not effect the thermal performance.

Power via USB-C PD

Implement a USB-C Power delivery negotiation circuit.
Today USB-C PD can deliver up to 100W, whis is enough for C210 cartridges which draw up to ~60W.
C245 cartridges on the other hand draw ~120W and can not be powered of such a solution (as of today).

Implement a clamping anti-windup method

The current anti-windup limits the I-part but does not stop integration.
A better anti-windup scheme would be like the "clamping" method used in the simulink PID block:
https://se.mathworks.com/help/simulink/slref/pidcontroller.html

clamping
Integration stops when the sum of the block components exceeds the output limits and the integrator output and block input have the same sign. Integration resumes when the sum of the block components exceeds the output limits and the integrator output and block input have opposite sign. Clamping is sometimes referred to as conditional integration.

Automatically detect USB-PD supply capability and limit power

Automatically ask USB-PD supply of it's power capability with the STUSB4500 negotiation chip and limit the output power based on the capability.

There is currently no such check and if you power AxxSolder with a 65W capable USB-PD source and try to use a C245 cartridge (which will draw 120W) AxxSolder turns off as the supply voltage can not be kept by the supply.

DFU Fails

Hi there

I'm having an issue updating firmware over DFU. I connect the device to my Mac whilst holding the right most button. CubeProgrammer will detect the device for 5-6 seconds and then nothing. This obviously does not leave enough time to upload the firmware. I do not have an STLink programmer to test with.

Any suggestions? I assume I don't have to keep the button held?

Screen rotation

Make screen rotation a flash setting and allow the screen to rotated 0, 90, 180, 270 deg

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.