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 ;) Danke Im Voraus
bitte mehr Infos: welche Drehzahlen hat denn der Motor, wieviel Zähne hat das Zahnrad ...
Also 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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.