Re: 2 Zeiten erfassen per Mega 128 Kategorie: Programmierung Basic (von Franz-Peter - 8.11.2012 10:34) | ||
Als Antwort auf Re: 2 Zeiten erfassen per Mega 128 von Jürgen A. - 7.11.2012 21:55 | ||
| ||
> > > > > > > Hallo > > > > > > > > > > > > > > ich bin leider noch unerfahren was die Programmierung der Mega 128 angeht, > > > > > > > da ich sie erst bestellt habe und sie mir erst noch in den Nächsten Tagen zugestellt werden muss. > > > > > > > > > > > > > > Habe zwar schon vor ein paar jahren mit der BASIC 1 erfolgreich dinge erledigt, > > > > > > > aber irgendwann ging sie Kaputt und nun ist ein neues Projekt da, wo ich mich für die Mega 128 entschieden habe. > > > > > > > > > > > > > > Kurz um, habe ich mir die IDE (2.13.0.15 Heruntergeladen und installiert) > > > > > > > um schonmal vorab das eine oder andere an der IDE kennen zu lernen ect. p.p. > > > > > > > > > > > > > > Jetzt zu mein Problem. > > > > > > > > > > > > > > Ich möchte gern eine Zeitmessung vornehmen können, die Genauigkeit auf 100ms wäre schön, > > > > > > > aber im zweifel reicht auch erst einmal sekunden genau. > > > > > > > > > > > > > > Um die Messung zu Starten wird ein Schalter wohl der Startknopf werden. > > > > > > > > > > > > > > Um die Messung zu stoppen, muss ein 2. Schalter her.... > > > > > > > Da ich 2 Zeiten benötige (Wettrennen sozusagen) wird noch ein 3. Schalter benötigt. > > > > > > > > > > > > > > (Die Anschluss geschichte selbst ist hier weniger das Problem....) > > > > > > > > > > > > > > Nun gibt es bei der Mega 128 wohl 3 timer wobei timer_0 wohl nicht benutzt werden darf, > > > > > > > da ihn die Mega128 selbst benötigt... > > > > > > > > > > > > > > Ok also bleiben noch 2 Timer.... > > > > > > > > > > > > > > aber irgendwie versteh ich das ganze nicht wirklich... > > > > > > > > > > > > > > Vorteiler???? Was ist das, was bewirkt das genau, warum muss dieser gesetzt / eingestellt werden? > > > > > > > > > > > > > > wie erfasse ich nun am besten die beiden Kurzzeitigen StopSignale > > > > > > > (Kurzzeitig = weniger als 0,5 Sek) zuverlässig. > > > > > > > > > > > > > > Und Wie bekomme ich am ende die Zeit angezeigt? > > > > > > > Klar per LCD aber ich mein woher bekomme ich die Verbrauchte Zeit vom Start bis zum Stop1Signal > > > > > > > bzw. Stop2Signal? > > > > > > > > > > > > > > Tut mir leid wenn ich damit nicht (noch nicht) klar komme, > > > > > > > aber da das ganze bei der M128 für mich Neuland ist, muss ich mich damit erst einmal zurecht Fummeln. > > > > > > > > > > > > > > Kurz nochmal: > > > > > > > 1. Startknopf (Rennen beginnt) bei 00:00.00 (mm:ss.hs) > > > > > > > 2. StopKnopf 1 Zeit ermitteln für ersten (01:28.54) 1m 28s 54hs > > > > > > > 3. Stopknopf 2 Zeit ermitteln für zweiten (01:29.34) 1m 29s 34hs > > > > > > > > > > > > > > Ich wäre für sachdienliche Hinweise zur Festsetzung der Zeiterfassung dankbar. > > > > > > > > > > > > > > > > > > > > Hallo Jürgen, > > > > > > zunächst mal zum Vorteiler: Damit man mit dem Timer Zeiten messen kann, muss er in einem > > > > > > gleichmässigen Zeitraster hochgezählt werden. Am einfachsten verwendet man dafür den Systemtakt. > > > > > > Das sind bei der Mega128 14,7456MHz. Wenn man die direkt auf den Timer gibt, kann mann zwar > > > > > > mit sehr hoher Auflösung messen, aber nur sehr kurze Zeiten, denn ein 8-Bit bzw 16-Bit > > > > > > Zähler läuft da schon nach ca. 17,4µs bzw 4,44ms über. Um grö�ere Zeiträume messen zu können, wird > > > > > > der Timer nur z.B. jeden 256. oder 1024. Takt erhöht. Genau dass erledigt der Vorteiler. Dann kann > > > > > > man auch längere Zeiträume messen, hat allerdings nicht mehr eine so hohe Auflösung. > > > > > > Für Deine Anforderung würde ich aber gar keinen Timer direkt verwenden. Die Bibliothek bietet > > > > > > einen Interrupt, der alle 10ms aufgerufen wird. Nachzulesen in der Hilfe unter > > > > > > Bibliotheken->Interrupt->IRQ Beispiel. Wenn Du in der IRQ-Routine eine Variable incrementierst > > > > > > kannst Du damit im 10ms Raster Zeiten messen. > > > > > > In der Hauptschleife die Variable beim Drücken des Startknopfes zu 0 setzen und mit den Stop- > > > > > > Knöpfen auslesen. Du kannst in der Interruptroutine auch mit mehreren Variablen für ms, sec, min > > > > > > arbeiten, die du entsprechend incrementierst, dann sparst Du dir das Umrechnen für die Anzeige. > > > > > > Gru� > > > > > > Franz-Peter > > > > > > > > > > > > > > > > Hallo Franz-Peter, > > > > > > > > > > vielen Dank für deine Erklärung hinsichtlich der/des Vorteilers. > > > > > Das hab ich jetzt auch soweit verstanden. > > > > > > > > > > Ja die IRQ Sache hatte ich schon gesehen in der Hilfe, hatte sie aber wohl falsch verstanden, > > > > > da ich irgendwie davon aufging das dies mit einem IRQ Pin im Zusammenhang läge. > > > > > In diesem Falle wei� ich dann schon wie ich das erledige. > > > > > > > > > > Eine Frage hätte ich noch... > > > > > > > > > > Wird die IRQ-Routine auch bei ABSDelay Verwendung in 10ms Takt angesprochen? > > > > > Hab leider nur den Hinweiss gefunden das während der > > > > > Abarbeitung des IRQ's das MultiThreading ausgesetzt wird. > > > > > > > > > > Vielen Dank nochmals > > > > > > > > > > Gru� Jürgen > > > > > > > > Hallo Jürgen, > > > > ja - gute Frage, mit dem ABSDelay bin ich mir nicht sicher. Ich verwende den Befehl aber gar nicht, > > > > sondern mache alle Zeitverzögerungen über den 10ms IRQ. Neben deiner Stoppuhr kannst Du ja auch > > > > noch weitere Zeitvariable dort verwalten. Für den Delay z.B. > > > > im IRQ mit einer int-Variablen 'Delay0': > > > > if ( Delay0 > 0 ) Delay0--; > > > > in Main dann: > > > > Delay0= 100; while (Delay0>0); > > > > ergibt 1s Verzögerung. Vorteil zu ABSDelay ist, dass man während der Wartezeit ( in der while- > > > > Schleife) gegebenfalls auch noch anderes erledigen kann. Und die Stoppuhr läuft dann ganz sicher > > > > auch weiter > > > > > > > > Gru� > > > > Franz-Peter > > > > > > > > > Hallo Franz-Peter, > > > > > > ja das macht sinn, verwende es in ähnlicher form zum teil in Software im Windows Sektor... > > > > > > Na ich schaue mir das ganze nochmal in ruhe an, manchmal mu� man eben erst ein Laubblatt > > > gezeigt bekommen um den Wald zu sehen ;) > > > > > > ich Seh in deiner Signatur, du verwendest den ProBot128, ist das Richtig??? > > > > > > Hätte da vielleicht ein paar Fragen zu, ich habe ihn nicht, wollte mir ihn aber ggf. zulegen > > > zu Lehr und Studien zwecke, da ich nach ein "Roboter" möglichkeit suche die mir auf Arbeit > > > etwas Arbeit abnehmen könnte, Sprich möchte mir meine Arbeit etwas erleichtern > > > durch Eigenentwicklung. Wäre nur hier jetzt zuviel. würde mich freuen wenn du mich per Mail > > > ggf. Kontaktieren könntest, damit ich dir, solang es dir recht ist, Fragen stellen kann.... > > > > > > Falls du möchtest.... > > > > > > Gru� Jürgen > > > > Hallo Jürgen, > > einen ProBot128 verwende ich nicht. Aus welchen Gründen auch immer, wird das Häkchen bei mir immer > > wieder gesetzt, und ich vergesse manchmal es abzuwählen. Ich verwende nur Project- und Application > > Board und teilweise auch eigene Boards - da aber normalerweise einen ATMega direkt (ohne > > Interpreter). Das ganze ist eine recht umfangreiche Steuerung für meine Modellbahn. > > Gru� > > Franz-Peter > > Hallo Franz-Peter, > > oh das ist irgendwie schade, das du den Bot nicht hast/nutzt. > Modellbahn............ schönes Hobby, wenn ich Platz,Zeit und Geld hätte... > ja genau in dieser Reihenfolge.... hätte ich sicherlich auch wieder eine Bahn. > Darf man fragen welche Spur? Fragt man das überhaupt noch, bei mir ist es jahrzehnte her als ich > die letzte Lok über die Gleise führte.... es war die Spur TT... hab sie immer etwas Natürlicher > in erinnerung als die anderen Spuren wie N, Z oder H0.... > > Dann arbeitest du sicherlich auch mit ReedKontakten auf deiner Bahn... > Bei meinem Zeiterfassungs Projekt, sind im Grunde auch schienen von bedeutung, in der Projektierung zur einfacheren > Planung bewegt sich ein Schlitten über 4 Meter auf einer schiene, über dieses der schlitten seine Betriebsspannung > bekommt, diese ist 14V einweg gleichgeritet, unter verwendung von Reed's wollte/sollte > Die Wegstrecke Anfang, Ende erkannt werden, leider scheint die Stromquelle ungeeignet, da das Reed, > nach einmaligem auslösen vom schlitten, nicht wieder öffnet, erst wenn der Schienenstrom > abgeschalten wird. Es hat den anschein, das der strom allein das reed nicht auslösen zu vermag, aber > ausreicht um die geschlossene stellung zu halten. > > Kannst du ggf. ein solches verhalten bestätigen? Mir ist klar das der Bahnstrom und der dadurch > betriebene Motor, ein Induktives Feld aufbauen, mir war nur nicht bewusst, das es letztlich so > Kräftig ist. > > Na egal... denke das ich hier eher über Gabel.-oder Reflex Lichtschranken arbeiten werde / Muss. > > Aber falls du dazu etwas sagen kannst, wäre es mir ein vergnügen deine Antwort zu lesen > > Gru� Jürgen Hallo Jürgen, ja - welche Spur ist immer noch ein gro�es Thema bei der Modellbahn. TT hätte mich auch gereizt - ein guter Kompromiss zwischen Grö�e und Platzbedarf. Aber die Auswahl ist bis heute immer noch deutlich kleiner als bei H0 - und so bin ich dabei geblieben. N und Z sind mir zu 'pfriemelig'. Bei mir gab's bei dem Hobby auch eine sehr gro�e Pause - erst jetzt, nach meiner aktiven Berufszeit, habe ich die nötige Zeit um mich intensiv damit zu beschäftigen. Mit Reed-Relais habe ich Anfangs auch experimentiert. Die Empfindlichkeit ist aber stark von Einbaulage/Richtung des Magnetfeldes abhängig und die Feldstärke zum Halten ist sicher geringer als die nötige Feldstärke zum Schalten. Hast Du schon versucht, die Einbaulage zu verändern, so dass es auf das Feld des Fahrstromes weniger reagiert? Ich bin aber letztendlich auch zu Licht- schranken übergegangen. Das funktioniert sehr zuverlässig und erkennt jedes Fahrzeug - unabhängig ob da ein Magnet vorhanden ist oder nicht. Gru� Franz-Peter | ||
Antwort schreiben Antworten: Re: 2 Zeiten erfassen per Mega 128 (von Jürgen A. - 11.11.2012 11:28) Re: 2 Zeiten erfassen per Mega 128 (von Franz-Peter - 15.11.2012 16:41) Re: 2 Zeiten erfassen per Mega 128 (von Jürgen A. - 17.11.2012 19:40) Re: 2 Zeiten erfassen per Mega 128 (von Franz-Peter - 18.11.2012 10:12) Re: 2 Zeiten erfassen per Mega 128 (von Jürgen A. - 18.11.2012 14:16) Re: 2 Zeiten erfassen per Mega 128 (von Torsten - 19.11.2012 19:33) Re: 2 Zeiten erfassen per Mega 128 (von Jürgen A. - 20.11.2012 18:50) Re: 2 Zeiten erfassen per Mega 128 (von Franz-Peter - 20.11.2012 20:56) Re: 2 Zeiten erfassen per Mega 128 (von Torsten - 21.11.2012 12:59) Re: 2 Zeiten erfassen per Mega 128 (von Franz-Peter - 22.11.2012 17:15) Re: 2 Zeiten erfassen per Mega 128 (von Torsten - 22.11.2012 18:45) Re: 2 Zeiten erfassen per Mega 128 (von Jürgen A. - 22.11.2012 23:18) Re: 2 Zeiten erfassen per Mega 128 (von Franz-Peter - 23.11.2012 9:54) Re: 2 Zeiten erfassen per Mega 128 (von Jürgen A. - 23.11.2012 15:24) Re: 2 Zeiten erfassen per Mega 128 (von Franz-Peter - 24.11.2012 18:03) Re: 2 Zeiten erfassen per Mega 128 (von Torsten - 24.11.2012 16:47) Re: 2 Zeiten erfassen per Mega 128 (von Jürgen A. - 26.11.2012 19:23) Re: 2 Zeiten erfassen per Mega 128 (von Torsten - 27.11.2012 18:45) Re: 2 Zeiten erfassen per Mega 128 (von Jürgen A. - 28.11.2012 22:56) Re: 2 Zeiten erfassen per Mega 128 (von Torsten - 30.11.2012 18:44) Re: 2 Zeiten erfassen per Mega 128 (von Jürgen A. - 2.12.2012 13:20) Re: 2 Zeiten erfassen per Mega 128 (von Jürgen A. - 27.11.2012 21:46) Re: 2 Zeiten erfassen per Mega 128 (von Jürgen A. - 27.11.2012 21:42) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum