For most of our prototype, hobby, or one-off electronics projects it’s perfectly fine to use a development platform like an Arduino Uno or something to that effect. They’re both easy to program and easy to wire up to projects without breaking the bank. But if you step into an industrial setting where reliability is paramount even in places that are noisy, vibrating all the time, hot, or otherwise unpleasant for electronics, you’ll want to reach for a programmable logic controller (PLC) that are much more robust. There is actually a PLC from Arduino, and if you want to dip your toes into the PLC world then take a look at this drum kit based on the Arduino Opta.
With the PLC at the core of the build, it’s on to making the drumming mechanisms themselves. For that, project creator [JC Audio] is using a series of solenoids attached to camera mounts with a custom 3D printed part that allows for quick assembly and disassembly so he can get the positioning of each drum sound just right. The high hat is taken care of by the noise of an internal solenoid, with the other drums striking various real drums and other solid objects in his shops. The solenoids themselves are driven by a solid-state relay expansion module to ensure there’s enough power
While the build doesn’t sit inside a factory and run for years at a time, a musician’s stage is certainly a rough enough environment that we might reach for a PLC over a standard development board for its benefits. The code for this project is available as well at the project’s GitHub page for those looking for a more advanced timekeeper to play along with their music practice, and for more details on why you might choose a PLC for your project take a look at this Arduino vs PLC showdown from a few years ago.
I find the voice coil arm and magnet of a hard drive makes a great actuator for striking a drum. Lever action instead of linear much like a stick. I attached a piece of piano spring wire to the stub of the arm which held the heads. The end of the wire is bent in a circle and a blob of hand formed removable window sealant is formed over it. Still flexible after years after I made it. It is to be a sort of metronome to add to a drum kit.
Yes it could be done with a 555! Please copy this idea and save junk hard drives they are on the way out for most. Solenoids are noisy and need to be gravity return meaning underneath the drum or tine just like in a grand piano.
Arduinos are reliable in an industrial environment. They’re just microcontrollers.
A lot of PLCs are just microcontrollers too. The Arduino Opta just uses an STM32H747XI which is a microcontroller.
A PLC generally just has more protection, both environmentally and electrically, all of which can be done with a microcontroller too because that is exactly what most PLCs are. Add input and output protection to any MCU and it is pretty much a PLC, at least at the hardware level.
The main difference is how they are programmed.
In general you are right as at the center of a PLC you’ll find a microcontroller of some sort (generally a 32-bit arm thing) but normally it’ll be supported by some support circuitry that makes everything more robust. For instance the outputs will be buffered with an optocoupler and/or an amplifier to raise the line level to 24v or 120v.
They also do a bunch of stuff with certifications and support that you won’t find with an ordinary Arduino.
With all of that said do you actually get something that’s going to be more reliable than an Arduino, probably not.
Don’t forget about deterministic program cycle times.
And SIL (or PL) certifications
And support for IEC standard languages
Thanks so much for the writeup!
FWIW, all of the internal relays hit at once to produce the hi-hat. The big benefit of the SSR is that those switches don’t make any noise.
Reminds me of the Conrad C-Control from 28 years ago..
https://de.wikipedia.org/wiki/C-Control
Also, +1 for Wago connectors!
“Way to go, Wago!”
-Mr. Potatohead (sorta)
Arduino IDE technology which may boot directed into app or single task OS
defeating those software technologies which demand loading OS
before app or single task OS?
I’m not sure if a PLC has those advantages over a microcontroller in the modern world, in the past maybe when comparing a PLC to a full on PC, but today a microcontroller should cope just as well with heat and electrical noise (so long as it is in an appropriate enclosure) and vibration shouldn’t affect it at all so long as the physical connectors are rugged enough. Serious spikes on the GPIOs can be taken care of by using optoisolators or zener based (and TVS diode) voltage spike protectors at the points where signals enter and leave the MCU’s enclosure. I think the only place PLCs are used today is where PLCs have ben used before, and the people running the equipment are more familiar with the, somewhat unusual, ladder-logic concept which PLCs work on, as versus the C/C++/Java* programming which microcontrollers use. Whether a PLC or MCU is used is more down to the prior experience of the person assembling the system than to the difference between devices’ ruggedness.
*I encountered one once, a special motor control microcontroller, everything else I’ve met has been C/C++
P.S. as for the ruggedness of “arduino” for industrial use, it wouldn’t be an arduino board with a plugged in shield, you’d use a custom build board of your own which would host your arduino-compatible MCU and all the peripheral hardware and protection needed. And for long term reliable running you’d probably want to be very careful in analysing exactly what goes on inside any arduino libraries you call, perhaps replacing some of them with custom made libraries on a case-by-case basis. But the principle of coding and flashing via the arduino toolchain, definitely isn’t impossible for industrial use cases.