<Pos>

an automated organ positive

Godfried-Willem RAES

2018

[Nederlandstalige versie]

Robot: 'Pos'

In December 2017, out of the blue, we received an e-mail from brother Kris Oelbrandt in a Dutch Benedictine monastery offering us a small pipe organ for free. Of course we could not turn this down and on January 2018 we transported the instrument to our instrument building workshop at Logos Foundation. The organ was made by Gerard Pels in the early nineties of the 20th century, an outstanding organ builder based in Herselt. He was born in 1955 and died in 2014. In 2017, the Pels organ factory itself went bankrupt and stopped activity. The original design and order was for a tuning system using 13 notes per octave based on just intonation intervals, an idea worked out by composer Kris Oelbrandt. Here is a link to the document describing this tuning system. When he entered the monastery in 2002, the organ found a use in the religious rituals at the monastery in Zundert and to serve that purpose it was modified and retuned by Gerard Pels to conform to 12-tone equal temperament. This is the organ as it arrived in our workshop: The sizes were: depth: 335 mm, width: 1223 mm and height (including the pipes): 2210 mm. (sizes not including the keyboard, a separate component).

The single register (8' holpijp) was realized as follows: The lowest octave (note 36 to 48) are stopped wood pipes placed on the back row on the wind chest, the mid register (notes 49 to 93) are stopped tin pipes with an inverted resonator tube mounted on the inside of the pipe stops, and the highest 7 notes (94 to 100) are open tin pipes, slightly anti-conical. The pipes are arranged in three rows. In the windchest, solenoid driven valves are used, thus highly simplifying the automation of the instrument by us. The keyboard was a regular 5-octave organ keyboard with electric contacts connected to the organ through a single multi-conductor cable. Here are some detailed pictures: Here is a drawing of the construction of the metal pipes, showing the internal resonator tube (inside soldered chimneys, in the proper language of organ builders):

Unfortunately for us, the multi-cable used no color coded wires but plain and very thin enameled copper wire... We could figure out the wiring from measuring and testing on the connector used to connect organ and keyboard: The original wiring had a common ground connection and diodes across the pallet valve solenoids. It was wired as drawn here: All diodes needed to be removed and replaced with VDR's or diodes on the control boards to make automation easy. High side mosfet switches are a lot more troublesome to design than the usual low side switches. This is what the pallet lifting solenoid valves inside the windchest look like: Type 1: Type 2: Type 3: This is a picture of the original organ keyboard: The large connector originally found a place on the backside of the case. Of course we had no need for a keyboard, as in this project we decided to go for a stand-alone robot. Nevertheless, it can still be played with any standard MIDI keyboard. We rewired the complete windchest, using color coded wires to make the final wire-up a lot easier as compared to the tiny enameled copper wires used in the original design: : The wind, delived by a Laukhuff Ventola compressor, is stablised using spring loaded bellow: The round hole in the picture is the wind inlet from the compressor.

The entire circuitry for this robot makes use of five fast PIC controllers: Microchip PIC18F4620 - I/SP types. For each group of 14 notes, a controller takes care of the midi input parsing and the note on/offs, MOSFETS and conical valve solenoids. There is precise control over the note attack (the velocity byte accompanying each note on command controlling the response speed of the valves) as well as over windflow modulation during the sounding of a note. This is implemented with polyphonic midi note aftertouch commands and, on the processor level, by applying slow PWM to the hold-voltages over the solenoids. This design was a direct copy of what we did for our <Bomi> robot. Thus, here again, it is important to the user to know that the velocity byte in the midi note-on command does not control sound volume, but only the way the pipes speak. It is strictly an attack control. For detailed circuitry and board population, we refer to the webpage of our <HarmO> robot our since it uses the same boards. Here is the complete circuit for a board serving 14 notes, showing the microprocessor port assignments. : The PIC firmware however is very similar to what we wrote for <Bomi>, as here also we implemented the PWM steering required for the key pressure control. The boards with components for this circuit is shown here: A sixth PIC microcontroller (a 18F2525 type) takes care of the steering of the windvalve/tremulant as well as of the motor commands and the PWM for the motor controller.

The circuit overview for the <Pos> robot looks like this:

For the motor control, we wanted to keep things as simple as possible, avoiding to use a regular 3-phase motor controller. Thus we revisited an old and proven but quite primitive circuit principle: This is pretty easy to implement on a PIC controller, as long as the controll pulses are longer than a full period of the mains frequency, 20 ms. Due to the inertia of the motor and its fan rotor, we can go with very slow pwm. Obviously it is improssible to let the motor run at speeds higher than the nominal speed, as this would require changing the mains frequency. The solid state AC relay we used is MP240D4, as it's a zero-cross relay specified for 4A at 280V ac. The complete circuit for the MIDI parser and hub board is this:

The firmware for all PIC microprocessors was written in Proton Basic.

Firmware for the midi-hub and motor board source code hex-dump
Firmware for the pulse-hold boards source code hex dump board 1
    hex dump board 2
    hex dump board 3
    hex dump board 4
    hex dump board 5

Description of the organ register:

 

Circuit Overview:

Mapping

Midi implementation:

The midi channel for <Pos> is 2 (0-15) or 3 (1-16).

Midi note range: 36- 100., velocity implemented (steers the speed wherewith the valves do open and hence the note attack). Individual note aftertouch (polyphonic) under development.

Note Off commands are required, note release is not implemented.

Key pressure is implemented for automatic note repeats. The pressure value determines the repetition speed. Maximum repetition speed is 16Hz, but if such fast values are used, velocity values have to be kept at very low values. It is obvious that when the repetition lenght is shorter than the velocity pulse lenght, repetition will not work. Also, note that repeats using key pressure are 'sticky'. The setting is not cancelled with a note off. So, once set all new note-on commands will lead to repeated notes, unless key pressure is set to zero again.

Controllers:

Controller #7 is used for the wind pressure (motor speed). The normal setting should be 127. Default startup value in the PIC firmware is 0. It cannot be used for fast wind pressure modulation but is perfectly suitable for slow crescendo and decrescendo. Note however that the pitch as well as the intonation may be affected when <Pos> is operated on non-standard wind-pressures.

Controller #30 is used to set repetition speed for all notes to one and the same value. The parameter determines the repetition speed. (range 2Hz to 16Hz for values from 1 to 127). Repetitions start on reception of a note-on command. Thus, phase shifts of the repetition frequency will occur if notes are not started at the same time. This controller, with value 0 can also be used to cancel all repeats.

Controller #66 is used to switch the robot on or off.

The tremulant is implemented using a large solenoid working on the bellows. Modulation speed can be set using midi controller 1. Default value for controller 1 when using the tremulant: 64.


Controller #123: <Pos> responds to the midi all-notes-off command. This command also switches off the lights, but not the motor. To switch the motor fully off, controller 66 should be used or else controller 7 can be set to zero.

Technical specifications:

Design and construction: dr.Godfried-Willem Raes (2018)

Collaborators on the construction of this robot:

Music composed for <Pos>:

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

Nederlands:

Robot: <Pos>

Voorlopig is geen Nederlandse beschrijving beschikbaar. Zolang we geen strukturele erkenning krijgen van de Vlaamse Gemeenschap zal daar ook niet meer aan gewerkt worden.

Tessituur:

 


Building logbook Bouwdagboek
Following diary given an idea of the work involved in the making of the <Pos> robot. It also illustrates the building proces.

Omdat ons vaak wordt gevraagd hoeveel werk en tijd kruipt in, en nodig is voor, het bouwen van dergelijke muzikale robots, houden we ook voor <Pos> een beknopt en geilllustreerd bouwdagboek bij:

 

To be done


Robodies Pictures with <Pos>:

none as yet. Candidates?

 


(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

Naar Godfried-Willem Raes' homepage  

Last update: 2018-05-07 by Godfried-Willem Raes


Technical data sheet and maintenance instructions:

Board 1:

board output connector pin mapping wire color remarks PIC pin Weidmueller
1 2 note 36 black pulse/hold 4,3 4p1
2 3 note 37 brown pulse/hold 2,5 4p2
3 4 note 38 red pulse/hold 6,7 4p3
4 5 note 39 orange pulse/hold 8,9 4p4
5 7

note 40

yellow pulse/hold 10, 37 4p1
6 8

note 41

green pulse/hold 36, 35 4p2
7 9 note 42 blue pulse/hold 34, 33 4p3
8 10 note 43 purple pulse/hold 30, 29 4p4
9 12 note 44 grey pulse/hold 28, 27 4p1
10 13 note 45 white pulse/hold 24, 23 4p2
11 14 note 46 black - white pulse/hold 22, 21 4p3
12 15 note 47 red - white pulse/hold 15, 16 4p4
13 17 note 48 red - black pulse/hold 17, 18 2p1
14 18 note 49 brown pulse/hold 19, 20 2p2

Board 2:

board output connector pin mapping wire color remarks PIC pins Weidmueller
1 2 note 50 orange - red pulse/hold 4, 3 4p1
2 3 note 51 orange - black pulse/hold 2, 5 4p2
3 4 note 52 yellow - black pulse/hold 6, 7 4p3
4 5 note 53 green - yellow pulse/hold 8, 9 4p4
5 7 note 54 blue pulse/hold 10, 37 4p1
6 8 note 55 purple pulse/hold 36, 35 4p2
7 9 note 56 grey pulse/hold 34, 33 4p3
8 10 note 57 pink pulse/hold 30, 29 4p4
9 12 note 58 black pulse/hold 28, 27 4p1
10 13 note 59 brown pulse/hold 24, 23 4p2
11 14 note 60 red pulse/hold 22, 21 4p3
12 15 note 61 orange pulse/hold 15, 16 4p4
13 17 note 62 yellow pulse/hold 17, 18 2p1
14 18 note 63 green-yellow pulse/hold 19, 20 2p2

Board 3:

board output connector pin mapping wire color remarks PIC pins Weidmueller
1 2 note 64 grey - blue pulse/hold 4, 3 4p1
2 3 note 65 purple pulse/hold 2, 5 4p2
3 4 note 66 grey pulse/hold 6, 7 4p3
4 5 note 67 black-white pulse/hold 8, 9 4p4
5 7 note 68 black pulse/hold 10, 37 4p1
6 8 note 69 brown pulse/hold 36, 35 4p2
7 9 note 70 red pulse/hold 34, 33 4p3
8 10 note 71 orange pulse/hold 30, 29 4p4
9 12 note 72 yellow pulse/hold 28, 27 4p1
10 13 note 73 green pulse/hold 24, 23 4p2
11 14 note 74 blue pulse/hold 22, 21 4p3
12 15 note 75 purple pulse/hold 15, 16 4p4
13 17 note 76 white - red pulse/hold 17, 18 2p1
14 18 note 77 white pulse/hold 19, 20 2p2

Board 4:

board output connector pin mapping wire color remarks PIC pins Weidmueller
1 2 note 78 orange - red pulse/hold 4, 3 4p1
2 3 note 79 orange - black pulse/hold 2, 5 4p2
3 4 note 80 blue - grey pulse/hold 6, 7 4p3
4 5 note 81 pink pulse/hold 8, 9 4p4
5 7 note 82 green - yellow pulse/hold 10, 37 4p1
6 8 note 83 geel - zwart pulse/hold 36, 35 4p2
7 9 note 84 rood - zwart pulse/hold 34, 33 4p3
8 10 note 85 zwart pulse/hold 30, 29 4p4
9 12 note 86 brown pulse/hold 28, 27 4p1
10 13 note 87 red-green pulse/hold 24, 23 4p2
11 14 note 88 orange pulse/hold 22, 21 4p3
12 15 note 89 yellow pulse/hold 15, 16 4p4
13 17 note 90 green pulse/hold 17, 18 2p1
14 18 note 91 blue pulse/hold 19, 20 2p2

Board 5:

board output connector pin mapping wire color remarks PIC pins Weidmueller
- 1 - - + 10V voltage - -
1 2 note 92 purple pulse/hold 4, 3 4p1
2 3 note 93 grey pulse/hold 2, 5 4p2
3 4 note 94 white -black pulse/hold 6, 7 4p3
4 5 note 95 white - red pulse/hold 8, 9 4p4
- 6 - - + 10V voltage - -
5 7 note 96 black pulse/hold 10, 37 4p1
6 8 note 97 brown pulse/hold 36, 35 4p2
7 9 note 98 rood pulse/hold 34, 33 4p3
8 10 note 99 orange pulse/hold 30, 29 4p4
- 11 - - + 10V voltage - -
9 12 note 100 yellow pulse/hold 28, 27 8p1
10 13 nc blue pulse/hold 24, 23 8p2
11 14 note 123   hold 22, 21 8p3
12 15 note 122   hold 15, 16 8p4
- 16 -   + 10 V voltage - 8p5
13 17 note 121   hold 17, 18 8p6
14 18 note 120 - led   pulse (used as hold) 19, 20 8p7
- 19     + 10 V voltage - 8p8


With the V2.0 firmware in the 18F2525 PIC controller, we get following correspondence between the controller #7 value and the motor frequency:

Controller 7 value Motor frequency

wind pressure

10 mm H20 = 1 mbar

remarks
0 0   motor fully off
5      
10      
15      
20      
30      
40      
50      
55      
60      
70      
72      
73      
75      
80      
85      
87      
89      
90      
95      
100      
110      
120      
127   65 mm H20 this would be the nominal pressure for the given motor.

The windpressure was measured in the windchest. The pressure measured in the output orifices for the pipes with the valve opened is always slightly lower.

Parts & components:

 

Disassembly and servicing instructions:

1.- The carrier board holding the power supplies and the five note-control boards can be taken off by loosening and removing the 4 M6 bolts. Make sure all connectors are disconnected. Also, the connectors on the midi-hub board have to be disconnected.

2.- If access to the windchest is required, the wheelbase must be removed. First take out all pipes carefully and store them safely.Now the organ can be placed on its backside. Then remove the MDM plate holding the radial compressor (remove the 4 woodscrews holding it in place. Also unscrew the four screws holding the wind inlet to the windchest. Remove the motor assembly. Now the windchest can be opened and serviced. When reassembling, make sure to replace the leather strips making the windchest airtight. The windchest cannot be opened from the upperside. The pipe holding plate is glued to the windchest.