Arduino-basierte Steuerung für Analoge N und Z Modellbahnen mit TFT-Display
Videolink per klick auf das Bild:
Dieses Projekt realisiert eine vollständige IR-Fernsteuerung für Cygnus-Rail Modellbahnen mit visueller Rückmeldung über ein Farb-TFT-Display. Die Steuerung bietet präzise Geschwindigkeitsregelung für verschiedene Motortypen und individuelle Kontrolle von bis zu 4 Abstellgleisen.
- 🎛️ 4 Motortypen mit optimierten PWM-Kennlinien (3-Pol, 5-Pol, Glockenanker, Hochleistung)
- 🖥️ 1.8" Farb-TFT-Display (128x160) mit flackerfreier Anzeige
- 📡 IR-Fernbedienung (RC5-Protokoll)
- 🔀 4 Abstellgleise mit individueller Relais-Steuerung / Alternativ Weichensteuerung
- ⚡ 31kHz PWM für laufruhigen Motorbetrieb
- 🔄 2 Betriebsmodi (Motortyp-Auswahl / Abstellgleis-Steuerung)
- 📊 Echtzeit-Statusanzeige mit Farb-Codierung
Motor-Modus:
┌────────────────────────┐
│ MOTOR MODUS │ ← Cyan
│ Speed: 45% (150) │ ← Gelb
│ Richtung: Vorwaerts │ ← Grün
│ Motortyp: 5-Pol │ ← Weiß
│ Tasten: │
│ 1:3Pol 2:5Pol │ ← Magenta
│ 3:Glock 4:High │
│ │
│ Licht=Wechsel │ ← Gelb
└────────────────────────┘
Abstellgleis-Modus:
┌────────────────────────┐
│ ABSTELLGLEIS │ ← Cyan
│ Speed: 30% (90) │ ← Gelb
│ Richtung: Rueckwaerts │ ← Grün
│ Abstellgleise: │
│ Gleis 1: EIN │ ← Grün
│ Gleis 2: AUS │ ← Rot
│ Gleis 3: EIN │ ← Grün
│ Gleis 4: AUS │ ← Rot
│ Licht=Wechsel │ ← Gelb
└────────────────────────┘
| Komponente | Typ/Modell | Funktion | Kosten ca. |
|---|---|---|---|
| Mikrocontroller | Arduino Mega 2560 | Hauptsteuerung | 35€ |
| Display | AZDelivery ST7735 v1.2 (1.8") | Statusanzeige | 10€ |
| Motortreiber | TB6612FNG | PWM-Motorsteuerung | 8€ |
| IR-Empfänger | TSOP38238 | RC5-Empfang | 2€ |
| Relais | 4x 5V Relais-Module | Abstellgleis-Schaltung | 8€ |
| Netzteile | 9V/1A + 12-24V | Stromversorgung | 20€ |
| Gesamt | ~85€ |
Kompatibel mit Infrarot-Fernbedienungen (z. B. Märklin* 00748)
- Märklin ist eine eingetragene Marke der Gebr. Märklin & Cie. GmbH. Dieses Projekt steht in keiner Verbindung zu Märklin.
Siehe HARDWARE_DOKUMENTATION.md für detaillierte Verdrahtung.
Minimal-Setup:
Arduino Mega 2560
├── Display (Pins 47, 48, 49, 51, 52)
├── TB6612 Motortreiber (Pins 5, 6, 7, 8)
├── IR-Empfänger (Pin 22)
└── 4x Relais (Pins 10, 11, 24, 25)
Bibliotheken (Arduino IDE):
Tools → Manage Libraries...
1. IRremote (v4.x+)
2. Adafruit GFX Library
3. Adafruit ST7735
Code hochladen:
1. Cygnus_Rail_Controller.ino öffnen
2. Board: Arduino Mega 2560 auswählen
3. Port auswählen
4. Upload
- Display zeigt: "CYGNUS-RAIL IR-Steuer."
- Fernbedienung: Schieber auf Position 1
- Taste + drücken → Motor fährt an
- Fertig! 🎉
Komplette Anleitung: BEDIENUNGSANLEITUNG.md
| Dokument | Beschreibung |
|---|---|
| HARDWARE_DOKUMENTATION.md | Komponenten, Verdrahtung, Schaltplan |
| SOFTWARE_DOKUMENTATION.md | Code-Struktur, Funktionen, Anpassungen |
| BEDIENUNGSANLEITUNG.md | Benutzerhandbuch, Tipps, Troubleshooting |
| VERKABELUNGS_CHECKLISTE.txt | Schritt-für-Schritt Verkabelung |
| LICENSE.txt | Lizenzinformationen |
Word-Dokument: CYGNUS-RAIL_IR_STEUERUNG_KOMPLETT.docx - Alle Dokumente zusammengefasst
4 optimierte Motortypen:
| Motortyp | Kennlinie | PWM-Bereich | Ideal für |
|---|---|---|---|
| 3-Pol | Linear | 95-255 | Ältere Cygnus-Rail-Loks |
| 5-Pol | Quadratisch | 75-255 | Moderne Standard-Motoren |
| Glockenanker | Potenz 1.6 | 45-220 | Präzisions-Rangierbetrieb |
| Hochleistung | Potenz 1.3 | 60-240 | Schwere Züge, Steigungen |
31kHz PWM-Frequenz:
- Unhörbar für Menschen (>20kHz)
- Laufruhiger Motorbetrieb
- Keine Vibrationen
- Timer3-basiert (Pin 5)
Farb-Codierung:
- 🔵 Cyan: Modus-Überschrift
- 🟡 Gelb: Geschwindigkeit, Hinweise
- 🟢 Grün: Richtung Vorwärts, Gleis EIN
- 🔴 Rot: Gleis AUS
- 🟣 Magenta: Tasten-Hilfe
- ⚪ Weiß: Allgemeine Infos
Optimierungen:
- Flackerfrei (kein fillScreen())
- Change Detection (nur bei Änderung)
- 300ms Update-Intervall
- Kompaktes Layout (alle Zeilen sichtbar)
RC5-Protokoll-Protokoll:
- Address: 0x18
- Commands: 0x50-0x54, 0x0D, 0x10-0x11
- Repeat-Detection (Toggle-Bit)
- Reichweite: 5-8 Meter
Tastenbelegung:
- Taste 1-4: Motortyp / Gleis 1-4
- Licht: Modus umschalten
- +/-: Geschwindigkeit ±5%
- Richtung: Vorwärts ↔ Rückwärts
// In calculatePWM() ergänzen:
case MOTOR_CUSTOM:
return map(constrain(pow(speed, 1.8) * 100, 0, 100),
0, 100, 30, 200);#define RELAY_ABSTELLGLEIS_5 26
#define RELAY_ABSTELLGLEIS_6 27
// Array erweitern auf [6]case 0x10: // + Taste
speedPercent = min(100, speedPercent + 10); // ±10% statt ±5%Siehe SOFTWARE_DOKUMENTATION.md für Details.
- ✅ Display-Layout optimiert (alle Zeilen sichtbar)
- ✅ Y-Positionen kompakter (128px Höhe)
- ✅ AZDelivery ST7735 v1.2 vollständig unterstützt
- ✅ AZDelivery-spezifische Optimierungen
- ✅ invertDisplay(true) für korrekte Farben
- ✅ SPI_CLOCK_DIV8 für schnellere Updates
- ✅ Relais Toggle-Funktion (dauerhaftes Halten)
- ✅ Display-Stabilität (kein Flackern)
- ✅ Hardware-Reset implementiert
- ✅ TFT-Display Integration
- ✅ 2 Betriebsmodi
- ✅ 4 Motortypen
- ✅ 4 Abstellgleise
- 31kHz PWM
- Controller
- 2 Weichen
Siehe CHANGELOG.txt für Details.
→ LED-Pin mit 5V verbinden (Backlight)
→ Geschwindigkeit > 20%, STBY auf HIGH prüfen
→ Schieber auf Position 1, Batterien prüfen
→ Modus = ABSTELLGLEIS, Verkabelung prüfen
Mehr Hilfe: BEDIENUNGSANLEITUNG.md → Fehlerbehebung
Dieses Projekt steht unter Dual-Lizenz:
Creative Commons BY-NC-SA 4.0
- Privater Nachbau erlaubt
- Anpassungen erlaubt
- Weitergabe unter gleicher Lizenz
- Keine kommerzielle Nutzung
- Separate kommerzielle Lizenz erforderlich
- Kontakt: gregor.adis@me.com
Details: LICENSE.txt
Verbesserungen willkommen!
- Fork das Repository
- Branch erstellen (
git checkout -b feature/verbesserung) - Änderungen committen (
git commit -m 'Beschreibung') - Push zum Branch (
git push origin feature/verbesserung) - Pull Request erstellen
Bitte beachten:
- Code-Style beibehalten
- Dokumentation aktualisieren
- Tests durchführen
Autor: Gregor Adis E-Mail: gregor.adis@me.com GitHub: https://github.com/Cygnus-Rail-Intelligence/Modelrailway_Controller
Bei Fragen:
- GitHub Issues für Bug-Reports
- Discussions für Fragen
Verwendete Bibliotheken:
- IRremote - MIT License
- Adafruit GFX - BSD License
- Adafruit ST7735 - BSD License
Inspiration:
- Cygnus-Rail Modellbahn-Community
- Arduino-Community
Wenn Ihnen dieses Projekt gefällt, geben Sie ihm einen Stern! ⭐
Projekt-Status: ✅
Letzte Tests: Februar 2026
Stabilität: Hoch
Die Nutzung dieses Projekts erfolgt auf eigene Gefahr. Der Autor übernimmt keine Haftung für Schäden an Hardware, Anlagen oder Personen.
Viel Erfolg mit dem Cygnus-Rail Controller! 🚂✨
Made with ❤️ for the model railway community
