Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert sind; Die von diesem Forum gesetzten Cookies düfen nur auf dieser Website verwendet werden und stellen kein Sicherheitsrisiko dar. Cookies auf diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Zeitmessung via PIC
#1
Liebe Technikfans



Suche nach einer preisgünstigen, flexiblen (d.h. programmierbaren) Lösung für die Zeitmessung und habe dabei an folgendes gedacht:
  • Reed-Kontakt unter die Schiene plazieren und diese als Schalter verwenden für einen

  • Microcontroller, z.B. PIC18F1220. Dieser hat einen eigenen Oszillator. Sobald der Reed-Kontakt schliesst, schreibt der Controller seine 16bit-Timerzeit in einen Puffer. Dieser wird periodisch vom PC via RS232 ausgelesen.

Meine Überlegung:
  • Da eine Art Zeitstempel generiert wird, spielt die Geschwindigkeit des Computers keine Rolle. Die Rundenzeit erhält man einfach aus der Differenz der beiden Zeitstempel (ev. mit einem Faktor multipliziert). Es müsste damit eine Genauigkeit von 1ms möglich sein.

  • Die Kommunikation über eine RS232 ist einfach zu programmieren (auf Seite Computer). Der Controller (PICnnFxxxx) sollte bereits über ein entsprechendes Interface verfügen.

  • Grundsätzlich mit der selben Idee sollten auch Geschwindigkeitsmessungen möglich sein: 2 Reedkontakte: der eine startet den Timer, der zweite stoppt ihn. Zeitdifferenz entspricht der Geschwindigkeit (natürlich abhängig von der Messstrecke, etc.)

  • Je nach Controller und der entsprechenden Anzahl I/O-Pins ist von 2 bis ?? spurig alles möglich! (Der Oszillator ist intern so hoch getaktet, dass ich mir nicht vorstellen kann, dass mehrere Reed-Kontakte "gleichzeitig" auslösen können.)

  • Ein solcher Controller kostet um die 3 Euro, dazu noch 4 Reed-Kontakte zusammen 2 Euro sowie noch eine Platine und weitere Kleinigkeiten. Vielleicht kommt man mit 10 Euro durch (für 4 Spuren!)

  • Kommunikation via RS232 erlaubt, meinen (ur)alten Laptop mit Win3.1 oder sogar DOS zu verwenden.




Ausbaubar



Wählt man einen Controller mit USB-Unterstützung (z.B. PIC18Fxx5x) dann kann man auch über USB kommunizieren. Die entsprechenden USB-Treiber für WinXP sind entweder bereits im Windows integriert oder lassen sich von Microchip herunterladen. Man kann damit schöne <img src='http://www.h0slot.de/public/style_emoticons/<#EMO_DIR#>/laugh.png' class='bbc_emoticon' alt=':lol:' /> Applikationen mit aktuellen Programmiersprachen entwickeln.





Nachteile



Zwei "Nachteile" möchte ich ebenfalls ansprechen:
Was meint ihr dazu?

Hat schon jemand Erfahrung mit PICs?

An was habe ich nicht gedacht? (Mir scheint die Lösung so einfach, dass ich bestimmt nicht der erste bin, der darauf gekommen ist <img src='http://www.h0slot.de/public/style_emoticons/<#EMO_DIR#>/wink.png' class='bbc_emoticon' alt='Wink' /> )



Besten Dank für eure Meinungen, Ideen, Kritiken, etc.



pi
Zitieren
#2
[quote name='H0pi' post='18055' date='01.10.2007 - 17:04']Suche nach einer preisgünstigen, flexiblen (d.h. programmierbaren) Lösung für die Zeitmessung und habe dabei an folgendes gedacht:
  • Reed-Kontakt unter die Schiene plazieren und diese als Schalter verwenden für einen

  • Microcontroller, z.B. PIC18F1220. Dieser hat einen eigenen Oszillator. Sobald der Reed-Kontakt schliesst, schreibt der Controller seine 16bit-Timerzeit in einen Puffer. Dieser wird periodisch vom PC via RS232 ausgelesen.

Meine Überlegung:
  • Da eine Art Zeitstempel generiert wird, spielt die Geschwindigkeit des Computers keine Rolle. Die Rundenzeit erhält man einfach aus der Differenz der beiden Zeitstempel (ev. mit einem Faktor multipliziert). Es müsste damit eine Genauigkeit von 1ms möglich sein.

  • Die Kommunikation über eine RS232 ist einfach zu programmieren (auf Seite Computer). Der Controller (PICnnFxxxx) sollte bereits über ein entsprechendes Interface verfügen.

  • Grundsätzlich mit der selben Idee sollten auch Geschwindigkeitsmessungen möglich sein: 2 Reedkontakte: der eine startet den Timer, der zweite stoppt ihn. Zeitdifferenz entspricht der Geschwindigkeit (natürlich abhängig von der Messstrecke, etc.)

  • Je nach Controller und der entsprechenden Anzahl I/O-Pins ist von 2 bis ?? spurig alles möglich! (Der Oszillator ist intern so hoch getaktet, dass ich mir nicht vorstellen kann, dass mehrere Reed-Kontakte "gleichzeitig" auslösen können.)

  • Ein solcher Controller kostet um die 3 Euro, dazu noch 4 Reed-Kontakte zusammen 2 Euro sowie noch eine Platine und weitere Kleinigkeiten. Vielleicht kommt man mit 10 Euro durch (für 4 Spuren!)

  • Kommunikation via RS232 erlaubt, meinen (ur)alten Laptop mit Win3.1 oder sogar DOS zu verwenden.

Ausbaubar



Wählt man einen Controller mit USB-Unterstützung (z.B. PIC18Fxx5x) dann kann man auch über USB kommunizieren. Die entsprechenden USB-Treiber für WinXP sind entweder bereits im Windows integriert oder lassen sich von Microchip herunterladen. Man kann damit schöne <img src='http://www.h0slot.de/public/style_emoticons/<#EMO_DIR#>/laugh.png' class='bbc_emoticon' alt=':lol:' /> Applikationen mit aktuellen Programmiersprachen entwickeln.

Nachteile



Zwei "Nachteile" möchte ich ebenfalls ansprechen: Was meint ihr dazu?

Hat schon jemand Erfahrung mit PICs?

An was habe ich nicht gedacht? (Mir scheint die Lösung so einfach, dass ich bestimmt nicht der erste bin, der darauf gekommen ist <img src='http://www.h0slot.de/public/style_emoticons/<#EMO_DIR#>/wink.png' class='bbc_emoticon' alt='Wink' /> )



Besten Dank für eure Meinungen, Ideen, Kritiken, etc.[/quote]Hallo H0pi,



genau so was sehe ich auch als zukunftsträchtig an <img src='http://www.h0slot.de/public/style_emoticons/<#EMO_DIR#>/smile.png' class='bbc_emoticon' alt='Smile' /> .



Vorstellbar ist auch ein I/O-Warrior mit I2C-Schnittstelle. Dann brauchen die PICs nur ihren Zeitstempel zusammen mit PIC- und Portnummer beitragen.



Damit ist ein skalierbares Zeiterfassungssystem denkbar. Jeder Sensor - welche Hardware auch immer dahinter steckt - liefert nur diese Informationen. Der PC macht die Zuordnung zu Spuren und Streckenabschnitten - je nach Konfiguration.



Der Ansatz gefällt mir, weiter so <img src='http://www.h0slot.de/public/style_emoticons/<#EMO_DIR#>/biggrin.png' class='bbc_emoticon' alt='Big Grin' /> .



ciao

michael o.



P.S.

Bei Interesse kann ich eine entsprechende Beschreibungsdatei für Infrastruktur und Streckenkonfiguration veröffentlichen.
ciao michaelo
... und wer zuletzt aufgibt gewinnt.
Zitieren
#3
hallo leude,

ich hab mir vor ca 3 monaten eine zeitmessung gebaut und die läuft mit slotman super.

das schema is wie bei euch, per reedrelais.

schaut einfach mal bei [url="http://freenet-homepage.de/badenslot/frameneu.htm"]http://freenet-homepage.de/badenslot/frameneu.htm[/url] (schaltplan, aber ich hab statt lichtschranken reedrelais genommen) und www.slotcarmanager.de (die software)vorbei.



























lauchi
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 4 Gast/Gäste