An was ist denn dein MCP angeschlossen ? Hat dein Controller keinen eigenen AD ?
An was ist denn dein MCP angeschlossen ? Hat dein Controller keinen eigenen AD ?
Ich programmiere mit AVRCo
@Matly Spannungsteiler wäre natürlich auch eine einfache Lösung. Dann würde ich aber ein wenig an der Genauigkeit verliehren. Allerdings arbeitet der IR-Sensor selbst auch als Spannungsteiler, so dass ich nur von 3V auf 2,048V kommen müsste. Da der MCP die Spannungen über 2,048V einfach ignoriert, könnte ich auch auf die letzten 0,952V Verzichten. Damit könnte ich den Bereich 0 bis ca. 30cm nicht erfassen. Das hatte ich überlegt zu vermeiden und wollte erst abschätzen, wieviel Aufwand es bedeutet über den ganzen Sensorbereich zu messen. Allerdings gibt der Hersteller für den GP2Y0A02YK0F einen Messbereich von 20cm bis 150cm an. Sprich es sind dann eh nur 10cm die ich nicht erfassen kann.
Die Messkurve (Volt vs. Distance) fällt erst bei 20cm halbwegs vergleichbar zu einer Exponentialfunktion. Daher wäre es eh schwierig die gemessenen Werte in eine saubere Distanzangabe umzusetzen.
Die Kurve aus dem Datenblatt habe ich jetzt mit y = 60,626x^(-1,18approximiert, damit habe ich zwar noch immer Abweichungen von bis zu 6,5cm aber im Mittel nur 0,3cm. Eine Polynomische Funktion dritten oder vierten Grades wollte ich mir dann doch nicht antun, zumal mein µC dann sehr lange damit beschäftigt ist die Werte umzurechnen.
EDIT: Das schönste ist, dass ich Holzkopf ja sogar einen besser passenden AD-Wandler rumliegen habe der mir die 3V ohne Probleme umsetzen kann. Sowas liegt halt im Materiallager und wird vergessen. Wenigstens weiß ich es jetzt und habe die Chips in meine Lagerliste aufgenommen.
@Klebwax der MCP scheint da sehr spezielle Bedürfnisse zu haben, der ist nämlich genau dafür ausgelegt, was mir erst zu spät aufgefallen ist. Dieser Chip ist wohl eher für die AD Wandlung von Drucksensoren gedacht und nicht für AD Messungen.
@Crazy Harry: Genau das ist mein Problem, die Propeller Chips haben zwar 8 Kerne aber keine eigenen AD Wandler. Daher muss ich alle meine Sensoren über I²C einbinden.
Geändert von HannoHupmann (22.03.2015 um 08:00 Uhr)
Lesezeichen