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).
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:
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.
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.
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;
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.
Anindo Ghosh
Scheinbar so
sternenblau