Archiv verlassen und diese Seite im Standarddesign anzeigen : Timer Auflösung
Hallo zusammen,
ich hab folgendes Problem: Ich soll die Geschwindigkeit eines Objektes messen das durch zwei Lichtschranken fliegt. Bei Lichtschranke 1 soll die Messung starten und bei Lichtschranke 2 soll die Messung aufhören. Die Lichtschranken sind in einem Abstand von 1m montiert. Wie ich die Ports abfrage an denen die Lichtschranken angeschlossen sind ist mir klar aber wie berechne ich die Geschwindigkeit und wie stelle ich den Timer 0 auf eine Auslösung von 1ms ein?
Vielen Danke für eure Hilfe schonmal im Vorraus.
Um dir helfen zu können, wären einige Anagben sinnreich! Welchen µC verwendest du. Wie sieht deine Hardware für die Lichtschranken aus bzw. welches Signal liefern diese, wie genau (Auflösung) soll die Messung sein. Evtl auch mal kurz erklären, was da überhaupt gemessen werden soll.
Andernfalls....:confused:
Hallo zusammen,
ich hab folgendes Problem: Ich soll die Geschwindigkeit eines Objektes messen das durch zwei Lichtschranken fliegt. Bei Lichtschranke 1 soll die Messung starten und bei Lichtschranke 2 soll die Messung aufhören. Die Lichtschranken sind in einem Abstand von 1m montiert. Wie ich die Ports abfrage an denen die Lichtschranken angeschlossen sind ist mir klar aber wie berechne ich die Geschwindigkeit und wie stelle ich den Timer 0 auf eine Auslösung von 1ms ein?
Vielen Danke für eure Hilfe schonmal im Vorraus.
T0 im 16-bit Modus betreiben. Dann hängt es davon ab, welchen Quarz du verwendest, überhaupt erst mal vom µC. Dementsprechend kann man im T0-Interrupt diesen entsprechend "laden", damit ein 1ms-Interrupt herauskommt.
Für ein Fußballprojekt soll die Geschwindigkeit des Balles gemessen
werden, Hierzu wurde ein Lichtschranke im Abstand von 1m aufgebaut.
Erstellen sie ein Programm zur Messung der GEschwindigkeit. Verwenden
sie für die Messung Port 4. Richten sie Ihre Programm so ein, dass nach
Start (Taste Start) die Messung beginnt, wenn ein Signal am 1. Empfänger
der Lichtschranke auftrittt.
Zur besseren Absicherung des Ergebnisses wiederholen sie die Messung
mehrere Male und bilden darüber einen MIttelwert.
Das Ende der Messreiehe wird durc Betätigten der Taster Stopp
ausgelöst.
Speichern sie Ihre Ergebnisse (einzelne Messergebnisse und MIttelwert)
im exteren Specher ab der Adresse 9000H.
Eine Auflösung von 1 km/h wird erwartet. Berechnen sie die Messzeit
hierzu und geben sie Grenzwerte an. Die ANzeige des Ergebnisses
(Mittelwert) erfolgt über ein Display. Die Befehle hierfür werden
vorgeben.
Messbedingugen:
Messbeginn: Taste Start( PortPin 4.0) betätigt
Lichtschranke EMüfänger 1 PortPin 4.1
Lichtschranke Empänger 2 PortPin 4.2
Messung der Geschwindigkeit nach Auslösung Empfänger
Geschwindigkeitsauflösung 1 km/h
Anzeige Display
Ende der MEssung durch Taste Stopp PortPin 4.3
Mittelwertbildung nach der Anzahl der Messungen
Der Controller ist der SAB80C535 von Infineon
Das Programm soll nur in Keil µVision simuliert werden, also nicht real aufgebaut werden.
</pre>
Hallo Devil,
ist ja eine schöne Aufgabe! Port 4 ist soviel ich weiß ein reiner Port ohne Interrupts
o.ä. Da muß also gepollt werden. Zur Zeitmessung dient ein Timer nach Belieben.
Mit 12-MHz-Takt zählt der in Mikrosekunden.
Der Ball wird sicher nicht schneller als 200 km/h, sehr schön, kein Timerüberlauf!
Auflösung 1 km/h bedeutet, daß TLx nicht vernachlässigt werden darf. Zur
Mittelwertbildung müssen die Zählerstände summiert werden, hierzu sind mindestens
3 Byte bzw. long nötig.
So viel erstmal, ich will dir ja nicht den ganzen Spaß verderben. :)
guidob
Hallo,
1984 habe ich für diese Aufgabe mit Erfolg ein Gerät gebaut.
Anzeige über aufgeständerte 4stellige 5x7-LCD-Anzeige (Höhe ca. 30cm) 0 bis 300Km pro Std.
Manfred
Elektrikser
01.07.2006, 10:10
Die Aufgabe habe ich schon im mikrocontroller.net gelesen. Da waren auch ein paar schöne Antworten dabei.
Timer mit einer definierten Zeit ablaufen lassen, wenn die erste Lichtschranke kommt, und dass wieder holen bis die zweite kommt. Jedesmal wenn der Timer-Interrupt da ist, ein Register zählen lassen. Am Schluss hast du dann die Durchläufe des Timers und den Restwert im TLx, THx. Das noch richtig ausgeben und fertig.
Gruß Gerd G.
Powered by vBulletin® Version 4.1.12 Copyright ©2012 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.