Useless Machine: Make a Mess & have Fun! Part 1
Some years ago, when I was working for Kunbus, I needed to create an exhibit which would perfectly demonstrate the abilities of our Revolution Pi product family. We decided to build a spectacular machine which was controlled by a RevPi Core, cyclically and uselessly pumping coloured fluids (oil and water) between containers. It ended up in an enormous mess when our (at that time) major distributor’s booth was covered with a lake of frying oil during the Nuremberg “sps ipc drives” fair.
But err is human; repeating, divine. Meantime I’m running my own business (called BEYOND normal): We design and construct exceptional exhibits for our clients. So I thought it would be time to build the Useless Machine 2 (aka "UM2") for DesignSpark’s booth at the WNIE fair. As the name says, it is useless again. Its primary meaning is to inspire engineers to get engaged in the crossover of IT and automation (see “Classical Automation enters Alien World of IT”): Classical automation with valves and pumps meets modern IT technology. There are no level or flow sensors involved, but the only input for the control algorithms is a USB camera watching the containers. Python libraries (e.g. “openCV”) are used to analyse the incoming pictures and detect the fluid levels, and Python is used to program a state machine (see “PYTHON – Let the „Monty-language” enter Automation”). So go on reading and be inspired to step out of your box and use unique methods for your projects!
Useless Machine Version 1 at Electronica, Munich
Useless Machine Version 2 on the WNIE carpet, UK
Now, what is the machine exactly doing? As I said: nothing useful. There are two containers. The left one contains green coloured water, and the right one contains red coloured oil. Both fluids are pumped from their tanks into a middle cylinder (red oil swimming on green water). The machine then separates the liquids again, pumping them back into their source containers. This could be a simple scheme of it:
But with this setup, you would soon experience a massive impureness of both fluids after several cycles of pumping the fluids across. As the water pump “V” sucks, the liquid surface between water and oil gets deformed, becoming funnel-shaped, and thus there is no precise point when to switch the valve “V” from the left water to the right oil tube. And once you got red oil into the left-hand water container, there is really no way to get it out again as it will swim on top of the green water. So we need to find a way to compensate for this uncertainty of level. We need to find a level range inside which it is safe to switch the valve. This can be done by having to outlets at the middle container:
Now we need to pump off green water using the lower water outlet until its level is definitely underneath the upper (oil) outlet. Then we safely can pump off the oil using the upper outlet. Two valves entirely separate the two fluid-sections from any pressure difference. It happens that the oil outlet is small enough and surface tension plus adhesive forces are big enough to hold the red oil back inside the tube sections between valve and outlet. Otherwise, gravity could press water into the oil tube, and oil would be lifted on top of the water whenever the water level is above the outlet.
In my final setup, I’m using two pumps and two valves for each side because the pumps I’m using cannot be reversed. So one pump and valve at each side is for filling the middle container, and another pump and valve for each side is for emptying the central tank. All together the controller needs to switch four pumps and four valves.
I was fortunate to find the ideal material for the mechanical setup: It happens that the “case modding” scene with their water cooling equipment offers all liquid conducting parts (tubes, tanks, fittings, pumps and valves) for such constructions. Alphacool is one of the leading companies for PC cooling. Their material is designed to look good and to be used as a show maker. They even have superb LED lighting possibilities for tubes, tanks and pumps. So I decided to go for their technology and also add lots of RevPi controlled LEDs. I need to express sincerest thanks to Alphacool and Kunbus marketing teams, as they both generously provided all their material as sponsors for the UM2.
If you ever need to cool a server be sure to have a look on the Alphacool website; they do provide top all-in-one solutions and not only for bitcoin miners ;-)
After knowing which material can be used to construct the machine, I formed it in DSM as a 3D model (find the file at the end of this article). Alphacool, as well as Kunbus, do provide STP-models for their products. So I ended up with a realistic drawing and precise dimensions:
One part is a base framework of 40 mm aluminium struts and a tiltable dashboard. The structure stands on adjustable feet. Elastic lips have been pressed inside the profile’s grooves (in the lower left picture I demonstrate this with a piece of wood). Later, they will support the aluminium Dibond panels which enclose the base. The dashboard holders use clap levers to allow any steady angle. Here are some pictures giving an impression of this part:
The dashboard is a 3 mm aluminium plate which I had readily printed and cut out by a commercial signboard maker. It carries a DIN rail with a RevPi core 3+, two RevPi digital out (DO) modules (with altogether 32 PWM output channels for the impressive LED light show), a mixed digital in/out (DIO) module for four pumps, four valves, the three illuminated switches and the key switch. The DIN rail carries additionally eight Finder relays for the pumps and valves as their inrush currents (when switching them on) would possibly exceed the maximum output current of 500 mA from the RevPi DO modules.
Please note the green/yellow FE-wires to each of the modules. I often have seen installations where customers have left the FE-pin free. “FE” stands for “functional earth” and has nothing to do with “protective earth” (PE). It is instead the only way of getting powerful EMI pulses out of the modules. So if you leave this wire off, you end up with nearly no internal EMI protection. If your installation has no access to any FE (you could well use the PE pin of 230 V outlets for this purpose), you should at least connect all FE pins to a central GND. In my case, I attached them to earth clamps on the DIN rail (i.e. to chassis GND) which I also linked to minus 12 V power supply for battery operation. For a trade show exhibit, there is often no other possibility, but for stationary use, I would always try to connect PE to the chassis even if a SELV power supply is used. In such a case, you should NOT connect the minus 12 V to the frame.
There is also a 7” HDMI TFT display (Waveshare) and an emergency stop bottom. I use HDMI flat cable which has become the standard for quadrocopter cameras and is available in several lengths.
The three-position key switch allows for three operation modes: “Setup”, “Normal” and “Auto”. While in normal mode the user must press the green “Start”-button each time to start one complete pumping cycle, in auto mode the system continuously cycles the whole day. Setup mode enables the operator to set multiple parameters for the openCV image analysis to adapt the system to varying ambient light conditions.
There is also a red “Stop” button to abort the current pumping cycle. After such interruptions, the system must be reset into starting condition by pressing the blue “Reset”-button. Any button which is currently recognised by the system state does flash its backlight.
Here are pictures of the final dashboard:
All IOs are wired to a huge DIN rail clamp array at the backside of the dashboard. There is also a small active USB hub attached to the backside of the front panel (lower left picture). A Wifi transceiver for IoT, a transceiver for a Logitech wireless keyboard/mouse combination (only used for setup purposes), the USB camera and the display are all powered by this hub. The whole system is operated at 12 V (Revolution Pi allows for voltages between 12 and 24 V) as this is the voltage of the case modding scene. A small 12 to 5 V DC-DC converter generates the power supply voltage for the USB hub.
LEDs, valves and pumps are not directly connected to the clamp array because this would not allow separating the two parts of the machine. I used four neon coloured PC connectors to enable separation.
If you are thrilled by such useless engineering, watch out for part 2; I will describe the top framework in detail and show you how to prepare the RevPi Core.