Die Orgel ist fertig!

Ja, wir glauben es selbst nicht: die Orgel ist fertig! In einer dramatischen Nacht-und-Nebel-Aktion am 4. Oktober 2024 haben wir die letzten Arbeiten getan und die Orgel in Betrieb genommen.

Hier gibt es ein paar Bilder zu sehen. Mal sehen, ob wir noch einen Film machen und bei Juhtub einstellen.

von unten noch oben:

  • Gebläse
  • Windladenverschluss
  • Zuluft Windlade
  • Orgel

Die Lade funktioniert.

Am letzten Tag des Mai 24 haben wir nun endlich den ersten Versuch mit der Orgel gestartet. Es funktioniert! Jetzt muss nur noch das Gestell der Orgel sicher im Tempel befestigt werden und die Pfeifen ein wenig optimiert werden.

mai
2024

Die Windlade ist fertig

Kurz vor Ostern 24 haben wir die Windlade fertich gekricht. Die Servos sind eingebaut, die Kabel liegen und sind mit dem Steuerbaustein verbunden, die Ventilklappen sind eingebaut und ausgerichtet.

Und: Es funktioniert!

Nun fehlen nur noch die Pfeifen, der Wind, der ...

mar
2024

Die Arbeit geht weiter - endlich!

Nach längerer Zeit passiert wieder etwas an der Orgel. Die Windlade wird vervollständigt.

Fummelei - nicht was ihr denkt - ist nun an der Tagesordnung. Schräubchen, so groß wie ein Bärtierchen (Tardigrada), müssen geschraubt werden. In völliger Dunkelheit setzen wir Teile zusammen, die unsichtbar sind. Technische Probleme, die einen Mondflug wie eine Kindergeburtstagsparty erscheinen lassen, werden am laufenden Band gelöst.

Servohalter

Der Servohalter ist komplett und wird eingeleimt.

Die Servos

Hier kann man die Servos sehen, welche später die Ventile ansteuern.

06
MÄR
2024

Der Federstock wird installiert

Wie zu sehen ist, sitzen die Federn, welche die Ventile schließen, auf einer Konstruktion, die die genaue Justierung der Federn ermöglicht. Nicht zu sehen sind die vielen unsichtbaren Teile, die wir im Dunkeln schon eingebaut haben.

17
JUN
2022

Es geht voran! Windlade

Boris und Wladimir - die Fachwindladenfachleute. Boris - Windladenaufsicht (gem. DÜN ESO 17772) und Wladimir - Windladenfachmann (gem. DON ESO 17772, Teil 2) sind nun einen Schritt weiter. Seht selbst!

2Iam
022
Null5

Das Projekt selbstspielende Orgel ist umgezogen.

Neue Seite - neue Farbe!

Unser Projekt ist von "Gemeinsame Werke" auf eine eigene Seite umgezogen. So wird es etwas übersichtlicher.

Boris und Wladimir haben sich eine alte Orgel angesehen. Nun wissen sie besser Bescheid über Schöpfbälge, Pfeifenstöcke und Hinterhauptsfontanellen.

Das Projekt geht weiter...

Unser neues Projekt: die selbstspielende Orgel

Ja, für eine selbstspielende Orgel benötig man so manches: Holz, Blech, Luft, Elektronik und gute Ideen. Was man aber nicht braucht ist ein Orgelspieler. So haben wir uns überlegt, bevor wir das Orgelspiel erlernen, bauen wir eine Orgel, die sich selbst spielt.

Tja, jetzt fängt die schöne Orgel endlich mal an zu überlegen...

Eine Windlade

Eine richtige Orgel braucht insgesamt so viel Wind, dass der nicht so einfach in einen Einkaufsbeutel passt. Am besten, so haben wir herausgefunden, ist ein Kasten. Der Tradition folgend, haben wir ihn Windlade genannt. Jo, er findet den Namen gut.

Ein Plan

Ohne Plan ist alles nichts wert. Da ja unsere Orgel später Millionen einspielen soll, muss sie etwas wert sein. Also Plan gezeichnet, fertich.

Ein Experiment

Wir sprechen uns konsequent dagegen aus, ohne wissenschaftliche Erkenntnisse solch komplexe Kunst wie eine Zufallsorgel zu bauen.

Spätestgotik

Ein Gegenbild unserer Gesellschaft: die Pfeifen fehlen noch. Aber Geduld, es wird schon noch!

Die Qualität

Nur von besten Materialien wollen wir nehmen, wenn unsere zufällige Millionenorgel in die Fertigung überführt wird. Edle Fichte, quantuteenfreier Holzkleber, Stahlschrauben aus Bodenhaltung - so sieht unser Materialkonzept aus.
 

Der Heiteck

Da wir nicht wirklich zaubern können, müssen wir so tun als ob. Die lustigen kleinen Dinger aus dem Reich der Mitte werden eine lustige kleine Rolle spielen.

Funktionsmodell der Windlade

Die Windlade muss ausgedacht und getestet werden.

Das Orgelventil wird per Servo geöffnet, eine Feder schließt das Ventil.

Aufbau

Hier ist der Testaufbau mit Servo, Ventil, Feder und Steuer-Microcomputer zu sehen. Weiter oben gibt es einen Knopf zu einem Video, auf dem das Modell in Aktion zu sehen ist.

22 ÄzMr
0320

Die Windlade ist kein Windladen

Unser Projekt geht weiter. Ein Funktionsmodell ist gebaut worden. Es tut das, was man von einem Funktionsmodell erwartet - es sieht einfach umwerfend aus und, kleiner Nebeneffekt, funktioniert.

Die Mühen der Gebirge liegen nun hinter uns, vor uns liegen die Mühen der Ebenen. B. B. hätte uns hier nicht weiterhelfen können, er war kein ausgewiesener Spezialit für Fertigungsfragen beim Orgelbau.

Hier ist für die Fans der Werkstofftechnik zu sehen, wie die Steuerung für die wilde Orgel gedacht ist. Ein Arduino-Baustein mit einer zweiten Platine, die sie Ansteuerung der 5 Servos übernimmt. Die Programmierung erfolgt in einem C+-Dialekt. Mal sehen, ob wir den Code hier veröffentlichen.

Der Code für den Arduino

Stand: 10.04.2022 (Monitorvariablen habe ich mal weggelassen)

#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>

Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();
// Endstellungen der Servos werden jetzt festgelegt
int servoStart = 150;
int servoEnd = 250;
int servoNumber;
bool servoLevel01, servoLevel02, servoLevel03, servoLevel04, servoLevel05;

// Zählervariable für Schleifenduchlauf für jeden Servo
int zaehlerServo01; //Schleifenzähler Servo01
int zaehlerServo02; //Schleifenzähler Servo02
int zaehlerServo03; //Schleifenzähler Servo03
int zaehlerServo04; //Schleifenzähler Servo04
int zaehlerServo05; //Schleifenzähler Servo05

// Variable für die Festlegung der zufälligen Anzahl Schleifendurchläufe
int randMin;
int randMax;

// Zyklenanzahl für die Schleifendurchläufe
int zyklenServo01; //Anzahl Programmdurchläufe, bis Servo01 geschaltet wird
int zyklenServo02; //Anzahl Programmdurchläufe, bis Servo02 geschaltet wird
int zyklenServo03; //Anzahl Programmdurchläufe, bis Servo03 geschaltet wird
int zyklenServo04; //Anzahl Programmdurchläufe, bis Servo04 geschaltet wird
int zyklenServo05; //Anzahl Programmdurchläufe, bis Servo05 geschaltet wird

void setup() {
 Serial.begin(9600);
 pwm.begin();
 pwm.setPWMFreq(61);
 pwm.setPWM(1, 0, servoEnd);
 servoLevel01 = false;
 pwm.setPWM(2, 0, servoEnd);
 servoLevel02 = false; 
 pwm.setPWM(3, 0, servoEnd);
 servoLevel03 = false;
 pwm.setPWM(4, 0, servoEnd);
 servoLevel04 = false; 
 pwm.setPWM(5, 0, servoEnd);
 servoLevel05 = false;

 // randMin und randMax werden festgelegt
 randMin = 5;
 randMax = 100;
}
void servoSchalten (int sNumber, bool sLevel) {               //Funktion: schaltet den übergebenen Servo in den anderen Zustand
 
 if (sLevel) {                                               // begin if
   pwm.setPWM(sNumber, 0, servoEnd);
   
 }                                                           // end if

 else {                                                      // begin else
   pwm.setPWM(sNumber, 0, servoStart);
 }                                                           // end else
}                                                             // end servoSchalten


void loop() {
 
 // Schleife für Servo01 wird durchlaufen
 if (zaehlerServo01 == zyklenServo01) {servoSchalten(1, servoLevel01); servoLevel01 = !servoLevel01; zaehlerServo01 = 0; zyklenServo01 = random(randMin, randMax);}
 zaehlerServo01 = zaehlerServo01 + 1;
 
 // Schleife für Servo02 wird durchlaufen
 if (zaehlerServo02 == zyklenServo02) {servoSchalten(2, servoLevel02); servoLevel02 = !servoLevel02; zaehlerServo02 = 0; zyklenServo02 = random(randMin, randMax);}
 zaehlerServo02 = zaehlerServo02 + 1; 
 
  // Schleife für Servo03 wird durchlaufen
 if (zaehlerServo03 == zyklenServo03) {servoSchalten(3, servoLevel03); servoLevel03 = !servoLevel03; zaehlerServo03 = 0; zyklenServo03 = random(randMin, randMax);}
 zaehlerServo03 = zaehlerServo03 + 1; 
 
 // Schleife für Servo04 wird durchlaufen
 if (zaehlerServo04 == zyklenServo04) {servoSchalten(4, servoLevel04); servoLevel04 = !servoLevel04; zaehlerServo04 = 0; zyklenServo04 = random(randMin, randMax);}
 zaehlerServo04 = zaehlerServo04 + 1;
 
 // Schleife für Servo05 wird durchlaufen
 if (zaehlerServo05 == zyklenServo05) {servoSchalten(5, servoLevel05); servoLevel05 = !servoLevel05; zaehlerServo05 = 0; zyklenServo05 = random(randMin, randMax);}
 zaehlerServo05 = zaehlerServo05 + 1;
}
 

Wir benötigen Ihre Zustimmung zum Laden der Übersetzungen

Wir nutzen einen Drittanbieter-Service, um den Inhalt der Website zu übersetzen, der möglicherweise Daten über Ihre Aktivitäten sammelt. Bitte überprüfen Sie die Details in der Datenschutzerklärung und akzeptieren Sie den Dienst, um die Übersetzungen zu sehen.