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 !!
> 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.