GuitarBot

Admittedly, the Robro project wasn’t exactly a great success. Even if full functioning, it would have some serious restrictions compared to a normal guitar, simply by being a slide/steel type of instrument. But worst of all, the mechanical solution was much louder than the instrument itself. Time to kill your darlings and start again from scratch.

Project status: Still in the design phase, but special driver prototypes has been produced, and a proof of concept for the plectrum is in the pipeline.

A REAL GUITAR

Well, not really real. It’s still a robotic guitar, and it’s still based on the cheap dobro. But the plan is for a guitar that is more or less playable like a real guitar, i.e. based on strings and frets.

Now, we chose the Robro/dobro solution because of its relative simplicity – a single slide instead of tens of actuators, each working on a single fret of a single string to mimick the action of the guitar players left hand. And it is simpler. But having worked with a lot of different techniques during the last few years, the idea of making a “real” robot guitar is no longer completely out of the question.

Re-purposing the dobro is an obvious solution, as the very solid construction and the raised strings will make almost any solution easier.

SOLENOIDS

Notes on a guitar are made by pressing a finger on the string, effectively shortening the vibrating part of the string. The classical go-to solution in EnsembleBot is using solenoids. And yes, we’re going to need a lot of solenoids.

Covering 6 strings and 12 frets chromatically means using no less than 72 solenoids, or 96 solenoids for 16 frets. We are looking at a heck of a challenging construction, and yes, we are going to find a practical solution to the heating problem of cheap solenoids (and they have to be very cheap, indeed!). We could use micro-servos instead of solenoids, but that would probably end up being both more expensive and more complex to design and build.

Now, the solenoids don’t have to have a particularly hard attack, but they need to be able to hold their actuated position for quite a while without overheating. In the early PipeDream projects we handled this problem by designing special dual-channel driver stages with attenuated holding currents to cope with the 1 A current draw of the ZYE1-0530Z solenoids. Here, at least, we can use smaller solenoids, or at least solenoids with higher impedance and lower current. But the heating issue remains.

DRIVING THE MOSFETS ECONOMICALLY
Switch matrix

Even though we’re going to need maybe 72-96 solenoids, we don’t actually need as many drivers. Since only one solenoid per string will be active at any given time, we can set up a matrix driver stage with e.g. six high-side P-channel MOSFET switches (one for each string) and low-side 12+ N-channel MOSFET switches (one for each fret).

This principle is shown to the right for a subset of the needed solenoids. Here simple switches are shown in place of the MOSFETs.

The six high-side P-channel MOSFETs and the 12+ low-side N-channel MOSFETs can be configured like shown in the partial schematic below.

DRIVING THE MOSFETS SAFELY

The fret drivers can be driven by PWM driver modules, enabling us to activate the solenoid with a brief 100% PWM duty-cycle for a few tens of milliseconds, and then switch to a lower PWM duty-cycle to achieve an effectively lower holding current.

Double MOSFET switch
Double MOSFET switch (and, yes, I know one of the MOSFETs is reversed in the sketch above. Sorry)

However, the common PCA9685-based modules will not be good enough, as their maximum PWM frequency is only about 1.5 kHz. We’ll need a faster PWM frequency to switch faster than the decay of the magnetic field induced in the solenoid, or suffer all kinds of hell with electrical and electromagnetic noise, as well as a constant pressure on the fly-back diodes across the solenoids.

Fortunately, the PCA9685 has a lesser known sibling, the PCA9635. It’s also a 16-channel PWM driver, but its PWM cycle operates at 97 kHz. This is more than fast enough, and should eliminate any problems with demagnetization and dithering.

Now, driving a MOSFET that fast from a simple CMOS chip is not going to end well. The capative load of the MOSFET gate is too large to insure any kind of sharp and defined rise/fall edges when turning the inductive load on and off 97.000 times per second. We need a driver.

MCP1416

The MCP1416 Non-inverting 1.5A high-speed MOSFET driver seems to be a viable solution. We’ll need an MCP1416 with two dedicated decoupling capacitors and PCB ground planes and track-cooling for each of the 16 MOSFET gates. This increases the number of components greatly.

PROTOTYPES

It took 3 attempts to design and manufacture a driver board that is even a candidate for testing. Because of the additional components, the board is wider than the MCP23017-based driver boards originally designed for the PipeMare project and now also used in the percussive instruments. But the layout of mounting holes and stackable connectors were made to be compatible with these smaller boards.

PCA9635 Fast PWM MOSFET Driver
Fast PWM MOSFET Driver

A shout-out to JLCPCB (formely EasyEDA) is in order here. This is the fifth time I use them to etch, drill and silk-screen my PCB designs, and every time they’ve done a beautiful job at a very reasonable price. You’re likely to pay more for shipping than production, but you’ll have your PCBs within a week.

Now, these boards are not actually made for this guitar project alone, but as a possible general replacement for the dual-channel principle for driving solenoids, that we used in PipeDream61. If they work.

FRETTING

Having some idea about drive a trillion solenoids, the next question is how to use them to press the strings. Well. One thing at a time. I do have some ideas, but it’s still too early.

PICKING

How to pick the strings? On the Robro we used six micro-servos, each with a guitar-pick. This was both slow, inaccurate and inconsistent.

ROTARY SOLENOIDS

We used a pair of small rotary solenoids on the Robro for dampening the strings on demand. While they were perfect for that job, their torque are too weak to reliable drive a plectrum.

STEPPER MOTOR

The same principle could be made more reliable using stepper motors. A stepper motor can be both strong, precise and fast – but only if it’s also bulky and expensive. This could be a viable fallback plan, if everything else fails. But I have another idea…

LINEAR SOLENOIDS

The good old linear solenoids! Is there anything they can’t do? Instead of re-inventing the wheel, why not look back at an old and well-proven solution to plucking strings: The harpsichord! Since the 14th century these instruments used a reliable mechanical solution to pluck strings consistently.

This is the current path of investigation. It’s still too early for proofs of concept or prototypes, but sketches are being made, and 3D printers are being considered.


Next: Read about the Radio-conrolled bells