About a year ago I started with the redesign of the 858D hot air rework station. Last April I showed a nicely rendered PCB and since then nothing. It’s about time to account for the time since and give an update on the project. (There used to be a more recent update on my blog saying that the project was still alive, but it seems that I lost it when I had to restore the site from an earlier backup recently.)
In the past I did consider writing blog posts on the design so far, but I found that I’m not the person to put something out there that I haven’t tested myself yet. Also writing those posts takes time off the design time, so it’s either one or the other.
May last year I had most of the schematic done and preliminary PCB design basically finished. There was still a lot of finetuning and calculations to be done. However, for various reasons I had to postpone working on the project since then until a month ago. In hindsight I might’ve generated too much expectation with that image of the full PCB.
Just last month I started working on the project again. Having not worked on it for many months gives me a fresh look whereby I’ve found mistakes and oversights. Also I’ve found that I needed to revisit my notes as to why I did certain things a certain way.
Now I like to do things thoroughly which can take a bit of time before I know it. For example I spend at least a day trying to understand how safety standards relate to clearances on the PCB and if I could use a TO-220 package for the triac without violating said standards.
The main reason for doing this redesign is to learn about everything involved, not just to get a result. So I already delved into things like EMC standards, safety standards, triac (snubber) design, auto-zero opamp input current bias, etc. For me the reason why a design is done the way it is, is at least as important as the design itself.
As the design is now, it has the following parts:
- Mains powered heater driver.
- Mains zero-cross detection (to sample ADC and run control loop at 100/120Hz).
- Linear DC fan driver switched on/off by the microcontroller. (PWM is unfeasible in this design for several reasons in my view.)
- Fan stall detection: this gives feedback whether fan is indeed running.
- Thermocouple amplifier with over-temperature comparator in hardware.
- Hardware logic to make sure the heater does not turn on if there is a fault with either the fan or temperature. This is separate from the MCU in case firmware gets this wrong for whatever reason.
- The microcontroller and user interface.
About the microcontroller
For the microcontroller I chose an NXP (Freescale) Kinetis 5V part. It’s not Arduino but this is one I’m familiar with and have the tools for. (Actually when I first started out with microcontrollers I had to go into a big ARM with no prior knowledge. So I bypassed the classic learning path with PICs and AVRs, and Arduino came only a few years later when I was coding for a then new STM32 ARM M4.)
Since so many people are familiar with Arduino I am thinking of doing a second design with a 5V AVR, but for now that’ll have to wait until the first design is done.
I do have a schematic for almost all the circuits but it is incomplete and I’ve found mistakes. So right now I’m revisiting all the sub-circuits. The fan driver and the thermocouple amplifier are done now.
I decided not to put everything on one PCB on the first go, but rather have a separate proto PCB for each sub-circuit. This makes testing each part easier I think. However I want to order the complete BOM in one go, so that’ll have to wait until I have everything done.
So there you have it.