-
-
Erfahrener Benutzer
Begeisterter Techniker
Aktuell gings mir nur darum alle Servos in die Mittelstellung zu bringen damit ich fertig montieren kann.
Das mache ich mit einem ATmega8 mit 8mhz.
Dieses gezucke finde ich echt komisch da ich meine Speisung wie auch die Datenleitung mit dem Oszi angesehen habe und die sauber aussehen.
Auch mein 1.5ms High sieht richtig aus.... nur so genau kann ich das Signal natürlich auch nicht verfolgen....
-
Hmmnaja, dann weiss ich auch nicht wirklich weiter. Da kannst Du wohl nur noch eins nach dem anderen ausschliessen: ma den Servo tauschen, mal die Stromquelle tauschen, mit nem guten Oszi wirklich pulslängen messen, usw. . Schlimmstenfalls nochmal ein ganz anderes progremm für den Atmel schreiben.
Achja, ich habe 300 Ohm in Serie wenn ich mich recht erinnere. Die Spannung bleibt ja gleichm aber der Strom ist begrenzt, auch wenn der Impulsausgang mal an Masse oder +5V gerät.
-
Moderator
Robotik Einstein
Hi, ich hab selber die 475HB im Einsatz. In der Version 1 meines Hexas hatte ich das gleiche Problem mit dem Zucken. Kam auch mal vor, dass die Servos einfach irgendwo hin gefahren sind und dann erst beim nächsten Impuls wieder in die richtige Position.
Ich hab allerdings weder Kondensatoren an die Servos gelötet noch andere Bauteile verwendet sondern es in der Version 2 anders gelöst.
Zum einen laufen Servos und µC über zwei verschiedene Akkus (wurda ja schon angesprochen) auch sind meine Servos mit ner dicken Leiterbahn an die Spannungsversorgung angeschlossen.
Das Zucken glaub ich hab ich weg bekommen indem ich das Signal für die Position im 50Hz Takt neu sende (auch wenn es keine Änderung gibt). Dadurch bekommen die Servos immer wieder eine Position. Dein Problem klingt so nach unsauberer verkabelung und nicht konsequenter Energieführung.
Achja die Periode des Servosignals muss gesamt 20ms lang sein. Die Zeit auf high und auf low bestimmt die Position.
-
Analoge Servos positionieren nur, wenn ein Impuls gesendet wird. Wenn Du keinen Puls schickst, dann kann das Servo manuell verstellt werden. Das Gewicht von einem Hexa drückt also die Beine hoch. Servos sind für 50 Impulse pro Sekund ausgelegt. Die meisten kann man mit mehr Impulsen fahren (bis zu 120Hz, je nach Servo). Dadurch positionieren sie schneller und haben mehr Kraft, werden aber auch wesentlich heisser und gehen schnell kaputt. Unter 10Hz fangen die meisten Servos bei Last heftig an zu Zittern.
Bei Digatalservos ist alles anders... .
-
Erfahrener Benutzer
Begeisterter Techniker
Danke euch für eure beteiligung.
20ms das komplette Signal.... dann hab ich schon einmal einen Fehler.
Dauert bei mir ja aktuell 21.5ms. Das Signal wird aber stetig mit 50Hz aktualisiert.
Die verkablung ist schlecht... sehr schlecht. Es liegt alles im freiflug verdrahtet auf dem Tisch.
Was ich auch noch gemerkt habe ist, dass alle Servos nicht genau gleich sind. Soll heissen wen ich sie in die mitte fahre und die Servohörner anbringe, dann sind alle zu einander leicht versetzt. Könnte das daran liegen das ich ein falsches Signal bringe (21.5)? Ist für mich eine Erklärung. Vieleicht habt ihr auch schon solches beobachtet?
-
Das Signal muss so aussehen: ___-_______________-_____....
Die Zeit von L->H Flanke is ungefähr 20ms. Die meisten Servos vertargen ohne Probleme 15-200ms! Der H Pegel liegt für 1-2ms an, wobei 1.5ms (normalerweise) die Mittelstellung ist. Dieses Signal sollte auf die uSekunde genau sein! Viele Servos vertragen hoer auch nur 1.2 bis 1.8ms für volle 120 Grad.
Die Verkabelung ist bei diesen Frequenzen ziemlich unkritisch. Wichtig ist, dass genug Strom zur Verfügung steht. Bei einem mittelgrossen Hexabot sind das in den Spitzen schon mal locker 6x3x2A, also 36A und mehr! Denk an den Zuleitungsquerschnitt! Digitale Servos sind da sehr pingelig, aber auch analoge Servos laufen Dir davon. Auf dieser Leitung gleichzeitig einen uC zu betreiben ist unmöglich.
Bei deinem Testaufbau solltest Du erstmal nur einen Servo anschliessen, und wenn der perfekt läuft, dann immer nur einen weiteren dazu stecken und wieder unter Last testen.
Modellbauservos sind meist billigste Massenware aus irgendeiner Spielzeugfabrik in China und werden von den gleichen Leuten zusammengeschraubt, die am nächsten Tag Quitscheentchen auf Funktion testen. Erwarte da bitte keine gradgenaue Positionierung, zumal sich beim unvermeidlichen Erwärmen des Servos eh alle Werte wieder um 3 Grad verschieben.
Das mag bei 60 Euro teuren Roboterservos anders sein, aber beim 20 Euro teuren Massenservo ist das definitiv genau so - die 5 Euro Teile kommentiere ich erst garnicht, denn die verlieren in nem Hexa nach dem ersten paar Schritten eh alle Zähne.
-
Erfahrener Benutzer
Begeisterter Techniker
Den Stromverbrauch finde ich erschreckend.
Die Servoeigenen Drähte sind vieleicht 0.8mm dick. Das ist bei Stromstärken von mehreren Ampere viel zu klein. Aber dennoch sind sie bei allen Servo's ähnlich.... schon komisch. Bei der Zuleitung müsste ich ja bei einem solchen Strom mit 6mm^2 fahren.
Mein Signal sieht genau so aus wie du es gezeichnet hast.
@Hanno
Wie sehen den deine Erfahrungen mit den 475 aus?
Sind deine auch nicht exakt gleich ausgerichtet im bezug auf die Achse?
EDIT:
Erschreckend, ich hab nun alle auf die Halbstellung ausgerichtet und dann parallel angesteuert (--> Alle erhalten das selbe Mittelstellungs signal)
Hat mehr oder weniger auch geklappt.... aber bei weiteren Test haben die Servos zu spinnen angefangen. Plötzlich hat einer stark nach links ausgeschlagen. Ein andere nach recht... wieder ein andere leicht recht.....
Wie kommt den sowas?? Sehr komisch das ganze
-
Die 2 Ampere entstehen in Spikes, nicht konstant natürlich. Aber wenn alle Servos gleichzeitig korrigieren, dann bleibt kein Strom für die Elektronik. Wenn Dein Labornetzteil einen Trafo mit zwei Spulen hat, dann kann das schon sein. Jedenfalls siet das sehr nach einem Crash Deines uC aus. Vileicht auch ein Programmierfehler (stack overflow?). Das ist gut zu testen wenn Du über eine LED an einem freien Ausgang im Sekundenabstand blinken lässt. Hört das blinken auf, ist die CPU abgestürzt... .
-
Erfahrener Benutzer
Roboter Experte
Hi hosti,
mich würde interessieren, wie du das mit dem Gegenlager der Servos gemacht hast (sieht man im 5. Bild am besten).
Bei meinem Hexa wollte ich das mit Gleitlagern realisieren, allerdings habe ich noch keinen Versandhandel gefunden, der solche im Programm hat.
Viele Grüße
ikarus_177
-
Moderator
Robotik Einstein
@hosti es zieht der einzele Servo ja auch nicht so viel Strom nur alle zusammen ergeben dann diesen krassen Verbrauch. Daher sollte die Energiezuführung für die Servos auch schön dick sein und entsprechende Ströme ab können.
Schau dir Phoenix² auf meiner HP an (Signatur) dann weist du wie das bei mir mit den Servos ist.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen