I wanted a create a simple project to test a few ideas and still be useful in its own right. Walking through my local IKEA store, I saw a really inexpensive analog clock (Rusch) and decided that it would provide the right vehicle for what I had in mind.
A logic analyzer is an electronic instrument that captures and displays multiple signals from a digital system or circuit on a common time base. It is a really useful tool for debugging circuits and communications links. However, the cost of brand-name logic analyzers runs into hundreds of dollars and can be really hard to justify for hobby use.
Fortunately, there is a low cost alternative using open source software and inexpensive hardware.
In the first part of this blog I described building a test apparatus that allows me to experiment with tuning a PID loop controlling a levitating pin pong ball in a tube.
This second installment is about trying different hands-on methods of tuning the loop, understanding how they are derived, and how well they perform compared to each other.
PID (Proportional, Integral, Derivative) control is a classic control algorithm that I have used for a few projects, ending with ‘good enough’ control, without really spending time learning how to properly tune the PID constants.
Time for me to fill in the gap in my knowledge, so in this two part blog I want to capture my learning. Hopefully it is useful for someone else. In this first part I will document the learning and testing rig and software. The next part will be about tuning the control loop.
In some upcoming projects I intend to embed some processing intelligence into small devices. The smaller Arduino boards are too big and expensive for these applications.
After some investigation, I settled on using the ATTiny series of 8 pin microcontrollers. These processors vary in capability (from a very low end) and all provide 6 I/O ports. Tools compatible with the Arduino ecosystem are also available.
As a first step, I designed a small breakout board for the SOP8 version of these MCUs.
I always seemed to get a clash between the device select signal (SS) on my SD/microSD card reader and some other Arduino hardware I was trying to run with it. To get around this I decided to make a dedicated SD card shield with a jumper selectable SS signal.
SS signal clashes are now a thing of the past!
I have lost count of the times I have forget to turn on the workshop vacuum cleaner before turning on dust making wood working equipment. Recently I decided that I needed to compensate for my distraction with an automatic Smart Switch. However, all the switches find either did not do what I wanted or were way beyond my budget. So I decided to make my own.
In Part 1 we looked at the design and hardware for the Soldering Station. This part covers the software, assembly and calibration of the system to provide accurate and reliable temperature control.
After many years persevering with a ‘simple’ soldering iron, I acquired a temperature controlled iron and was amazed at the difference it made to the quality of my work. Recently the iron failed and, although I managed to find the fault and repair it (the temperature sensor wire had broken off), it made me realize that I should keep one as a spare. It is actually quite difficult to repair an iron without an iron!
As I can’t afford to buy an expensive piece of equipment ‘just in case’, I decided to use this as an excuse for a hardware and software project based around a Hakko-FX888 soldering handpiece that I had already purchased.
One of the downsides of home-made CNC printed circuit boards is that a lot of the copper cladding remains and can lead to short circuits when solder strays onto the common waste area outside the formed tracks. Also, after a while it tarnishes and does not look great.
One solution to both these problems is to apply a solder mask over everything that is not meant to have solder on it, similar to professionally made boards.