Not had much time today for one reason or another…
Didn’t have much luck with automatic tuning of the PID parameters for the oven. Did manage to knock it into shape manually though – there were some horrendous overshoots before tuning, now it pretty much hits the mark.
What we need to achieve, according to the datasheet for the solder paste I bought is:
So, after faffing around with tuning I decided to compare the oven performance with what was required of it. This was done by simply setting the target temperature (Setpoint) to 240°C and then turning the oven off and opening the door once that point was reached. How does that do?
So, the oven is too slow to meet the required profile. Problem? I suspect not to be honest, most other profiles I’ve seen have large error bands rather than sharp lines. The ideal profile hits 240°C and then cools down – I’d be tempted to have this oven hit, say, 235°C instead to limit the exposure of components to high temperatures. The only way to see if this works is to test it and I have some circuit boards on the way to do just that.
I’ll finish the software for this in the next few days then it can operate stand-alone in the garage when I need to reflow stuff.
I’m using a Raspberry Pi on my work desk to allow me to access the PID controller. I must admit that I’ve been getting very frustrated with the arse that is X11 on a slow machine with only a fast ethernet port. Also the editor in the Arduino IDE is, in my humble opinion, a steaming pile of shite. That doesn’t make for a happy Dave 🙁
The solution was easy enough:
- Tell the Arduino IDE to use an external editor
- Dump /home/pi onto my server and NFS mount it back to the raspberry pi
- Edit locally using Sublime Text (with syntax highlighting and git support)
- Use the “Upload” button in the Arduino IDE (which still runs on the pi) to compile and upload to the PID controller
When I get around to it, I’ll switch over to Arduino Makefile – may as well compile the damn stuff locally too. All I then need to do is to add a “remoteupload” target to ssh in to the pi and run avrdude from there on the hex file compiled on my linux box. Sorted, and faster, and not at the mercy of the pi lunching it’s SD card…
That was worth spending the time on. I can see me needing the “Bench Pi” more and more often so having a better workflow is a must.