Hallo zusammen,
Ich habe habe die Aufgabe, die Drehzahl eines Asynchronmotors zu
erfassen.
Dazu benutze ich einen Differential-Hallsensor der über der
Zahnradförmigrn Motorwelle angebracht ist und seine Impulse an einen Pic
18F45K22 weiterleitet.Soviel zur einführung
Es gibt jetzt zwei Möglischkeiten über Impulse die Drehzahl zu erfassen:
1. Messen der Zeit zwischen zwei Impulsen
Ich habe dabei ein Problem den Capzure Mode richtig einszustellen mit
capture Interrupt und Suche dafür verzweifelt ein Code beispiel in C.
2. generieren einer Torzeit durch auslesen eines Timerwertes nach einer
Umdrehung
kann den Timer stand nicht richtig auslesen, heißt ich bekomm trotz
einer einstellung für den 16 bit Modus des Timers eine 8 bit Zahl.
Deshalb wär ich dar dankbar wenn einer ein Code beispiel kennen würde
den den Timer als counter mit Interrupt darstellt.
Ein Verweis auf die entsprechenden Datenblätter würden mir hier nicht
weiterhelfen da ich die schon ausreichend studiert habe
Würde mich freuen wenn einer eine bessere Möglichkeit kennt bin offen
für Vorschläge.
PS: ein Beispeil für die Berechenung der Drehzahl nach der oben
beschriebenen Methoden wäre auch nicht schlecht
Das Zanrad hat 10 Zähne und es muss eine maximal Drehzahl von
2000U/min erfasst werden. Der Mikrokontroller ist mit 20 MHz getaktet
und mein Sensor hat eine Taktrate von 100khz.Mein maximaler Vorteiler
für Timer 0 lässt sich auf 256 einstellen alle anderen Timer nur bis 16.
Danke Im Voraus
Hallo mikromaster,
versuchs mal damit http://pictimer.picbingo.com/
Hatte mir auch schon öfters geholfen.
Gruß
Wolfgang
Lesezeichen