<BalMec:>

<Bello>


<Prop1>, <Prop2>, <Prop3> :three remote controlled large airplane propellers

<Bello>: remote controlled industrial electric bells

<Balsi>: motor driven siren

for Ballet Mecanique , George Antheil

by

Godfried-Willem Raes

in part commissioned by the Ictus ensemble

2014-2017


 

Automated Electric bells <Bello>:

Apart from getting the bells and tuning them, this is the easiest problem to solve. After all, we designed our 'Bellenorgel' already back in 1972... Other than what the publisher states (7 different sized bells required) the score prescribes pitches, notated in the treble staff, and more than 7 bells. Occuring pitches in the score are: 69, 73,76, 77,78,79,80, 81, 82, 83. This makes 10 bells, not seven! For the construction of this automaton we generalized the concept such that we could offer a more continuous range of pitches. Finding suitable industrial electric bells was not a trivial matter. Moreover, the mechanism of the bells we got from Infrabel (Funke and Friedland) have a mechanism using a spring such that the actual hitting of the bell happens at the release of the electric pulse driving it. This has quite some implications for the firmware to drive these mechanisms. Obviously if the pulse lenghts get longer than 10ms, there would be a noticable latency. The tuning of the bells is possible using a regular column drill and a clamped file. The ideal tool for doing this is a vertical lathe, but not too many people do have such equipment available... The rules are clarified in this little drawing: The range for tuning is pretty limited. Lowering the pitch can be done up to a semitone. If you go lower, the sound volume will suffer as the material gets too thin. Raising the pitch can be done up to a minor third. Welding on the rim of shell bells made of steel or stainless steel never gives good results. The bell looses all resonance because of the unavoidable deformation of the shape.

The huh board we designed looks like: The PCB's for the pulse boards - each board serves 12 bells - looks like:

The power supply, providing a range of different voltages as required for the different bell mechanisms is of an utmost simplicity: As a continuous current is never drawn in this machine, it's enough to provide large enough capacitors.

The note mapping for <Bello> is given under 'midi implementation' further below. The notes indicated as missing may be added at a later stage, when we can find suitable dome bells. For the notes 62, 63 and 66 we used U-shaped pieces of steel tuned to the right pitches. These bells have different sonic qualities as they are not real dome bells. Users of our robot orchestra that are really in need of the missing lower bells, can use the bells on our <Llor> and/or <Belly> robots. For an alternative F# (note 66) the <Harma> robot includes this one as well. Note that this robot uses mostly bells from very different origins and of very different composition, hence their sonic qualities are very different. It was not our intention to create a homogenous instrument in terms of sound color.

The mapping of midi key pressure commands on note repetition frequency is given in the following table:

MIDI key pressure value Frequency (Hz) Period duration in 24µs units

1

.999992000063999

41667

2

1.06659840436879

39065

3

1.1015350993144

37826

4

1.13762536631537

36626

5

1.17490036844876

35464

6

1.21339196443305

34339

7

1.25317052141919

33249

8

1.29419682145261

32195

9

1.3366267817235

31173

10

1.38042229878964

30184

11

1.42562242675152

29227

12

1.47237240420745

28299

13

1.52057027467581

27402

14

1.57043067490829

26532

15

1.62183903571938

25691

16

1.67497454038699

24876

17

1.72991225885023

24086

18

1.78658205414058

23322

19

1.84512738759484

22582

20

1.90554590078966

21866

21

1.96800806096102

21172

22

2.03242118270653

20501

23

2.09907640638119

19850

24

2.16788067984738

19220

25

2.23881933623484

18611

26

2.31224565297817

18020

27

2.38791143714062

17449

28

2.4662128834961

16895

29

2.54701795138252

16359

30

2.63047138047138

15840

31

2.71656452384057

15338

32

2.80564720669764

14851

33

2.89754288363468

14380

34

2.99243512400651

13924

35

3.09054047371804

13482

36

3.19186966957765

13054

37

3.2964135021097

12640

38

3.40441757224174

12239

39

3.51587770370995

11851

40

3.63108206245461

11475

41

3.750037500375

11111

42

3.87308669517258

10758

43

3.99987200409587

10417

44

4.13113887236433

10086

45

4.26650283295788

9766

46

4.40590744069648

9457

47

4.55025299406647

9157

48

4.69960147379502

8866

49

4.8534265191225

8585

50

5.01222984081158

8313

51

5.17662649604506

8049

52

5.34667864322683

7793

53

5.52168919515858

7546

54

5.70229460334839

7307

55

5.88928150765606

7075

56

6.08183720138179

6851

57

6.28172269963315

6633

58

6.48710363796772

6423

59

6.69989816154794

6219

60

6.91907450459426

6022

61

7.14571542902875

5831

62

7.37985594521195

5646

63

7.62148649472593

5467

64

7.87203224384407

5293

65

8.13008130081301

5125

66

8.39545973537511

4963

67

8.67152271938952

4805

68

8.95479618883874

4653

69

9.24898261191269

4505

70

9.55219318355494

4362

71

9.86426767676768

4224

72

10.1874490627547

4090

73

10.5218855218855

3960

74

10.867675186924

3834

75

11.2218331986713

3713

76

11.5901715345387

3595

77

11.969740496026

3481

78

12.3603282903194

3371

79

12.765522875817

3264

80

13.1856540084388

3160

81

13.6165577342048

3060

82

14.0623242209472

2963

83

14.523062623446

2869

84

14.9988000959923

2778

85

15.4894671623296

2690

86

16.0010240655402

2604

87

16.5212794078773

2522

88

17.0625170625171

2442

89

17.6254935138184

2364

90

18.202999854376

2289

91

18.7941662907833

2217

92

19.4159676918298

2146

93

20.0513314084055

2078

94

20.7090788601723

2012

95

21.3894592744695

1948

96

22.0809044338456

1887

97

22.8060572888159

1827

98

23.5537968720558

1769

99

24.3237984043588

1713

100

25.1306795335746

1658

101

25.9443752594438

1606

102

26.7952840300107

1555

103

27.6854928017719

1505

104

28.5779606767261

1458

105

29.5298842428538

1411

106

30.480370641307

1367

107

31.4940791131267

1323

108

32.5266718709342

1281

109

33.5750738651625

1241

110

34.6933111296142

1201

111

35.8268844941244

1163

112

37.00414446418

1126

113

38.1912618392912

1091

114

39.4570707070707

1056

115

40.7697325505545

1022

116

42.0875420875421

990

117

43.4480361487661

959

118

44.8994252873563

928

119

46.347793845013

899

120

47.8927203065134

870

121

49.4266508501384

843

122

51.062091503268

816

123

52.7426160337553

790

124

54.4662309368192

765

125

56.2303193882141

741

126

58.1125058112506

717

127

60.0384245917387

694

Note that it is very important to decrease the velocity values as the note repeat frequencies are increased. Not only will the bells not sound properly, but moreover, there is a high risk of burning out the coils. The safe maximum value for keypressure is 106. This value guarantees the duty cycle to be lower than 50%. However, users should not consider this to be the optimum value. At high repetition rates, the lowest possible velocity values generally sound best. The highest possible repetition rate corresponds to that of a 60 Hz American AC driven alarmbell. European AC driven alarmbells sound at 50Hz. Ordinary AC/DC bells using an interruptor mechanism have much lower repetition rates. Modern bells have faster repetition rates (due to their lighter construction) than antique ones. For quite a few 19th century electric bells, we measured repetition rates as low as 4 Hz under normal operating conditions.


Midi implementation:

  • Channel 13
  • Note-on commands: the velocity byte steers the force wherewith the bells are struck:
  • Note-Off or Note-on with velo = 0 turns the bell off
  • Key-pressure commands are used to set the repetition speed of the bell strokes. These repetition speeds (cfr. table above) are individually programmable for each bell. When set to zero, the bells will not repeat but produce a single stroke. Note that the keypressure commands are sticky and are memorised for each note.
  • The two red lights in front are mapped on notes 126 and 127, the velocity byte steers the flashing speed.
  • The red light underneath the front is mapped on note 119, the velocity byte steers the brightness.
  • Controller 30: This controller can be used to set all the repeat frequencies to one and the same value for all bells. It is a quick way to set the repetitions rates and an alternative for the key-pressure commands. However, the time between sending this controller many times should be kept reasonably long, as it requires reprogramming of all lookup tables in the firmware. It is advised to send this controller at a time when no bells are sounding. If this is not done, glitches and irregular performance may become audible. Note repetition rate is controlled by the parameter value. To switch repetition off, a zero value should be send.
  • Controller 66: enables (>0) or disables (=0) bell operations. CC66 = 0 resets all keypressure values to zero.
  • Controller 123: all notes off, stops all bells, preserving the key pressure values and thus the repetition rates..

Note: if the robot is left switched on, it will automatically reset all repeat values and switch all notes off after 7 hours of operation.

 

Music composed for <Bello>:

Godfried-Willem Raes 'Namuda Study #53: Bello', premiered April 22nd 2015 by Dominica Eyckmans and the author. Performed again with Emilie De Vlam 09.2017.

George Antheil 'Ballet Mechanique', premiered with <Bello> and the propellers, May 3th 2015, Flanders Festival Zwevegem / Kortrijk.

Godfried-Willem Raes 'Onmogelijk', a namuda dance production (21,22,23.07.2015) [also uses the propellers]

Kristof Lauwers 'Study #24', for <Bello>

Orchestrations make use of <Bello>:

Erik Satie, 'Relache' (Orchestrated by Xavier Verhelst, 2017)

 

Technical specifications <Bello>:


<Balsi>: Large motor driven siren

The instructions in the score render it impossible to use a standard crank driven siren, as it is detrimental to the gears in these devices to be started and stopped fast. So an electrically driven mechanical siren with safe braking possibilities or fast sound control has to be designed. The score is very unclear as to the pitches the sirens are supposed to sound. In the score they appear notated as percussion instruments. We made already a few siren driven robots: <Sire> , a robot using 24 small sirens as well as the large siren integrated in <Springers>.

The documentation for <Balsi> is on a separate webpage. Click here.



Player Pianos:

The original score requires 16 player piano's, although there are only four autonomous tracks. The reason behind this, is that on traditional piano rolls, it is impossible to have that amount of notes as the paper would fall into pieces. Obviously electrically driven automated pianos do not have this restriction making performances using just 4 player pianos perfectly possible. All performances so far if using player pianos (and not sample-based midi keyboards with their uggly sound...) at all, suffered from the problems associated with commercially available midi controlled pianos: latency (500ms),  lack of polyphony, weak dynamic possibilities.  This is the case for the Yamaha Disklavier, the Q&R vorsetzers etc...  The player pianos as we designed and build do not have any of these problems. Detailed descriptions and comments on our Player Piano's can be found on this website. The only problem is that at the time of this writing (2015) we made only two copies. So either we have to make two more vorsetzers, or rearrange the score to get it played on the two pianos we already have.

Musicians parts:

The score calls furthermore for three xylophones, two grand pianos, a tamtam, four bass drums. It is perfectly possible to also confine these parts to real musical robots. Our <Xy> robot can take care of the xylophone parts. Automating the bass drums and a tamtam would be pretty straightforward...


Midi Implementation for all components of <Balmec>

The Balmec project was conceived to work like all other musical robots we have built. Hence it makes use of one unique midi-channel and all components of the project are mapped on midi notes and controllers.

Midi channel: 13 (counting from 0) for all modules.

Note On/Off mapping:

Note 24: Siren. The maximum speed is controlled by controller #24. Note-On commands let the siren speak freely, Note-Off commands mute the siren. To stop the siren motor, controller 24 must be set to zero.

Note 36: propeller 3 (large metal propeller). The speed of rotation is controlled by the velocity byte
Note 38: propeller 2 (large wood propeller). The speed of rotation is controlled by the velocity byte
Note 40: propeller 1 (small propeller). The speed of rotation is controlled by the velocity byte

Notes 51 - 93: Electric bells on <Bello>.  The velocity byte steers the loudness (the force of the stroke) and repetition rate can be controlled with the key pressure command. The repetition speed set with the key pressure command is 'sticky', so users do not have to send it again for every note. The key pressure command can also be sent when no notes are playing. If the repetition rates are set high, low velocity values ought to be used.

Note 119: switch on/off the red LED bottom lights on <Bello>. The velocity steers the brightness of the light.

Notes 120 and 121 switch on/off the red LED spotlights on propeller 1. The velocity steers the speed of the flashing. Keypressure can be used to further modulate the flashing speed.

Notes 122 and 123 switch on/off the red LED spotlights on propeller 2. The velocity steers the speed of the flashing. Keypressure can be used to further modulate the flashing speed.

Notes 124 and 125 switch on/off the red LED spotlights on propeller 3. The velocity steers the speed of the flashing. Keypressure can be used to further modulate the flashing speed.

Notes 126 and 127 switch on/off the red LED spotlights on <Bello>. The velocity steers the speed of the flashing. Keypressure can be used to further modulate the flashing speed.

Controller 66: Switches off all components when the data byte is zero. If a non-zero value is sent, the components are powered on. Controller 66 with value zero also resets all controllers to their default startup values.It also resets the note-repetion rates on <Bello>.

Controller 123: All notes off, without affecting any controllers nor key-pressure settings.

Prof.dr.Godfried-Willem Raes

Collaborators on this project:

 


Cost calculation for <Bello>

<Bello>: Electric Bells:

Materials:

Siemens AC bell
180
Microcontroller pulse boards (3)
420
Midi-hub board (new design)
250
Power supply
145
Nickelled bronze shell
75
Stainless steel shells
102
Bronze bell
10
Cutting and grinding disks
25
Bolts and nuts (M3, M4, M5, M6, M8, M10, M12)
80
Brass tubing
10
Spoke wheels 400 mm diameter (2)
220
Polyurethane wheels (2)
88
Stainless steel AISI 304
132
Fire alarm bell (Farnell)
40
Ailibaba bells (China)
140
Brass bell (flea market)
35
Insulation transformer EDR2115 TI 160, Erea
82
Erea Halogen transformer 250 VA, 12V
92
24V transformer 120 VA
72
RAL 3000 spray enamel
13
12 mm axle
10
LED spotlights, red (2)
22
Bell mechanisms 24V
90
Blacknight 12V tubular solenoid
35
Bottom LED lights
33
Eye bolts, stainless steel, M12 DIN580
62
Steel profile 100 x 50 x 3
65
Cobalt drill bits
135
Bronze bell note 68
80
sum
2743

Labor:
 

Inventarizing bells and testing
1 day
350
Stainless steel welding works 2 days
700
Bell mounting and assembly 3 days
1050
PCB design: hub board and pulse board 1 1 day
350
Bottom row, welding and mounting.
1 day
350
Mounting 1 day
350
Power supply wiring 1 day
350
Wiring of bells 2 days
700
PCB pulse boards 2 and 3 1 day
350
PIC controller firmware (4 processors) 4 days
1400
Testing,alligning and debugging 3 days
1050
Construction of the low row of eight bells 2 days
700
Mounting of wheels on the base, welding of the top eye bolt, mounting of the side eye bolts. 2 days
700
Construction of a bell for note 66 (F#) 1 day
350
Construction of bells for notes 62 and 63 1 day
350
Construction of bell for note 68 1 day
350
Revision of firmware in new compiler 10 days
3500
sum  
12600

Endsum: 15.343

TO DO:



Parts, technical specifications and maintenance notes:

Electric Bells:
We still had a few industrial electric bells in stock from earlier projects. Thanks to Infrabel, we got a bunch of used bells (two types: Friedland and Funke) from the railway. This is an inventary of what could be done, with some retuning of bell domes: Since we had many bells sounding the same pitch (for some reason, note 77 seems to have the highest popularity...), we used their mechanism on shells with different pitches. Antheil's score gives no further detail as to the type of bell. AC bells, in the US, would produce a repetition rate of 60Hz but with DC bells, using an interruptor, it completely depends on the resonance of the mechanical construction.

Bell pitch required after the score Nominal Voltage Current RMS

DC coil resistance

ac/dc PIC board Brand remarks sound quality
51/73/79 - 220 V 12 mA   ac 1.12 Siemens logos stock fair
57/69/83 - 110 V 0.4 A 259 Ohm ac 1.10 China Bell Chinese alarm bell excellent
60/73 - 110 V 0.4 A 259 Ohm ac 1.9 China Bell Chinese alarm bell excellent
61/78 - 12 V 0.7 A 9 Ohm ac hub.1 Friedland mechanism steel shell fair
62 - 12 V 1.3 A 8.8 Ohm ac hub.2 US doorbell mechanism 6V U-shaped steel bell fair
63 - 12 V 1.3 A 8.8 Ohm ac hub.3 US doorbell mechanism 6V U-shaped steel bell fair
64/70 - 12 V 0.7 A 9 Ohm ac hub.6 Friedland mechanism stainless steel shell good
65 - 24 V 0.7 A 35 Ohm ac 1.8   brass bell good
66 - 12 V 4 A 3 Ohm ac hub.7 Friedland doorbell coil (6-12V) U-shaped steel bell fair
67 - 24 V 0.7 A 35 Ohm ac 1.7 brass bell logos stock poor
68 68 24 V 2.7 A 8.8 Ohm ac 1.6

US doorbell mec. modified 6V

cast bronze bell

excellent

69 -         1.10 Implemented on China bell 57 use bell 57  
70 - 12V 0.7A 9 Ohm ac 2.1 Friedland mechanism steel bell logos stock good
71 - 12 V 0.7 A 9 Ohm ac 2.2 Friedland (mechanism) stainless steel shell good
72 - 24V 0.7 A 35 Ohm ac 1.5 US doorbell mechanism brass dome good
73 73 12V 0.7 A 9 Ohm ac 2.4

US doorbell mechanism, mod.6V

stainless steel shell 154x2 good
74 - 12 V 0.7 A 9 Ohm ac 2.5 Friedland

Infrabel

tuned down

good
75 - 12 V 0.7 A 9 Ohm ac 2.6 Friedland Infrabel good
76 76 12 V 0.6 A 6 Ohm ac 2.7 Funke

Infrabel

tuned down

good
77 77 12 V 0.3 A 20 Ohm ac 2.8 Funke/Blacknight mechanism Infrabel good
78 78 12 V 0.7 A 9 Ohm ac 2.9 Friedland tuned up good
79 79 12 V 0.7 A 9 Ohm ac 2.10 Friedland (mechanism) stainless steel shell good
80 80 12 V 0.6 A 6 Ohm ac 2.11

Funke (mechanism)

Green shell weak
81 81 12 V 0.7 A 9 Ohm ac 2.12 Friedland mechanism, Funke bell, cut off tuned up from 77 to 81 good
82 82 12V 0.7A 9 Ohm ac 3.1 Friedland (mechanism) cast brass bell good
83 83 12 V 0.7A 9 Ohm ac 3.2 Friedland (mechanism) cast brass bell weak
84   12 V 0.7 A 9 Ohm ac 3.3 Friedland (mechanism) brass bell weak
85   24 V 0.7 A 35 Ohm ac 1.4 US doorbell, unmodified logos stock poor
86   12 V 0.7 A 9 Ohm ac 3.4 Friedland (mechanism) cast aluminum excellent
87   24 V 0.7 A 35 Ohm ac 1.3 US doorbell (mechanism) stainless steel dome good
88   24 V 0.7 A 35 Ohm ac 1.2 US doorbell (mechanism) stainless steel cilinder good
89   24 V 0.7 A 35 Ohm ac 1.1 US doorbell (mechanism) cast bronze good
90   12 V 1.3 A 8.8 Ohm ac 3.5 US doorbell (mechanism, modif.6V) Aluminium dome excellent
91   12 V 1.3 A 8.8 Ohm ac 3.6 US doorbell (mechanism, 6V) stainless steel good
92   12 V 1.3 A 8.8 Ohm ac 3.7 US doorbell (mechanism, 6V) stainless steel fair
93   12 V 1.3 A 8.8 Ohm ac 3.8 US doorbell (mechanism, 6V) Cast bronze good
119   12V       3.9 LED bottom light - -
94   12 V       3.10 nc    
95           3.11 nc    
96           3.12 nc    

All bell mechanisms we used are designed for AC operation except the 24V types. Those were all converted for AC operation by removing the interruptor mechanism by us.The mechanism of the Friedland and Funke bells is such that when powered the solenoid pulls back the anchor against a heavy spring (thus building up potential energy) and at release of the voltage, the anchor flies to the bell with the force of the spring (converting the energy back to kinetic energy). At rest, the anchor almost touches the bell. Velocity control of such a mechanism implies a pulse of variable duration to the solenoid, but timed such that there is no noticable delay, as the sound is produced only at the end of the pulse. This entails the use of pretty high voltages for good velocity control. The maximum pulse lenght should be kept at ca. 10 ms. As these are AC bells, the repetition rate can be at least 50 Hz. In the original circuit, the solenoid just had a single diode in series and the assembly was powered from 12V AC directly. It will be clear that this way neither velocity control nor control of repetition rate are possible.

The hub board also serves bells 61, 62, 63, 64,66 operating on 12V as well as two lights, mapped on notes 126 and 127. The first pulse board only serves bells operating on 24V as well as those on 230V and 110V. The second and third boards serve bells operated from 12V only.

The firmware for the four microchip 18F2525 processors (Version 2.1) can be found here:

 

Spoke wheels: 400mm diameter, 60mm deep. Polyurethane tires.

Side wheels: pivoting, 180mm wheel diameter, building heigth 190mm.


Logbook:


Order numbers spare parts and special (harder to find...) components:


Last update:2017-10-09