Microcontroller in kleinen Bahnen

Komponenten für fahrende Modellbahnen ohne Schienenstrom...

mr-receiver

Microrail-Empfänger auf Basis ESP8266

Sourcecode auf Github , Aktuelle Version: v1.1.0

Bedienung

Stand: 09/24


Startvorgang

Du schaltest den fertig programmierten und angeschlossenen Empfänger ein. Er startet sofort. Die On-Board-LED auf dem Microcontroller leuchtet zunächst blau. Dies zeigt den Bootvorgang an. Sobald alles korrekt initialisiert ist, erlischt die blaue LED. Die extern angeschlossene Status-LED leuchtet auf und signalisiert damit den bereiten Betriebszustand.

Fehler können während des Bootvorgangs auftreten. In einem solchen Fall blinkt die blaue LED auf dem Mikrocontroller. Die Status-LED leuchtet nicht.

UI

Der Empfänger öffnet ein Wlan im 2,4 GHz Netz. Ein mobiles Gerät stellt die Verbindung zu diesem Wlan-Netzwerk her. Das Passwort lautet immer microrail. Danach ruft man auf dem Mobilgerät im Browser die URL http://192.168.4.1 auf.

Grafische Web-Oberfläche zur Bedienung des Microrail-Empfängers.

Anzeigeelemente sind:

  1. WLAN-Name
  2. Fahrzeugname
  3. permanent gemessene Batteriespannung
  4. Version der Software

Zudem zeigt das System die aktuelle Fahrstufe und die eingestellte Richtung an.

Neben den Anzeigeelementen sind vier Eingabeelemente platziert:

  • Button „langsamer“
  • Button „schneller“
  • Button „Richtungswechsel“
  • Button „Stop“

Die Geschwindigkeit wird in Stufen festgelegt und intern auf einen Bereich zwischen 0 und 100% umgerechnet. Man kann die Anzahl der Stufen in den Einstellungen bestimmen. Der Initialwert beträgt hier 10. Dieser Ansatz ist gewählt, weil langsame Feldbahn-Fahrzeuge nur wenige Fahrstufen benötigen. Der Stop-Button reduziert die Geschwindigkeit mit Verzögerung auf 0. Die Einstellung Regler-Verzögerung definiert diese Trägheit. Der Initialwert von 200 ist anpassbar. Kleinere Werte zwischen 50 und 200 lassen das Fahrzeug schneller bremsen. Größere Werte zwischen 200 und 500 bewirken ein langsameres Abbremsen. Ein Richtungswechsel ist nur möglich, wenn das Fahrzeug steht, also bei einer Geschwindigkeit von 0.

Der Microcontroller empfängt alle Eingaben. Über einen separaten Rückkanal, einen Websocket, sendet er Antworten und Änderungen an die Benutzeroberfläche. Die Daten in den Anzeigeelementen spiegeln die Rückmeldungen des Microcontrollers wider.

Dieses Konzept ermöglicht die gleichzeitige Verbindung mehrerer Endgeräte mit dem WLAN eines Empfängers. Jedes Endgerät stellt einen Websocket-Kanal zum Microcontroller her. Dadurch sind Änderungen auf einem Endgerät sofort auf den anderen sichtbar.

Einstellungen

Über die Url http://192.168.4.1/setup können die Einstellungen des Empfängers geändert werden.

Web-Oberfläche für Einstellungen des Empfängers.
  • WLAN-SSID: Dies ist der Name des WLAN-Netzwerks. Beim Start erzeugt der Empfänger ein WLAN, mit dem man Endgeräte verbinden kann. Die Reichweite bleibt aufgrund der geringen Sendeleistung der Microcontroller begrenzt.
  • Das WLAN-Passwort microrail ist festgelegt und lässt sich nicht ändern. Änderungen sind nur im Programmcode möglich.
  • Name: Dieser Name des Fahrzeugs erscheint in der Web-UI.
  • Motor-Frequenz in [Hz]: (50 bis 20000, Standard: 100) Diese Frequenz dient der PWM-Ansteuerung des Motors. Frequenzen um 100 Hz sind für kleine Getriebemotoren geeignet. Glockenankermotoren benötigen Frequenzen über 10 kHz.
  • Motor-Maxspeed: (20 - 100, Standard: 100) Ist die Geschwindigkeit auf 100% eingestellt, erreicht der Motor seine Soll-Drehzahl. Oft ist die Fahrzeuggeschwindigkeit zu hoch. Mit diesem Wert lässt sich die Gesamtgeschwindigkeit reduzieren.
  • Regler-Schrittweite: (4 - 30, Standard: 10) Über die Tasten Vorwärts/Rückwärts wird die Geschwindigkeit in Schritten geändert. Diese Einstellung ermöglicht es, die Schrittweite zu bestimmen. Der Wert 10 bedeutet eine Änderung in 10%-Schritten.
  • Regler-Verzögerung/Inertia: (50 - 500, Standard: 200) Ändert man die Geschwindigkeit von 100% auf 0%, erfolgt das nicht sofort. Die Geschwindigkeit wird in verzögerten Schritten angepasst. Diese Funktion simuliert ein langsames Abbremsen. Der Wert sollte zwischen 50 ms (geringe Verzögerung) und 500 ms (große Verzögerung) liegen.
  • Motor-Reverse: Bei falscher Fahrtrichtung des Fahrzeugs kann die Motor-Polung über diesen Schalter korrigiert werden.

Vor dem Speichern werden die Eingaben auf Plausibilität geprüft. Wenn die Werte nicht passen (beispielsweise Buchstaben in den nummerischen Eingabefeldern), werden die Standard-Werte übernommen. Nach dem Speichern muss der Empfänger zur Übernahme der Eingaben neu gestartet werden.

Geänderte Einstellungen werden erst nach dem Neustart des Empfängers wirksam!