an experimental hurdy gurdy robot

<Hurdy>

Godfried-Willem RAES

2004/2008

[Nederlandstalige versie]

 

Robot: 'Hurdy'

This robot is a bowed bass instrument with two strings of equal length, covering a range of nearly four octaves. The construction of the bow mechanism is a further development of our first designs in this direction, implemented in <Flex>, our singing saw. The bowing speed, and consequently the loudness, can be controlled as well as the direction of rotation. Bow pressure can also be controlled independently for both strings. The time plot shown further below gives the details of the control possibilities. Rosin is continuously applied to the bow material through a rosin holder wherein the bottom wheel of the bow mechanism rotates. The frets are realized with strong electromagnets equipped with tangents. They are moveable, such that the instrument can be prepared to play in different tuning systems, including just intonation. The resonators for the strings are constructed from thin stainless steel pots, welded on a heart shaped sound board. The metallic and harsh sound the instrument produces when bowed was intended. Softer sounding, almost etheric string sound, including all flageolets, can also be produced using the e-drive mechanism. This machine is fully programmable and can work under midi control.

Some pictures taken during the construction (many more pictures below...):

The electric circuitry is depicted in the overview below:

Three PIC controllers are used, each with a specific task. The first PIC translates the midi note commands into switch positions for the correct tangents pushing against the strings. Its schematic is straightforward and looks like:

The second PIC is used to control the bow motor controller as well as a pair of lights mounted on the front of the robot. The lights are controlled by an optical isolated solid state AC relay, switching the mains voltage for standard halogen switching power supplies.

The third controller, steers in (inverted!) PWM both bow pushers (soft-shift solenoids) as well as an optional extra 8-bit port that can be used to add a couple of small stepping motors, to pluck the strings.

The different parameters for the bow pressure control implemented follow from the diagram below:

In 2007, we added a mechanism with associated electronics, for bowing the strings under influence of an electromagnetic driver. The solenoids used were made by disassembling a couple of 100V loudspeaker line driver transformers rated for 20W power, and removing the I shaped mu-metal from the transformers cores. The electronics make use of a fourth PIC microcontroller, this time a very fast 16 bit dsPIC type PIC30F3010:

Using this way of driving the strings, very clean and etheric string sounds can be produced as well. However, very accurate tuning of the strings is mandatory for this mechanism to work well. The mechanism itself can be used as a tuning aid, using our specific driver software under GMT. When using commercial software such as sequencers, users should first send the controllers 20 and 21 with the exact midi note to which the low and high strings are tuned, followed by note on command for resp.. note 40 and 64. This will sound the open strings, so that they can be tuned. The picture below shows the board responsible for the e-drive mechanism.

At the end of the string, near the tuning pegs, we added two solenoid driven felt dampers, for smoother operation:


The 5V power supply was built into the large mains-switch box, together with the MIDI receivers and the midi THRU provision. Each of the three TTL-midi outputs of this miniature board goes to one of the PIC controller boards, such that their functionality can easily be tested and debugged separately.

Technical specifications:

Design, research and construction: dr.Godfried-Willem Raes

Collaborators on the construction of this robot:

On July 20th 2004, this robot became an integral part of the <M&M> robot orchestra. It was the first bowed string instrument to join the orchestra. In 2007 we added an electromagnetic string driver to allow for softer string tones as well. Both mechanisms can be combined.

Note range:

Educational uses:

As it turned out, <Hurdy> proved to be an excellent test- and demonstration tool for classes in the acoustics of musical instruments. Particularly the theory of inharmonicity of strings can be perfectly well demonstrated and proved. The e-drive mechanism provides excitation at a mathematically exact 'harmonic', yet one can easily show that maximum resonance for that overtone only occurs if the string is retuned a bit for every 'harmonic'! It proves clearly that 'harmonic' overtones rather belong to the realms of religion than to those of physics. We used these scientific facts as the underlying compositional base for our composition 'Religionszwang', a solo piece for <Hurdy>. Another version of the same piece is called 'Scientia Vincere Tenebras', using calculations and empirical data for real inharmonic spectral components. A table with the calculated inharmonicity for the low string can been by clicking this link. A table for the high string here.

Music composed for <Hurdy>:

Back to Logos-Projects page : projects.html Back to Main Logos page:index.html To Godfried-Willem Raes personal homepage... To Instrument catalogue download directory for Hurdy PIC firmware and schematics Go to Godfried-Willem Raes' homepage

Nederlands:

Robot: <Hurdy>

Hurdy, koosnaam voor Hurdy Gurdy is een automaat geinspireerd op de traditionele draailier. Een strijkinstrument dus. Het eerste bovendien dat het M&M robot orkest is komen vervoegen. Maanden intensieve en experimentele research in het atelier van Stichting Logos gingen de bouw van deze automaat vooraf. De konstruktie van de boog gaat verder op de -niet onverdeeld positieve- ervaring opgedaan bij de bouw van onze automatische zingende zaag, <Flex>. Het boogmateriaal is ook hier gemaakt uit plastische kunststof die doorlopend van hars wordt voorzien in een recipient met loopwiel op kogellagers onderaan de boog. De snelheid van de boogbeweging is over een uitermate ruim bereik regelbaar. De boog wordt op kommando tegen de snaar aangedrukt met softshift magneten voorzien van een wieltje. Softshift magneten zijn een speciaal type elektromagneet waarbij de verplaatsing van het anker een lineaire funktie is van het toegevoerde vermogen (het VA produkt). De aansturing van deze duwmagneten gebeurt met puls breedte modulatie. Hierdoor kan de boogdruk nauwkeurig worden gestuurd, en daarmee ook de dynamiek en expressie van het instrument. De boogdruk waarde kan worden voorafgegaan door een korte puls, uiteraard ook weer stuurbaar, waarmee het initiele aanzetten van de boog tegen de snaar met een kleine overdruk is geimplementeerd. Dit ontwerp betekent een fundamentele verbetering op muzikaal vlak, tegenover de klassieke draailier waarin de snaren met een primitief houten wiel worden aangestreken, wat nauwelijks nuancespel toelaat. De trillingen van de snaren worden versterkt middels twee inox membranen met pot volgens het principe van de indische gopi yantra. De inox potten werden gelast op een hartvorminge inox plaat met drie-punt bevestiging. In deze plaat werd onderaan een buiging aangebracht ter verlaging van de resonantiefrekwentie. In plaats van fretten, zoals gebruikelijk op luiten en gitaren, werden tangenten toegepast zoals in het klavichord. Een toets, zoals op gebruikelijke strijkinstrumenten van kontrabas tot viool, bleek hier overbodig. Uiteraard worden deze tangenten hier niet manueel ingedrukt, maar via sterke (10N) en snel reagerende elektromagneten. De tangenten werden overtrokken met een huls uit zacht PVC, wat aardig in de buurt komt van menselijke vingers. Stalen veren werden bij wijze van experiment toegepast om de klank wat extra galm en kleur te geven maar deze werden uiteindelijk weer verwijderd.

Voor het stemmechanisme maakten we gebruik van de kop van een in de muzikantenslag gesneuvelde kontrabas. Een citaat als het ware. De beide snaren hebben een gelijke lengte maar, aangezien ze in een interval van maximaal twee oktaven worden gestemd, een zeer groot verschil in dikte. Hierdoor is er een substantieel verschil in klankkleur tussen beide snaren. De snaarlengte (trillend gedeelte) is niet minder dan 122cm, een stukje langer dus dan de snaren van een kontrabas. Voor de laagste snaar gebruiken we aanvankelijk trouwens een kontrabasnaar. Voor de hoogste snaar daareentegen, geharde inox staaldraad, zoals gebruikelijk in pianos en moderne klavecimbels. De latere toevoeging van een elektromagnetische aansturing, noopte ons deze snaarkeuze te wijzigen en voor beide snaren staal te gebruiken.

De interne besturing van de behoorlijk ingewikkelde elektromechanika werd gerealiseerd via drie afzonderlijke PIC kontrollers. Een eerste processor vertaalt uit de binnenkomende stroom midi gegevens, de gevraagde toonhoogtes en bestuurt de overeenkomstige tangenten. Hierbij konden we een fundamentele verbetering aanbrengen in vergelijking met traditionale draailieren, maar ook met alle traditionele gewone strijkinstrumenten: Voor alle noten hoger dan het oktaaf boven de open snaar, drukken we zowel de tangent voor de gevraagde noot als die voor de een oktaaf lagere noot op dezelfde snaar in. Hierdoor wordt bereikt dat naast de aangestreken snaarhelft, ook de andere kant unisono kan meetrillen, wat de klank zeer ten goede komt.

De tweede processor staat in voor de besturing van de strijkstok motor. Deze kan in beide richtingen draaien en binnen een zeer ruim bereik in snelheid worden geregeld. Zeer snelle snelheidswisselingen zijn evenwel niet mogelijk, door de grote massa en de daaruitvolgende inertie van het bovenste snaarwiel. Snel de draairichting wisselen is evenmin mogelijk. Omdat de motor over een grote vermogensreserve beschikt, kan wel heel snel worden gestart. In een later stadium overwegen we om aan deze euvelen tegemoet te komen, een elektrisch gestuurde rem te monteren. De op deze robot gemonteerde lichten worden ook door deze processor gestuurd. Ze werden gemapt op noot aan/uit informatie.

De PIC processor stuurt niet rechtstreeks de 3-fazen motor, maar doet dit gebruik makend van een standaard industriele Siemens micromaster 410 motor controller. Hierdoor kon de automaat ook op gewone netspanning bedreven worden en was driefazenstroom dus geen vereiste. Uit de binnenkomende midigegevens, verwerkt deze PIC de volume kontrole informatie, die gemapt wordt op de rotatiesnelheid en enkele afzonderlijke binaire kontrollers: draairichting, foutreset en motor aan/uit. Het motor aan/uit kommando wordt ook automatisch gegenereerd, telkens een note ON kommando binnenloopt.

De derde PIC processor tenslotte stuurt via twee afzonderlijke pulsbreedte kanalen, beide softshift elektromagneten. De boogdruk wordt voor elke noot afgeleid uit de waarde van het velocity byte dat steevast een midi note-on kommando vergezelt. De mogelijkheid om de boogdruk te varieren tijdens het strijken van een noot werd eveneens voorzien. Via midi kan dit worden gestuurd met het note-pressure kommando (160 + kanaal, noot, druk).

Al bij al werden in deze automaat behoorlijk wat karakteristieken van het menselijke snarenspel geimplementeerd. Een nochtans belangrijk aspekt daarvan hebben we veronachtzaamd: de plaats waar de boog de snaar aanstrijkt is bij <Hurdy> konstant. Om het instrument kwa toonvorming nog dichter te laten komen bij wat strijkers kunnen, zouden we die plaats ook variabel en stuurbaar moeten maken. Dit zou evenwel vergen dat we de gehele motor en boogkonstruktie op een geruisloos beweegbare slede zouden moeten monteren. Bij een volgende strijk-automaat zullen we zeker niet nalaten ook dit te voorzien.

In 2007 voorzagen we <Hurdy> van een mechanisme waarmee de snaren ook langs elektromagnetische weg kunnen gestreken worden. De schakeling die daarvoor instaat, en waarvoor beroep werd gedaan op een 16 bit ds-PIC kontroller, ziet eruit alsvolgt:

Hiermee is het mogelijk ook zachte strijkgeluiden voort te brengen die voorts nog volkomen vrij zijn van bijgeluiden. Voorwaarde voor een goede werking is evenwel een absoluut zuivere stemming van de snaren. Deze moeten immers door de elektromagneten in resonantie worden gebracht. De besturingssoftware biedt ondersteuning om via sysex kommandos afwijkende stemmingen te gebruiken wanneer ook de positie van de fretten wordt aangepast. Het program change kommando kan worden gebruikt om een andere lookup tabel te gebruiken voor de stemming. Als mikrokontroller opteerden we voor deze schakeling voor een MicroChip dsPIC30F3010-I/SP.

Om minder bijgeluiden te krijgen door het aanslaan van de tangenten, voegden we meteen ook twee met vilt beklede dempers toe voor de niet klinkende kant van de snaar.


Midi implementation:

Note off commands:

Note OFF: &H80 + 9, note, 0 : release tangent from string. [ &H80 = 128], release bow pressure

Note OFF with velo: &H80 + 9, note, 1-127: damp string using the felt damper, further all actions mentioned above will also be performed. Notes 40-63 will damp the low string (any note value in the range will do), notes 64 - 120 will damp the high string.

Note on commands:

Note ON: &H90 + 9, note, velo: push tangent(s) against string. The velo byte determines the bow pressure applied at the start of the note. [ &H90 = 144]. If you want to make use of the electromagnetic string driver, you have to send controller 5 (low string) and/or 6 (high string) and set it to the value 1. Now the bow mechanism will no longer make contact with the string and the e-drive will use the velo value to determine the excitation force. The electromagnetic string driver requires you also to send the controllers 69 and/or 70 (on/off) if required. If you set the controllers 5 and 6 to the value 2, both mechanisms can be used together. Bow initial pressure and electromagnetic excitation will be controlled by the velo byte. Note-aftertouch can still be used to modulate the bow pressure whilst the note is sounding. The e-drive strength in its turn can still be controlled using controllers 3 and 4. These are active as long as the e-drive mechanism is activated.

Lights: (mapped on note on/off)

Key Pressure commands:

&HA0 + 9, note, pressure: If users want to modulate bow pressure during the playing of a note, they have to send a note pressure command for the sounding note . [&HA0 = 160]. If you want electromagnetic activation of the string only, key pressure has to be zero.

Controllers:

&HB0 + 9, 1, value: controlls the width of the pulse (0-50ms) that precedes the velocity-byte determined PWM applied to the bow pushing solenoid for the low string.

&HB0 + 9, 2, value: controlls the width of the pulse (0-50ms) that precedes the PWM applied to the bow pushing solenoid for the high string.

&HB0 +9, 3, value: amount of electromagnetic drive injection on the low string [2007]

&HB0 +9, 4, value: amount of electromagnetic drive injection on the high string [2007]

&HB0 + 9, 5, value: value=0 means bow active, value=1 means e-drive active, value=2 means both active LOW string.

&HB0 + 9, 6, value: value=0 means bow active, value=1 means e-drive active, value=2 means both active HIGH string.

&HB0 + 9, 7, volume: controls bow motor speed [&HB0 = 176]

&HB0 +9, 20, value: note the low string is tuned to (default = 40) Sending this is essential to make the electromagnetic drive for the low string operational. The legal range for the value is limited to 14 to 60 . The default value on startup is 40. [2007] . The real tuning of the low string on 04.04.2007 is midi note 33 (low A).

&HB0 +9, 21, value: note the low string is tuned to (default = 64) Sending this is essential to make the electromagnetic drive for the high string operational. The legal range for the value is limited to 14 to 96. The default value on startup is 64. [2007] The real tuning of the high string on 04.04.2007 is midi note 50 (D).

&HB0 +9, 22, value: Flageolet-playing mode for the low string The values 0 or 1 turn this mode off. Other values (2 - 32) specify the integer multiplier factor for the excitation frequency. If value = 2, thus the string will sound the octave harmonic of the note selected by the note on command. [2007]

&HB0 +9, 23, value: Flageolet-playing mode for the high string. The values 0 or 1 turn this mode off. Other values (2 - 32) specify the integer multiplier factor for the excitation frequency. If value = 2, thus the string will sound the octave harmonic of the note selected by the note on command. [2007]

&HB0 +9, 24, value: Cent correction for the playing note on the low string. One unit of value corresponds to 1 cent. [2008]

&HB0 +9,25, value: Cent correction for the playing note on the high string. One unit of value corresponds to 1 cent.[2008]

176 + 9, 64, 0 or not 0 : switches the felt dampers on or off. If the controller is set to true (1-127) the damper will never be activated on note off's. If it is set to 0, the damper will be activated by real note off commands. [2007]

176 +9, 65, 0 or not 0: If set to false, the bow motor will not get a start instruction on a note ON command. If set, note ON commands will make the motor turn and it will stop on reception of explicit note off commands for both strings.

176 + 9, 66, 0 or not 0: Start/stop switch for the bow motor

176 + 9, 67, 0 or not 0: Clockwize (cw) or counterclockwize (cww) rotation of bow wheel. Note that the direction of rotation command will be ignored if the motor is still running.

176 + 9, 68, 0 or not 0: Clear error condition on motor controller.

176 + 9, 69, 0 or not 0: enable electromagnetic string driver for the low string. Make sure you send controller 20 with the correct value corresponding to the actual tuning of the low string. [2007]

176 + 9, 70, 0 or not 0: enable electromagnetic string driver for the high string. Make sure you send controller 21 with the correct value corresponding to the actual tuning of the high string. [2007]

176 + 9, 71, 0 or not 0: switches the low string damper unconditionally on, for as long as the value stays true. This overrides the settings for controller 64. When the controller becomes 0, the operational mode as set with controller 64 becomes active again.

176 + 9, 72, 0 or not 0: switches the high string damper unconditionally on. Functions the same way as the above controller.

176 + 9, 92, 0 or not 0: switch for later expansion (video cameras) not yet implemented

176 + 9, 123, 0: all notes off command. (stop motor, release tangents from string, release softshift solenoids, lights Off, electromagnetic drive off, release the dampers). The command does not reset the pitch controllers for the string tuning (20 and 21). These controllers are reset to their default values (40 and 64) only on a cold startup of the entire robot. (Pic4).

Program change commands:

192 + 9, value: program change commands to use different fingering tables and pitch lookup tables for the electromagnetic drive. Value 0 resets the instrument to the default values and lookups. The three lowest bits (b0, b1, b2) of the selected program number select one of the 8 fingering look-up tables. Bit b3 is as yet unused. The three lowest bits of the high nibble of the selected program number select one of the 8 lookup tables for the e-bow frequency driver. So, the derivaltion of the program to select is simply: freq-lookup number * 16 + finger-lookup number. Details on the lookups themselves to be documented later. [2009]

Pitch bend commands:

224 +9, lsb, msb: not implemented. Use controllers 24 and 25 instead. The standard midi pitch bend appeared impossible to implement, since this a biphonic instrument.

Afmetingen & andere technische specifikaties:

Design, research en staalkonstruktie: dr.Godfried-Willem Raes

Atelier medewerkers:


(Terug) naar logos-projekten:

projects.html

Terug naar Logos' index-pagina:

index.html

Naar Godfried-Willem Raes personal homepage... Naar katalogus instrumenten

gebouwd door

Godfried-Willem Raes

Go to Godfried-Willem Raes' homepage  

Bouwdagboek:

Zoals voor vele vroegere robots, hebben we ook voor <Hurdy> een beknopt bouwdagboek bijgehouden:

 


Bibliography:

ROSSING, Thomas.D (editor), "The Science of String Instruments" ed: Springer NY, Stanford CCRMA, 2010 ISBN 978-1-4419-7109-8

Last update: 2013-11-28 by Godfried-Willem Raes

PICTURES OF HURDY IN PERFORMANCES Robody Pictures:    
picture 1 (high resolution, with Emilie De Vlam) picture 2 (with orchestra) picture 3 (with Emilie De Vlam) picture 4 (With Emilie De Vlam)

Maintenance and repair information:

Bow motor specs: Bauer-Danfoss type BG05-11/D05LA4, 0.12kW (230V - 0.73A or 400V /0.42A) Cos Phi = 0.73. n1= 1350 rpm, n2 = 117 rpm at 50Hz motor power frequency.

Controller specs: Siemens Micromaster 410, input 200-240Vac, max. motor power 0.25kW. [order nr.: 1P 6SE6410-2UB12-5AA0 ], with control panel [order nr.: 1P 6SE6400-0SP00-0AA0].

String tangent solenoids: August Laukhuff - Trakturmagnet, 24V 0.5A @ 100%DC - 10 Newton

String tangent solenoid power supply: 24V - 4A, SMPS

String damper solenoids: August Laukhuff - Tonventilmagnet, 24V/ 94 Ohm - 6-7.5 Newton (nr. 300910)

PIC controllers: PIC18F252 (3x), dsPIC30F3010 (1x). The PIC18F252 is no longer in production but can be replaced with the PIC18F2525.

Softshift solenoid power supply: Siemens Sitop power flexi (adjustable output voltage). Adjust to 14V. (Safe value for PWM 100%)

e-drive power supply: TRACO POWER TXL 150-12S (input: 88-264V ac, universal; output: 12V - 12.5A). Site: http://www.tracopower.com

Softshift Solenoid data:

Horizontal softshift solenoids for bow pressure: Ledex Softshift type 5EP, number 193015-026. Cold DC resistance 10.3 Ohm. Nominal working voltage at 100% duty cycle:

Power Mosfet types used:

IRF540: for PWM control of softshift solenoids (PIC3). With large heatsinks. (Specs: 27A/100V, Ron = 0.085 Ohm,k Ci=1.45nF, ton delay= 15ns, ton risetime = 70ns, toff = 50ns)

IRL640: for tangent solenoid switches 120V/10A, logic level mosfet. (Ug=5V). No cooling applied.

IRL640: for damper solenoids. No cooling.

BUZ345: for electromagnetic string drivers (41A types). With large heatsinks. (Ug = 10V)

Ball bearings used in the bow guiding mechanism:

FAG 608.2Z (axis bore 8.0mm, outside diameter 22.0mm) (4 ball bearings used inside copper cylinders). Always replace in pairs!

DIN connectors for MIDI I/O:

Adjustments to be made for the bow mechanism:

Whenever a string needs to be replaced, but obviously also whenever the bow belt itself breaks and is replaced, the bow has to be adjusted. First thing is always to adjust the bearings on the slide above the rosin wheel such that when the softshift solenoids are inactive, there is no contact between bow and string. Then the bow tension should be adjusted using the crick-screw underneeth the mechanism.

Strings:

for range 31-79 (max.33-81)

for range 28-76:

for range 36-84:

for range 33-69, with octave overlap: (tested 02.07.2004)

for range 33-74, with overlap: (tested 09.10.2004)

for range 33-74, with overlap: (tested 22.02.2007)

Experimenteel bepaalde breukgrenzen voor snaren op trillende lengte 122cm:

Snaarmateriaal

Diameter (in mm)

(meetfout:0.01mm)

optimale toonhoogte (midi) snaarspanning in Newton Toonhoogte vlak voor de snaarbreuk (midi) beoordeling
messing klavecimbelsnaar 0.665 45-46   48 klinkt schitterend, maar is te fragiel
messing klavecimbelsnaar 0.406 44   47 id.
staal pianosnaar 0.70   480 N @ 50 50 inharmoniciteit
staal pianosnaar 0.60 50 265 N @ 50

560N/mm2

53

goed

inharmoniciteit

staal pianosnaar 0.50 55   57 te dun
staal pianosnaar 0.32 54   55 klinkt te stil
staal klavecimbelsnaar 0.277     49 te stil, te fragiel
catgut 1.30 50     klinkt erg hees en dof. Onvoldoende slijtvast.
double bass, A, wound on steel 2.25 33   35 klinkt redelijk. Te zacht voor de tangenten.
double bass, E, wound on steel 2.76 28   31 hiermee krijgen we geen grondtoon
staal inox pianosnaar 1.40 33-36 218 N @ 33 - 141N/mm2  

klinkt metaliek maar wel goed.

inharmoniciteit

staal pianosnaar 1.50 33-38 230N @ 33 142N/mm2 45

heeft iets beter basgeluid.

inharmoniciteit

Important note: in order to make use of the electromagnetic string driver mechanism, the use of strings made of ferromagnetic material is mandatory! So use pianowire for this application. (Not stainless steel wire, unless it's a martensitic or ferritic type!).