ACsenf
01.03.2007, 12:36
Hallo zusammen!
So komme nun auch mal wieder zum proggen.
Bin gerade dabei eine Servosteuerung für Modellbahnanwendungen zu kreieren...Weichensteller und Schuppentore langsam öffnen und schließen.
Um die Mechanik aufbauen und testen zu können habe ich mir mal einen Servotester auf einer Lochrasterplatine zusammengefummelt.
Der Servo kann mit einem Poti über die 180 Grad drehbereich bewegt werden. Funktioniert auch gut. Was ich dabei bemerkt habe, die Billig-Servos verstehen unterschiedliche Endwerte, will heißen die Maximalausschläge sind unterschiedlich. Stört aber nicht!
Was ich nun festgestellt habe, da ja der AD-Wandler doch recht genau ist, kann es bei einem in manchen Positionen des Potis zum Zucken des Servos in der gewünschten Endlage kommen.
Kennt ihr das?
Habe dann noch eine Pufferung an die Servoleitungen gelötet und ein neueres Poti verwendet. Damit war es deutlich bessser. Will heißen die Zucker waren sehr viiiiiiiiiiiiel seltener. Aber ab und an noch da. Das nervt natürlich auf Dauer, wenn hier und da mal ein Servo zuckt.
Nun meine Frage: Kann das an der Methode liegen, die Ausschläge über einen Analogwert zu bekommen? Da ja die abgegriffene Spannung schwanken kann und es einen Wandlerfehler gibt, der dann zu einem anderen Endwert führt.
Nun möchte ich in der Enversion der Schaltung aber die Potis zum Einstellen der Endlagen beibehalten. Da es so keinen Programiermode für die Endlagen braucht.
Nun habe ich mir überlegt, ich löse den Schaltvorgang über den Interrupt aus(wechselnde Flanke INt0) und starte nur dann den Wandler berechne den Endlagenwert und fahre dann den Servo in die entsprechende Endlage. Danach wird der Wandler gestoppt und der Prozessor macht nops bis zum nächsten Flankenwechsel.
So dürften Zuckungen durch Schwankungen am Analogeingang doch vermieden werden.
Oder liegt es letzten Endes an den Billig- Servos?
Bin auf Eure Meinungen, Erfahrungen und Tipps gespannt.
Gruß
Sven
P.s. Kann man eigentlich die externe Reset-Schaltung weglassen? Laut Datenblatt verstehe ich das so, dass diese nicht nötig ist. Auf welchen Pegel legt man dann den Reset-PIN?
So komme nun auch mal wieder zum proggen.
Bin gerade dabei eine Servosteuerung für Modellbahnanwendungen zu kreieren...Weichensteller und Schuppentore langsam öffnen und schließen.
Um die Mechanik aufbauen und testen zu können habe ich mir mal einen Servotester auf einer Lochrasterplatine zusammengefummelt.
Der Servo kann mit einem Poti über die 180 Grad drehbereich bewegt werden. Funktioniert auch gut. Was ich dabei bemerkt habe, die Billig-Servos verstehen unterschiedliche Endwerte, will heißen die Maximalausschläge sind unterschiedlich. Stört aber nicht!
Was ich nun festgestellt habe, da ja der AD-Wandler doch recht genau ist, kann es bei einem in manchen Positionen des Potis zum Zucken des Servos in der gewünschten Endlage kommen.
Kennt ihr das?
Habe dann noch eine Pufferung an die Servoleitungen gelötet und ein neueres Poti verwendet. Damit war es deutlich bessser. Will heißen die Zucker waren sehr viiiiiiiiiiiiel seltener. Aber ab und an noch da. Das nervt natürlich auf Dauer, wenn hier und da mal ein Servo zuckt.
Nun meine Frage: Kann das an der Methode liegen, die Ausschläge über einen Analogwert zu bekommen? Da ja die abgegriffene Spannung schwanken kann und es einen Wandlerfehler gibt, der dann zu einem anderen Endwert führt.
Nun möchte ich in der Enversion der Schaltung aber die Potis zum Einstellen der Endlagen beibehalten. Da es so keinen Programiermode für die Endlagen braucht.
Nun habe ich mir überlegt, ich löse den Schaltvorgang über den Interrupt aus(wechselnde Flanke INt0) und starte nur dann den Wandler berechne den Endlagenwert und fahre dann den Servo in die entsprechende Endlage. Danach wird der Wandler gestoppt und der Prozessor macht nops bis zum nächsten Flankenwechsel.
So dürften Zuckungen durch Schwankungen am Analogeingang doch vermieden werden.
Oder liegt es letzten Endes an den Billig- Servos?
Bin auf Eure Meinungen, Erfahrungen und Tipps gespannt.
Gruß
Sven
P.s. Kann man eigentlich die externe Reset-Schaltung weglassen? Laut Datenblatt verstehe ich das so, dass diese nicht nötig ist. Auf welchen Pegel legt man dann den Reset-PIN?