Hi all,
I'm the guy behind Heart of Technology and I feel like it's past time that you hear more about the project. I'll think about maybe starting my own thread, but here's an overview for everyone reading this tread.
History
I did start out about a year ago and got the PCB almost done, but still needed to do component value calculations in the schematic and finishing touches on the PCB. That was about April last year. Then for multiple reasons I was simply unable to spend any time at all on the project, hence it seemed to be dead for 11 months. (There used to be an update on my blog that the project was still alive but it looks like I lost it when I had to restore the site from backup recently.)
Actually, I just started last month to work on the project with a fresh look. I like to do things thoroughly which can take a bit of time. 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.
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. In any case, the design as it was (like at the time of the rendering of the PCB I uploaded) has a few flaws that make me not want to share those design files. I might have generated too much expectation at the time by showing off a PCB of an unfinished schematic.
Design
The reason for doing this redesign is most of all to learn about everything involved, not just to get it done. So I went into things like EMC standards, safety standards, triac snubber design, auto-zero opamp input current bias, thermocouple step response times and control loop design. For me the reasoning 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.
- (Proper) 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.
For the microcontroller I went with 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.
Status
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 parts of the schematic. The fan driver and the thermocouple amplifier are done right 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.