www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Carrera Digital 132 Zeitmessung / Rundenzähler


Autor: Sascha Dürkes (plutoonline)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: Christian Radermacher (cradi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Sascha Dürkes (plutoonline)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Christian Radermacher (cradi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Olli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: ATMac (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Das gibt es schon.
Sucht mal nach: Slotrun USB4x4 oder slotrun.de
Das System habe ich und es funktioniert SUPER!
Gruß
Marc

Autor: kollimann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: I. E. (anfaenger69)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: kollimann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: I. E. (anfaenger69)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: kollimann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Harald M. (_harry_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat das mal wer gelöst?
Arbeite gerade an diesem Thema und komm nicht wirklich weiter.

MfG
Harry

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.