Was ist ein guter Ansatz zur Erfassung von Entfernung und Geschwindigkeit bei Modelleisenbahnen?

Vorweg muss ich zugeben, dass ich wenig praktische Kenntnisse über moderne Mikrocontroller und ihre Software habe - ich kenne mich mit Energietechnik und großen Motoren viel besser aus (45 Jahre davon).

Nun meine Frage: Ich versuche, Enkelkinder für Elektronik zu begeistern. Sie lieben Modelleisenbahnen, also bauen wir Stück für Stück ein Zugüberwachungssystem auf.

Aktuelles Problem: Entfernung (optional Geschwindigkeit) einer Lokomotive von einem bestimmten Gleisort aus zu erkennen, ohne die Gleisspannung zu beeinträchtigen.

Steuerungsplattform: Stellaris Launchpad

Berücksichtigte Optionen:
* TSOPxxxx mit "dummem" Oszillator mit fester Frequenz und HF-LED an der Lok - Wie erhalte ich Geschwindigkeitsinformationen?
* TSOPxxxx und Emitter am Streckenrand, Reflexion von der Lok - kann Geschwindigkeit durch Flugzeit erhalten, vielleicht
* 5 Volt rote Laser und Unterbrechungserkennung durch rote LED als Sensor (die Kinder lieben die Laser, also ...) - keine Geschwindigkeit Erkennung ohne mehrere Geräte pro Erkennungsort
* RFID-Tags und eine Spule am Streckenrand (wird die spezifische Lok identifizieren, was ein Plus ist) - keine Geschwindigkeitsinformationen
* Ultraschall-Abstandssensoren - Allgegenwärtig und von Internetnutzern gut unterstützt, aber ein zu breiter Erfassungswinkel, vermute ich
* Eines von vielen vorgefertigten Modelleisenbahnprodukten - entgegen dem Zweck dieser Übung

Welcher dieser oder andere Ansätze wird mir auf der Softwareseite am wenigsten Kummer bereiten und dennoch ausreichend Gelegenheit bieten, 8- bis 12-Jährige in praktisches elektronisches Design einzubeziehen, mit Ergebnissen, die sie erleben können? Auf welche Fallstricke muss man achten (abgesehen von verschütteter Cola)?

Die Züge sind Spur N (Maßstab 1:160).

Nur am Rande der Frage, aber welchen Maßstab haben Ihre Züge? Größe kann einige Optionen eliminieren und andere hinzufügen. (MRR-Enthusiast hier).
Spur N. Fairer Punkt, hatte nicht daran gedacht. Frage aktualisiert.
Sie könnten auch Radar ausprobieren, es gibt einige nicht allzu teure Radarmodule. conrad.de/ce/de/product/502370

Antworten (3)

Andere Antworten haben hervorragende Eingaben für Ihre Anforderung geliefert; Meine Antwort konzentriert sich ausschließlich auf die Näherungs- (und Anwesenheits-) Erkennung von Modelleisenbahnen, keine Identifizierung in den Maßstäben, an denen ich interessiert bin, den winzigen N- und T-Skalen.

Unter Berücksichtigung Ihres Bedarfs an Software-Einfachheit ist eine Chopper-Infrarot-Sender/Sensor-Kombination am einfachsten. Ihre Erwähnung der TSOP-Geräte weist darauf hin, dass Sie diesen Pfad bereits evaluieren. Betrachten Sie stattdessen den TSSP4P38 , der speziell für die Näherungserkennung mit zerhacktem 38-kHz-IR entwickelt wurde:
TSSP4P38

Was Ihnen bereits klar sein mag: Die Entfernungsmessung durch die Laufzeit elektromagnetischer Wellen (IR, Radar usw.) ist für Ihre Zwecke unpraktisch: Angesichts der Lichtgeschwindigkeit ist für 0 bis 10 eine Auflösung in Femtosekunden oder weniger erforderlich Zentimeter-Zielentfernungen, mit denen Sie wahrscheinlich arbeiten (Maßstab 1:160 N). In den Transitpfaden der "realen Welt", die Sie in einem Kommentar erwähnen, können die Entfernungen größer sein, spekuliere ich.

Ein IR-Reflexionssensormechanismus, der bei Modelleisenbahnen verwendet wird, beinhaltet stattdessen typischerweise eine Intensität des reflektierten IR-Signals, die mit der Annäherung der Lokomotive gemäß dem umgekehrten quadratischen Gesetz zunehmen würde.

Ihr Gerät müsste eine IR-LED wie die TSAL6200 und die TSSP4P38 haben, die in etwas wie dem Diagramm auf Seite 5 des TSSP-Datenblatts untergebracht sind. Die Kombination würde zwischen Schwellen auf Ihrer Strecke montiert, eine in jede Richtung. Wenn Sie es niedrig genug montieren und fast parallel zu den Gleisen zeigen, werden externe Objektreflexionen minimiert, die Gleise wirken als Blinker.

Die Ausgabe des TSSP ist ein Logikpegelpuls mit einer Dauer, die proportional zu dem reflektierten IR ist. Wenn sich eine Lokomotive nähert, werden aufeinanderfolgende Impulse länger, sodass Messwerte von mindestens 2 aufeinanderfolgenden Impulsen, vorzugsweise mehreren mehr, eine Reihe von Impulsdauern und dadurch eine Geschwindigkeitsangabe liefern. Aus dem Datenblatt:

Die Ausgangsimpulsbreite des TSSP4P38 hat eine fast lineare Beziehung zur Entfernung des Senders oder der Entfernung eines reflektierenden Objekts. Der TSSP4P38 ist optimiert, um nahezu alle Störimpulse von energiesparenden Leuchtstofflampen zu unterdrücken.

Wenn Sie bei praktikablen Genauigkeitsanforderungen an Ihr Gerät bleiben, sind „schnell“ versus „langsam“, „Annäherung“ versus „Rückzug“ und natürlich das Vorhandensein einer Lokomotive in Sensorreichweite machbar.

Sie müssen das System mit einer Grundlinie versehen, um statische Reflexionen, z. B. von Landschaften, zu berücksichtigen. Außerdem liefert die Kalibrierung der tatsächlichen Geschwindigkeit gegenüber aufeinanderfolgenden Impulslängen die "schnellen"/"langsamen" Bereichsabbildungen.

Die Impulsdauer kann mit einem Timer-/Zählereingang an Ihrem Mikrocontroller Ihrer Wahl gemessen werden. Es gibt mehrere Beispiele im Internet, um dies auf dem Arduino zu tun, aber wie Sie erwähnt haben, verwenden Sie stattdessen ein Stellaris-Launchpad, dafür ist möglicherweise etwas Recherche erforderlich.

Dies ist ein allgemeiner Überblick über eine Lösung. Bitte fragen Sie nach, wenn bestimmte Aspekte geklärt werden müssen. Angesichts Ihres angegebenen Hintergrunds wird dies vermutlich kein Projekt über Nacht sein, sondern innerhalb einer Ferienzeit erreichbar sein. Einige der von Ihnen erwähnten Fertigmodelleisenbahnprodukte verwenden diesen Mechanismus.


Für eine allgemeinere Diskussion über die Entfernungsmessung sehen Sie sich bitte diese Antwort aus einer früheren Frage an.

Danke, dass Sie darauf hingewiesen haben, was mir hätte klar sein sollen, aber nicht war, dass die EMF-Flugzeit für meine interessierende Entfernung zu kurz ist. +1 für die bisher beste und einfachste Passform für meine Zwecke, werde akzeptieren, wenn nichts noch Besseres auftaucht.

Wenn ich eine Modelleisenbahn automatisieren würde, würde ich Barcode-Etiketten auf den Böden der Waggons anbringen. Dann verteilte ich über das Gleis verteilt Barcode-Lesegeräte, die zwischen den Schienen nach oben zeigten.

Damit können Sie die Position, Geschwindigkeit und Identität der Autos erkennen. Jedes Auto hätte seinen eigenen eindeutigen Barcode, nicht nur die Lokomotive.

Die Positionserfassung dieses Verfahrens ist sehr natürlich, da es darauf angewiesen ist, wenn ein Zug über einen Sensor fährt. Aber es sollte für die meisten Dinge gut funktionieren. Sie können immer mehr Sensoren an wichtigen Stellen der Strecke platzieren und weniger Sensoren, wo es nicht so wichtig ist.

Ein großer Vorteil dieser Methode ist, dass der Preis pro Waggon sehr niedrig ist, nur ein Etikett, das Sie auf Ihrem Laser- oder Tintenstrahldrucker ausdrucken können. Die Komplexität pro Waggon ist sehr gering. Und das Gewicht, das jedem Auto hinzugefügt wird, ist ebenfalls super niedrig.

Ich würde dies implementieren, indem ich eine IR-LED und einen Fototransistor als Sensor verwende (es gibt Komponenten, in die beide eingebaut sind) und diese an einen Mikrocontroller anschließen. Jeder Sensor hat einen eigenen Mikrocontroller. Die verschiedenen Sensoren können dann über ein einfaches Netzwerk (wie einen RS-485-Bus) miteinander verbunden werden. Mit IR-LEDs wäre der Sensor mit bloßem Auge schwer zu erkennen. Die Gesamtkosten pro Sensor + MCU könnten unter 3 US-Dollar liegen, ohne eine kleine Leiterplatte.

Das ist die gleiche Idee, an die ich sofort dachte, als ich die Frage las. Das einzige etwas knifflige Problem, das ich sehe, wäre, dass es wahrscheinlich ein wenig hässlich aussehen würde, wenn die Barcodes auf Achshöhe herunterhängen würden, aber wenn sie höher sind, müsste man Sensoren haben, die darauf ausgelegt sind, auf Objekte jenseits der Kontaktentfernung zu fokussieren , die möglicherweise schwieriger zu finden sind. Für beste Ergebnisse wäre es mit ziemlicher Sicherheit wünschenswert, sich für eine bestimmte feste Höhe über der Spur für die Etiketten zu entscheiden und alle Etiketten auf dieser Höhe zu montieren.
Da ich nach einer Single Location Sensing (Station Approach) suche, könnte dies eine Idee sein. Ich bin jedoch etwas verwirrt über die Aspekte der Geschwindigkeits- und Entfernungsmessung - wie funktionieren diese? Identifikation, ja, perfekt! Außerdem kann ich die Aufmerksamkeit der Kinder nicht lange genug fesseln, um ein halbes Dutzend Geräte herzustellen - es müssen 2 Geräte sein, 1, die ich für sie herstelle, und 1, das sie selbst herstellen. Eine für heranfahrende und eine für abfahrende Züge. Dies ist keine ernsthafte Layout-Steuerung, sondern ein "Einstieg", um sie in die Elektronik zu bringen.
Wenn Sie unterschiedliche Breiten für die Streifen an beiden Enden des Barcodes haben, können Sie die Richtung bestimmen. Aus dem Abstand zwischen den Streifen lässt sich die Geschwindigkeit berechnen.
@tcrosley Es gibt viele Möglichkeiten, die Daten zu codieren, damit Richtung und Geschwindigkeit bestimmt werden können - zusammen mit einer gewissen Fehlererkennung.
@supercat Etikettenhöhe könnte schwierig sein. Die Verwendung eines Lasers anstelle einer LED könnte die nutzbare Entfernung recht angenehm machen, aber es müsste ein Laser mit extrem geringer Leistung sein, und die Fokussierung wäre schwierig.
@DavidKessner: Um die Richtung zu bestimmen, müsste man den Sensor näher an einer bestimmten Schiene (z. B. Norden) platzieren und jedes Rollmaterial mit zwei Barcodes versehen, einen näher an jeder Schiene, wobei jeder Barcode ein identifizierbares östliches und westliches Ende hat (die das östliche Ende jedes Strichcodes in der Nähe des westlichen Endes des anderen wäre).
@tcrosley: Man sollte davon ausgehen, dass Schwarz-Weiß-Übergänge relativ zu Weiß-Schwarz-Übergängen verzögert sein können oder umgekehrt. Man sollte keine Annahmen über die Breite eines Balkens treffen, es sei denn, man hat einen breiteren oder schmaleren Balken zum Vergleich; ebenso bei Annahmen über die Weiten von Zwischenräumen. Ein gutes Muster kann darin bestehen, das Format so zu definieren, dass nie mehr als vier gleich breite Balken in einer Reihe oder mehr als vier gleich breite Zwischenräume vorhanden sind. Wenn Sie von einem Ende lesen, haben Sie acht gleich breite Balken/Leerzeichen-Paare, gefolgt von einem breiten Balken; von der anderen acht gleich breite Paare, schmaler Balken, weiter Zwischenraum.
@supercat-Barcodes haben oft am Anfang und am Ende ein festes Streifenmuster, und dieses feste Muster ist an jedem Ende anders. Der Zweck dieses Musters besteht darin, der Decodierungssoftware etwas zu geben, das sie leicht als Code erkennen kann, und die "Bitrate" zu bestimmen, mit der die Decodierung durchgeführt werden soll. Sie erkennen die Richtung basierend darauf, welche Präambel/Postambel Sie zuerst erhalten. Sie erhalten die Bitrate basierend auf der "Geschwindigkeit" der Präambel/Postambel. Sie erhalten auch die Geschwindigkeit des Zuges basierend auf der Bitrate.
@DavidKessner: Das von mir beschriebene Muster war an jedem Ende anders, da ein Ende einen Balken als erstes "breites" Element und das andere einen Zwischenraum hatte. Es ist nützlich, Startsequenzen (Leserichtung in beide Richtungen) zu haben, die sich von jeder Sequenz von Strichen und Leerzeichen unterscheiden, die im Code vorkommen können.

Ich würde mit der optischen Unterbrecher- oder Reflektormethode auf beiden Seiten von Straßenkreuzungen beginnen, um herannahende Züge zu signalisieren und eine blinkende ROTE LED einzuschalten. Die Fernverfolgung kann auch mit einer Zugkarte mit Indikatoren für kreuzende Züge sowie Direkt- und Geschwindigkeitsangaben verbunden werden.

Strichcodescanner sind täuschend einfach, bis Sie sich mit Laserstrahlsicherheit, Etikettengeschwindigkeitsverfolgungsraten und Berechnung der Strichabstandsintervallzeit befassen müssen, um die Geschwindigkeit zu berechnen und den Inhalt des Codes zu validieren, um direkte Ionen in der Software zu bestimmen.

Teilen Sie das Projekt auf in;

  • funktionales Design des Systems
    • Eingaben, Prozesse, Ausgaben (einschließlich Ablehnung falscher Trigger)
  • Elektronikdesign
    • Schaltplan, Stückliste, Layout
  • Design des optischen Pfads
    • Emitter- und Detektorpfade und -reichweite, Frequenzgang, Rauschunterdrückung
  • Aufbau & Prüfung
    • Verkabelung mit Stromabschaltung, Rauschfilterung und mechanische, elektrische Details

IR kann eine Signalunterbrechung auf beiden Seiten oder eine Signalreflexion von derselben Seite mit einem größeren Erfassungsbereich am einfachsten erkennen. Die Sequenz zu zwei benachbarten Detektoren gibt die Richtung an und das Zeitintervall gibt die Geschwindigkeit an. Dies kann entweder mit analogen oder digitalen Methoden gemessen werden.

IR-Barcode-Scanner verlassen sich entweder darauf, dass der Code mit konstanter Geschwindigkeit am Detektor vorbeigeht, oder dass der Emitter an dem Barcode vorbei reflektiert wird, um durch Lichtstreuung oder Absorption von Ruß erkannt zu werden. Stetige Laserstrahlen, die nach oben gerichtet sind, müssten optisch verändert werden, um die Leistung auf ein sicheres Niveau zu senken, oder gespreizt und dann für eine kurze Weglänge fokussiert werden, um die Leistungsdichte von Streulicht zu reduzieren.

Das Barcode-Erfassen könnte wahrscheinlich vereinfacht werden, wenn man das Barcode-Format um die Anwendung herum entwirft. Wenn man ein Paar Sensoren nebeneinander verwendet (einer näher an jeder Schiene) und das Barcode-Format so gestaltet, dass eine Seite eine Folge von schwarzen und weißen Balken mit festem Abstand ist, während die andere Seite die eigentlichen Daten enthält, sollte dies der Fall sein leicht zu erkennen sein, welche Seite die Seite mit fester Tonhöhe ist; Wenn alle Barcodes die gleiche Tonhöhe verwenden, würde dies sofort sagen, wie schnell der Zug fuhr und in welche Richtung das Auto blickte. Außerdem würde es eine Dekodierung auch dann ermöglichen, wenn der Zug die Geschwindigkeit ändert.
gute idee uhr und daten
Man könnte wahrscheinlich Richtung und Geschwindigkeit mit nur einem einzigen Sensor herausfinden, wenn die Barcode-Sensoren näher an der Nordschiene montiert wären, jeder Waggon zwei Barcodes hätte und es genügend Redundanz im Barcode-Format gäbe (z. B. Manchester-Codierung verwenden und die zugrunde liegenden Daten sicherstellen). hat eine gute Mischung aus "1" und "0". Man könnte die Dinge dann so anordnen, dass jeder Barcode ein östliches und ein westliches Ende hat (diese Definitionen sind korrekt, wenn sich der Barcode näher an der Nordschiene befindet).
Hey, das wird sehr interessant! Danke, nützliche Einblicke in den Barcodescanner (in den Kommentaren) und @Richman, ich fange an, die IR-Idee zu mögen, es ist das, was wir im wirklichen Leben oft tun: Sender und Empfänger in einem einzigen Paket, eingebettet in den Transit Pfad, oder in diesem Fall zwischen Schwellen des Gleises. Die Barcode-Lösung sieht jetzt nicht so attraktiv aus, weil die Software mein Problem werden wird, und ich spreche Software sozusagen nicht so gut!