Research project on
the development of new tools for musical expression at the University
a robotic and moving Bb cornet
This musical robot belongs to the category of our more experimental instruments.
The experiment was not so much an attempt to realistically automate an existing
instrument, although it does in fact make use of an old Bb cornet and there
is an attempt to get a realistic cornet sound. In this case however, we did
not start with a mechanical design for an artificial embouchure with mouth,
lips and mouthpiece coupled to and in acoustic interaction with the tubing of
the instrument, as we have done in <So> and the first version of <Bono>,
but rather used a small motor-speaker compressor directly coupled to the cornet
via a capillary. The motor driver causes resonance in the cornet tubing, but
in this case there is no real windflow through the instrument. When a note is
requested from the cornet, the firmware will calculate the optimum valve combination
-including non orthodox fingerings- for the requested pitch. Microtonal pitches
are implemented such that the instrument is capable of performing quartertone
music, as well as a wide range of different tunings and temperaments with great
perfection. The relatively low Q-factor of the horn (compared to strings...)
as an acoustic resonator renders this very well possible. The signal generated
in the motor was shaped after a physical model of the air pressure waveform
in the mouth cavity of a player. Since there is no loop coupling from the resonator
to the generator, the sound generation mechanism is a hybrid somewhere between
synthetic/electronic and natural/acoustic. The advantage being that the reliability
of the robot becomes very high, but this is obtained at the detriment of realism.
The valves are used in this instrument to tune the fundamental frequency of
the instrument. The valves can be controlled independently from the mouth driver
frequency. They are mechanically driven by unipolar solenoids (Lucas-Ledex types
as used in our player pianos) and have a return spring. Bi-directional solenoids
would have been superior (read faster and more silent in operation due to the
absence of return springs) but we just did not have enough mounting space in
this rather small instrument.
High brass instruments in their normal human biotopes tend to move quite a
bit in space. The highly directional characteristic of these instruments make
this also an expressive valuable parameter. Thus we tried to implement movement
in two degrees of freedom in this robot: the cornet can be tilted in the vertical
plane over an angle of about 90 degrees and in the horizontal plane, it can
rotate over 180 degrees. This conforms pretty well to what human players do
in terms of movement on stage. The movements cannot be very fast however, at
least not much faster than what a real cornet player could do whilst playing.
Horizontal movement is a lot faster than the vertical movement. However, the
intention never was to render Doppler effects possible...
The electronic circuitry consists of four PC-boards:
1. Midi-hub board: This board, using a Microchip 18F2520 controller, takes
care of the Midi I/O handling and communication as well as the control of some
of the the lights and the movement of the horizontal movement stepping motor,
including the two end sensors. For these we used two Pepperl & Fuchs inductive
proximity sensors (NJ2-V3-N) . Provisions were also made for two PIR-sensors
allowing the robot to 'search' in space for moving human bodies. The output
data from these sensors can either be routed to the commands for the horizontal
stepping motor or output as a midi data stream. Circuit details can be found
at the very end of this webpage.
2. Horizontal stepping motor driver board using a Nanotec SMC42 compact microstep
constant current driver. The noisy fan was removed as well as the DIN-rail mount.
is designed for 360 steps for a complete rotation. In this robot, the motor
is driven in microstepping mode at 8 clocks for a single step.
3. Pulse & Hold board: This board steers the three solenoids for the pistons
as well as the vertical movement stepping motor. Component population on the
board was modified to accommodate for required position sensors for the motor
movement. For position sensing in the vertical plane we first used a beautiful
antique mercury switch with 3 contacts. This switch had a glass tube in a circular
shape filled with mercury. It was designed rotate over its 6 mm axis. However,
the binary nature of this switch in combination with lost steps on motor slip
made precize positioning problematic. Thus, in 2010, we replaced this switch
with a Penny+Giles analog tilt sensor connected to the an0 analog input of the
bulbs and LED's mapped on the midi notes 124 to 127 are also controlled by this
4. Sound generator board: This board, using a microchip ds-PIC 30F3010, steers
the 15 Watt motor compressor horn driver. Note that the output transformer forms
a tuned circuit, tuned to the formant band of the cornet (1.8 kHz). The transformer
at high sound pressure levels, operates close to saturation, thus causing a
formant shift upwards. When a coil gets into saturation the inductance decreases.
This clearly nonlinear behavior of the circuit was part of the design.
The wave forms generated in the firmware on the pwm1 and pwm2 outputs of the
controller are PWM based modified sinewaves in opposite phases. The carrier
frequency is around 20 kHz.
Power supply voltages and currents:
- +12 V dc (5 A) for the valve solenoids, sound driver and lites
- -18 V dc (5 A) for the valve solenoids and the vertical stepping motor
- +5 V/ 1 A for processor boards
- +26 V/4 A for the horizontal stepping motor (non stabilized)
Midi Mapping and implementation:
Midi channel: 12 (fixed in the firmware)
Midi note range: 52 to 94. (Optimum sound in the range 66-89) Note on, velocity
is implemented and has a wide control range. The most realistic sounds are obtained
in the 100 range for the velocity byte.
Note Off commands are required, but can be dropped for pure legato playing.
Controller 10: (Panning) Horizontal movement controller. Value 64: center,
127->0= move left (CCW), 0->127=move right(CW). The firmware will calibrate
on each of the extreme positions (0 or 127). The full semicircle takes about
2 seconds in time. The firmware assumes that after a cold start, the cornet
is in a central position. It will recalibrate whenever an endposition is encountered.
Controller 13: [to be implemented] changes the lookup
table for the valve-pitch correspondence. The default
is 0 and conforms to an empirical mapping of valve combinations for optimal
resonant sound. Value 1 selects the theoretical valve combinations calculated
after simplified acoustic theory, values 2 and 3 select user programmable (sysex)
lookup tables. Higher values can be used to send just
any valve combination the user wants to see used for any note. The table below
gives all details:
|Ctrl 13 Value
||default empirical [detailed mapping]
||acoustic [detailed mapping]
||user table 1 (sysex programmable)
||user table 2 (sysex programmable)
Using this controller it is also possible to change the fingering for a sounding
note whilst it is sounding, thus rendering some sound coloration possible
without changing the actual pitch.
Controller 17 is used to control the maximum sound level during the attack
period and as a general volume controller while the note is playing. (Note that
when this controller is set to 0, you can't play any notes. For a dal niente
crescendo, start from value 1.) A good default setting to start working from
Controller 18 is used to control the duration of the note attack. The interdependencies
of these controllers together with the velo byte is shown in the graph below:
A good default setting
for this controller is 105.
Controller 19: Release controller: to be implemented.
Controller 22: Vertical inclination controller. Value 64: center, 63-0= move
down, 65-127=move upwards. Note that downward movement is twice as fast as upwards
movement. The traject is less than 90 degrees. The traject will be recalculated
whenever the endposition read by the sensor is encountered. Thus, when you request
shaky movements, the traject will be very limited because of the bouncing of
the sensor that this causes.
Controller 25: valve movement force controller. With value 18, the movement
is smooth and a bit sluggish, whereas with 127 it may get noisy but very fast.
With values below 18, valve movement may become a bit unpredictable since the
movement will depend on wear, temperature, return spring force variations and
greasing of the pistons. After a cold start, this controller will be in a default
Controller 31: Motor speed for the horizontal motor (left-right movements).
The speed can be varied between a fixed minimum value and a (safe) and fixed
maximum value. Value 0 sets the horizontal motor to move at the slowest speed.
Controller 32: Motor acceleration/deceleration time. On cold boot this controller
is always set to 64. Larger values lead to a longer acceleration time on horizontal
motor movement starts as well as to longer slowdown times at approaching the
destination. Acceleration and deceleration are always symmetric. As a consequence,
small movements will be performed slower than longer trajects.
Controller 66: Power on/off switch (0 = off, any other value is on)
Controller 67: brings the horizontal motor to the extreme left position (parameter
value =64). The controller is a one shot and does not need a reset. Any other
value than 64 is disregarded.
Controller 68: brings the horizontal motor to the extreme right position (parameter
value = 64). The controller is a one shot and does not need a reset. Any other
value than 64 is disregarded.
Controller 70: Calibrates both the vertical movement motor to a horizontal
position as the horizontal position to a straight forward position. This command
should only be sent on a full stop of all motors, i.e. no other midi motor related
commands should be sent during this calibration. The parameter can be any non-zero
value. This calibration also takes place automatically after a cold start of
the robot. Do not use this controller in any sequenced composition.
Controller 71: Recalibrates the horizontal motor movement only and brings the
instrument back to a full frontal position. During calibration no other motor
related midi command should be sent to the robot.
Controller 90: used to select movement interactive modes. With value 0 this
feature is switched off. Possible values are 1,2 and 3. More interactive modes
may be implemented in the future. The movement data are derived from the two
PIR sensors mounted in the front of the instrument.
Controller 100: Midi output mode setting. (See further below). Defaults to
Controller 101: Midi output data rate. See below.
Controller 123: switches the sounding note off, unpowers the steppers, dims
all the lights.
Program change: not implemented so far
Lights: The lights are mapped on very high midi-notes as follows:
- note 127: triple bright white LED on pulse-hold board with PIC2 (on/off)
- note 126: triple bright white LED on pulse-hold board with PIC2 (on/off)
- note 125: Blue 6-LED light assembly, mounted near mouthpiece driver (PIC2)
- note 124: Harley Davidson tungsten light bulb (PIC2) (on/off)
- note 123: Bright RED led mounted on the hub board
(PIC1). The velo byte sets the flashing speed. 0= off, 127= fully on.
- note 122: Left eye blue LED's (PIC1)The velo byte
sets the flashing speed. 0= off, 127= fully on.
- note 121: Right eye blue LED's (PIC1)The velo byte
sets the flashing speed. 0= off, 127= fully on.
Pitch bend: The <Korn> robot can be used in any tuning system. In the
drawing below we give the coding example for a quartertone scale:
Most good sequencer
software (such as Cakewalk or Sonar) use the signed 14 bit format. Note that
one unit of the msb corresponds exactly to a 0.78 cent interval. To convert
fractional midi to the msb only pitchbend to apply follow following procedure:
if the fractional part is <= 0.5 then msb= 63 + (FRAC(note) * 128), if the
fractional part is larger than 0.5, we should switch on the note + 1 and lower
the pitch with msb= (1-FRAC(note)) * 128. Note off does
reset the pitch bend for the playing note!
Midi OUTPUT control:
Data from the PIR sensors can be output as midi data
as well as data with regard to the position of the robot in space. A controller
(#100) has to be sent to Korn to enable midi out. This feature is meaningless
for composers using sequencing programs, but can be very welcome for composers
wanting to develop interactive applications using programming languages such
as Power Basic, GMT or even PD. The implementation is as follows:
Controller 100: Midi output mode. The data byte consist
of 7 bits (0 to 6), each used as a switch to enable/disable particular midi
- 0 = OFF (midi out is disabled) This is the default.
- bit 0 = Left PIR sensor data is output: Left sensor
is output as 14 bit pitchbend on midi channel 0. The data is an 8 bit value.
Sampling rate can be set with ctrl.101
- bit 1 = Right PIR sensor data is output as pitchbend
on midi channel 1. The data is an 8 bit value. Sampling rate set with ctrl.101.
Sampling rate maximum: 154 S/s
- bit 2 = Motor position monitoring. The data covers
the entire traject (0 - ca.. 1480). Output is on midi channel 2. Sampling
rate 38 S/s
- bit 3 = Monitoring of the left movement proximity
sensor. The data is 10 bits. Midi channel 3. Sampling rate 154 S/s
- bit 4 = Monitoring of the right movement proximity
sensor. The data is 10 bits. Midi channel 4. Sampling rate 154 S/s
- bit 5 = Monitoring of the loopspeed in the firmware.
Output is in pitchbend format with only the lsb of the timer0 value (for debugging).
Midi channel 5. The output data rate is the loopspeed plus the time required
for the midi output itself. (ca. 1 ms) [implemented for firmware debugging
- bit 6 = Monitoring of the Soll position for the motor
(destination value). Midi channel 6.[implemented for firmware debugging only].
Other values are implemented for internal research, firmware
debug and development purposes. Note that on start up and calibration, the available
motor traject in steps is always output using the pitchbend format, even when
controller 100 is set to zero. The traject is in the order of 1480 steps.
Controller 101: Use to set the data rate for the midi output of the PIR sensors.
The values accepted for this controller are between 1 and 8. The default value
is always 4. The meaning is as follows:
- data rate ca. 1.2 Hz value = 1
- data rate ca. 2.4 Hz value = 2
- data rate ca. 4.8 Hz value = 3
- data rate ca. 9.6 Hz value = 4
- data rate ca 20 Hz value = 5
- data rate ca 40 Hz value = 6
- data rate ca 80 Hz value = 7
- data rate ca. 160 Hz value = 8
- size: height 800 mm, depth 400 mm, length 400 mm.
- Flightcase size: 950mm x 590mm x 390mm.
- weight: 17 kg.
- transportation: needs its flightcase. Cannot be taken as luggage in airplanes,
since the weight with case is over 35kg.
- Power: 230 V ac / 150 W
- Note: on cold boot is is mandatory that the cornet is positioned in its
central position, without touching any proximity sensor.
- Tuning: based on A = 440 Hz (within 1 cent). The tuning can be adjusted.
- Ambitus: 52-96 (optimal range: 58 - 87)
- control: MIDI-input, 3 MIDI-Thru, 1 MIDI-Out. (UDP port to be implemented
- Insurance value: 8.500 Euro.
Design and construction: dr.Godfried-Willem
Collaborators on the construction of this robot:
- Kristof Lauwers (GMT implementation)
- Johannes Taelman (dsPIC coding)
- Yvan Vander Sanden (controller testing)
Music composed for <Korn>:
- Sebastian Bradt "Barbiefication" (for <Korn> and <Xy>)
(2008) [MP3 download]
- Godfried-Willem Raes "Sires Hands" for <Sire> and <Korn>
and a performer with the Handy One interface
- Godfried-Willem Raes "Just
Calls for Brass" (in just intonation, with <Bono>, <Heli>
- Yvan Vandersanden "Interaktief stuk voor <Korn>, <Snar>
en Wii kontroller" (2009) [MP3
- Godfried-Willem Raes "Gesti for Korn", quadrada study #19 for
a naked performer and <Korn>. Staged in collaboration with a.rawlings
- Kristof Lauwers "Picrada Study for Korn".(2010)
- Godfried-Willem Raes "Moves for Korn". Staged in collaboration
with Dominica Eyckmans (2010).
- Godfried-Willem Raes "Zwiep & Zwaai". (2010)
Pictures taken during the construction in our workshop:
De overgrote meerderheid van de muzikale robots die we ontwikkelden
voor 2007, waren elk voor zich pogingen om bestaande akoestische instrumenten
zo getrouw mogelijk te automatiseren in zoveel mogelijk aspekten van hun bespeling.
Daartoe mimeerden we zoveel als mogelijk de menselijke bespelingswijze van deze
instrumenten. Het <Korn> projekt wijkt van dit opzet in hoge mate af.
Hier was het helemaal niet onze bedoeling een mimetisch bespeelde automatische
kornet te bouwen (immers, een automatische Sousafoon -<So>- hadden we
reeds met redelijk sukses voltooid, waardoor een automatische kornet niet direkt
een nieuwe verwezenlijking zou zijn). Niettemin maakt deze robot wel degelijk
gebruik van een oude Sib kornet die hier evenwel in eerste plaats dienst doet
als afstembare resonator in een instrument dat verder alleen werd gekoncipieerd
om min of meer realistische kornet-geluiden op een plastische en kontroleerbare
wijze te kunnen produceren. In dit ontwerp werd uitgegaan van het simuleren
van de drukvariaties in de mondholte van de bespeler en in het mondstuk middels
een elektronisch aangestuurde motor driver, zoals gebruikt in kleine megafoons.
Wat hier ontbreekt is de terugkoppeling met de resonator die het instrument
zelf eigenlijk is. Het instrument fungeert hier als een passieve resonator en
is niet via een dynamische regeling gekoppeld aan de eigenlijke toonvorming.
Daardoor krijgen we enerzijds een heel hoge betrouwbaarheid, maar anderzijds
dan weer een toch wat synthetisch klinkend klankresultaat met weinig of geen
artefaktische bijgeluiden en een eerder stereotype gelijkmatige artikulatie.
Wat we van bij het ontwerp evenwel zeker geimplementeerd wilden zien was een
ruime gamma aan mogelijkheden op mikrotonaal gebied. Zowel kwarttoonsmuziek
als muziek in de platonische juiste boventoonsstemmingen diende perfekt speelbaar
te zijn. Om die reden kan deze robot heel goed overweg met alle niet-standaard
vingerzettingen. Akoestisch gezien wordt dit mede mogelijk gemaakt door de relatief
lage Q-faktor van de licht konische toeter gezien als akoestische resonator.
De ventielen werden geautomatiseerd met unidirektionele elektromagneten,
helemaal naar plan en opzet zoals toegepast in de eerste
versie van <So>. We hadden liever bidirektionele magneten gebruikt,
maar daarvoor vonden we gewoonweg geen plaats in een zo klein instrument als
de kornet. De ventielen werken dan ook met de gewone terugslagveren.
De elektronische schakeling bestaat uit enkele afzonderlijk funktionele
1. Midihub board; Dit board, uitgerust met een 18F2520 PIC-controller
van Microchip, staat in voor de midi-kommunikatie en voor de besturing van de
horizontale stappenmotor. Twee ingangen worden gebruikt voor het inlezen van
de horizontale positiesensors. Daarvoor werden aanvankelijk mikroswitches met
lange naaldhefbomen in veerstaal gebruikt, maar die werden in 2010 vervangen
door induktieve NAMUR proximity sensors van Pepperl+Fuchs. (NJ2-V3-N). Deze
sensoren worden analoog door de microprocessor ingelezen, waardoor we geen problemen
meer hebben met bouncing. Twee andere ingangen worden gebruikt voor het inlezen
van de data afkomstig van twee pyrodetektoren (PIR-sensors). Deze laten toe
de horizontale beweging van de kornet een menselijk lichaam in de ruimte te
2. Stappenmotor besturings board, waarvoor gebruik werd gemaakt
van een Nanotech SMS42 module.
De motor, een type met 360 stappen per omwenteling, wordt bedreven in microstepping
mode aan 8 kloktikken per stap, wat een erg vloeiende beweging mogelijk maakt.
3. Pulse-Hold board voor de besturing van de ventielen evenals
voor de besturing van de vertikale stappenmotor. Dit board maakt gebruik van
een Microchip 18F4620 controller in 40pins DIL behuizing. De bestukking van
het board werd enigszins gewijzigd om de beide noodzakelijke inputs voor de
eindsensor van de motor mogelijk te maken. Voor deze sensor gebruikten we aanvankelijk
gebruik van een cirkelvormige driepolige kwikschakelaar voorzien van een 6 mm
as. Het onderdeel dateerde van vlak voor de tweede wereldoorlog.. Door de slip
van de motor in kombinatie met het louter binair karakter van de sensor kregen
we echter af te rekenen met problemen in het juist positioneren van de kornet.
Daarom vervingen we de kwikschakelaar in 2010 door een hellingssensor van Penny
& Giles (STT 280/60/P2) . Deze
sensor wordt analoog ingelezen door de A0 analoge ingang van de mikroprocessor.
en laat een erg nauwkeurige positionering toe.
en LED's gemapt op de noten 124 tot en met 127 worden ook door deze mikroprocessor
4. Klankproduktieboard: Dit board werd uitgerust met een 30F3010
ds-PIC kontroller van Microchip. Dit board heeft ook een midi-out, dit in eerste
plaats omwille van de debug mogelijkheden. Opgemerkt moet worden dat de uitgangstransfo
hier een afgestemde kring vormt met een resonantie rond 1.8 kHz, overeenkomstig
de gewenste formant voor een kornet.
Aangezien een kornet op zich genomen een vrij klein en licht instrumentje
is, kwam de idee bij ons op om het ook meteen enige mate van beweeglijkheid
mee te geven. Deze beweeglijkheid behoort immers ook tot het typische geluid
van de hoge koperblaasinstrumenten, die immers zonder uitzondering een sterk
direktionele akoestische afstraling hebben. Hiermee konden we meteen Toshiba
& Yamaha de loef afsteken, want hun bewegende trompetspelende robot -die
wel zowat alle kranten haalde- is vals! Het geluid komt immers uit een luidspreker
uit de borstkas van de robot trompettist. Ook wilden we onze robot graag zo
gaan bouwen dat hij het zou vertikken om debiele muziek te spelen... Dat is
echter helaas nog steeds vapourware. Horizontaal kan onze robot 180 graden bewegen,
en vertikaal 90 graden. Hiermee mimeren we heel goed wat menselijke spelers
op het podium doen. Een erg hoge snelheid konden we voor deze bewegingen evenwel
niet realizeren, wat niet wegneemt dat die snelheid (horizontaal) zeker niet
moet onderdoen voor die van een menselijke bespeler. De vertikale beweging is
door de gebruikte wormwieltechnologie aanzienlijk trager. Het was dan ook niet
de bedoeling Doppler effekten mogelijk te maken.
De <Korn> robot werd gemonteerd op 3 rondom beweeglijke
zwenkwielen voorzien van remmen. Wanneer de remmen niet worden vastgezet tijdens
het spelen, kan de robot zich als gevolg van de eigen bewegingen ook wat over
het podium verplaatsen... een leuk maar eigenlijk onvoorzien neveneffekt.
Construction & Research Diary:
- 04.01.2008: first experiments with the sound generator devices: horn motor
- 07.01.2008: Cleanup and adjustment of the cornet valves
- 08.01.2008: First experimental construction of a motor horn driver, taken
from an old megaphone. The sub-octave sounds (the real fundamentals of the
cornet) cannot be made to sound really good. Hence we decide to drop them
- 10.01.2008: Construction carrier plate for the valve solenoids with 19 mm
holes in stainless steel.
- 12.01.2008: TIG welding work on solenoid assembly. Design of a holding structure
for the cornet such that we leave the possibility for the instrument to move
- 13.01.2008: Welding works on the cornet holding structure. Design of the
motor driver holder. First workshop pictures taken and added to this webpage.
- 14.01.2008: Selection of a suitable stepper motor for the horizontal movement.
For vertical movement, we could simply use a heavy solenoid combined with
a spring. These features will have serious consequences for the design of
the power supplies! Purchase of ball bearings for two axis of movement. Vertical
inclination will require a force of ca. 50N.
- 15.01.2008: Further design of support structure. Suitable stepper motor
maybe AIMS 24 V/ 100 Ohm/winding 4-phase motor with worm-wheel gears, if we
use a tiny wound steel or nylon cable for the vertical movement. This motor
comes from a recycled old Japanese photocopier. The advantage of this mechanism
is that no power on the motor is required to hold the cornet in any given
position. Problem to be solved: how can we safely connect the steel wire to
- 16.01.2008: Plasma cutting of ground plate. Welding support for vertical
movement motor. Design for wheels of the support block.
- 17.01.2008: Start cutting and welding works for the horizontal movement
mechanism. The main chassis is ready now, included the three wheels with breaks
under the equilateral triangle bottom plate. Heavy duty connector found for
the removable connection between moving upper part and the electronics on
the base plate. Toroidal transformer selected for power supply: 2x 12 V/ 5
A. This transformer can be mounted under the base plate.
- 18.01.2008: Turning work on horizontal dented wheel. Mounting of toroidal
transformer underneath. Drilling holes for the horizontal stepping motor mounting
bolts. Discussion of the sound mechanism and its PIC implementation with Johannes
- 19.01.2008: Horizontal motor mounted and adjusted. Positioning of PC -boards.
Mounting holes drilled. Threads for motor mounting (M5 studs) welded on bottom
plate. Two 90/60/30 triangles in 3mm thick stainless steel plate welded to
end point. These serve for avoidance of mechanical resonance's and for mounting
of the horizontal stepping motor controller. All welding performed with frequent
intermediate cooling with compressed air to avoid warping.
- 20.01.2008: Mounting and wiring of power supplies. Mounting of all required
PC-boards, except DS-PIC board. Midihub board soldered with component values
documented below (see end of this webpage). Mosfets exchanged for IRLZ44 types.
- 21.01.2008: Interboard connectors made. Design of end position sensors for
the steppers. Electrical testing of midihub board and motor controller board.
- 22.01.2008: Schematic for pulse-hold board redrawn. Soldering and component
selection and placement on pulse-hold board. Stainless steel piece bend, sawn,
polished and drilled with eyelet for the vertical movement. Mounting holes
24 mm apart, for M5 bolts. Bottom part large connected wired. Six ultrabright
LED's mounted on pulse-hold board, mapped on notes 126 and 127.
- 23.01.2008: Rotary mercury switch applied for vertical movement sensing
and positioning. The use of this part makes the robot illegal as an industrial
product in most of the civilized world. However, we had the part on our shelves
for at least some 40 years, before we finally found a good application for
it. Moreover, the part comes from military radio equipment from just before
the second world war. Orange light bulb (from a motor bike, probably Harley
Davidson) mounted on vertical motor assembly. This bulb has 10 Ohm cold resistance.
It draws quite a lot of current from the 12 V supply. Note that the mounting
uses an insulation feed through since the metal of the holder is connected
to one of the supply leads.
- 24.01.2008: All wiring finalized, except the ds-PIC board for the sound
driver. Microswitches for end-detection on horizontal movement added. Power
supplies tested o.k. Design of the ds-PIC board. Construction of a first prototype,
using a small audio transformer.
- 25.01.2008: ds-PIC board finalized and mounted. <Korn> is ready now,
except for the (ordered) 25 mm mechanical precision ring to hold the gear
wheel on the horizontal movement axis. The PIC programming works with Johannes
Taelman can take off... First firmware version for the PIC-controllers uploaded.
- 26.01.2008: First evaluation and test session. The code for the stepping
motors is still missing in the PIC firmware. The valve firmware works nicely,
the lights also. The ds-pic seems not working unless we reset it by applying
a pulse to pin1. This type of PIC appears to be extremely sensitive to spikes
on the supply lines. We remember having met similar troubles in the design
of <Bono>. The power delivered to the driver is 280 mW, when the power
supply voltage is 5 V. Thus, this voltage can safely be raised quite a bit.
Optimum sound is now obtained with following controller settings: Velo=38,
C17 = 127, C18=127. The calculated lookup tables correspond perfectly to optimum
horn resonance. So, there is no need to implement user lookup tables here.
However, different fingering can contribute to a more lively sound.
- Experiments with the ds-pic board: We raised the power supply to 24 V and
with a 10 Ohm series resistor, and connected it to our driver circuit. With
maximum controller settings, we have a voltage drop over the resistor of 11.4
V, hence a current of 1.14 A. Such a current clearly saturates (...and heats)
the transformer, with quite interesting sonic artifacts as result. An RC or
even LC combination might even sound better here, since it could give us the
possibility to tune it to the characteristic formant of the cornet. We tried
this, but the first results were very disappointing. So we conceived another
approach and calculated the integer number of the harmonic on the sounding
note that falls as close as possible within the formant of the cornet. For
this frequency band we assumed 2800 Hz, a value taken from literature on old
analog eletronic organ design books for the formant filters in cornet registers.
Obviously we need either measurements of our own, or more reliable sources.
The result of this calculation was added to the file describing the calculated
fingerings: lookup tables for <Korn>
(its a .txt file, not html!).
- 27.01.2008: The addition of a sub-partial corresponding to the base frequency
for each played note at about 30 dB below the level of the main pitch, contributes
greatly to a more realistic sound. Further experiments with the hardware circuit
led us finaly to the adoption of a hardware formant filter, designed around
the primary of the output transformer on the ds-PIC board. To do this, we
left the usual protection diodes (BYV32) out altogether and fitted a capacitor
calculated and measured to give a resonant frequency around 1.8 kHz. Soundwize,
this proved to be a major improvement, rendering the implementation of additive
formant components in the generated waveform unnecessary. If further filtering
and non-linear circuitry is required, it can now be done on the secondary
- 28.01.2008: We digged up a spare part for the motor driver, in case the
one mounted gets overloaded in the process of the experiments. First work
on an algorithmic demo piece for <Korn> coded in GMT.
- 29.01.2008: Measurements of the real partials as compared to the platonic
ones shown here:
- 30.01.2008: Measurement and evaluation session by Kristof Lauwers. Pitch
bend range is now -50 to +50 cents.
- 01.02.2008: Dented wheel fixed on vertical column with pointed M3 bolts.
Solenoids definitive mounting and fixing. Replacement of felt washers inside
the pistons in order to silence their mechanical operation. Experiments with
LC-circuits in the primary circuit of the motor driver.
- 02.02.2008: Further experiments with formant filters in the drive circuit.
Whatever we attempt, it remains a very electronic and dull sound. The clicks
at the on- and offsets of a sound correspond to the tap tones on the mouthpiece.
The onset should definitely get a noise burst.
- 06.02.2008: Still a bit handicapped by pretty poor sound production and
lack of movement, <Korn> will already participate in a few pieces on
tomorrow's M&M concert.
- 08.02.2008: Preliminary premiere of 'Barbiefication' by Sebastian Bradt.
- 15.02.2008: Work session on DS-PIC code: clicks and glitches removed both
on note-on and note-off. Softer attack implemented. Wind-noise added. Octave
- 16.02.2008: Composers manual updated in accordance with the latest midi
- 21.02.2008: <Korn> participated in the mini-M&M concert in Schaarbeek
- 01.05.2008: Further worksession on horizontal stepping motor for movement
with Johannes Taelman. Not yet working. We seem to be plagued by bugs...
- 02.05.2008: Horizontal movement is working now, under controller 21. Calibration
is automatic and happens everytime one of the endpositions is reached. Acceleration
curve and stepping speed are automated and not user programmable. The firmware
is optimized for low noise, smoothness of movement and sufficient torque.
Movement speed is 45 degrees of rotation per second. The controller works
positional: 0 corresponds to fully CCW and 127 to fully CW.
- 03.05.2008: GMT testcode for Korn updated.
- 10.05.2008: Working session with Johannes Taelman: vertical movement and
revision of the valve code. The first version was written in assembly, but
for this version we will use the Pic-C compiler. Controller 70 implemented
for vertical movement calibration. Vertical movement now works, but we still
have to rewrite the valve code and the relevant lookups. Stepping pulses on
downward movement are now. ca.20ms, whereas upwards they become 40ms. The
firmware uses only the velo-pulse outputs, so the hold mosfets are not used.
Because of the mechanical construction, the motor never had to develop a holding
torque, hence we could drop these components from the implementation.
- 12.05.2008: Working session with Johannes Taelman: code for velo-pulses
on valves ported to C on PIC2. To be done: Sysex-lookups for fingerings, further
improvement of the generation.
- 13.05.2008: 350 mA current source circuit built for 1 W super bright LED.
Forward voltage drop is 3.2 V as measured. Although the LED itself is pretty
small, if you take the complete required circuitry and cooling components,
there is something ridiculous about these components since at the end of the
bill, a normal tungsten light would have been both simpler, smaller and cheaper...
Light output is 10 lm, wavelength 470 nm
- 15.05.2008: 1W blue LED circuit mounted near mouthpiece driver and mapped
on note 125. However, it seems to cause glitches and resets on PIC2, caused
realignments of the vertical movement...
- 16.05.2008: Calibration command must still have a firmware bug. It should
read and monitor the mercury switch -after debouncing- to decide in what direction
to start rotating for alignment.
- 17.05.2008: An extra command should be added in the motor firmware: freeze
movement: ctrl. 71 (switch). This should work at the same time for the horizontal
and for the vertical movement. (PIC1 and 2). The freeze command should cancel
any ongoing movement.
- 12.08.2008: Consistent erratic behaviour. Sometimes actions take place without
any command... This led today to a complete burn out of the Harley Davidson
light armature. We replaced the lamp socket (was bayonet) with a standard
10mm screw socket and fitted a 12-15 V/160 mA tungsten bulb. After this repair,
it seemed some mosfets on the pulse hold board burned out... More work to
be done. Probably the solenoid driver mosfets burned out. There must be either
bugs in the PIC2 firmware or some other hardware failure.
- 06.09.2008: Further repair work on Korn. The Lucas-Ledex solenoid for the
first valve burned out and shows up a short circuit situation. We replaced
the solenoid. Tests under GMT control. Strange behavior observed from the
solenoids: bouncing... either something goes wrong with the PIC based timers
or the (Hold voltage) power supply is extremely unstable. First suspect to
examine: +5 V, then +12 V.
- 07.09.2008: Debug session. The faults are reproducible. Probability that
they stem from unstable +5 V is high. However, so far we couldn't see any
glitches on the scope. However, the +12 voltage shows up very high oscillation
( 4 Vpp), increasing with the load with period in the 5 microsecond range
(ca. 200 kHz). This oscillation disappears when we place a 2 mF electrolytic
over the output of the LT1084-12 regulator. The pulses in the ground return
current could be at the origin of the unstable behavior. The oscillation could
also explain the erratic behavior of the vertical stepper, since its mercury
sensors are fed with the same +12 V. Piher 2 mF/16 V elco and 1 uF ceramic
soldered into board. Now every thing seems up and working again. The 1 W blue
LED however seems not to have survived the failures...
- 08.09.2008: Korn monitored over longer timespans: calibrations on the vertical
motor still do happen at about every 5 minute rates. We have been monitoring
the 5 V supply and suspect it fluctuates at a very low frequency.
- 13.10.2008: New acoustic impedance convertor turned on the lathe. This brass
piece was made from the original cornet mouthpiece.
- 20.11.2008: The erratic behavior is persistent. We will have to replace
the Chinese SMPS (Sunpower) by a more sturdy modular design. Some more work
done on the sound determining circuitry. The <Bono> recipe applied to
Korn. (A single diode on the transformer primary). The capacitor has to stay
as it was. We now feed the driver from the available +12 V supply. The transformer
is heavily in overload, so we should look out for a more powerful part.
- 21.11.2008: To do: add an extra 5 V power supply for the horizontal stepper;
replace bright blue LED; search for a better audio transformer. Research and
measurement session on a MCE E217T3F precision toroidal multitap transformer
(Order number: 10018709), recycled from military aircraft.
- 22.11.2008: Origin of the erratic behavior traced down to very odd behavior
of the high power LED and its current drive circuit: the LED failed but still
caused very short very high current spikes on the 12 V supply, too short to
activate the current limits but so high that we could observe very large spikes
on the ground return leads, causing intermittent brown outs on the 5 V supply
feeding the PIC processors. We replaced the LED with a new assembly of 6 bright
blue LED's each drawing a current of only 11 mA. Mounting of the MCE multitap
transformer on the backside of the Korn chassis. This entails the addition
of a new welded chassis element. Circuit drawings adapted to the newest wiring.
The horizontal motor looks like working, despite the low power available from
our newly added 5 V dc power supply.
- 23.11.2008: Welding work on the construction and mounting of the new chassis
elements (carrier structure) for the MCE precision transformer. Capacitor
across transformer primary increased from 470 nF to 2.2 uF (bipolar). The
amplitude is now a lot more constant over the entire compass. Intermittent
oscillations on the pulse-hold pic board still occur. Ferrite RFI snubbers
fitted on the most important cable bundles. We suspect a bug in the implementation
of the very slow counters in the pulse-hold PIC firmware. Bug discovered in
the dsPIC firmware: Pitch bend is not reset on reception of a new note as
- 24.11.2008: Coding example worked out for quartertone scales:
GMT code and just intonation examples for Korn debugged.
- 26.11.2008: Test code for ctrl 13 added in GMT test by Kristof Lauwers,
for examination of the optimum fingering tables. However, ctrl. 13 is yet
not implemented in the pulse/hold board.
- 18.12.2008: <Korn> has an important part in my just intonation composition
"Just Calls for Brass".
- 21.12.2008: Further experiments with the tone production. Parallel capacitor
over the toroidal transformer changed again to 220nF, this capacitor must
be a high voltage type (100V). New power supply mounted for horizontal stepping
motor: now 9 V /1.6 A. This modular supply however, cannot cope with the pulsed
load from the stepper...
- 22.12.2008: New testcode written for the stepper motors. XP Power ECL25US09-E
power supply ordered from Farnell. This type should deliver 2.8 A at 9 V with
allowable peak current of 3.64 A.
- 23.12.2008: New power supply has arrived. We immediately build it in and
tested: the horizontal motor now behaves fully the way it should.
- 02.01.2009: The somewhat shaky behavior of the vertical movement motor is
- 17.01.2009: Debug session on the firmware for the pulse/hold pic. The code
shows up some quite unpredictable behavior: at times the velo-pulse length
has jitter and may even double. The firmware had a tendency to crash for no
apparent reason. We temporarily disabled the code for the vertical motor.
The horizontal motor code (PIC1) must have some bugs as well. It does not
switch of motor power on reaching an end position.
- 28.01.2009: Apparently the sound driver died from overloads. Fortunately
we could recycle an identical driver from another Realistic power horn 8 Ohms/
8 W. After the replacement, Korn is working again, but when we measure the
maximum signal over the driver, it appears at 12 V that the overload is evident.
However, sound level is still way too low. We have to recheck the wave form
- 01.02.2009: Further research on sound production in Korn. The sound gets
a lot better with a diode parallel over the otherwise not used secondary tap
on the transformer in combination with the 8 W driver. However, after constructing
an entirely new impedance converter on our lathe, adapted to a 15 Watt full
range driver, the sound became much better if we replace the diode with a
2.2 uF capacitor. This change also gives us a somewhat better dynamic range
as well as a better overload safety margin. Another minor, but nevertheless
most welcome, side effect of the new motor driver is that the instrument is
now mechanically more in balance over its axis of movement, thus relaxing
the forces to overcome by the vertical stepper motor.
- 02.02.2009: Demonstration of the renewed Korn for the collaborators. Evaluation
- 05.03.2009: <Korn> on the road to Lille (France). It's only the second
time he is allowed to leave the logos building.
- 07.04.2009: horizontal movement sensors improved by mounting an adjustable
- 25.04.2009: Programming session with Johannes Taelman on the gestures for
<Korn>. Deep measurement and analysis reveals that to a large extend
problems with erratic behavior is due to spikes on the midi input signal,
stemming from the Midiman 2x2 device. The 4 port device does not show up this
problem. The erratic behavior can be predicted as soon as the green midi-monitoring
LED on the hub board glows slightly with the midi in cable connected but no
midi-data sent. To a large extend this misbehavior is due to the laptop power
- 26.04.2009: Horizontal movement tests.
- 02.05.2009: Worksession on the movement code with Johannes Taelman. Horizontal
and vertical movement is now well implemented. User fingerings also, using
controller 13. Lookup tables using sysex commands for fingerings are as yet
to be implemented.
- 03.05.2009: Testcode written for gesture tracking using the quadrada interface.
- 12.05.2009: Photoshoot with Korn.
- 13.05.2009: There must still be a bug in the midihub PIC firmware that causes
it to crash. This is the PIC responsible for the horizontal movement. Premiere
of 'Gesti for Korn' with a.rawlings.
- 15.05.2009: Loose cable on upperpart accidentally hitting the end switch
remedied. Kristof Lauwers and Yvan Vandersanden adding and debugging movement
code for Korn.
- 16.05.2009: Demonstration of <Korn> at Technopolis, Mechelen (Robocup).
- 23.05.2009: Debug session on the firmware for the horizontal motor controlling
PIC-microcontroller. The inherent hysteresis of the end-sensors caused logic
trouble. The bizarre crashes of the PIC every so often, are to be examined
further. They seem related to very high midi data rates.
- 24.05.2009: 'Gesti for Korn' rechecked with the Quadrada interface.
- 21.01.2010: Transportation bed made for <Korn>, not yet a complete
- 22.01.2010: <Korn> travels to Breda for a concert...
- 12.02.2010: <Korn> is off to Hasselt for the Boink! festival there.
- 09-10.10.2010: <Korn> plays on the opening of the STAM museum on the
Bijloke campus: 12700 visitors...
- 26.10.2010: Start redesign of the horizontal movement mechanism: hardware
and firmware. Considering to add a Penny & Giles sensor for the vertical
movement as well, the same type as we just used for our <Ob> robot.
- 27.10.2010: Old stepper motor controller for horizontal stepper removed.
This will be replaced with a Nanotec SMS42-2 microstepping motor controller.
In the new design we will mount two PIR sensors for human movement detection.
- 28.10.2010: Two PIR sensors mounted. Midi hub circuit redrawn and rebuild.
As to the end sensors we selected Pepperl+Fuchs NAMUR types (NJ2-V3-N) as
we can operate these from the 5V supply and they have a reasonably large analogue
traject (ca. 6 mm). We designed a new sensing stave for Korn's central axis,
the pivoting part being made from weak iron. This will at the same time work
as a mechanical endstop.
The new parts can be seen on the picture. The applebluegreenish blocks are
the Pepperl+Fuchs sensors.
- 29.10.2010: Mounting work on the new components on the chassis.
- 30.10.2010: Fine adjustment of sensors and mechanism. Firmware works.
- 01.11.2010: First working version of the firmware more or less ready. Calibration
runs fine now.
- 02.11.2010: Voltages checked for stepping motor: without load: 27 V, with
running motor: 24 V. Now at firmware version 1.5. There are still some problems
with intermittent motor stops. The PIR-interactive coding needs some improvement
- 03.11.2010: Firmware version 1.9: Stuttering bug killed. PIR coding now
works but there is still place for improvements. Midi implementation updated.
There is still a weakness in the dsPIC coding: this PIC crashes under unknown
circumstances. It may be related to induction spikes from the stepping motor.
- 04.11.2010: Further PIR testing. Controller 32 added to control the acceleration
curve for the horizontal motor. Controller 101 added for data output rate
control. Horizontal position controller number changed: now #10, the standard
panning controller in MIDI. As to the lights, we now also implemented automatic
flashing using the velo byte in the appropriate note on command. Firmware
version 2.0 now.
- 05.11.2010: 2 blue LED lights added as 'eyes'. Each 'eye'consists of 3 high
brightness blue LED's. Power consumption: 60 mA for each 'eye'. Mapping on
midi notes 121 and 122.
The PIR sensors as well as the new 'eyes' can be seen on the picture.
- 06.11.2010: Some minor fixes in the firmware again. Version 2.1 now.
- 07.11/2010: Deceleration on approach of final position now also implemented
in the firmware. Version 2.3 now. Controller 32 can be used to control the
- 14.11.2010: Cylinder for the vertical movement changed to 8mm diameter.
There is a lot more torque available now. This entails changes in the vertical
- 15.11.2010: Penny & Giles tilt sensor mounted to replace the mercury
switch.STT 280/60/P2. Cornet fixed
in place with some silicone kit, as it had a tendency to move in its holder.
- 29.05.2011: Version 2.4 code revision for the midihub board, 18F2520 chip.
Periodicity in timers improved. Code optimised for speed of performance. Tests
run o.k. now and performance has indeed improved. Code revision session with
Johannes Taelman on the valve-control PIC, a 18F4620: vertical movement traject
improved and Penny & Giles sensor implemented.
- 06-09.10.2011: <Korn> presented and demonstrated on ArtBots Gent 2011
in the UFO building of Ghent University. It's been up and running for three
days in a row without any interruption.
- 09.10.2011: <Korn> received the Artbots award for the most succesfull
- 22.11.2011: Glissando playing now fully implemented in GMT
- 18.12.2011: <Korn> presented at the Childrens University, held on
the praemisses of the Ghent Conservatory.
- 14.03.2013: Start construction of a flightcase for <Korn>. This is
how the robot fits on the bottom of the case:
- 15.03.2013: Case under construction:
- 16.03.2013: Flightcase for <Korn> finished. It can now safely go on
the road in a truck. Case sizes are: 950 x 590 x 390
- 20.04.2013: <Korn> survived the trip to Glasgow very well! We expect
him back in Ghent on monday 22nd of april.
- 23.04.2013: Korn came back in good shape.
- 09.10.2013: <Korn> left this morning for its appearance on the Venice
Biennale on october 12th...
- 03.11.2013: <Korn> presented in Bozar for Zonzo.
- 05.11.2013: Connecting rope for vertical movement replaced as it got all
tangled and worn out.
- 02.03.2014: <Korn> makes his appearence at Concertgebouw Brugge on
the notation festival, together with <Snar> and the Player Piano.
- 18.10.2015: <Korn> played at the musica composer workshop in Neerpelt.
- 05-08.11.2015: <Korn> played four days continuously at 30CC in Leuven,
Rode Hond Festival.
- 17.12.2015: <Korn> gets to play important parts in our production
of the Beggars Opera by Bertolt Brecht and Kurt Weill.
- 9-11.04.2016: <Korn> off to Hamburg for the Big Bang Festival.
- 28.10.2016: <Korn> up to Brugge for Iedereen Klassiek.
- 30.10.2016: Korn returned safely from Bruges.
- 01.08.2017: <Korn> taken on the road to Liepaja (Letland).
- 03.08.2017: <Korn> found ok after the 2000 km trip to Letland. It
is expected to return to its homebase on august 10th.
- 09.08.2017: <Korn> returned safely from Liepaja, another 2000 km trip
on rough roads.
- 13.07.2018: <Korn> played the opening of the Ghent Feasts at Sint-Jacobs.
- 09.11.2018: <Korn> joins the party for the 50th anniversary of Logos...
Rational Melodies, Namuda study #71.
- 17.03.2019: There was some confusion as to the ctrl nr for left-right movement.
The testcode had some bugs in this respect. The controller must be #10 (panning).
- 07.11.2019:<Korn> on the road to Tallinn (Estland)
- 02.07.2021: <Korn> on the road for Luxemburg
- 15.07.2021: Innundations in the abbey where <Korn> is installed...
- 19.07.2021: Some pictures received from the robots that got flooded in the
abbey of Neumuenster in Luxemburg:
At first sight it looks
like the cornet and the driver didn't get wet. The electronics underneath
are likely to be lost forever. Certainly the hub board is lost. The wavegenerator
board is mounted vertically but cannot be seen on the picture. The pyrodetectors
for movement sensing are guaranteed to be ruined, as they were mounted very
low on the chassis.
- 26.07.2021: <Korn> returned from Luxemburg. First of all we started
by cleaning the entire robot. Removing the thick layer of mud from all electronic
and mechanical parts. Tools used: a toothbrush, a small hard-haired painting
brush, compressed air, a small stainless steelbrush. The motor was found to
be completely stuck. This must be the result of a rusted anchor inside the
stepper. The toroidal transformer mounted underneeth, still contained water
in the windings. However, it was not short circuited. So we connected it to
the mains power -via a safety transformer- to let it get gently warm and thus
to dry it thoroughly.
- 27.07.2021: Continued work on the repair of <Korn>. We also noticed
the bell of the cornet got smashed quite a bit. This cannot be the result
of the innundation however. It must have been mistreated somewhere by someone...
After cleaning the hub board we could bring it to live again. So it survived
the catastrophe. The same revealed true for the dsPIC board for the membrane
driver and the horizontal steppermotor controller.
- 30.07.2021- 23.08.2021: Apparently the motor for the horizontal movement
is not quite healed. We can loosen it with heavy pliers, but after a day or
so it always gets stuck again.
- 24.08.2021: We removed the stepping motor and disassembled it completely.
Internally it was all wet, and this more than a month after the innundations
in Luxemburg. The stator and the anchor were found rusted strongly together.
Trying to repair it by carefully taking all parts apart and thoroughly cleaning
and repolishing of the poles. Here are some pictures of the disassembled stapper
and under mounting plate:
Upper mounting plate:
After assembling again and mounting it in place on <Korn>, the motor
passed all tests again. We expect it to be fully repaired now. The whole repair
procedure took us nevertheless about five hours.
14.05.2022: <Korn> up and working, controlled by our 22GHz radar systems,
in Rennes, France.
- 22.07.2023: <Korn> returned safely and in good shape from the tango
production at the Ghent Feasts yesterday.
- 14.09.2023: <Korn> on the road with the robot orchestra for the Zeroth
Law production by Gamut Inc. at the Deutsche Oper Berlin.
- 02.10.2023: <Korn> returned healty and well from its trip to Berlin.
Last update: 2023-10-11
by Godfried-Willem Raes
The following information is not intended for the general public, but is essential
for maintenance and servicing of the robot.
Technical drawings, specs and
The moving upper part can be taken out of the base. First loosen the set screws
on the dented wheel as well as on the ring under the base plate, then pull the
rod out vertically. As an alternative one can also loosen the upper ball bearing
(two M6 bolts) and take out the vertical mechanism. This however requires realignment
of the ball bearing. Then, disconnect the large black rectangular connector.
The wiring is drawn below:
Horizontal Stepping Motor: Sanyo Denko Co. LTD, Step-Syn, type 103-820-2 (IBM
P/N 2526734) DC 4.5 V - 1.4 A, 2 degrees/step. Lot NR. 7749. Asmaat: 9.5 mm.
Drive belt: Gates, Powergrip 180XL.
Vertical Stepping Motor: ASMO, Type 865100-0110 Part number AX020009A, 4 phase,
100 Ohms/winding. Operating voltage: 24 V. Wire colors: white blue black, yellow
orange white. This component was recycled from an old Japanese photocopier.
Asmaat: 6mm, met wormwielvertraging.
MOSFET's: IRL640: Specs: 17 A / 200 V, logic level mosfet. (Ug = 5 V). No cooling
applied. IRLZ44N can be used as an alternative.
Solenoid type used for the valve pushers: Lucas Ledex (now distributed by Saia-Burgess)
STA type 195207-228 (13.8 V DC @ 100% duty), 10 Watt, 7.8 N @ 5mm with 60 degree
plungers. 26 mm diameter, height 52 mm. The required anchor displacement for
the cornet pistons is 16 mm.
Note on the push tubular solenoids used to activate the pistons:
The following specs are valid at 20 degrees Celsius. Maximum holding force
is 29 N
17.78 mm in 41 ms
2 N starting force
|2.54 mm @ 10 N
max. ON-time: 470"
17.78 mm in 32 ms
3 N starting force
|2.54 mm @ 18 N
max. ON-time: 120"
17.78 mm in 22 ms
9 N starting force
|2.54 mm @ 27 N
max. ON-time: 32"
17.78 mm in 15 ms
12 N starting force
|2.54 mm @ 40 N
These solenoids may not deliver enough starting force to start the valve movement.
Therefore we could switch them in series with a 14.3 Ohm resistor (10 Watt)
and have a 2200 microfarad electrolytic over them. When we feed the solenoids
from a 24 V supply, the solenoids when firing will see a voltage of 24 V across
them for a time RC= 42 ms, enough to start the movement with a force of about
5 Newton. When energized, the voltage drops to 14 V, enough to hold the valves
pressed down. This was the approach as used in the original design for <So>.
As an alternative, our design for pulse-hold solenoid drivers may be used here.
This was the approach in <Bono>. This approach necessitates a bipolar
power supply. The positive hold voltage can be reduced to 10 V, the negative
velo-pulse voltage should be between 24 V and 36 V. Using this board, the final
circuit becomes a lot smaller than if we used the capacitor discharge circuit.
Motor-compressor driver: taken from power horn, made in Taiwan for Realistic,
type 40-1236C, rated 8 Ohms, 8 Watt.
Ball bearings: Blok Polyamide NR. 1060.225.00 (cost: 43 Euro a piece, 01.2008
Proximity sensors: Pepperl+Fuchs, NJ2-V3-N
Tilt sensor: Penny+Giles STT280/60/P2 (Datasheet: STT
Specifications for the PIC microcode for <Korn>.
Valve lookup tables for <Korn> (according
to acoustic theory)
Modular 230 V ac to 5 V / 1 A DC linear convertor. (microprocessor and logic
XP Power module: ECL25US09-E, 9 V / 2.8 A output. (3.64 A peak), for the horizontal
motor driver. [removed 28.10.2010]
Toroidal transformer 230 V - 2 x 22 V, 30 VA (Arabel EK3022)
Toroidal transformer: 220 V with two secondary 12 V windings rated 5 A each.
Wiring & circuit details midihub board:
One super bright 1 W blue LED was used in the first version of this robot.
It is mapped on midi note 125 and controlled by the velo/hold PIC board. These
LED's should be cooled and driven with a constant current limited to 350 mA.
One of the following circuits -using cheap standard TO220 regulators- was to
be used in this robot:
Due to -probably- a spike in the power supply, the LED circuit at some point
short after its installation gave up functioning properly and instead of just
passing away, it showed a very erratic behavior: becoming fully conductive (with
very short current spikes of far over 20 A) and opening up again. This caused
such heavy spikes on the ground lines, that it was the origin of erratic behavior
of the PIC microcontroller. Thus we replaced the circuit with a much simpler
assembly of two times three bright blue LED's connected in series with a 301
Ohms resistor. The total current at 12 V now is only 22 mA. Voltage drop over
each of the blue LED's is 2.9 V.
High precision wide frequency range MCE toroidal multitap transformer. Type
nr. MCE E217T3F; Order number: 10018709, recycled from an American military
Builder: Melchior De Vries, Lier. The instrument was made -unfortunately, for
we have an inborn hate for just about anything military- for the belgian armee.
It is marked BS (this is short for Belgische Strijdmacht) an carries the number
K.F.F.K. 14. We have no indication as to the year of construction, but since
the tuning conforms to A=440, we suspect it was made after 1939.
Beauchamp, J.W. "Analysis and Synthesis of Cornet Tones Using Nonlinear
Interharmonic Relationships". In: j-aes, volume 23, number 10, pages 778--795,
Beauchamp, J.W., "Analysis of Simultaneous Mouthpiece and Output Waveforms
of Wind Instruments" . In: j-aes, 1980, Preprint No. 1626,
Benade, Arthur .H., "Fundamentals of Musical Acoustics". Ed.: Oxford
University Press, 1976.
Fletcher, N.H. & Tarnopolsky, A. "Blowing pressure power and spectrum
in trumpet playing" In: J. Acoust. Soc. Am., volume 105, number 2, part
Martin, Daniel W., "Lip vibrations in a Cornet Mouthpiece", In: J.Acoust.Soc.Am.
vol13 . 1942
National Semiconductor, LM18298 Dual Full-Bridge
Driver, datasheet. April 1992
Raes, Godfried-Willem, "Kursus Akoestiek", Ghent University College
1982/2014, Internet: http://www.logosfoundation.org/kursus/4023.html
Raes, Godfried-Willem, "Expression
control in musical automates", 1977/2023,
Smith, Bob H., "An Investigation of the Air Chamber of Horn Type Loudspeakers",
in: The Journal of the Acoustical Society of America 25, 305-312 (1953); https://doi.org/10.1121/1.1907038
Robody Pictures with <Korn>: