Schau dir doch mal deine Anforderungen an:
Die normale Servosteuerung besteht aus einer einzelnen Leitung wo man dem Servo seine aktuelle Position diktiert.Daher dachte ich jetzt:
Man könnte eigentlich die Elektronik aus den Servos rausschmeissen und eine komplett neue einsetzen welche auch Daten an Mikroprozessor zurückliefern kann damit er weiss wo der Servo steht und ob er zittert. Beim Zittern soll der Mikroprozessor den Servo automatisch abschalten, beziehungsweise einen anderen Wert geben bis er eben nicht zittert. Ein weiterer Vorteil wäre, falls der Servos mechanisch gegen das Ende stösst, dann kalibriert der Mikroprozessor automatisch und weiss wo das Ende ist.
Wenn du Daten zurückliefern willst brauchst du definitiv entweder eine zweite Leitung bzw. ein ausgeklügeltes Kommunikationssystem.
Dann willst du zittern erkennen (=Position bzw. Spannung über Poti messen).
Und mechanischen Anshlag (Wie willst du das realisieren? Kraft messen? Stromaufnahme und Potiänderung vergleichen? Oder ganz anders?)
Du brauchst also, sagen wir mal, 4 EA-pins, wovon zwei ADWs sein müssen. Jetzt schau mal, wieviele ADWs dein Arduino hat.
Wenn du einigermaßen präzise arbeiten willst kommst du auch um 16-Bit-Arythmetik nicht mehr herum, das kann man mit einem AVR zwar machen, kostet aber schon ein wenig Rechenzeit, zumindest solche Geschichten wie Division und Subtraktion.
Für ein Servo ist das kein größeres Problem, aber meines Wissens hat ein AVR maximal acht ADWs, also kannst du vier Servos steuern. Da wirst du ein paar ms Verzugszeit schon zu spüren bekommen, schätze ich. Und ich vermute fast dein AVR soll noch mehr als nur Servos steuern...
Lesezeichen