Yet another quasi-universal soldering station (aimed at JBC) - Page 1
Forum section: electronics / projects

author: Anyzis
author_rank: Contributor
timestamp: May 28, 2020, 11:44:00 am
content: Hi everyone, I wanted to share my findings on building another DIY soldering station. The main reason behind the project was that I had a JBC T245 handle laying around for a few years and I just wanted to go through the learning process (as it is the most fun part with any project) instead of just opting for Unisolder. Also, I wanted dual channel.Hardware:It's largely the same as quite a few documented projects, consisting of high precision instrumentation amplifier, ADC, and a power switch, controlled by a uC. I chose Arduino Nano because... well it's cheap, simple to program and has more than enough computing power for such a simple project.The front end consists of AD8293G160. These are cheap, have all the good features of zero-drift amps and also have a set gain ratio - less guesswork when measuring microvolts. The only downside is that the chopping noise feeds through if not filtered and the recommended 700Hz bandwidth is simply not enough to quickly measure the voltages between PWM cycles. After some experimentation I settled on 3 stages of RC filters tuned to 5-10kHz, which provided settling time of <0.5ms and reasonably low output noise.ADC is the classic ADS1118, again because it's cheap and widely available. ADS1018 would probably be more suitable due to higher speed but I haven't bothered to order some. Total measurement cycle (settling delay+2 measurements) is about 3ms, which translates to ~15% downtime for 50Hz PWM frequency I aimed at. Peak power output for C245 cartridges at 24V is around 160-220W so that 15% loss is perfectly acceptable.The high side power switch idea was borrowed from another project, however the part used there turned out to be quite expensive and hard to get here. Here's a hack - ST makes load of single and dual channel variations with almost identical characteristics. So I just searched Farnell for "VND5" (D stands for dual) and found a discontinued part on sale for 2 or 3 euros a piece - VND5E008ASP. ~100us switch on/off times, all sorts of protections and doesn't even get warm at full load. Oh and it even measures load current, which allows measuring peak power at runtime and by extension identifying cartridges by their heater resistance.Power supply for the project was chosen 24V 300W from Aliexpress, probably could get away with less but I tend to oversize supplies if possible.Aluminum case is a standard extrusion enclosure, also from Ali, can recommend - very nicely done.PCB, and case openings/engravings were done on a home-made CNC, however my smd soldering skills are still lacking:Continued in another post

author: Anyzis
author_rank: Contributor
timestamp: May 28, 2020, 12:20:33 pm
content: JBC - relatedI'm convinced that many developers of such controllers get the C245 pinout wrong (including SparkyBG). My experiments show that the common point between the heater and TC is actually the outer shell. If anyone wants to check - measure resistances between all pins, then voltages at cold and at hot tip.From a practical standpoint - there are perfectly good JBC stand knockoffs and handles on Aliexpress, the only genuine thing you need is the actual cartridge. It can be difficult to discern between genuine and fake ones but I found out I had two fake ones in my assortment by measuring - more on that later. The cable holder is made from a spring steel element from a windshield wiper.In principle this station could power any TC/heater combination and for powering T12 and C210 I would only need to adjust detection algorithm in software, as their heaters have significantly different resistances. For other cases one would need an ID mechanism (ala Unisolder) or a menu setting, both of which can be added easily but I simply have no need for them.SoftwareFor LCD I used u8x8 library. It's text-only but supports larger fonts and with some clever glyph manipulation I was able to draw power bars as well. Still, each element in the display takes 1-3ms, so I had to break up the display routine into a state machine and draw elements in small chunks by calling the routine with each cycle.Now control is where things get interesting because I settled for a PD algorithm, not PI or PID. I term is there but is only active when error is <5%. Reasoning being that in C245 cartridge heater and TC are so tightly coupled that there is almost no inertia and for any reasonable load only P correction is enough and D is there only to damp overshoot.This is also where knockoffs rear their head - they have more thermal inertia between heater and TC, therefore inevitably generate some overshoot. I have 2 such cartridges out of 12. All others behave more or less identically, regardless of tip size:Since I have the ability to measure actual power of each tip, I found that limiting the output power to 150W or so evens out the performance across different tips and only barely affects heat-up times.Another revelation was when I started monitoring dT (effectively temperature climbing rates), which is a function of heater power and thermal mass of the tip. Turns out most tips average at 100 degC/s, with peaks above 120. Then it occurred to me that I can adjust PID in relation to that as well and implemented an output throttling mechanism to limit the climbing rate (sort of second inverse I term, measuring the derivative). Here's an example with 80 degrees per second target rate:Again, the slowdown is barely noticeable in practice but probably improves tip life and also serves as a safeguard against stupid mistakes like plugging in a C105 tip.Serial control and menus were initially planned but I don't think I'll add them because it works perfectly fine as is, there is simply nothing to adjust once tuned.The controller should be fully dual-channel, I tested everything on dummy resistors but didn't check with a real cartridge. The power window of each PWM cycle is split between channels, favoring the one with less power. If both require more than 50%, then the power is simply split in half. PWM is done in software (16bit timer with two ISRs) because of low frequency and high precision required.And that's it, please let me know if you have any questions. I can release Eagle files but my source code is a mess and I'd be hesitant to make it public, at least for now.Oh, and I made a video of it in action:https://youtu.be/v5FK_rFDtts

author: rsjsouza
author_rank: Super Contributor
timestamp: May 28, 2020, 12:31:00 pm
content: This is quite a cool project! Thank you for sharing.

author: thm_w
author_rank: Super Contributor
timestamp: May 28, 2020, 08:39:04 pm
content: Great work, and that ST IC does look nice, makes a lot of sense to go with a protected driver. The value/$ for obsolete automotive and telecom stuff can be really high.http://www.farnell.com/datasheets/1876903.pdfLimiting the power/rate is a good choice for sure.QuoteSo will a smaller tip have a higher resistance generally? From what I read JBC tips are ~3R. If you are saying they range from 160-220W, you are measuring in the 3 to 3.6 ohm range or so.I've read some speculation in other threads that the manufacturers may be detecting the tip type but I believe nothing has been confirmed. It could be somewhat simple compensation: 160W tip -> apply x compensation factor, scale as tip power goes up.

author: Anyzis
author_rank: Contributor
timestamp: May 29, 2020, 06:25:50 am
content: Quote from: thm_w on May 28, 2020, 08:39:04 pmGood point, those 160-220W figures are at the station and include at least three sources of error:They include power wasted in the wire, which I just measured to be about 0.25 ohms in total (0.25/3 ~ 10% loss)ST driver's current sensing circuitry isn't very linear and I calibrated it on a known 5 ohm resistanceCalculations assume 23.5V supply under load as measured on a scope but that can vary a little as wellGoing back to the tips, yes, the genuine ones tend to have higher resistance for smaller tips (in the range 2.6-3 ohms) but that might be an accidental correlation in my small sample. The point I was trying to make is that it would be very easy to detect a T12 tip at about 8 ohms and possibly C210 at ~2 ohms. I have no interest in the former and don't have the latter so this remains untested. From what I've read the smallest C105/115 tips are also ~3 ohms, and the only way to detect them without resorting to ID pins would be monitor the climbing rate (perhaps limiting to a short pulse and measuring the temperature rise).

author: thm_w
author_rank: Super Contributor
timestamp: May 29, 2020, 08:23:02 pm
content: One thing I don't entirely understand about the C105 tips: they are rated for 12V supply, but, would they not run on 24V with a reduced duty cycle?Assuming you do use the ID pins for detection and scaled back the power as you have done above.

author: Anyzis
author_rank: Contributor
timestamp: May 30, 2020, 06:35:47 am
content: Quote from: thm_w on May 29, 2020, 08:23:02 pmAbsolutely! In principle you can drive anything as long as the cartridge survives one PWM cycle of minimum power. Also C105 has been done already by Xyphro and seems to work flawlesly:https://www.eevblog.com/forum/projects/diy-jbc-nano/msg1402927/#msg1402927Even the pulse-count modulation for 24V AC seems to be OK because those TEC extension modules simple rewire the existing connector from C210 to C105.

author: Ozan Bayram oglu
author_rank: Newbie
timestamp: June 03, 2020, 09:23:34 pm
content: nice project, can you share the codes?

author: Anyzis
author_rank: Contributor
timestamp: June 05, 2020, 06:50:01 am
content: Thanks, regarding code as I said, it's an undocumented mess - do you want to replicate the project? If not, I would suggest you ask questions and I will do my best to answer them

author: Ozan Bayram oglu
author_rank: Newbie
timestamp: June 16, 2020, 01:30:02 pm
content: I am curious about the codes, PID, Power bar and I want to do the project

author: Scrts
author_rank: Frequent Contributor
timestamp: June 16, 2020, 01:55:33 pm
content: Congrats!!!

author: Anyzis
author_rank: Contributor
timestamp: June 16, 2020, 08:31:19 pm
content: Quote from: Ozan Bayram oglu on June 16, 2020, 01:30:02 pmFrom personal experience, just reading other people's code isn't very helpful unless it's well structured and documented. I will try to do that and then publish the source.Regarding your questions, I've described PID in detail already, it's a standard control loop with the addition of second I term which decreases the output by integrating overshoot of the derivative in regard to the target heating rate. The effect is very similar to D term but since it's applied after clamping the output, it's active at any temperature, while D term is only active near setpoint, where P term's influence decreases.All graphics are done with u8x8 library, which only deals with 8x8 pixel squares. To imitate smooth bars I've defined an array of 8 custom glyphs with increasing portion of the 8x8 square filled. Then to draw it one needs to scale the value to full length of the bar in pixels (in my case 0..56), draw value/8 full squares and one extra glyph at the end with value%8 pixels filled. If you only update the squares that need updating (as opposed to clearing and redrawing the whole bar), you get no flickering.Btw I've found Excel to be excellent for designing and mapping out a text based LCD

author: Anyzis
author_rank: Contributor
timestamp: June 17, 2020, 10:24:15 am
content: Posting full schematic and board files in EAGLE format + code for Arduino IDE, tried to put comments in all the tricky places.

author: wizard69
author_rank: Super Contributor
timestamp: June 17, 2020, 05:47:28 pm
content: Quote from: Anyzis on June 17, 2020, 10:24:15 amThanks for the info. I might never do a soldering iron controller but I'm sure I will learn something from this data.

author: vnuEndru
author_rank: Newbie
timestamp: June 26, 2020, 04:03:48 pm
content: Hi, has anyone ever tried to compare this or any other diy station to the original jbc? In terms of thermal capacity in first place?

author: Anyzis
author_rank: Contributor
timestamp: June 27, 2020, 02:28:43 pm
content: Yes, you will find quite a few comparisons on YouTube. However there is nothing to test really, thermal capacity is determined by the tip, not the station.What you're left with is power output and temperature regulation algorithm differences, which are pretty insignificant due to insanely good technology built into JBC cartridges

author: cgraf
author_rank: Newbie
timestamp: August 02, 2020, 11:07:09 am
content: Hi. Thanks a lot for sharing this very cool design! Highly appreciated.As I have no CNC mill to create the PCB I am about preparing the .brd for boardhouse production (just adding some values to the silkscreen layer to facilitate the population of the parts.If you want I will glad to publish the modified board file (again, no modifications on parts or locations).I have some questions on some part values: what is the value of R7 ? and what did you take for L1 ? I did not find a reference in the notes in the datasheet about C20 and C21Best regards from Switzerland and thanks again for sharing(I will be glad to send you one of the production PCB's when I have them). I will not fabricate 5 or 10 soldering stations

author: hlavac
author_rank: Frequent Contributor
timestamp: August 02, 2020, 09:40:49 pm
content: I in PID is there to ensure that you actually arrive at the precise setpoint when error is small but still non zero and P does not affect the output enough to move, by making the small error more significant the longer it persists. You are correct disabling I when error is large, it prevents I windup

author: Anyzis
author_rank: Contributor
timestamp: August 03, 2020, 08:07:20 pm
content: Quote from: cgraf on August 02, 2020, 11:07:09 amHi, glad you like the projectR7 is a 0 ohm jumper, to join analog and digital grounds at a single point. You can use a piece of wire instead.L1 can be seen in one of the pictures, I used a random SMD inductor from those cheap DC/DC converters from eBay, 22uH. Probably unnecessary but certainly doesn't hurt.

author: Anyzis
author_rank: Contributor
timestamp: August 04, 2020, 06:51:01 am
content: A word of caution - there are several critical constants baked into the code that you might need to calibrate:Code:// Specific to the supply at hand and VND device used#define HEATER_VOLTAGE 23.5// DS specifies K at at 5000 but with large uncertainty. Has to be calibrated with a known load.#define CSENSE_COEF 4.8// adc reads 3705 when disconnected. Depends on uC supply, voltage reference for the inst. amplifiers, gain and PGA range.#define DC_THRESHOLD 3700Second, I don't think I mentioned but I used a 4-pin step down modules (attached), these seem to be very reliable and efficient.IC1 doesn't have to be the model specified, any voltage reference will do, even a zener. Just keep the reference voltage in 0.8V..1.5V range. The higher you go, the narrower temperature range you will be able to measure: (5-vref)/160/Ttc. For C245/C210 (~20uV/C) this is unlikely to be a problem but K type thermocouple (T12 is ~50uV/C) will have a hard temperature limit of ~450C with a 1.1V reference.Regarding C20/C21 - these form a first order RC filter at the input to decrease measurement noise. I found experimentally that a good compromise between ADC rise times and noise suppression is a cut off frequency of several kHz, therefore all resistors and capacitors around instrumentation amplifiers are tuned roughly to that frequency. DON'T decrease the values for R8-R11, you will blow internal protection diodes of the amplifier.Also, don't connect an iron straight away. While the code will detect a missing heating element, it doesn't know if a thermocouple is present. So if you accidentally short TC input or connect it to wrong pins, you will get a white-hot iron tip. Also use telemetry by serial (default baud 0.5M), at least for initial debugging, two options are available:Code://dumpStats();dumpTelemetry();Which iron tips are you planning to use?

author: cgraf
author_rank: Newbie
timestamp: August 13, 2020, 09:20:37 am
content: HiThanks for the infos. Much appreciated. you can also mail me anytime to cgrafrocketmail.comThe boards are on the way from HongKong. I think there was a small error on the pcb (a crossing of tracks), see attachment "pic1.png"I also attach the board I sent for production (I did no changes to the schematics).Where did you use the step down ? After the power supply ?I did not decide yet on the tips ? an idea is the T245 handle with C115 cartridge.Best regardsChristoph

author: Anyzis
author_rank: Contributor
timestamp: August 13, 2020, 02:24:45 pm
content: These regulators are denoted in the schematic as VREG5V and VREG_FAN. In my case both are set to 5V, so the 12V fan is spinning quietly.Regarding the crossing, I did everything on a single sided PCB so crossing wires on the other side was no problem. If you ordered them as is, you will have to scrape one track off and make a wire jumper.Regarding C115, I'm not sure they fit in T245 handle at all. And even if they do, it's up to you to figure out the pinout and not mess up the wiring

author: cgraf
author_rank: Newbie
timestamp: August 13, 2020, 02:27:47 pm
content: HiThe error with the crossing was corrected on the board (see my .brd file). About the tips you are right, I will use the same as you...regardschristoph

author: cgraf
author_rank: Newbie
timestamp: August 18, 2020, 04:21:07 pm
content: Boards arrived. See attached files. very good quality and a matte finish.... a pity this goes into an enclosureAnyzis if you send me your postal addresss I will be glad to send you one of the PCB'sBest regardsChristoph]

author: Eagle_85
author_rank: Contributor
timestamp: August 18, 2020, 10:09:15 pm
content: Great project!Just a little esthetic suggestion: Change out the silver cap head screws on the front. They really stick out from an otherwise clean and nice case. Maybe change them to some black countersunk screws. Or some black buttonheads if the case is not thick enough for countersunk screws.

author: girishv
author_rank: Regular Contributor
timestamp: August 19, 2020, 10:28:31 am
content: Quote from: cgraf on August 18, 2020, 04:21:07 pmCongratulations and all the best.I am watching your project. I need to put to use two T245 handles and few cartridges I bought 2 years back.

author: Anyzis
author_rank: Contributor
timestamp: August 23, 2020, 04:03:33 pm
content: Totally agree, might change them some day. Btw these are science lab grade stainless bolts so I can justify them not being black 😃

author: Anyzis
author_rank: Contributor
timestamp: August 23, 2020, 04:07:54 pm
content: To all who wish to repeat the project (or any other with PWM power regulation), some cartridges developed a faint but audible buzz. It doesn't seem to affect the performance in any way but may affect lifetime. Will report if any of them fail.

author: vulkan35
author_rank: Contributor
timestamp: August 27, 2020, 04:17:10 am
content: Quote from: Anyzis on May 28, 2020, 12:20:33 pm

author: jhs
author_rank: Newbie
timestamp: September 13, 2020, 02:38:42 pm
content: Hello, I am very fond of this welding machine, you said the R8 - R11 can not reduce the value, plotted on a map is a 5 K, 4.7 K resistance value can be used? And C20, C21 is 800 pf can use 1 nf instead of? Thank you very much.

author: Anyzis
author_rank: Contributor
timestamp: September 14, 2020, 08:45:00 am
content: Hi, yes, small variations of values are OK. When I said "don't reduce value" I meant don't go as low as 1k (as recommended in the datasheet).Regarding code, here are links to all the external libraries, most of them are also available through Arduino library manager:https://github.com/GreyGnome/EnableInterrupthttp://playground.arduino.cc/Code/EEPROMexhttps://github.com/SimpleHacks/QDEChttps://github.com/olikraus/u8g2https://github.com/avandalen/avdweb_AnalogReadFasthttps://github.com/greiman/DigitalIOThis is as much as I'm willing to do for you, you will have to install them on your own. If it's too complicated, maybe this project is not for you, sorry

author: cobramostar
author_rank: Contributor
timestamp: October 08, 2020, 07:44:52 pm
content: Quote from: girishv on August 19, 2020, 10:28:31 amI need to put to use two T245 handlesyes i too

author: cobramostar
author_rank: Contributor
timestamp: October 08, 2020, 09:19:43 pm
content: Quote from: cgraf on August 18, 2020, 04:21:07 pmif i use your cfg front3_CGF.brd and convert to kicad tool i have Error 255 Warnings 0is that ok or does it need correction ? ? ?same if i open in eagle there are bugsare they critical or is it just a warning? ? ?see attached image

author: cgraf
author_rank: Newbie
timestamp: October 08, 2020, 11:26:55 pm
content: HiI used Eagle as well but maybe I had other drc settings. Anyway I exported from Eagle and the boards seem ok (I soldered about half of the components until now). If you want a board... I still have one left.RegardsChristoph

author: Anyzis
author_rank: Contributor
timestamp: October 09, 2020, 01:39:01 pm
content: Quote from: cobramostar on October 08, 2020, 09:19:43 pmNet class 1 HV clearance warning are nothing to worry about. Don't forget there are overlapping tracks in my original files, those are NOT OK, please use cgraf's brd file.

author: qm95533
author_rank: Contributor
timestamp: November 03, 2020, 03:38:50 am
content: Thanks for your great projectI made a , and now I solder a board. This is a new situation.1: The time from 0 to the set temperature is a bit long.2: When I tested, the maximum current running was only 2000mA. Are there restrictions on the firmware?Is there a way to improve it?

author: Anyzis
author_rank: Contributor
timestamp: November 04, 2020, 05:36:38 pm
content: Quote from: qm95533 on November 03, 2020, 03:38:50 amAssuming you're using C245 tip and 24V supply the current should be around 6-8 amps. Maybe your power supply isn't powerful enough?I don't know which components you used. It could be that you substituted the high side mosfet switch with another one that has different current sensing coefficient. In that case you could adjust this line:// DS specifies K at at 5000 but with large uncertainty. Has to be calibrated with a known load.#define CSENSE_COEF 4.8However this is unlikely since your station is starting up, it means it detects power (and current) more or less correctly.Can you provide some telemetry from the serial port?

author: qm95533
author_rank: Contributor
timestamp: November 05, 2020, 04:57:07 pm
content: Thank you for your replyMy power supply is a 24V300W switching power supply,I bought the MOSFET switch from a seller in Guangdong,I’m not sure if it’s original,Because I cannot identify, I upload some pictures.Also, I measured the voltage of 431 as 2.45V. You mentioned that the IC1 reference voltage can be kept within the range of 0.8V..1.5V, but the actual reference voltage is higher than the range you mentioned. Is this Related to this?

author: Anyzis
author_rank: Contributor
timestamp: November 07, 2020, 03:24:41 pm
content: Quote from: qm95533 on November 05, 2020, 04:57:07 pmIf the switch is from China, you can't be sure. You should measure the voltage on SENSE pin when passing a known current (for example 5A) and then adjust the constants in the code accordingly. However if it detects the tip at all, it means it's measuring something that's not completely off.It would really help if you could pull some data from the serial port, preferably with this line uncommented in the main loop:dumpStats();//dumpTelemetry();dumpStats gives more readable output, you can change the format or data in 8_serial file. But even unmodified it should tell you if the station is measuring no-nonsense power of the tip and if it is throttling max power during heating.Edit: regarding voltage reference, these high precision instrumentation amplifiers must have a reference above 0,8V or so. You can use whatever reference you like but the higher you go, the lower the max measurable temperature will be. 2,45V might still be OK since JBC tips have very low V/T coefficients

author: jhs
author_rank: Newbie
timestamp: November 24, 2020, 11:27:17 am
content: Hello, I use you provide libraries compiled, you can compile and upload, but there is no any display, OLED screen. I have driven SH1106 after changing SSD1306 can shows, but shows a garbled (see chart). I don't know why SH1106 don't show? SSD1306 shows it is abnormal. Where are you I am wrong, please? If you can help, I will thank you very much. I really like the soldering station.

author: Anyzis
author_rank: Contributor
timestamp: November 25, 2020, 08:07:10 am
content: Quote from: jhs on November 24, 2020, 11:27:17 amYes these cheap OLEDs come with different drivers, I had to experiment myself. However since only some characters are garbled, I think it's either a faulty OLED, or I2C data transfer issue, especially if the garbled characters change position with time. Try compiling some examples from the library to see if the screen is OK. If it is OK, then you can try one of the following:1. Reduce I2C speed in 6_display file, the line is u8x8.setBusClock(8000000); I pushed mine to the limit but experiment, much lower speeds might work OK.2. It may be that built-in Atmega pullup resistors are insufficient, try adding 10k resistors from SDA and SCL lines to +5V

author: Anyzis
author_rank: Contributor
timestamp: November 26, 2020, 06:28:10 pm
content: If the garbled characters are fixed, it seems the display might be broken. Please do a test by compiling an example from the library, preferably on another arduino. I really don't think it's a problem of compilation

author: Anyzis
author_rank: Contributor
timestamp: November 27, 2020, 09:13:22 pm
content: My display looks like this (attached) and it works with constructor U8X8_SH1106_128X64_NONAME_4W_HW_SPI. IDE is 1.90 beta, no custom compiler flags.By the way good job on redesigning the PCB! Looks good

author: jhs
author_rank: Newbie
timestamp: November 28, 2020, 06:28:54 am
content: U8X8_SH1106_128X64_NONAME_4W_HW_SPI u8x8 (cs = / * * / pin: : LCDCS, dc / * * / pin: : LCDDC, reset = / * * / pin: : LCDRES);Why I use your constructor is a black screen? I use a SH1106 screen (pictured), the display no CS pin, and this matter?

author: Anyzis
author_rank: Contributor
timestamp: November 29, 2020, 11:44:15 am
content: Yes the library is correct. You can also experiment with different constructors, there are many (just copy-pasted some HW SPI versions from a library example):Code:// Please update the pin numbers according to your setup. Use U8X8_PIN_NONE if the reset pin is not connected//U8X8_SSD1306_128X64_NONAME_4W_HW_SPI u8x8(/* cs=*/ 6, /* dc=*/ 4, /* reset=*/ 12);// Arduboy (DevKit)//U8X8_SSD1306_128X64_NONAME_4W_HW_SPI u8x8(/* cs=*/ 12, /* dc=*/ 4, /* reset=*/ 6);// Arduboy 10 (Production, Kickstarter Edition)//U8X8_SSD1306_128X64_NONAME_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8);//U8X8_SSD1306_128X64_NONAME_3W_HW_SPI u8x8(/* cs=*/ 10, /* reset=*/ 8);//U8X8_SSD1306_128X64_VCOMH0_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8);// same as the NONAME variant, but maximizes setContrast() range//U8X8_SSD1306_128X64_ALT0_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8);// same as the NONAME variant, but may solve the "every 2nd line skipped" problem//U8X8_SH1106_128X64_NONAME_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8);//U8X8_SH1106_128X64_VCOMH0_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8);// same as the NONAME variant, but maximizes setContrast() range//U8X8_SH1106_128X64_WINSTAR_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8);// same as the NONAME variant, but uses updated SH1106 init sequence//U8X8_SH1106_72X40_WISE_4W_HW_SPI u8x8(/* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8);However since your display does not have a CS pin and the SPI bus is shared with ADC, there might be a conflict between display and ADC. My display has 7 pins, including CS

author: jhs
author_rank: Newbie
timestamp: December 05, 2020, 08:56:42 am
content: According to your help, now display is normal, no code, thank you very much.Connecting the welding head detect, display does not change.

author: Anyzis
author_rank: Contributor
timestamp: December 05, 2020, 01:51:46 pm
content: Quote from: jhs on December 05, 2020, 08:49:50 amI can't say if your AD8293 is good or bad, you can do some checking. For example short the inputs and measure the output with a multimeter. It should be 0V. With inputs not connected it should be Vmax, because of pullup resistors in the schematic. And so on. Also be aware that there are two variants of this amplifier - 80 and 160 gain. The firmware is written for 160 variant.I could tell more if you would post some telemetry information like I described several posts earlier.C10 and C11 are pf

author: Apostolos
author_rank: Newbie
timestamp: December 07, 2020, 10:59:49 am
content: Hi. Thanks for sharing this great job. I have already assembled it and all is fine. But there is a problem. If the power is > 0 ,the measure of temperature is unstable with peak over of set temperature and power bar 0 % ->100 % run very fast up and down. If it approaches the set temperature it becomes more stable and if it gets over the set temperature or sleep mode then all work perfect. I think that this is a synchronization problem between sample temperature’s and PWM. I can’t find a solution. Could you please help me? Thanks a lot.

author: Anyzis
author_rank: Contributor
timestamp: December 07, 2020, 03:23:48 pm
content: Quote from: Apostolos on December 07, 2020, 10:59:49 amImpossible to tell without telemetry data but you are right, it does sound like ADC/PWM conflict - ADC is likely measuring residual voltage from the last PWM cycle. The most likely reason for that is if you made a mistake with RC components (C10, R8-9/C20, C9 for channel 1) in the input circuit and the voltage doesn't drop low enough. Note - C10 and C20 values are in pF!You can check that with a scope if you have one but if not, two options come to mind:1. You could try limiting the power level in PID profile, this will increase delay between power cycle and ADC measurement start, giving more time to settle. If this helps, just check all RC values before ADC or just use lower power.2. Brute force method - desolder mentioned capacitors one at a time. You could try removing them all but the signal will be very noisy.

author: Apostolos
author_rank: Newbie
timestamp: December 07, 2020, 04:48:00 pm
content: Hi again, you were absolutely right. The problem was in C 10, 11. I used the gerber file( front3_CGF.zip) where refers 100 nf. Thank you for your help.

author: Anyzis
author_rank: Contributor
timestamp: December 08, 2020, 03:00:31 pm
content: Great job! Can you share what the final enclosure/configuration you are aiming at?

author: qm95533
author_rank: Contributor
timestamp: December 08, 2020, 03:34:24 pm
content: Please send me your email

author: andrey1042
author_rank: Newbie
timestamp: December 08, 2020, 04:04:04 pm
content: Hello! A very good project! Redrawn the circuit and printed circuit board Dip Trace v4.0.0.2. DC1https://item.taobao.com/item.htm?id=626409483300&toSite=main&toSite=main

author: Anyzis
author_rank: Contributor
timestamp: December 08, 2020, 08:27:06 pm
content: Quote from: andrey1042 on December 08, 2020, 04:04:04 pmРеспект! I like the standalone Atmega and optos on the sense inputs!

author: qm95533
author_rank: Contributor
timestamp: December 08, 2020, 11:15:52 pm
content: I have been sent to your mailbox

author: qm95533
author_rank: Contributor
timestamp: December 10, 2020, 04:03:47 pm
content: Now there is a new problem. The temperature displayed is 300 degrees, but actually only 250 degrees. The temperature displayed is 400 degrees, which is actually only 350 degrees. There is a temperature difference of 50 degrees. How should the temperature be accurate?

author: Anyzis
author_rank: Contributor
timestamp: December 10, 2020, 08:45:07 pm
content: For me it was accurate to 3 degrees or so. Two things come to mind:1. ADS1118 does not read ambient temperature correctly (channel with no iron should show the room temp)2. Your cartridges are not original JBC and have slightly different thermocouples inside. You can account for that by adjusting second parameter in default profile in 3_iron file:Code:const TProfile defaultProfiles[] = {{ "No tool",0, 0, 0,0, 0, 0,0},{ "T245",41, 0.5, 80,4, 0.5, 0.3,150}};41 is the default coefficient in degrees/mV. Try changing it to 35 or so, adjust by experimenting.Full format of the profile for reference:Code:struct TProfile {char name;float coef; // thermocouple coefficient in C/mVfloat smoothing; // derivative smoothing coefficient to prevent output noisefloat rateLimit; // allows throttling of temperature rising ratefloat kP, kI, kD;float nominalPower; // Could be used for iron identification};

author: qm95533
author_rank: Contributor
timestamp: December 11, 2020, 01:27:10 pm
content: thank you for your reply. I will test it in two days. Now my 8293 is damaged. I have to re-purchase 8293, the new 8293 will arrive in 2 days. I don't know what caused the damage, it may be due to static electricity. I am modifying the workbench to eliminate static electricity.

author: jhs
author_rank: Newbie
timestamp: December 12, 2020, 06:09:36 am
content: Hello, through your help, my welding machine work.However, there is a problem please teach you, have low pressure limit the soldering station? Power supply voltage is lower than 18 v will not work.You can use the 12 v power supply? How to implement the 12 v

author: Anyzis
author_rank: Contributor
timestamp: December 12, 2020, 10:49:20 am
content: Quote from: jhs on December 12, 2020, 06:09:36 amIf I understand you correctly, you want to limit output power and also make it work off a 12V supply?Current algorithm does not limit output power but instead limits the rate of temperature rise (see my post above). By default it's 80 degrees per second. That way if you connect a very small but high powered tip, the station should automatically adapt power output not to fry the heater.Regarding 12V - I haven't tried it. In principe it should work without modifications - logic and input circuitry works from 5V and the only high voltage part is the power switch, which is designed for 12V-28V operation. However with 12V supply and a C245 cartridge you will only get 12V^2/3 ~ 48W theoretical maximum power output. C210 or C105 might be OK but I don't have those so can't comment.

author: Anyzis
author_rank: Contributor
timestamp: December 12, 2020, 10:51:44 am
content: Quote from: qm95533 on December 11, 2020, 01:27:10 pmStrange, I haven't had a single failure. Check if R8-R11 are at least 5k. If they are lower, you will definitely overload their input.

author: jhs
author_rank: Newbie
timestamp: December 13, 2020, 12:11:27 pm
content: Thank you very much for your prompt reply, I use two VN5E010AH VND5T016 instead.I test today must work more than 22 v mains voltage, less than 22 v does not work.I connection between 5 feet and 5 v VCC 7.5 K pull-up resistors, can work in 9-24 v normal, (see chart). I don't know why is this? I can do to work long hours? I'm going to use JBC C210 a group, and a group C245, so so 2 VN5E010AH. I hope you help.thank you

author: Anyzis
author_rank: Contributor
timestamp: December 13, 2020, 08:07:54 pm
content: Quote from: jhs on December 13, 2020, 12:11:27 pmOK I thought about it and it has probably to to with incorrect detection of power. That's why when you connect a pullup resistor, you cheat the station into thinking there is a more powerful cartridge connected.Problem is in cartridge detection algorithm in 3_iron file:Code:if (mVolts < DC_THRESHOLD) {// Prevents smoothing of very high DC adc valueavgTemp.first = true;measurePower(chNum);// more elaborate profile selection should be implementedif (measuredPower > 100 && measuredPower < 300) {// Defaults to Halted, if not - will automatically resume operationloadProfile(1);state = Halted;station.tick(chNum);}}It expects output power of at least 100W, which is obviously not the case with 12V supply. You should adapt this algorithm for your needs.Also, since your voltage will be lower and you use a different switching IC, you need to change these two lines in globals.h:Code:// Specific to the supply at hand and VND device used#define HEATER_VOLTAGE 23.5// DS specifies K at at 5000 but with large uncertainty. Has to be calibrated with a known load.#define CSENSE_COEF 4.8And if you want to use both C210 and C245 with the same station, you will need some more work:1. Adjust existing C245 profile in 3_iron for lower power (12V)2. Create a new profile for C210 (including PID parameters)3. Modify the detection algorithm (above) to correctly detect different cartridges by measured power.But I don't understand why you want to use C245 tips with 12V since you will only get ~1/4 the power? I suggest to stick with 24V and just limit output power for C210. And I will not be able to help you much since I don't have a C210 tip. For profile creation and PID tuning you will definintely need to use telemetry and real time plotting of data (Arduino can do that too).

author: Apostolos
author_rank: Newbie
timestamp: December 16, 2020, 08:06:29 am
content: Hi again. Unfortunately I had an accident with a troubled step down module and both of AD8293G160 have been destroyed. Till now I cannot find a reliable supplier with short delivery time. Could you help me by suggesting another solution? Maybe an alternative amplifier from ( FARNELL, MOUSER,TME,RS). Thanks a lot.

author: Anyzis
author_rank: Contributor
timestamp: December 16, 2020, 11:44:51 am
content: Quote from: Apostolos on December 16, 2020, 08:06:29 amI ordered from Farnell but they seem to be out of stock. Mouser seems to have some in stock. You can also try AD8293G80, just adjust multiplication constants in the code (gain is 80 instead of 160).There are many instrumentation amplifiers that could be used (<150uV offset and rail-rail operation) but you will need to redesign the PCB. I used these because they are very cheap and have fixed gain (no need to use high precision resistors).

author: Apostolos
author_rank: Newbie
timestamp: December 16, 2020, 12:14:46 pm
content: I appreciate your immediate answer ,I’m going to try AD8293G80. Can you help where can I find these constants in the code ? Thanks again.

author: qm95533
author_rank: Contributor
timestamp: December 17, 2020, 09:28:19 am
content: Hello, now this one I made is basically ready for use. After changing the temperature coefficient, it now looks like plus or minus 3 degrees. I am still testing. I upload some pictures. All holes are made by hand, so some are not good-looking.I made a video.https://youtu.be/R3Fq-tIpHew

author: Anyzis
author_rank: Contributor
timestamp: December 17, 2020, 08:58:37 pm
content: Quote from: Apostolos on December 16, 2020, 12:14:46 pm3_iron, line 107:Code:temp = avgTemp.push(mVolts * profile.coef / 160.0) + ambTemp;Change 160 to 80

author: Anyzis
author_rank: Contributor
timestamp: December 17, 2020, 09:03:45 pm
content: Quote from: qm95533 on December 17, 2020, 09:28:19 amGreat job! I love the clean wiring inside. Glad you found this design useful!

author: Free_WiFi
author_rank: Regular Contributor
timestamp: January 24, 2021, 07:36:21 pm
content: Великолепно !!! Мeraviglioso !!!

author: qm95533
author_rank: Contributor
timestamp: February 03, 2021, 02:10:15 am
content: This is the final look

author: Anyzis
author_rank: Contributor
timestamp: February 04, 2021, 07:18:15 am
content: Beautiful build! Have you solved the power issues?

author: qm95533
author_rank: Contributor
timestamp: February 07, 2021, 12:40:38 am
content: I found a 170W power supply, and the work efficiency is still acceptable.

author: cobramostar
author_rank: Contributor
timestamp: July 31, 2021, 06:15:03 pm
content: greetingI haven't been on the forum in a long timewhether JBC works reliablyfinally im but someone review the complete hwI mean the display case and other components to buy and wherethat I have an overview of the cost of the whole projectthanks in advance

author: cobramostar
author_rank: Contributor
timestamp: August 02, 2021, 09:19:29 pm
content: Quote from: qm95533 on February 03, 2021, 02:10:15 amwhat you used from pcb and board ? ? ?thanks

author: qm95533
author_rank: Contributor
timestamp: August 12, 2021, 05:58:52 am
content: This version of the 245 control board can work reliably.The accessories used above are all from Taobao in China.

author: Anyzis
author_rank: Contributor
timestamp: August 12, 2021, 07:33:33 am
content: Hi everyone, just wanted to share that projects like this are basically obsolete now due to appearance of many JBC knockoffs on Taobao and Aliexpress - from bare controller boards to complete stations. Here's an assortment of reviews on many of them (in Russian but there are links and you can still grasp most of information from the visuals):https://www.youtube.com/c/DIYKITs/videosMy primary motivation to make this DIY station happen was the fact that I had bought a genuine JBC handle and some tips a long time ago. Today however it would make more sense to just buy a complete knockoff set. Maybe even the tips, since they are not that much worse than originals in terms of performance and the only real concern is reliability. I was lucky enough to buy originals in bulk on eBay for 10$ or so a piece (new old stock I suppose), don't see such good deals anymore.Don't get me wrong, my station is rock solid and has been serving my needs very well. The only possible further development is if I decide to buy a T210 handle, then maybe I'll add some sort of autodetect for tips. Who knows.

author: qm95533
author_rank: Contributor
timestamp: August 12, 2021, 08:51:52 am
content: 210 is very good to use, welding 0603 0402, etc., you can add some parameters of 210 in your firmware.

author: qm95533
author_rank: Contributor
timestamp: August 12, 2021, 09:07:54 am
content: wiring

author: Karol01pl
author_rank: Newbie
timestamp: October 24, 2021, 05:10:37 pm
content: Hello,I would like to build such a station, but when looking for parts, more than half of them are unavailable. Have any of you recently assembled such stations and found parts? I am from Poland

author: Anyzis
author_rank: Contributor
timestamp: October 26, 2021, 08:55:08 am
content: Quote from: Karol01pl on October 24, 2021, 05:10:37 pmHi Karol, I find it hard to believe that more than half of parts are unavailable because most are generic, which parts are you having trouble with exactly?

author: peekree
author_rank: Newbie
timestamp: January 30, 2022, 12:52:11 pm
content: i was windering for controller like this but for c210 tip, what should i do to make it work ?i was plan to use 12v and 5v supply separated. or maybe the 24v is ok for c210 ?