<Harma>

an automated reed organ

Godfried-Willem RAES

2000/2005

Technical Description

A computer controlled acoustic harmonium (reed organ) with touch control and individual registration. The starting point for this construction was an old Hamilton suction reed organ, of which we only kept the reeds and the key springs. Based on the serial number on the soundboard (48211), the original instrument must date from 1905. A new electric compressor was added (a small Laukhuff Ventola, rated for 50 mm H2O pressure and 1000 l/m). Since this compressor was pretty noisy in operation we designed a special silencer around it.

To control the individual reeds we used Laukhuff pallet electromagnets, rated 12 V / 160 mA each, as shown on the picture below, taken in an early phase through the building of this automate.:

detail of electromagnets As usual in our instrument designs, we designed a welded frame for the entire magnet and electromechanical assembly. Since there is no keyboard we could lower the force required to push the pallets from the original value of 2.45 to 2.94 Newton to about 1.2 Newton. Since the magnets are wider then the distance between keys/pallets , we had to mount them on alternating rows. The types we used are 20mm wide. The two registers are each divided in a bass and a discant unit. So we provided also control for these 4 registers. This was implemented using solenoids with variable voltage , such that gradual changes ('expression') becomes very well possible.

As a little extra we added a real cast bronze bell, mapped on midi note 90, as well as a few lights to the mechanism

The note range of the instrument is 29 to 89 expressed in midi notes. The finished instrument has following dimensions: depth 320 mm, width 920 mm, height 1000 mm. The weight is ca. 50 kg.

The electronic control of this instrument was originally (2000) based on a multiplexed parallel bus, steered by our own GMT software, but in december 2005 we modified the whole circuitry such as to make a laptop to control this robot obsolete. Thus, since 2005 <Harma> is controlled by no less than 8 PIC microcontrollers. Of course the instrument can play standard midi files. <Harma> was designed from the beginning with velocity control, based on precise timing control of an initial pulse to activate the note solenoids. The effect of velocity control or touch sensitivity is of course by far less effective than it is on our player piano. The speed wherewith the valves open in a reed organ being generaly much faster than the rather slow build up of a sound from the reeds. However, any touch sensitivity a reed organ played by a human might have, is also implemented and at least surpassed in this robot. The electronic principle, displayed for a single note, is shown in the circuit below:

[comment on these circuits, first developed for our player piano can be found at/kursus/2116.html.]

In 2015 after quite deceptive experiences with the way lazy composers handle the volume implementation on this robot, we decided to build-in an 'intelligent' wind control mechanism. So now, if no notes are playing it is impossible to set the blower to full force. The blower will adapt its speed depending on user decided volume (controller #7) as well as on required wind in function of the note-on commands effectively received. The mechanism also takes into account the fact that low pitches demand up to sixteen times more wind than the highest notes.
More circuit details can be found in the service manual at the very end of this page.

Design and construction:

Collaborators:


Nederlands

'Harma'

Tessituur: 29 (Fa) - 89 (Fa) [ 5 oktaven ]

Hiervoor werd uitgegaan van een oud Hollands harmonium (gebouwd in Terneuzen begin 20e eeuw (Firma Camphens) , maar voorzien van een mechanisme, balg en rieten van James Baillie Hamilton (Massachusetts,USA). Het serienummer op de klankkast -48211- laat ons toe het instrument precies te dateren: 1905). Het instrument is voorzien van twee onafhankelijke reeksen doorslaande tongen en werkt met zuiglucht, zoals het gros van de Amerikaanse 'reed organs'. De balgen en windlade waren in een dermate wormstekige staat dat we ze helemaal verwijderden. Voor de windvoorziening gebruikten we een Laukhuff Ventola zuigblazer. (1000 l/minuut, bij 50mm H2O druk). Daar dienden we wel een goede geluidsdemper voor te ontwerpen want geruisloos zijn deze Ventola blazers bepaald niet... Deze module werd voltooid in de maand juni van 2001. In december 2005 werd de hele elektronische besturing gemoderniseerd en werd de oorspronkelijk nodige besturingskomputer, een laptop, vervangen door niet minder dan 8 PIC controllers. Bij die gelegenheid werd ook de motor herbedraad voor werking op driefazenstroom en besturing door een Siemens Micromaster motor-controller.

electromagnets in harmaDe kracht nodig om een toets in te drukken in het originele harmonium varieerde tussen 2.45 en 2.94 Newton. (250gF tot 300gF in oude gewichtseenheden). De veren die de paletten dichthouden werden in deze kracht tot zowat de helft teruggebracht. Daardoor konden we met orgelventielmagneten van de firma Laukhuff (12V/ 160mA) net uitkomen voor een volledige aansturing. De terugkeerveren werden van deze magneetventielen verwijderd. De terugkeerkracht wordt hier opgebracht door de naaldveren die de paletten dichthouden binnenin de windlade.

Hartafstand tussen de bedieningspallen voor de rieten was 13.54mm, waardoor we de magneten om en om (in twee rijen) dienden te monteren. Wanneer we de bedieningsmagneten om en om monteren, mogen ze hooguit 27mm breed zijn. De gebruikte types zijn 20mm breed. Voor deze montage bouwden we twee lijsten uit vierkant staalprofiel 16x16. Hierop werden de elektromagneten met parkerschroeven vastgezet en uitgelijnd.

De registers zijn telkens gedeeld in bas- en diskant. Voor de automatisering daarvan gebruikten we aanvankelijk vier stappenmotoren, maar dit werd later -omwille van de snelheid- vervangen door een mechanisme met sterke elektromagneten (15 Newton). Voor de 'expressie' -oorspronkelijk met een eenvoudige cylindrische afschermkap uitgevoerd, hadden we in een eerder ontwerp twee stappenmotoren ingezet. In de nieuwe versie evenwel bleek deze funktie veel beter te kunnen worden geimplementeerd via een soepele sturing van de winddruk via de kompressor motor.

 

Voor de elektronische besturing gebruikten we ons eigen ontwerp voor muziek automaten, meer in het bijzonder, de schakelingen ontwikkeld voor onze player piano. Daardoor kon ook aanslaggevoeligheid worden geimplementeerd. Hoogst ongebruikelijk voor een harmonium. <Harma> kan rechtstreeks via midi worden aangestuurd. Ook de winddruk is heel nauwkeurig regelbaar, waardoor crescendos perfekt mogelijk zijn.

Ook bij Harma, zoals bij <Piperola> en <Vox Humanola> voorzagen we in een kleine spielerei als toevoeging: in dit geval een bronzen klok (F#, midi noot 90) die als slagwerk eveneens via de software kan worden bespeeld.

Komponisten die voor Harma willen schrijven moet er terdege mee rekening houden dat de winddruk geregeld moet worden in funktie van de gewenste dynamiek enerzijds, maar ook in funktie van het luchtverbruik. We wijzen er in dit verband op, dat het luchtverbruik voor lage tonen heel wat groter is dan voor de hoge. De meest voorkomende fout in midi bestanden, bestaat erin de druk bij aanvang van de track of partij in te stellen op een vaste waarde. Hierdoor echter wordt druk opgebouwd zonder rekening te houden met het al dat niet spelen van tonen. Dit leidt niet alleen tot volkomen overbodig lawaai van de motor, maar ook vaak tot lekken in de toonkancellen. De goede metode bestaat erin, na het inbrengen van de muzikale partij, de windkontroller instellingen voor de gehele track te bepalen in funktie van de notentekst en de gewenste expressie. Omdat deze behandeling van de robot door de komponisten die we met het orkest lieten werken zo goed als nooit overeenkwam met onze specifikaties (noch overigens, met de wijze waarop een musicus een harmonium zou bespelen...) , wijzigden we de motorbesturing in 2015 door beroep te doen op een extra microprocessor waarmee de winddruk nu geregeld wordt in funktie van de gewenste volume-setting enerzijds, maar ook van het effektieve luchtverbruik anderzijds. Kompatibiliteit met vroegere stukken voor de robot kon worden opgelost door de introduktie van een nieuwe controller.


Tech-Specs -----------------------------------------------Technische specifikaties:

Aanvang bouw: februari 2000 - afgewerkt: 2 juni 2001 - volledige revizie: 07-12.2005, minor upgrade 22-26.02.2015.

Size-----------------------------------------------------------------------------------------------------------Afmetingen van het afgewerkte instrument:

  • diepte: 300mm (met karretje: 600mm)
  • breedte 920mm (met karretje: 1200mm)
  • hoogte 1000mm
  • Gewicht: ca. 60kg (+ optionele akku)

Power--------------------------------------------------------------------------------------------------------Stroomvoorziening:

  • 230V / 2A - 50/60Hz
  • Dit instrument kan ook op een autoakku (12 Volt - 60Ah) werken. Een automatische inverter/ batterijlader kan ingebouwd worden.
  • The instrument can also be operated from a car battery. (12V-60Ah). An automatic power inverter / battery charger is provided and can be mounted.

Insurance value (for organisors):

16.000 Euro

Rental / concerts:

This instrument can be rented from Logos Foundation. A technician from Logos will allways accompany the automat. The tarif is 650 Euro a day. Transportation is possible with a normal not too small car.

 

Midi Implementation

Midi Implementatie:

The default midi channel for <Harma> is set to 9 (if counting channels from 0, otherwize, 10)

  • Note ON/ Note Off notes 29 to 89 with velocity byte.
  • Controllers implemented:
  • #7: Volume controller. This controller steers the speed of the compressor motor. [Default value: 80]
  • #66: Power on/off. When #66 is set to zero, all controllers will return to their default cold boot state. The status of controller 66 can be checked with the green LED light on the motor control board.
  • #67: Reset a fault condition on the motor controller (This is a one shot, the value sent with the controller is irrelevant).
  • #68: Motor operational mode. With value 0 (the default), wind controll will be intelligent and in proportion to the notes playing as well as the requested volume. With any other value, motor speed will depend on volume setting only. The status of controller 68 can be checked with the blue LED on the motor control board. When the blue LED is lit, the intelligent mode is disabled (controller 68 set to value 1).
  • #69: Motor minimum speed. This controller is implemented for research purposes only. (Propgramming of the motor controller). Users should not use this controller. It is 0 by default.
  • #70: Airflowmapping. This is implemented for research purposes and for programmers that understand fully the coding of the firmware in the 18F2525 PIC controlling the motor functions. This controller should always be preceded with an all notes off command (controller 123). After sending the controller (acceptable values are 0,1,2), the microprocessor needs 50ms before it should receive any other midi command. It recalculates its internal lookup tables for pitch versus required airflow.
  • #123: AllNotesOff: releases all notes and adapts the motor speed accordingly. It does not reset any controllers.
  • Registration mapped on program change command (192 + channel, patch)
    • The registers are mapped on four individual bits in the patch byte
    • bit 0 = 16 feet register on lowest note range (on when bit is set, off if reset) [notes 29 to 52]
    • bit 1 = 8 feet register on lowest note range (on when bit is set, off if reset) [notes 29 to 52]
    • bit 2 = 8 feet register high note range (on when bit is set, off if reset) [notes 53 to 89]
    • bit 3 = 8 feet register high note range (Forte) (on when bit is set, off if reset) [notes 53 to 89]
    • (bit 2 and 3 together produce a 'Voix Humaine...')
    • Example: midi patch 15 (named 'dulcimer' on quite a few soundcards) will pull all registers together.(lowest 4 bits set)
    • Program changes with patch numbers between 122 and 127 let users select different lookup tables for the velocity scaling of this instrument. The lookup tables can be changed using sysex commands.
  • Bell: mapped on midi note 90, with velocity byte. Note off not required.
  • Lights: white lights mapped on midi notes 91, 92 (on / off only), white light center note 93, red LED spotlights mapped on midi notes 94,95.
  • Lights: Red LED spots inside mechanism mapped on notes 96, 97
  • Logos LED display mapped on note 98.

The <Harma> robot can be heard on the Logos Public Domain CD <Automaton> (LPD007). It is also a part of the <M&M> robot orchestra and as such in can be heard on Logos Public Domain CD <M&M> (LPD008) and LPD013. We also recorded a full CD with J.S.Bach's Goldberg Variations, interpreted by Harma. Available on request from the Logos Foundation.

In 2004/2005 two CD's in the same LPD series appeared: LPD013 (Machine Orchestra) and LPD014, (Robody) each featuring pieces wherein Harma plays an important role.

In 2009 we started the construction of a more elaborate reed organ: <HarmO>, a robot with 9 registers, two shutters and tuned to 440 Hz. This project was finished in 2010.

Intelligent motor controll was added in 2015.


Repertoire:

Johann Sebastian Bach: Goldberg Variationen (available on CD in a limited edition LPD-001 ('minus 1')  
  Das Wohltemperierte Klavier  
Ludwig Van Beethoven Waldsteinsonate  
Tango's La Cumparsita Tango  
  El choclo Tango  
  Jealousy Tango  
  Uno  
Godfried-Willem Raes <Harm> for Harma 2001
 

<Hidden (c) Harms>

MP3 encoded recording of this piece

2001
  <Charms> for Harma 2001
  <Vibes> for Vibi, Piperola and Harma 2001
  <Trio Paradiso>, for Vibi, Harma and Klung 2001
  <Paradiso>, for automat orchestra and backing vocals 2001
  <Tekne>, for automat orchestra and devils dance 2002
  <Eary Lis Trimbl>, for automat orchestra and musicians 2002
  <Flexes>, for automat orchestra and musicians 2003
  <Wandern>, for radar controlled automat orchestra and a nude dancer 2003
  <Pic Harm>, for picradar controlled Harma and a nude dancer 2005
Kristof Lauwers <Sonata>, for automat orchestra 2002
Sebastian Bradt <Dedication Harma> 2004
  <Early Messages> 2004

 


(Terug) naar logos-projekten: projects.html

Back to logos projects

Terug naar Logos' index-pagina

:index.html

back to main index

Naar Godfried-Willem Raes personal homepage...

back to Godfried's page

Manual to the M&M robot orchestra for composers Naar katalogus instrumenten gebouwd door Godfried-Willem Raes

back to catalogue of instruments by Godfried-Willem Raes

Go to Godfried-Willem Raes' homepage

Service manual & detailed circuit and maintenance documentation

Following information and documentation is not intended for the general public.

Circuit boards overview:

All solenoids have a common positive voltage connection. The second wires come together in Weidmueller 6-pole connectors (one for each set) to the note/velo boards. To get access to the reeds and the springs, first disconnect all these connectors. Next, remove the U-shaped stainless steel protectors. Then loosen the bolts joining upper and lower part of the instrument. The solenoid assembly can be lifted up vertically from the soundboard containing the reeds. Always keep components in a horizontal position!

The positive voltage can be adjusted on the power supply (Sitop) printed circuit board with the multiturn trimmer. The voltage should be adjusted such that when no velocity pulses are applied, the solenoids develop just enough force to push the pallets down and hold them down. Initially we found 16V to be a suitable setting. The negative voltage (the second Sitop power supply) should be adjusted between 20V and 48Volts. Initially we had it set to 23V. Changing this voltage will change the velocity scaling of the instrument.

The circuitry of the midi input board and the PIC with the motor control board worked out like this:

The rewiring and final connections of the motor to the midi input board is documented below:

The PCB looks like:

The firmware for the PIC microcontroller can be downloaded here.

Programming information and settings for the Siemens Micromaster 410 motor controller:

Parameter nr. setting comment
P0003 - User Access level 3

1= standard
2 = extended
3 = expert

P0004 - access control filter params 0

allow access to all parameters of P0003 = 3

To change the analog input parameters, P0004 must be set to 8.

P0005 - display parameter 21 display motor frequency
P0010 - commisioning params 0

must be set to 1 to change motor params.

For access to P4 params and normal operation, must be set to 0

P0100 - mains frequency 50Hz = default value
P0210 - voltage 230V mains voltage
P0304 - nominal motor voltage 132V motor specs.
P0307 - motor power 0.07 kW motor specs.
P0310 - nominal motor frequency 80Hz motor specs. Changed from 50Hz to 80Hz, 22.02.2015
P0311 - nominal motor rpm 2300 motor specs.
P0700 - ctrl. via control panel or digital I/O 2 use digital inputs for ctrl.
P0757 - low value of adc scaling 0  
P0758 - y1 value of adc scaling 0.0  
P0759 - x2 of adc scaling in volts 5.10V adjusted to output of pic pwm with 10k load. Default is 24V
P0760 - y2 value of adc scalling in % 130% default is 100%
P1000 - select frequency setpoint 2 set analog setpoint (1- OP f-ctrl)
P1080 - min.. motor frequency 15 Hz changed from 0Hz to 15Hz, 22.02.2015
P1082 - max. motor frequency 80Hz changed from 75Hz to 80Hz, 22.02.2015
P1120 - ramp up-time 1" changed from 2" to 1" , 22.02.2015
P1121 - ramp down time 4"  
P1300 - f-control curve and characteristic

1 up to 2015, now:

2

1= linear V/f control with flux current control

2= Quadratic V/f control for variable torque loads such as fans. (Changed to this setting 22.02.2015)

With the above settings following mapping of midi volume values versus motor frequency and musical dynamic is obtained: [measurements 2005, we should perform a new series of measurements with the newly programmed parameters in 2015].

Midi value (ctrl 7) Motor frequency (displayed) musical dynamic
1 0.37 Hz silent
3 2.86 Hz  
4 4Hz  
6 6.4 Hz  
10 10 Hz  
20 21 Hz pp
30 30 Hz p
39 37Hz  
50 44Hz mp
60 50 Hz mf
70 54 Hz normal value
80 59 Hz  
90 62 Hz f
100 65 Hz  
104 66Hz ff - highest safe value for leakfree operation
110 68 Hz These values only to be used for wide clusters
118 70 Hz  
127 72.5 Hz  

Note that when no notes are being played, wind pressure should always be reduced to the smallest practical value. Also, required wind pressure is a function of the number of notes playing as well as of their pitch, since lower reeds require a lot more wind than the high ones.

Technical revisions and maintenance notes:


Last update: 2016-08-20 by Godfried-Willem Raes