Hallo, bei den digitalen Slotcarbahnen (Carrerabahn) werden bei manchen Systemen die Autos an codierten Leitkielen und Lichtschranken im Slot erkannt. Das ganze wird ja vermutlich auch über µC gelöst sein. Hier mal ein Link zu einer Grafik, die diese Codierten Leitkiele symbolhaft zeigt (http://home.pages.at/slotcar/userfiles/GuideBladeCodes.gif). Kann mir mal jemand erklären wie man unterschiedliche Leitkiele mit jeweils gleicher Anzahl an Löchern erkennt. Wird da die Zeit gemessen (Beginn Leitkiel - erstes Loch - zweites Loch - ... - Leitkiel Ende)? Da sowas ja Geschwindigkeitsabhängig ist, müsste man da ja mit Faktoren arbeiten. Irgendwie kann ich mir noch nicht vorstellen, das dieses System bei den Geschwindigkeiten funktioniert. Schließlich ist ein solcher Leitkiel nur 2 oder 3 cm lang. Schafft das ein µC? Gruß Martin
Sofern die Kerben gleich breit sind, muss man ja nur die Zeit zwischen
den Kanten messen.
Anhand der einzelnen Zeiten kann man dann die Position der Kodiermarken
erkennen.
Durch die konstante Lochbreite kann man dann sogar noch die
Geschwindigkeit messen...
>Schafft das ein µC?
Der wird damit garantiert nicht überfordert sein.
Wer soll das sonst schaffen?
Wie schnell sind denn die Autos maximal?
Daraus liesse sich dann auf die notwendige Abtastfrequenz schliessen.
Timer mit Capture-Funktion sollten damit keine Probleme haben. Sagen wir mal, das Auto fährt 2000mm/s und wir messen immer 'wenn es dunkel wird'. Da liegt der kleinste Abstand so bei 5mm, das dauert dann 1/400s oder 2,5ms. Ein mit nur 1MHz getakteter Timer zählt in der Zeit immerhin bis 2500.
Hallo, OK, nur damit ich das richtig verstehe. Man würde in einem solchen Fall tatsächlich die Zeiten messen, die der Lichtstrahl unterbrochen ist. An diesen Zeiten, kann man dann die Codierung erkennen? Damit die Geschwindigkeit egal ist, wird das Verhältniss von Licht zu Unterbrechung benutzt. Das ist ja immer gleich, oder? Martin
Ich würde das in etwa so machen: Im ersten Schritt werte ich mal überhaupt nichts aus, sondern beschäftige mich nur mit der Datenaufzeichnung: Sobald die Lichtschranke dunkel wird, ist offensichtlich der Kiel in die Lichtschranke eingetreten. Ab da gehts los. Mit einer bestimmten Frequenz wird regelmässig die Lichtschranke abgetastet, bis entweder * eine vordefinierte Zeit abgelaufen ist Dann steht das Auto zufällig in der Lichtschranke und ich kann keinen Wert auslesen * Die Lichtschranke eine bestimmte Mindestzeit wieder hell war. Dadurch weiss ich, dass der Kiel jetzt komplett durch ist. Interessant ist jetzt nur der 2. Fall. Die Datenaufzeichnung würde ich mal postulieren, mache ich so: Ich weiss ja, dass da regelmässige Lichtwechsel kommen müssen. Ich messe also die Zeit bis zum ersten Dunkel/Hell Übergang, dann bis zum nächsten Hell/Dunkel Übergang, etc. Wie gesagt: Wenn beim Warten auf den Übergang Hell/Dunkel ein Timeout auftritt, dann ist der Kiel durch. Wie auch immer die Summe aller Zeitmessungen sagt mir wie lang der Kiel insgesammt gebraucht hat um durch die Lichtschranke zu flitzen. Damit kann ich die gemessenen Zeiten auf die Kiellänge normieren, habe damit also die unterschiedlichen Geschwindigkeiten schon mal rausgerechnet. Der Rest ist dann einfach: Je nachdem wo die Dunkel/Hell Übrgänge in normierter Form liegen, kann ich dann die Bits detektieren. Das ist jetzt alles aus dem Bauch raus niedergeschrieben. Aber so oder so ähnlich würde ich das angehen.
Wie Uwe schon schrieb: Dafür sollte man die Input-Capture-Funktion des Controllers verwenden (also einen Controller auswählen, der diese Funktion interstützt - das machen AFAIK die meisten ATmega, um bei AVR zu bleiben...)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.