<Ake>

an automated accordion

Godfried-Willem RAES

2003-2009

[Nederlandstalige versie]

Robot: 'Ake'

The design of this musical robot started with an old Hohner Musette II accordion. First of all, we restored and retuned the whole instrument. All chord playing mechanisms where removed so chords can now be freely build and combined by the user. The instrument has two sets of 152 reeds: one set for suction, one for blowing wind. So, in total we have no less than 304 reeds inside the instrument.

The challenge in automating the accordion is not so much the reed playing, but definitely the wind control: both suction and overpressure wind can be applied and fast switch over between both modes is essential if one wants the automaton to sound like, let alone better than, a human player. Our solution in this design was the construction of a 4-way mixing valve, connected to the blower: The blower has variable windpressure, but allows only for slow variation of air pressure because of the high inertia of the fan blades. The valve however, can react pretty fast. It is driven by a stepping motor and a dented belt. Thus it allows for a wide variety of amplitude modulations as well as musical expression. However, it requires intelligent composers to use these possibilities, since the appropriate expression control commands need to be send.

The constructional parts for this robot are all made from stainless steel, as can be seen of the pictures below taken during the construction:

The entire circuitry for this robot makes use of three fast PIC controllers: Microchip PIC18F2525 - I/SP type. The first of these controllers takes care of the midi input parsing, the note on/offs for the latches and their PWM control, Mosfets and solenoids, whereas the second PIC steers the register solenoids and the video camera. The third PIC controller takes care of the motor control and the 4-way mixing valve driven by the stepping motor and its associated sensing components.

The schematic for the first PIC, with three latch and mosfet boards to drive the note solenoids is shown below:

The circuitry around PIC2 looks like:

In our first version, this controller had a lot more to do, since we than used a bipolar solenoid to control the windvalve, read the position sensor and slow ac PWM to steer the motor. In 2008 we changed and improved this, first of all by replacing the bipolar solenoid with a stepping motor and by inserting a true 3-phase motor controller for the fan. This made us introduce the third PIC microcontroller placed on our midihub board, were reception and repartition of the midi command signals now takes place. Here are the detailed schematics:

Wiring diagram for the motor controller:

Mapping:

Midi note range: 31- 94 (almost 6 octaves). The bass side is remapped an octave lower then real sounding, such as to avoid the overlap of notes 49 to 54 between melody side and bass in the midi implementation. Thus users should send note 19 - 30 for the pedal basses , 31- 42 for the chord basses and 49-94 for the melody notes.

Note that notes 19 to 30 sound always 2 reeds, an octave apart. Notes 31 to 42 sound always 3 reeds, each an octave apart. In musical notation terms:

Note Off commands are required.

Controller 1: Wind pressure controller. The motor speed is controlled here. Controller 1 (the standard wind controller) is used as a midi command. Value range=0 to 127. With value 0 the motor will turn at a very low stand-by speed (10Hz) and obviously the instrument will not sound at all. Motor speed changes should be sent at a maximum rate of once a second, since the inertia of the motor does not allow any faster response. For fast response, use the 4-way mixing valve mapped on the volume controller. Note that when blowing wind is used (ctrl 6 > 0) and the motor speed setting is high, leaks can and will occur. This is very normal on the accordion and not a design mistake by us. Users and composers should make sure they lower the wind when no notes are to be played. Accordion players do not move the bellows neither when no notes are played...

Controller 7: Volume control is implemented and has a wide control range. It controls the absolute value of the wind pressure within the settings determined by the motor speed (controller 1). Suction and blowing wind are possible. The volume control (ctrl 7) steers the windvalve through the stepping motor. Values 0-63 set suction wind (0 being maximum suction pressure), values 65-127 set blowing wind, value 127 being maximum blowing force. This controller is to be used for fast pressure modulation, within the limits set by controller 1 (motor speed and wind pressure).

Rotation controllers:

Controller 17: rotate clockwize, speed set with parameter value 0-127. When set, this will override the volume controller. When the setting for this controller becomes zero gain, the mixing valve will return to the position it had most recently just before reception of controller 17.

Controller 18: rotate counterclockwize, speed set with parameter value 0-127. When set, this will override the volume controller. When the setting for this controller becomes zero gain, the mixing valve will return to the position is had most recently just before reception of controller 17.

Program Change: The single register for the melody side can be controlled with a program change command. (values: 0 or 1) Value 0 switches off the musette register, value 1 switches it on.

Lights: Mapped on notes 120-123. Note on/Note Off only.

Ake responds to the midi all-notes-off command (controller 123). This command releases all note solenoids and dims the lights but does not change the motor speed. It disactivates the stepping motor for the mixing valve. It also stops controllers 17 and 18.

Midi implementation table:

command range byte1 range byte 2 remarks
Note Off 19-42 0 bass notes . release not implemented
  49 -94 0 melody keyboard - no release
  120-127   lites
Note On 19 - 42

0 = note off

> 0 = note on

bass keyboard - velo not implemented
  49 - 94 id. melody keyboard - velo not implemented.
  120-127 id. lites
Aftertouch - - not implemented
Controllers 1 0-127 wind pressure motor speed , normal value= 100
  6 0 or > 0 suction - blow control
  7 0 - 100 wind control modulation (expression) (101-127=100)
  17 0- 127 valve rotating speed CW, 0= off
  18 0 - 127 valve rotating speed CCW, 0= off
  66 0 or > 0 on/off switch (motor), on/off switch valve & lights
  123 0 all notes off
Program change 0 - musette register on
  1 - musette register off
Pitch bend - - not implemented
Sysex - - not implemented

 

Technical specifications:

Design and construction: dr.Godfried-Willem Raes (2003-2004, version V1.0, version V2.0: 2008, V2.1:2009, V2.2: 2015)

Collaborators on the construction of this robot:

Music composed for <Ake>:

Solo literature:

 

Back to Logos-Projects page : projects.html Back to Main Logos page:index.html To Godfried-Willem Raes personal homepage... To Instrument catalogue Go to Godfried-Willem Raes' homepage

Nederlands:

Robot: <Ake>

Voor de bouw van deze accordeon robot, vertrokken we van een kleine Hohner knop akkordeon uit de musette reeks. De bouw ving aan met de grondige restauratie en nazicht van zowel de mechanische werking als de stemming van het oorspronkelijke instrument. Het allereerste wat we volledig demonteerden en aan de kant schoven, was het vrij ingewikkelde mechanisme waarmee akkoorden worden opgebouwd in de bassen. Met het oog op vrije programmeerbaarheid wilden we immers volkomen vrij akkoorden kunnen samenstellen met de voorhanden rieten. Wat dit betreft is het instrument uitgerust met twee sets van 152 doorslaande tongen. Het laagste oktaaf in de bas heeft oktaafverdubbeling en maakt dus gebruik van 2x 24 rieten. Het tweede oktaaf in de bas heeft oktaafverdriedubbeling en dus 2x36 rieten. De melodiekant heeft 2x 92 rieten in (een beetje ontstemd...) unisono, maar met verschillende geluidsterkte. Een van beide sets kan worden in of uitgeschakeld met de registerknop. Samen gebruikt geven ze het 'musette' register.

Eens het hele instrument opgeknapt en in kaart gebracht, bleek de automatisering van de diverse toetsen een vrij voor de hand liggende klus. We hadden zoiets immers al vaker gedaan, o.m. bij de bouw van ons automatisch harmonium <Harma>. We beslisten de bestaande kleppen zoveel mogelijk te behouden en haalden ons daardoor extra veel werk op de hals met het buigen uit inox van de vele nodige trakturen. Voor de baskant worden de kleppen bediend met kleine 24V traktuurmagneten van de firma Laukhuff. Voor de melodiekant echter, behielden we zelfs de bestaande knoppen en ontwierpen we een bespeling met Lucas Ledex duwmagneten. Het ene register waarover het instrument beschikt, werd geautomatiseerd met twee sterke elektromagneten. Deze dienden behoorlijk zwaar genomen te worden vanwege de grote wrijving in de windlade voor dit 'musette' register. Een tot op heden onopgelost probleem lag in het geluid veroorzaakt door de kleppen wanneer ze door de magneet worden losgelaten. Voorlopig moeten we ermee zien te leven... Elektromagneten zijn nu eenmaal geen menselijke vingers.

De blaasbalg haalden we geheel weg en vervingen we door een vaste inox windlade voorzien van een inlaat voor drukwind zowel als voor zuigwind. Precies hierin bleek de uitdaging gelegen bij de bouw en het ontwerp van een automatisch akkordeon. De typische muzikale mogelijkheden op dit instrument komen immers voort uit de over en weer gaande beweging van de balg en de luchtdrukmodulaties die de speler via die balg realiseert. Daarmee krijgt het instrument een 'punch' die het harmonium bvb. geheel ontbeert. Om dit mogelijk te maken ontwierpen we aanvankelijk een soort 4-weg mengventiel opgebouwd uit twee kaviteiten met elk twee door een duw/trekmagneet bediende kleppen. Het geheel viel evenwel te log en zwaar uit zodat we uiteindelijk een ronde 4-weg mengkraan bouwden met een cilindrisch kraanhuis en een vlakke goed aansluitende klepzitting. De centrale as werd gasdicht gelagerd uitgevoerd zodat voor de bediening een enkele bipolaire magneet met een bewegingstrajekt van 25mm leek te kunnen volstaan. De precieze positionering van dit mechanisme liet echter in deze eerste versie veel te wensen over en daarom ontwierpen we in 2008 een geheel nieuw aandrijvingsmechanisme. Deze keer gebruik makend van een kleine stappenmotor en een 1:2 snaarwieloverbrenging. Hiermee gingen snelle en genuanceerde drukvariaties en de daarmee gepaarde gaande expressieve mogelijkheden toch tot de mogelijkheden behoren. Het geluid van de stappenmotor moeten we nu echter wel in koop nemen. Omdat een nauwkeurige reproduceerbaarheid van de positie van de klep essentieel is, voorzagen we deze van een induktieve nabijheidssensor die een signaal geeft elke keer de klep een periode doorgaat. Op dit signaal, geleverd door een Pepperl+Fuchs proximity sensor, wordt de mikrokontroller telkens weer gekalibreerd. De windvoorziening wordt betrokken uit een sterke Laukhuff radiale kompressor (7mBar, 2.5m3 /min). Om ritmische overdruk en onderdruk pulsen mogelijk te maken, overwegen we later ook een aksent-balg toe te voegen, op zijn beurt aangedreven door een bipolaire elektromagneet. Het spreekt vanzelf dat goede muzikale resultaten met deze automaat alleen bereikt kunnen worden door ijverige en intelligente komponisten. Immers, de muzikale expressie kan alleen worden bereikt wanneer de daarvoor nodige kommandos ook effektief aan de robot worden gegeven. Zonder dergelijke kommandos speelt de robot de noten ook wel, maar dan klinkt het onverbiddelijk als een karrikatuur en erg mechanisch. Het is een grote gebruikersfout om de wind aan te zetten en geen noten te spelen. Dit leidt niet alleen tot lekkende noten, maar veroorzaakt bovendien heel wat overbodig achtergrondlawaai.

Enkele snapshots genomen tijdens de bouw van deze automaat:

Bouwdagboek:

Omdat ons vaak wordt gevraagd hoeveel werk en tijd kruipt in, en nodig is voor, het bouwen van een muzikale robot, hebben we ook voor <Ake> een beknopt bouwdagboek bijgehouden:

 

Enkele jaren na de afwerking van het eerste werkende prototype (V1.0) , kreeg <Ake> een broertje, <Bako>, in de vorm van een heus basakkordeon, deze keer met mechanisch bewegende balg....


(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  

Last update: 2015-02-28 by Godfried-Willem Raes


Technical data sheet and maintenance instructions:

Technische gegevens en instrukties voor onderhoud en demontage:

Programming information and settings for the Siemens Sinamics G110 motor controller:

Parameter nr. setting comment
P0003 - Parameter Access Level 3 access to all parameters
P0010 - Quick commisioning params 0

must be set to 1 to change motor params.

For normal operation, must be set to 0

P0100 - country setting 0 = default value (kW / 50Hz)
P0304 - nominal motor voltage 132V motor specs. (230V / SQR(3))
P0305 - rated motor current 0.958A calculated for delta operation
P0307 - motor power 0.13 kW motor specs
P0310 - nominal motor frequency 50Hz motor specs.
P0311 - nominal motor rpm 2800 motor specs.
P0700 - ctrl. via control panel or digital I/O 2 use digital inputs for ctrl. (on/off, rotation, speed)
P1000 - select frequency setpoint 2 set analog setpoint (1- OP f-ctrl)
P1080 - min.. motor frequency 10 Hz  
P1082 - max. motor frequency 75 Hz  
P1120 - ramp up-time 2"  
P1121 - ramp down time 6"  
P2000 - frequency range 80 Hz  
P3900 - end quick commisioning 1  

With these settings, the range for controller 1 will be 10 Hz to 63Hz, the maximum analog voltage from the PIC3 board being ca. 7.5V

Evaluation and self criticism of the <Ake> design:

- The operation of the melody keyboard is too noisy. The anchor return noise is damped, but we stay with the sound the valves make on closing inside the accordion. At note-on commands, we apply a large overvoltage to the solenoids and thus cause very high acceleration of the anchors. This is very noisy and does not meet our criteria. Human fingers by the nature of their operation, do not have such high acceleration and have an intrinsic damping on release. Hence, they can play the keys of the accordion almost without clicking noises...