Hallo, ich möchte für einen Rundenzähler und Zeitmessung für eine Carrera-Digita132 Autorennbahn mit einem Atmega8 ein Programm Schreiben das mir über die Serielelle Schnitstelle die die folgenden Daten schickt: -Autokennung -Rundenzeit -Anzahl der Runden Ich habe mir das so vorgestellt: Jedes Auto hat eine IR-LED die je nach Fahrzeug-ID mit einer bestimmten Frequenz angesteuert wird. -Auto 1 15625Hz -Auto 2 7812Hz -Auto 3 5208Jz usw... Ich müsste also in jedem Slot der Rennbahn ein IR-Transistor einbauen und dann über den Input Capture Pin am Atmega die Frequenz des Autos messen, so kann ich feststellen um welches Auto es sich handelt das gerade den Transistor überquert hat. Dann müsste ich einen 2ten Timer nehmen der jede Millisekunde eine Variable für das entsprechende Auto hochzählt. Beim zweiten überqueren des Transistors müsste die entsprechede Variable über die Serielle Schnittstelle übertragen werden und die Variable auf 0 gesetzt werden. Könnte das so funktionieren oder bin ich Total auf dem Holzweg? Vielleicht hat ja jemand schonmal sowas gebaut, oder hat damit Erfahrung. Vielen Dank schonmal!
Hallo Sascha, gebaut habe ich sowas noch nicht, habe aber letzten Winter auch so einige Tests gemacht. Es müsste eigentlich gehen. Es gibt eine interessante Seite, die sich mit D132 beschäftigt. www. slotbaer.de Dort wurde auch ein Rundenzähler gebaut, jedoch sind keine SourceCodes verfügbar. Aber das D132 Protokoll ist dort erklärt. Die von die geschriebenen Frequenzen stimmen meines Wissens nicht, aber ich kan mich auch täuschen. Gruß Christian
Christian Radermacher schrieb: >Die von die > geschriebenen Frequenzen stimmen meines Wissens nicht, aber ich kan mich > auch täuschen. Hallo Christian, die Frequenzen sind von www.slotbaer.de sollten also stimmen. Ich bin noch am Überlegen wie ich die Fahrzeuge sicher detektieren kann, ich muss ja im prinzip 2 Frequenzen am Fototransistor messen um zu wissen welches Fahrzeug gerade die Lichtschranke passiert hat. Das soll ein Weihnachtsgeschenk für meinen Schwiegervater werden. Mal gespannt ob ich das bis Weihnachten gebaut bekomme. Die PC-Software steht schon als Grundgerüst, jetzt fehlt halt noch die Hardware die die Daten an den PC schickt.
Hallo, sorry, dann hatte ich die falsch in Erinnerung. Aber wieso musst Du zwei Frequenzen messen? Jedes Auto hat durch seine LED genau eine Frequenz. Du musst nur die Zeit seit dem letten Überfahren messen, die Runden zählen, usw. und es kann natürlich passieren, dass auf beiden Spuren gleichzeitig Autos über die beiden Messtransitoren fahren. Aber ich könnts eh nicht programmieren. Ich wollte damals meine Scalextric Bahn auf Carrera Digital umbauen. Bin aber an dem Protokollleser erstmal gescheitert. Den hätte ich gebraucht, um zu wissen welches Auto eine Taste zum Spurwechsel gedrückt hat, und dann eine Scalex Weiche zu schalten. Aber derzeit ist mir ein anderes Projekt wichtiger. Vielleicht nehme ich das wieder in Angriff, wenn das andere Projekt fertig ist. Gruß Christian
Hallo Christian, ich bin auch gerade dabei einen Protokollleser zu bauen. Mir gehen jedoch immer ein paar Datenpakete verloren. Woran ist Dein Projekt gescheitert, welche Hardware benutzt Du ? Schöne Grüße Olli
Hallo! Das gibt es schon. Sucht mal nach: Slotrun USB4x4 oder slotrun.de Das System habe ich und es funktioniert SUPER! Gruß Marc
Ja an dem Rundenzähler bastel ich auch gerade. Hatte es mir auch etwas einfacher vorgestellt, naja was solls. Auf jeden Fall hab ich schonmal 98% saubere auswertbare Daten der einzelnen Fahrzeuge, sprich ich kann die Autos unterscheiden auch wenn sie Stoßstange an Stoßstange über den Sensor fahren. Die Fehlmessungen müssen natürlich noch weg sonst bringt es nix. Ich hab mir 2 versch. Codes aus dem Inet gesucht zum Thema Frequenzmessung, all die anderen Codes die man findet sind recht ähnlich zu meinen. Tjo ich kann nur bissel Bascom daher wird nich einfach da sehr viele in C proggen. Mal sehen was rauskommt dabei, ich würd mich auch über Hinweise und Tips freuen die weiterhelfen könnten Gruß kollimann
Könnte es so gehen? Man nimmt bei allen Autos und beim Empfänger den UART Port dafür her und schaltet als erste Sicherheitsinstanz das EVEN Parity ein. Somit bekommt der Empfänger halbwegs richtige Daten oder im Störfall fast gar keine Daten. Ein Auto sendet mit 10ms Abstand ständig die Daten 0x10101010. Das andere Auto sendet z.B. mit 13ms Abstand ständig die Daten 0b11110000. Wenn sie beide gleichzeitig passieren sollten, dann könnten sie sich zwar bei einer Sendung stören, aber nicht bei allen, da ja beide nicht syncron senden. Somit hast Du in ca 55 Milisekunden 2-4 Messungen, die ungestört sind, und evtl 1-2 Messungen, die gestört sind. Das funktioniert aber nur mit wenigen Autos, Du musst ja Sendepausen berechnen, wie sie sich so wenig wie möglich überschneiden.
Hm Igor, ich glaube du hast da was falsch verstanden. Die Autos sind vom Hersteller fertig geproggt bzw in jedem Auto steckt ein Mega8 mit der Herstellersoft. Die IR LED ist auch vom Hersteller eingebaut. Alles siehe 1.Post Ich werde nicht wegen Rundenzählen in der Herstellersoft "rumspielen" Ich/wir wollen ja einfach das Signal bzw die Frequenz die jedes Auto über seine IR LED Herstellerseitig aussendet auffangen und auswerten. Die Frequenzen sind bekannt siehe 1.Post. Ich hab heut noch bissel gebastelt, alles mal ordentlich verkabelt etc. Ich habe heute bei ca 100Runden teilweise mit einem Auto, teilweise mit 2 Autos Stoßstange an Stoßstange 4 Fehlmessungen gehabt. 2 Dieser enstanden glaub ich dadurch das kurz vorm Messpunkt das Auto rausfiel und super schnell wieder reingesetzt wurde und schon kam der Messpunkt. Könnte sein das in dieser kurzen Zeit der Atmega im Auto noch nich ganz fertig war oder eben die LED noch nicht die richtige Frequenz hatte. Das ist meine Theorie, ob das stimmt weiß ich nicht. Die anderen beiden Fehler sind bisher unerklärt. Einfach so passiert beim Fahren. Soweit bin ich recht zufrieden mit meiner Bastelei, also weiter basteln, wird schon werden Gruß Kollimann
Ach so. OK, das wusste ich nicht. Dann ist es aber ganz einfach: Du brauchst keine zwei Frequenzen gleichzeitig abfragen, mach für jede Bahn einen eigenen Photo Transistor benutze zwei Input Capture Pins am Prozessor. Die Photo Transistoren müssen halt recht nah am Auto sein und soweit seitlich abgedeckt sein, dass das Auto der Nebenbahn nicht einstrahlt. So wie am Bild. Bei Spurwechsel kriegen beide die Frequenz ab und Du kannst es trotzdem auswerten.
Das geht auch nicht da bei Digital 2 oder mehr Autos auf einer Spur fahren können!! Man muss bei Digital schon diesen Weg gehen über die IR LED in den Autos, umsonst senden die Hersteller ja nicht unterschiedliche Frequenzen, genau so wirds auch beimWeichen stellen / überholen gemacht, nur das Auto wo auch der Weichendrücker gedrückt wird stellt die Weiche. Auch über IR LED und Empfänger vor der Weiche.
Hat das mal wer gelöst? Arbeite gerade an diesem Thema und komm nicht wirklich weiter. MfG Harry
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.