Automatischer, netzwerkfähiger Drehteller für Lautsprecher-Directivity- und Polar-Messungen mit ARTA.
Bei der Entwicklung von Lautsprechern müssen Messungen häufig unter mehreren Winkeln durchgeführt werden, z. B. 0°, 15°, 30°, 45° oder 90°. Manuell ist das langsam, fehleranfällig und schlecht reproduzierbar.
Dieses Projekt automatisiert diesen Ablauf: ARTA steuert über ein externes Turntable-Programm einen Arduino-Drehteller an. Der Arduino fährt den Lautsprecher per Schrittmotor auf den gewünschten Winkel und zeigt IP-Adresse, Referenzfahrt und Position auf einem LCD an.
- Lautsprecherentwicklung
- Polar- und Directivity-Messungen
- ARTA-Gruppenmessungen
- reproduzierbare Winkelmessungen
- Messräume, bei denen Bedienplatz und Drehteller räumlich getrennt sind
- Der Arduino erhält per DHCP eine IP-Adresse.
- Die IP-Adresse wird auf dem Display angezeigt.
- Beim Start führt der Drehteller eine Referenzfahrt aus.
- ARTA ruft das externe Turntable-Programm
turntable.exeauf. - Das Programm sendet den Zielwinkel per UDP an den Arduino.
- Der Arduino berechnet daraus die benötigten Motorschritte.
- Der Schrittmotor fährt die gewünschte Position an.
- Der Arduino sendet eine Rückmeldung zurück.
ARTA -> turntable.exe -> Netzwerk/UDP -> Arduino -> TB6600 -> NEMA23 -> Drehteller
| Pfad | Inhalt |
|---|---|
Arduino/ |
Arduino-Sketch für Ethernet, UDP, Display, Referenzfahrt und Motorsteuerung |
ARTA Turntable File/ |
Windows-Datei turntable.exe für die ARTA-Anbindung inkl. benötigter DLLs |
Bilder/ |
Anschlussplan, Screenshots und Fotos |
DXF/ |
CAD-/Fräs-/Laser-Dateien |
STL/ |
3D-Druck-Dateien für Halter und Abstandshalter |
Bestellliste.xlsx |
Stückliste / Einkaufsliste |
Drehteller Dokument.docx |
ursprüngliche Projektdokumentation |
ARTA Manual/ |
ARTA-Dokumentation zur Turntable-/Polar-Messung |
Drehteller.zip |
STEP/CAD-Datei |
docs/downloads.md |
Download-Hinweise für Windows, Linux, ARTA, CAD/DXF/STL |
| Ziel | Download / Datei |
|---|---|
| Komplettes Projekt | GitHub Code → Download ZIP |
| REW-GUI für Windows | GitHub Releases → FM-Audio-REW-Turntable-Windows.zip |
| REW-GUI für Linux/CachyOS inkl. Desktop-Icon | GitHub Releases → FM-Audio-REW-Turntable-Linux.zip |
| ARTA-Treiber | ARTA Turntable File/turntable.exe |
| STEP/CAD | Drehteller.zip |
| DXF | DXF/ |
| STL | STL/ |
Linux-Desktop-Starter: Im Linux-ZIP liegt install_desktop_launcher_linux.sh. Nach dem Ausführen erscheint der Starter als FM-Audio REW Turntable im Anwendungsmenü. Details: docs/downloads.md.
| Komponente | Beispiel / Hinweis |
|---|---|
| Mikrocontroller | Arduino Ethernet oder Arduino Uno R3 + Ethernet Shield |
| Motor | NEMA23-Schrittmotor, ca. 2 Nm, 8-mm-Welle |
| Motortreiber | TB6600 CNC Stepper Driver |
| Netzteil Motor | Mean Well LRS-100-24, 24 V |
| Netzteil Logik | Mean Well 5 V, z. B. RS-15-5 oder vergleichbar |
| Display | I2C LCD 20x4, Adresse im Code aktuell 0x27 |
| Referenzsensor | Näherungssensor / Endlagensensor |
| Mechanik | Drehkranz, Zahnrad/Ritzel, MDF-/Alu-Platten, 3D-Druckhalter |
Die detaillierte Einkaufsliste liegt in Bestellliste.xlsx.
| Funktion | Arduino-Pin | Hinweis |
|---|---|---|
| STEP / PULSE | D2 | zum TB6600 PUL / STEP |
| Referenzsensor | D3 | INPUT_PULLUP, erwartet HIGH/LOW-Wechsel |
| DIRECTION | D5 | zum TB6600 DIR |
| ENABLE | D8 | im Sketch definiert |
| LCD | I2C SDA/SCL | I2C-Display 20x4 |
| Netzwerk | Ethernet Shield / Arduino Ethernet | UDP-Port 10049 |
Mehr Details: docs/wiring.md
Im Sketch Arduino/Arta_TurntablemitStepperundDisplay20230803.ino:
unsigned int localPort = 10049;
float Stepsprograd = 65.75;Stepsprograd ist der wichtigste Kalibrierwert. Er beschreibt, wie viele Motorschritte für 1° Drehtellerbewegung nötig sind.
Der Wert hängt ab von:
- Motorschritten pro Umdrehung
- Microstepping am TB6600
- Zahnrad/Ritzel
- Drehkranz-Übersetzung
Kalibrierung: docs/calibration.md
- Arduino IDE installieren: https://www.arduino.cc/en/software
- Benötigte Libraries installieren:
EthernetEthernetUdpLiquidCrystal_I2CAccelStepper
- Datei öffnen:
- Board und Port auswählen.
- Sketch hochladen.
- Arduino neu starten.
- Auf dem Display prüfen:
- DHCP erfolgreich?
- IP-Adresse sichtbar?
- Referenzfahrt abgeschlossen?
- ARTA starten.
- Menü öffnen:
Setup→Rotating turntable
Externalauswählen.- Als Turntable-Programm eintragen:
ARTA Turntable File/turntable.exe
- Falls ARTA die Datei nicht direkt auswählbar macht, den Pfad manuell eintragen.
Mehr Details: docs/arta-setup.md
- ARTA öffnen.
Record→Spatial impulse response group record- Turntable Driver auswählen.
- Messordner erstellen und auswählen.
- Winkelauflösung wählen, z. B.
15°. - Endwinkel wählen, z. B.
45°,90°oder180°. - Pause setzen, z. B.
3 s. - Dateinamen prüfen.
- Messung starten.
REW 5.40+ besitzt eine HTTP-API. Dadurch kann der vorhandene Arduino-Drehteller auch mit Room EQ Wizard genutzt werden.
Das Python-Script liegt hier:
software/rew_turntable/rew_turntable_runner.py
Dokumentation: docs/rew-integration.md
Kurzbeispiel für den aktuell geprüften Turntable:
python software/rew_turntable/rew_turntable_runner.py \
--turntable-ip 192.168.178.191 \
--mode manual \
--angles 0:180:15Für die Werkstattbedienung mit frei einstellbarem Start-/Endwinkel, Schrittweite und REW-Frequenzbereich gibt es zusätzlich:
python software/rew_turntable/rew_turntable_gui.pyUnter Windows und Linux gibt es vorbereitete Download-Pakete:
| Variante | Download/Start |
|---|---|
| Fertige Windows-EXE | GitHub Release FM-Audio-REW-Turntable-Windows.zip herunterladen und FM-Audio-REW-Turntable.exe starten |
| Linux/CachyOS-Paket | GitHub Release FM-Audio-REW-Turntable-Linux.zip herunterladen, run_gui_linux.sh starten oder install_desktop_launcher_linux.sh für den Desktop-Starter ausführen |
| Python-Version | software\rew_turntable\run_gui_windows.bat doppelklicken oder unter Linux software/rew_turntable/run_gui_linux.sh starten |
Die Windows-EXE und das Linux-Paket werden automatisch über .github/workflows/build-windows.yml gebaut.
| Dokument | Zweck |
|---|---|
docs/downloads.md |
Download-Pakete und Startdateien für Windows/Linux |
docs/build-guide.md |
Aufbau und Projektüberblick |
docs/wiring.md |
Anschluss, Pins und Verdrahtung |
docs/arta-setup.md |
Einrichtung in ARTA |
docs/rew-integration.md |
REW-API-Anbindung und Python-Script |
docs/calibration.md |
Kalibrierung von Stepsprograd |
docs/troubleshooting.md |
Fehlersuche |
In diesem Projekt werden Netzteile verwendet, die mit Netzspannung betrieben werden können.
230-V-Arbeiten dürfen nur von fachkundigen Personen durchgeführt werden.
Vor dem Einschalten prüfen:
- Netzteile korrekt angeschlossen?
- 24-V- und 5-V-Seite getrennt und sauber verdrahtet?
- gemeinsame Masse nur dort verbunden, wo sinnvoll?
- Motortreiber korrekt eingestellt?
- Not-Aus / Abschaltmöglichkeit vorhanden?
- Python-Quellcode zu
turntable.exeergänzen. - README-Bilder weiter optimieren und verkleinern.
- GitHub Release mit versionierten ZIP-Dateien ergänzen, damit Nutzer nicht auf zeitlich begrenzte Actions-Artefakte angewiesen sind.
- Arduino-Code stärker kommentieren und Konstanten in einen Konfigurationsblock verschieben.
- Mechanik-Maße und Montage-Reihenfolge noch ausführlicher dokumentieren.
Dieses Projekt steht unter der FM-Audio Non-Commercial Source License 1.0.
Kurzfassung:
| Erlaubt | Nicht erlaubt |
|---|---|
| private Nutzung | kommerzielle Nutzung |
| Lernen / Evaluieren / Hobby | Verkauf von Produkten, Kits, CAD-Dateien oder Software |
| nicht-kommerzielle Änderungen | bezahlte Fertigung, Messung, Kalibrierung, Support oder Beratung |
| nicht-kommerzielle Weitergabe unter gleicher Lizenz | Nutzung in kommerziellen Kunden-/Firmenprojekten |
Es wird keine Patentlizenz gewährt. Für kommerzielle Nutzung, Patentrechte oder Sonderfreigaben bitte schriftlich anfragen: turntable@fm-audio.eu.
FM-Audio — Stefan Weltermann, Nils Hitschke


