Forum: Mikrocontroller und Digitale Elektronik Drehzahlmessung am C167


von Frustrierte_Honigbiene (Gast)


Lesenswert?

Hallo,

ich überlege nun schon eine Zeit lang bezüglich der Drezahlmessung von 
einem Gleichstrommotor, aber ich bekomme das einfach nicht hin, zumal 
mich meine Professoren auch noch total verwirrt haben bezüglich den 
Timern.

Meine Idee war folgende:

Ich nehme Timer8, welcher mit 2,5MHz getaktet ist (also alle 0,4us 
seinen Zählerstand um 1 erhöht).

Diesen lasse ich laufen (also von 0x00 bis 0xFFFF).

Hier schon die erste Verwirrung:

Ich dachte der Timer läuft nun von Dezimal 0 bis Dezimal 65535.

Ich ich das meinem Prof sagte, meinte dieser nein, denn 0xFFFF 
entspricht "-1".

Ich versteh die Welt nicht mehr !!!


Egal, ich habe mir einfach gedacht, jede positive Flanke meiner 
Lichtschranke captured mir den Wert des Timers 8 und das lese ich in 
einen Ringbuffer ein, später kann ich daraus ja differenzen bilden und 
berechnen.

Was ist aber mit den Überlaufen. Da mein Motor in der 1. Stufe sehr 
langsam dreht (ca. 24 Umdrehungen pro Minute) läuft mir das Teil ja 
extrem oft über.

Wie soll ich da nur Differenzen bilden.

Es wäre sehr nett von euch wenn ihr mir weiterhelfen könntet !!

von MaWin (Gast)


Lesenswert?

> Ich versteh die Welt nicht mehr !!!

Das ist schlecht, weil es einfach die Frage ist, ob man den Wert als 16 
bit Zahl vorzeichenbehaftet oder vorzeichenlos interpretiert (es gibt 
unterschiedliche Assemblerbefehle, je nach dem was man hinterher prüft). 
Man könnte ihn auch als Maschinenbefehl, als serielle Bitfolge, als 
Unicode-zeichen sehen.

> Wie soll ich da nur Differenzen bilden.

In den du die Überläufe in Software weiterzählst, und aus dem 16 bit 
Zähler somit einen 32 bit Zähler baust und mit 32 bit weiterrechnest. 
Dabei darauf achten, daß an den Grenzen (im Überhaupmoment) die Werte 
richtig übernommen werden.

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
Noch kein Account? Hier anmelden.