-
-
Erfahrener Benutzer
Roboter-Spezialist
ADC Auflösung umrechnen - Divisionsproblem
Ich beschäftige mich jetzt seit ein paar Tagen mit Schrittmotoren und nachdem ich nun einige Funktionen geschrieben habe, die mir deren Ansteuerung sehr erleichtern, dachte ich, es wäre schön, wenn ich den Schrittmotor über ein Poti steurn könnte - soll heißen der Schrittmotor fährt eine Position relativ zum Drehwinkel des Potis an. Das bedeutet, dass der ADC benötigt wird. Dieser hat beim Mega8 eine Auflösung von 10bit, was 1/1024 entspricht. Wenn ich das nun auf einen Schrittmotor mit 200 Schritten übertrage bedeutet dies das er 0 bis zu 5+(1/ Drehungen ausführen wird, je nachdem, wie ich das Poti einstelle. Dies klappt auch wunderbar. Nun möchte ich jedoch, dass 1024/1024 nicht 5+(1/ Drehungen, sondern nur 1 Drehung bedeuten. Mathematisch ist das Problem schnell gelöst:
(ADC/1024 )*200. Leider kommt der µC mit dieser Berechnung nicht klar, was wohl an der fehlenden Darstellungmöglichkeit von Fließkommazahlen (wie sie am PC dur IEEE754 definiert sind) liegt. Eigentlich hatte ich angenommen, der µC würde die entstehenden Nachkommastellen einfach abschneiden, denn der Verlust dürfte sich wohl in Grenzen halten - was ist schon ein 1,8° Schritt mehr oder weniger... Jedenfalls rechtfertigt es für meine Anwendung keine Nachbildung einer Fließkommaarithmetik.
Dem ist leider nicht so... Es tut sich nichts.
Habt ihr einen Vorschlag?
Srry, es ist wohl wieder ein Roman geworden...
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen