Midifizierung eines Hammond Vollpedals

  • Ersteller captaincoconut
  • Erstellt am
captaincoconut
captaincoconut
Registrierter Benutzer
Zuletzt hier
01.11.24
Registriert
06.06.19
Beiträge
166
Kekse
5.266
Tach,
wer auch im Hammond Unterforum unterwegs ist, hat vielleicht meinen Thread gesehen, in welchem ich nach einer geeigneten Orgelbank zum Einsatz mit einem Vollpedal gefragt hatte. Nach dem freundlichen Hinweis von @stefan64 konnte ich für vergleichsweise kleines Geld eine gebrauchte Orgelbank einer Hammond A100 erwerben. Passenderweise hatte der Verkäufer auch noch das Vollpedal der selben A100 im Angebot, sodass ich dieses ebenfalls gleich mitgenommen habe. Zwar war ursprünglich der Kauf eines Viscount Legend Pedalboards geplant, aber aufgrund des exorbitant hohen Preises (na ja immer noch günstiger als ein neues Hammond Vollpedal) habe ich mich entschieden das alte Vollpedal zu kaufen und einfach selbst mit Midi auszustatten. Dieser Thread soll das so ein bisschen dokumentieren, vielleicht interessiert's ja jemanden...

1. Features
Das Pedal soll primär mit meiner Crumar Mojo Classic verwendet werden aber auch so ausgelegt sein, dass ich es bei Bedarf mit anderen Clonewheels benutzen kann. Folgende Punkte möchte ich gerne umsetzen:
1. Schaltung mit Reed-Schaltern auf Basis eines ATmega 2560 Mikrocontrollers
2. Ich bin im Moment noch unschlüssig, ob ich das Pedal fest auf Midi-Kanal 3 senden lassen soll (Standard-Kanal für Bass bei einem Großteil aller Clonewheels) oder den Kanal umschaltbar mache. Ich tendiere zur ersten Lösung, weil ich unbedingt vermeiden möchte, einen LCD-Screen o.ä. einbauen zu müssen. Man könnte auf DIP-Schalter ausweichen, aber so richtig nötig ist das alles eigentlich nicht. Mal ein paar Nächte drüber schlafen...
3. Spannungsversorgung entweder über Power-over-Midi (unterstützt die Crumar Mojo) oder über 9-12V Netzteil.

Als Schweller soll ein Fatar FP/50 (10 kOhm) verwendet werden.

2. Pedalkasten
Den meisten Hammond Vollpedalen fehlt ein vorderer Pedalkasten, weil die Pedale einfach unten in das Orgelgehäuse geschoben werden. Dementsprechend muss ich nicht nur die elektronische Seite umsetzen, sondern auch einen neuen Pedalkasten bauen. Ich habe mich hier entschieden, den Pedalkasten zwecks Transportierbarkeit abnehmbar zu gestalten, sodass das eigentliche Pedal einfach reingeschoben bzw. herausgezogen werden kann. Das Teil wiegt schließlich so schon genug!

So sieht der Prügel übrigens aus: optisch nicht mehr ganz frisch, aber mechanisch noch absolut funktionsfähig. Wer erkennt welche Noten der Vorbesitzer am häufigsten gespielt hat? :gruebel: :ugly:

WLyhvDd.jpg


Heute habe ich jedenfalls in Autodesk Inventor eine technische Zeichnung des Kastens angefertigt, wobei ich mich hinsichtlich der Maße am hinteren Pedalkasten orientiert habe. Die obere Fräsung dient zur späteren Aufnahme der DIN-Buchse und des Netzteilanschlusses:

ufsjLS0.png


Also ab in den Baumarkt und entsprechenden Zuschnitt besorgt. Für den Boden habe ich mich für 6mm Birkenmultiplex und für alle übrigen Teile für 18mm Kiefer-Leimholz entschieden:

7TMC72W.jpg


Man sieht hier ganz gut, dass ich die vordere Leiste des Pedals noch entsprechend kürzen muss.

Next Steps
Diverse Holzarbeiten, Lasur, anschließend Elektronik.

To be continued...
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: 1 Benutzer
Howdy,
Reedschalter geht, aber da Du ja keine Velocity brauchst, würde es auch einfache Mikroschalter tun, entweder als Schliesser unter den Pedalen oder als Öffner über den Pedalen montiert, ich habe das bei meinen Presetschaltern so gelöst. Eine einfache Schaltung dafür kannst Du z.B. bei Keyboardpartner oder Doepfer finden.
Ciao,
Stefan
 
  • Gefällt mir
Reaktionen: 1 Benutzer
So sieht der Prügel übrigens aus: optisch nicht mehr ganz frisch, aber mechanisch noch absolut funktionsfähig. Wer erkennt welche Noten der Vorbesitzer am häufigsten gespielt hat? :gruebel: :ugly:

Dafür sind die ganz alten quasi unverwüstlich.
Mein Pedal einer C3 von 1953 hat z. B. noch Maschinenschrauben, mit denen die Federspannung justiert werden kann. Irgendwann hat man dann auf Holzschrauben umgestellt.

Und genau die häufig gespielten (bzw. wenig gespielten) Pedale waren der Grund dafür, warum die Spinett-Modelle nur eine Oktave im Pedal haben (und auch die gekürzten Manuale): die Erkenntnis, dass die meisten Hobby-Heimorgler mit der typischen Spielweise weder Vollpedal noch 5-Oktaven-Manuale brauchen.


Man sieht hier ganz gut, dass ich die vordere Leiste des Pedals noch entsprechend kürzen muss.

Das habe ich nicht getan (mein Pedal kann auch noch in eine Original-Orgel eingehängt werden).
Jetzt habe ich das Problem, dass das Ding unter praktisch keinen handelsüblichen Keyboard-Ständer passt...


Reedschalter geht, aber da Du ja keine Velocity brauchst, würde es auch einfache Mikroschalter tun

Ich habe auch Mikroschalter im Pedal, die seit fast 30 Jahren klaglos ihren Dienst tun. Aber sie klicken hörbar.


2. Ich bin im Moment noch unschlüssig, ob ich das Pedal fest auf Midi-Kanal 3 senden lassen soll (Standard-Kanal für Bass bei einem Großteil aller Clonewheels) oder den Kanal umschaltbar mache.

Mein Pedal sendet fix auf Kanal 1.
Hatte damals meine MIDI-Orgel auf Voce V3-Basis von unten nach oben durchnumeriert:
  • Kanal 1: Pedal
  • Kanal 2: unteres Manual
  • Kanal 3: oberes Manual
Nach diesem Muster funktioniert auch Hauptwerk (ist aber umstellbar), aber es erscheint logisch, unten bei der Basis zu beginnen. Es kommt eher später noch oben ein weiteres Manual hinzu, dann kann der Rest gleich bleiben.

Nun, mit der HX3, habe ich das Problem, dass das Pedal auf Kanal 3 sendet (und höchstens noch weiter nach oben verschoben werden kann). Kanal 1 geht nicht.

So gesehen hätte ich das im Nachhinein lieber flexibel gestaltet.
Dein Hammond-Pedal wirst Du ein Leben lang haben, die Clones wechseln irgendwann.

Viele Grüße
Torsten
 
  • Gefällt mir
Reaktionen: 1 Benutzer
1. Schaltung mit Reed-Schaltern auf Basis eines ATmega 2560 Mikrocontrollers
Ich würde dir wegen der Einfachheit zu einem Raspberry Pi Pico raten. Der Microcontroller kostet rund 6 Euro und mit einer Matrix Schaltung kannst du schnell dein Pedal abfragen. Ich habe vor einiger Zeit das gleiche mit meinem Vollpedal gemacht. Den Pi Pico programmierst du mit Python. Das eigentliche Programm zur Abfrage der Matrix hat rund 10 Zeilen Code. Zum Vergleich mit meiner Arduino Lösung waren es fast 300 :)

Du darfst dich gerne an meinem Github bedienen sofern dies für dich interessant ist.
https://github.com/ChristianHofmann/Pi-Pico-Midi/blob/main/code.py

Du musst nur noch bei row_pins und column_pins die entsprechenden Pins für deine Matrix eintragen und bei midiChannelOut den gewünschten Midi Kanal eingeben. Dann kommen die Tastencodes die in KEYCODE definiert werden per USB aus dem Controller heraus.
 
Grund: Produktbezeichnung für leichtere I-Net Suche vervollständigt
Zuletzt bearbeitet von einem Moderator:
  • Gefällt mir
Reaktionen: 1 Benutzer
Den Pi Pico programmierst du mit Python.

Hast du keine Probleme mit der Performance? Ich finde die adafruit-Libraries sind meistens suboptimal und mit wenig Rücksicht auf gute Performance gestaltet. USB-MIDI mit der Circuit-Python Library auf dem Atmel SAMD21 war z.B. m.E. nach inakzeptabel in der Performance und Latenz.

Den Pico mit den Raspberry C++ Libraries oder per Arduino-Port zu programmieren ist m.E. auch nicht viel komplizierter als Python. Zumindest wenn man nur DIN-MIDI macht. Ich setze Python ja wann immer es geht auf dem Desktop oder Raspi Pi ein, aber auf Mikrokontrollern bin ich inzwischen wieder davon abgekommen. Da braucht man m.E. oft einfach manuelles Memory-Management.

Man könnte auf DIP-Schalter ausweichen, aber so richtig nötig ist das alles eigentlich nicht. Mal ein paar Nächte drüber schlafen...

Bei einem ELKA-Pedal, das ich mal hatte, konnte man die Einstellungen verändern, in dem man beim Einschalten unterschiedliche Pedal gedrückt hat. Vielleicht wäre das eine Option, um den MIDI-Channel einzustellen. Keine zusätzliche Hardware nötig. Oder halt über SysEx.
 
Hast du keine Probleme mit der Performance? Ich finde die adafruit-Libraries sind meistens suboptimal und mit wenig Rücksicht auf gute Performance gestaltet.
Mir ist zumindest nichts aufgefallen. Habe aber natürlich keine Messungen gemacht. Ich drücke die Taste und ohne eine wahrnehmbare Verzögerung kommt der Ton. Zumindest im Kontext Sakralorgel scheint es keine spürbaren Unterschiede zu geben. Wie es bei anderen Konstellationen aussieht kann ich nicht sagen.

Auch wenn adafruit vielleicht träger ist, so hat der Pico mit einem Dual Core Prozessor doch einiges an Leistung im Vergleich zu vielen Adruinos. Das wird dann vermutlich ein Vorteil sein. Du könntest den Pico aber auch mit der Arduino IDE nutzen und Programmieren ohne Python. Diese bietet ja Support für den genutzten Chip. Nur ich selbst habe mich nicht nähe damit befasst, da ich bei Arduino für USB immer MIDIUSB nutze und genau dieses unterstützt den Pico leider nicht. Zumindest damals.
 
Ich würde dir wegen der Einfachheit zu einem Raspberry Pi Pico raten. Der Microcontroller kostet rund 6 Euro und mit einer Matrix Schaltung kannst du schnell dein Pedal abfragen. Ich habe vor einiger Zeit das gleiche mit meinem Vollpedal gemacht. Den Pi Pico programmierst du mit Python. Das eigentliche Programm zur Abfrage der Matrix hat rund 10 Zeilen Code. Zum Vergleich mit meiner Arduino Lösung waren es fast 300 :)
Ich hab hier noch zwei Mega Pro Mini Boards rumliegen. Die werden auf jeden Fall genutzt und haben auch genug I/O-Pins dass ich keine Matrix-Schaltung benutzen muss. :redface:
Bei einem ELKA-Pedal, das ich mal hatte, konnte man die Einstellungen verändern, in dem man beim Einschalten unterschiedliche Pedal gedrückt hat.
Das finde ich sehr smart gelöst, werde ich berücksichtigen.
 
Ich habe diese Woche ein bisschen an dem Projekt weitergearbeitet und mir weitere Gedanken um die Elektronik gemacht. Zwischenzeitlich sind die benötigten Reed-Schalter und schraubbare Neodym-Magnete eingetroffen. Funktioniert wie erhofft - hier habe ich es noch mit einem anderen Magneten ausprobiert...


View: https://youtube.com/shorts/h8KFX_Lb__k

Ich habe mir überlegt, wie ich die Reed-Schalter am besten in dem Pedalkasten anbringe. Viele vergleichbare DIY-Projekte fügen eine zusätzliche Holzleiste ein und kleben die Reed-Schalter dann dort fest. Da ich aber für ein paar andere Projekte sowieso noch Platinen bestellen musste, habe ich mich entschlossen die 20€ zusätzlich zu investieren und die Reed-Schalter auf einer richtigen Platine anzubringen. Das ist sicherlich die stabilste und sauberste Lösung und spart mir den lästigen Aufwand 25 Schalter zu verkabeln.

Die Platine(n) lasse ich bei JLCPCB in China herstellen. Aufgrund der vom Hersteller vorgegebenen Maximalgröße von 500 * 400mm pro Platine musste ich auf zwei verschiedene Platinen ausweichen: die erste Platine für die ersten 12 Tasten, die zweite Platine für die letzten 13 Tasten. Die beiden Platinen werden anschließend mit einem Flachbandkabel verbunden. Der Mikrocontroller wird einfach auf eine der beiden Platinen aufgesteckt.

Hier die von mir erstellten Schaltungen, die denkbar einfach sind: insgesamt 25 Reed-Schalter sind an jeweils einen digitalen I/O-Pin eines ATmega 2560 angeschlossen (ich verwende eine Pro Mini Board). Wird ein Reed-Schalter geschlossen, so liegt an dem entsprechenden Pin ein logisches High (+5V) an. Ist der Reed-Schalter offen, wird der entsprechende Pin über einen Pulldown-Widerstand auf Low-Pegel gezogen. Das Board bietet Anschluss für ein externes Netzteil (6-12V) sowie einen Midi Out-Anschluss. Die beiden äußeren Pins des Midi-Din-Steckers werden für Power-over-Midi genutzt, d.h. das Board kann auch ohne eigenes Netzteil betrieben werden. Die Crumar Mojo Classic/Suitcase stellt dafür 500mA an 5V zur Verfügung (habe ich mir vom Hersteller bestätigen lassen).

wcPDB36.png


CKR640s.png


Board 1:

PP6OLnN.png

O66sI9p.png


Board 2:
A5PiPQH.png

ree37y1.png

Das dauert jetzt ne knappe Woche bis alles da ist :hat:
 
Kurzer Zwischenstand: heute ist die Frontplatte für die Midi Out- sowie Netzteilbuchse angekommen. Ich habe diese bei schnelleschilder.de anfertigen lassen, Kostenpunkt knapp 12€, Lieferzeit 48 Stunden.

HWbpkF2.jpg
 
  • Gefällt mir
Reaktionen: 3 Benutzer
Danke für den Hinweis, das habe ich mal in die Lesezeichen aufgenommen.
Für komplexere Sachen sicherlich keine Alternative zu Schaeffer u.ä. aber eine vergleichbare Frontplatte hätte etwa bei Schaeffer gut das Doppelte gekostet.
 
Ich habe das anders gelöst: alle Kontakte (Reed) und Magnete sind auf der Pedalseite. Die normale Funktion in der Hammond bleibt erhalten.
 
  • Gefällt mir
Reaktionen: 1 Benutzer
Ich habe das anders gelöst: alle Kontakte (Reed) und Magnete sind auf der Pedalseite. Die normale Funktion in der Hammond bleibt erhalten.
Nachtrag: Ich habe die fertigen Module PEDSCAN und REED32 von midi-hardware.come ingesetzt. Allerdings verkauft er in letzter Zeit nur noch an Kunden mit EU-VAT-Nummer.
 
  • Gefällt mir
Reaktionen: 1 Benutzer
Pedalkasten
Bei dem Projekt hat sich zwischenzeitlich auch etwas getan. :) Über die vergangenen Wochen habe ich die diversen Holzarbeiten gemacht und den vorderen Pedalkasten gebaut. Und so ist der Kasten (bisher ohne Elektronik) geworden:

full


Ich habe die Seitenteile (Kiefer) verleimt und den Boden (Birkenmultiplex) angeschraubt. Anschließend habe ich mit einer Oberfräse den Deckel etwas verschönert und die Ecken abgerundet:

full


Für den Midi- und Netzteilanschluss habe ich eine Aussparung in den Deckel gefräst und anschließend die Frontplatte verschraubt:

full


Um das Expression-Pedal zu montieren, habe ich etwas mehr Aufwand betrieben. Wie bereits eingangs erwähnt, wollte ich dafür ein Fatar FP/50 verwenden. Damit das Pedal später in der korrekten Höhe und im richtigen Stellwinkel steht, habe ich mir bei www.kantfuchs24.de ein schwarzes 2mm Aluminium-Blech kanten lassen (Kostenpunkt ca. 30€). Das Blech habe ich anschließend mit der Bodenplatte des FP/50 verschraubt. Anschließend habe ich vier M6 Einschraubmuffen in das Holz geschraubt und das Blech mit entsprechenden Gewindeschrauben befestigt. Das hält bombenfest und sieht auch noch gut aus!

full


Weil die Bodenplatte so dünn ist und ich die Reed-Platinen später mit Rechteckwinkeln festschrauben möchte, habe ich im Inneren eine zusätzliche Rechteckleiste aus Buchenholz eingeleimt:

full


Anschließend habe ich das ganze lasiert. Der Farbton ist nicht so 100% getroffen, aber das sieht nachher eh niemand mehr unter dem Spieltisch...

full


Zur Elektronik schreibe ich die Tage nochmal was :)
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: 2 Benutzer
Nun weiter zur eigentlichen Elektronik des Pedals! Wie in Beitrag #8 geschildert, habe ich mir für die gesamte Elektronik zwei eigene Platinen entworfen und bei jlcpcb.com herstellen lassen. Die Platinen waren nach einer knappen Woche bereits aus China bei mir angekommen und funktionierten auf Anhieb wie vorgesehen.

Platine
Die Platinen sind im Grunde einfach nur mit den Reed-Schaltern, Pulldown-Widerständen und dem Mikrocontroller bestückt. Als Mikrocontroller kommt wie gesagt ein ATMega 2560 zum Einsatz, hier auf einem Pro Mini Board. Dieser hat mehr als genügend digitale I/O-Pins für mein Vorhaben. Alternativ hätte sich natürlich auch der Einsatz einer Dioden-Matrix angeboten, sodass dann auch ein Arduino Nano o.ä. gereicht hätte.

Der Mikrocontroller wird direkt auf das Board aufgesteckt, wodurch ich mir lästige Verkabelung spare. Der Anschluss der MIDI- sowie Netzteilbuchsen erfolgt über Leiterplattenklemmen. Die beiden Platinen werden untereinander mit einem 16-poligen Flachbandkabel verbunden und später mit Rechteckwinkeln im Gehäuse vor dem Pedal montiert. Die Montagelöcher auf der Platine habe ich als Langlöcher ausgeführt, damit sich die Platinen bei Bedarf noch in der Höhe verstellen lassen, um den Triggerpunkt des Pedals den eigenen Bedürfnissen anpassen zu können.

full

full
full
full


Anschließend alles im fertigen Gehäuse montiert und verdrahtet...

full
full


Pedal
Am Pedal selbst habe ich relativ wenig gemacht. Ich habe das Pedal an beiden Seiten mit einer Kappsäge gekürzt, anschließend gereinigt und die einzelnen Tasten ein gutes Stück nachgezogen, weil das Pedal für meine Bedürfnisse viel zu locker eingestellt war. Anschließend habe ich an jeder Taste einen schraubbaren Neodym-Magneten (10x3mm) angebracht. Abschließend sieht man dann wie das ganze ohne eingeschobenes Pedal aussieht.

full
full

Im nächsten Beitrag gibt's dann abschließend noch den Programmcode zu sehen :hat:
 
  • Gefällt mir
Reaktionen: 1 Benutzer
Programmcode
Der Programmcode ist einfach gestaltet und lässt sich bei Bedarf auch auf größere oder kleinere Boards anpassen. Es wird im Grunde einfach nur der Schaltzustand der einzelnen Taster abgefragt und entsprechend eine MIDI-Note On oder Off-Message (Velocity 127) über den UART-Port des Mikrocontrollers gesendet. Die Taster werden durch den Code softwareseitig entprellt. Der Code erlaubt polyphones Spiel.

Der MIDI-Kanal kann durch einen einfachen Prozess während des Einschaltens der Spannungsversorgung geändert werden: dazu wird einfach Taste 1, 2 oder 3 (Kanal 1, 2 oder 3) gedrückt gehalten. Der Mikrocontroller speichert die Auswahl anschließend im EEPROM. Wird beim nächsten Power Cycle keine Taste gedrückt, so wird einfach die letzte Auswahl aus dem EEPROM geladen. Danke an @strogon14 für die Idee!

C++:
#include <Arduino.h>
#include <MIDI.h>
#include <EEPROM.h>

#define SWITCH_COUNT 25

// Pinnummern für die Taster
int switchPins[SWITCH_COUNT] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26};

// MIDI-Notennummern für jeden Taster
int midiNoteNumbers[SWITCH_COUNT] = {36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60};

int midiChannel; // Verwendeter MIDI-Kanal

MIDI_CREATE_DEFAULT_INSTANCE();

bool switchStates[SWITCH_COUNT] = {false}; // Zustand jedes Tasters (gedrückt oder nicht)
unsigned long lastDebounceTime[SWITCH_COUNT] = {0}; // Zeitpunkt der letzten Entprellung jedes Tasters
unsigned long debounceDelay = 50; // Verzögerung für die Entprellung der Taster

void setup() {
  for (int i = 0; i < SWITCH_COUNT; i++) {
    pinMode(switchPins[i], INPUT);
    digitalWrite(switchPins[i], LOW);
  }

  // Ermittle den MIDI-Kanal basierend auf den Zuständen der Taster
  switch ((digitalRead(switchPins[0])) | (digitalRead(switchPins[1]) << 1) | digitalRead(switchPins[2]) << 2) {
    case 1:
      midiChannel = 1;
      break;
    case 2:
      midiChannel = 2;
      break;
    case 4:
      midiChannel = 3;
      break;
    default:
      midiChannel = EEPROM.read(0);
      break;
  }

  // Speichere den MIDI-Kanal im EEPROM
  EEPROM.write(0, midiChannel);

  // Initialisiere die MIDI-Bibliothek mit dem ausgewählten MIDI-Kanal
  MIDI.begin(midiChannel);
}

void loop() {
  // Überprüfe den Zustand jedes Tasters und sende entsprechende MIDI-Nachrichten
  for (int i = 0; i < SWITCH_COUNT; i++) {
    if (digitalRead(switchPins[i]) == HIGH && !switchStates[i] && (millis() - lastDebounceTime[i] > debounceDelay)) {
      // Taster ist gedrückt
      MIDI.sendNoteOn(midiNoteNumbers[i], 127, midiChannel);
      switchStates[i] = true;
      lastDebounceTime[i] = millis();
    } else if (digitalRead(switchPins[i]) == LOW && switchStates[i] && (millis() - lastDebounceTime[i] > debounceDelay)) {
      // Taster wurde losgelassen
      MIDI.sendNoteOff(midiNoteNumbers[i], 0, midiChannel);
      switchStates[i] = false;
      lastDebounceTime[i] = millis();
    }
  }
}
So sieht das Ganze dann im Einsatz aus...

full
full

Das Pedal funktioniert wunderbar, ich hoffe der ein oder andere hatte Spaß beim Lesen :hat:
 
Zuletzt bearbeitet:
  • Gefällt mir
  • Wow
Reaktionen: 7 Benutzer

Unser weiteres Online-Angebot:
Bassic.de · Deejayforum.de · Sequencer.de · Clavio.de · Guitarworld.de · Recording.de

Musiker-Board Logo
Zurück
Oben