- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 95

Thema: Hexapod - "IKU"

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Soltau - Niedersachsen
    Alter
    46
    Beiträge
    1.369
    Ey, Du sollst die doch aufessen - die Dose rostet doch...

  2. #2
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    42
    Beiträge
    4.534
    Blog-Einträge
    1
    Wie immer gilt, der Fehler steckt im Detail und dummerweise haben diese Hexas mindestens 18 Details. Die Frage nach dem verbundenen GND stell ich nur um sicher zu gehen, dass sowas triviales nicht übersehen wird. Selbst mir passiert es manchmal noch, dass ich bei all meinen hübschen Verdrahtungen irgendwas rudimentäres vergesse.

    Die Ferritkerne kommen so nah es geht an die Servos dran. Kuckst du hier:
    Bild hier  
    Ganz rechts am Hüftservo sieht man den Ferritkern

    Spielen wir das mal mit 21ms durch, dann kommt raus, dass sich bei jeder Signalvorgabe, das Signal selbst um 1ms verschiebt. Damit wandert der High-Impuls kontinuierlich durch den Signalbereich von 20ms, was erst mal kein Problem ist. Allerdings wird er irgendwann hinaus geschoben und dann wirds spannend, denn nun wird das Signal ein paar mal "zerschnitten" bis es wieder - durch die Verschiebung - im Signalbereich liegt.

    Mal eben grafisch gezeigt
    ..........||||||.. Signal i.O
    ...........||||||. Signal i.O
    ............|||||| Signal i.O
    .............||||| Signal n.i.O da zu kurz (nur 5 high)
    |.............|||| Signal n.i.O da zu kurz
    usw. bis das Signal wieder so aussieht:
    ||||||........... Signal i.O

    Digitale in der Hüfte? Prüf mal bitte ob das SD21 überhaupt mit Digitalen so ohne Umstellen klar kommt, soweit ich mich erinnere und ich hatte das Board auch mal, ist es für analoge Servos ausgelegt. Könnte sein, dass du hier ein Problem hast.

    Alles nur Ideen sicher kann ich es auch nicht sagen, aber ein Blick mit dem Oszi auf die Signale würde da schon weiter helfen. Klassisch prüft man erst mal ob saubere Signale aus dem µC kommen, dann aus dem SD21 und am Ende ob die auch am Servo noch so aussehen.
    Danach kann man sich die Versorgungsspannung anschauen und wird hoffentlich den Fehler finden.

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von malthy
    Registriert seit
    19.04.2004
    Ort
    Oldenburg
    Beiträge
    1.379
    Prüf mal bitte ob das SD21 überhaupt mit Digitalen so ohne Umstellen klar kommt, soweit ich mich erinnere und ich hatte das Board auch mal, ist es für analoge Servos ausgelegt. Könnte sein, dass du hier ein Problem hast.
    Warum denn nicht? Das Signal zur Servoansteuerung ist doch nur ein popeliges PWM Signal. Ich glaube man kann ausschließen dass das ein Problem ist.

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Soltau - Niedersachsen
    Alter
    46
    Beiträge
    1.369
    Danke Hanno, für die Erklärung.

    Also so direkt finde ich nichts wo steht das digitale nicht funktionieren sollen. Lynxmotion Forum habe ich schön öfter quer gelesen, dort gehst aber eher um das SSC-32. Und selbst da sagt keiner was dazu das jemand da Analoge und Digitale an einer Card benutzt. Ebenso im Arduino Forum. Ich verweise hier mal auf SENSOBOT 3
    Allerdings hat er ja auch ausschliesslich digitale Servos an der SD21 - und nicht auch zusätzlich Analoge.
    Auch ein Kollege meinte schon: "Kann man nicht mischen" - kann man nicht? warum nicht? Was interessiert den analogen Servo ob nebenan ein Digitaler dran ist?

    EDIT: Habe jetzt die ganze Zeit die Links hier rein gezogen, und gesucht...da habe ich malthy's Beitrag überhaupt nicht mitbekommen.
    Geändert von HeXPloreR (28.05.2013 um 19:43 Uhr)

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Obwohl ich mit Servos wenig zu tun hab, gebe ich mal meinen Senf dazu da ich schon so manche elektronische Schaltung debugged habe.

    Das A und O zum funktionieren einer Elektronik ist die Versorgung. Wenn die nicht steht, und damit meine ich nicht ein "wenig" Brumm oder Ripple, sondern daß sie immer innerhalb des für die Elektronik spezifierten Bereich ist, braucht man sich den Rest garnicht erst ansehen.

    Ohne jetzt die Schaltung zu kennen, wobei die Innenschaltung eines Servos selten bekannt ist, halte ich Spannungseinbrüche von mehr als 5% für bedenklich. Wenn sie sehr kurz sind, sind sie noch problematischer, da man sie mit typischen Messmitteln schlecht erfasst und sie in Wirklichkeit eher größer sind. Analoge Schaltungen sind da toleranter, digitale fangen sich einen extra Clocksignal ein und µCs spielen verrückt oder gehen über Los.

    Leider ist das "Konzept Servo" von Beginn an vermurkst. Sowohl die Leistung, der Motor, als auch die Elektronik werden aus der selben Quelle versorgt. Als dieses Konzept entstand, war das aber verständlich. Die Servos haben ein paar Ruder und das Gas vom Verbrenner gedreht, und das war zusammen mit dem Empfänger die ganze Elektronik in einem Modell. Die gemeinsame Versorgung hat sich aber bis heute erhalten, obwohl die Servos nicht mehr ein Seitenruder drehen sondern das Modell bewegen. Man muß also damit leben, oder wie bei Dynamixel die Versorgung des Motors von der Ansteuerung trennen (was einen nur noch begrenzt kompatibel zu bestehenden Systemen macht).

    Kurz und gut, am Servoanschlußstecker muß die Spannung immer im für die Servos angegebenen Bereich sein. Und damit die Steuersignale ein definiertes Potential haben, muß insbesondere GND stabil sein. Vom Controller bis zum Servo sollten da nicht mehr als wenige zehntel Volt zu messen sein (dynamisch mit dem Scope).

    Und etwas zu den Steuersignalen. Wenn diese gestört sind, helfen Ferrite genausogut wie Handauflegen. Sie verhindern das Aussenden von HF (zweistellige MHz) und haben auf Servosignale (zweistellige Hz) keinen Einfluß. Wenn also Funk oder Radio gestört wird, können sie helfen.

    Längswiderstände sind ebenso kontraproduktiv. Sie verkleinern das Signal und vermindern daher den Störabstand. Wenn das Servo Signale mit TTL Pegeln akzeptiert (und so haben die Servos angefangen), ist der Störabstand bei Low besonders kritisch. Ein gültiges Low am Eingang ist da kleiner als 0,8V. Verliere ich da am Längswiderstand einige Zehntel Volt, habe ich meinen Störabstand schon fast verbraucht.

    Übersprechen zwischen Servoversorgung und Steuerleitung ist ein anderes Ding. Da der Hersteller seine Teile getestet hat, sollte das funktionieren. Verlängere ich das Kabel, könnte es zum Problem werden. Es lässt sich aber leicht Messen und durch Austausch des Kabels ebenso leicht vermeiden.

    Die 20ms des Servosignals sind gar kein Problem. Interessant ist nur die Pulslänge. Der Unterschied zwischen Analog und Digitalservo lieg darin, daß das analoge Servo den Motor nur ansteuert, wenn ein Puls kommt. Kommt er zu selten verliert es die Position, kommt er zu häufig, können sich die eingesetzten Monoflops nicht richtig entladen. Viele Fernsteuerungen liefern keine konstanten 20ms, sondern, wenn alle Kanäle auf Vollausschlag sind, ein längeres, sonst ein kürzeres Signal. Für ein analoges Servo beginnt bei jedem Puls ein neuer Zyklus, von 20ms weiß das nichts.

    Ein Digitalservo misst nur die Pulslänge. Die Steuerung des Motors ist davon unabhängig. Und was es tut, wenn das Signal mal (viel) später kommt, hängt vom Modell ab. Bessere Modelle haben an der Stelle eine Fail Safe Automatik. Sie können auch den Einstellwert statt als Pulsbreite, via UART, RS485 oder I²C bekommen (Dynamixel).

    Das wichtigste ist, Messen! Und zwar dynamisch, mit einem Scope. Da die Servosignale langsam sind, so 50Hz, und sich ständig wiederholen, kann man auch ohne Tricks selbst mit einem einfachen, analogen Scope etwas erreichen.

    Unabhängig davon, die Stromsersorgung ist das A und O. Von der Versorgung bis zu Servoverteiler fließen kräftige Ströme (z.B.): 18 Servos a' 2A ==> 36 A, 0,1 Ohm Kabel und Übergangswiderstand ==> 3,6V. Soetwas kann man auch nicht mit µF kitten, nur mit massivem Kupfer. Da helfen die Car HiFi Leute, überall gibts 2,5² oder 4² Kabel für kleines Geld.

    Viel Erfolg

    Klebwax
    Strom fließt auch durch krumme Drähte !

  6. #6
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    42
    Beiträge
    4.534
    Blog-Einträge
    1
    Zitat Zitat von Klebwax Beitrag anzeigen
    ...
    Unabhängig davon, die Stromsersorgung ist das A und O. Von der Versorgung bis zu Servoverteiler fließen kräftige Ströme (z.B.): 18 Servos a' 2A ==> 36 A, 0,1 Ohm Kabel und Übergangswiderstand ==> 3,6V. Soetwas kann man auch nicht mit µF kitten, nur mit massivem Kupfer. Da helfen die Car HiFi Leute, überall gibts 2,5² oder 4² Kabel für kleines Geld.
    Genau das war bei meinem Vinculum das Problem, denn 18 Servos ziehen hier zwar keine 36A, aber zumindest gut und gerne 7,5A... 12A, da war a) mein Labornetzteil zu schwach auf der Brust und b) zu träge, da es sich um Stromimpulse handelt. Auch der Akku in Kombination mit SBEC konnte diese Spitzen nicht abdecken, die bei der Initialisierung entstehen. Abhilfe war dann eben eine wirklich dicke Kondensator-Bank die auch genug Leistung liefert. Zudem dicke Kabel die den Strom an die Beine verteilen, erst dort geht es dann mit den dünneren Servoleitungen weiter.

    Ob sich nun die Ferritkerne und die 100Ohm Widerstände positiv auswirken oder nicht, möchte ich gar nicht groß diskutieren, ich habe sie einfach eingebaut. Zumal mein µC im 80Mhz bereich arbeitet und ich da keine Störsignale haben will.

    Hinzu kommt die Versorgung von Servos und Logik aus zwei unterschiedlichen Quellen. Einmal ein 7,2V LiPo und ein 9V Block Akku, letzterer ist nur für Logik, Sensoren und Co gedacht, keine Leistungselektronik. Gerade letzteres hilft enorm, das zeigt die Erfahrung.

    Das die Hersteller ihren billigen No-Name Servos testen, wage ich allerdings zu bezweifeln. Bei den Markenservos für viel Geld wird es sicher so sein, aber bei 10€ China-Zeugs ist kein Geld für Tests vorhanden!

  7. #7
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Soltau - Niedersachsen
    Alter
    46
    Beiträge
    1.369
    Hallo alle zusammen,

    so nun ist die Maker Faire Hannover geschafft. Es war wirklich sehr warm dort, aber es hat unglaublich viel Spaß gemacht die interessierten Leute dort zu sehen. Und mal von einem kleinen Jungen abgesehen, der an einem Roboter "mal eben so" die verschiedenen On/Off Schalter bedienen wollte, hatten, denke ich, alle Respekt vor unseren Projekten.

    Die IKU hat sich gut geschlagen. Ich hatte ja bedenken ob das alles gut geht da ... es war aber sogar sehr gut - dafür hat sie sich einen extra Akku verdient.

    Der Hexapod hat doch für die eine oder andere Schockreaktion am Stand gesorgt. Ganz besonders wenn die Besucher nicht mit einer Reaktion des Roboters gerechnet haben. Auch wenn die (Körper-) Bewegungen noch nicht ganz sauber aussehen, freue ich mich das ich keine Ausfälle oder ähnliches zu beklagen hatte.
    Ich hatte 3 LiPo Akku's (3600/3700/5000mAh) mit wobei ich den zweiten bis zuletzt drin gelassen hatte - der hätte auch noch ca. ne Stunde drinbleiben können. Den Dritten hatte ich überhaupt nicht gebraucht.
    Ab und zu hatte ich nur die Servos von der Spannung getrennt, damit sie etwas abkühlen konnten. Wobei der Sensorkopf trotzdem immer noch seine Runden gedreht hat.

    Da ich ja immer die Leute die mit IKU "gespielt" haben beobachtet hatte, fiel mir auf das die Sensoranordnung doch etwas ungünstig gewählt ist. Das ändere ich also gleich schon mal ab.

    Einige Leute fragten wie man dem Roboter das laufen auf unebenen Gelände beibringen könnte.
    Nun, ich habe dazu die beiden Ansätze per Drucksensoren oder per einfachen Taster. Ich tendiere noch zu der einfachen Lösung mit den Tastern.

    In dem Zusammenhang habe ich auch mit malty unterhalten...und da ich von Samstag auf Sonntag(heute) so schlecht schlafen konnte...da ist es mir auf gefallen warum malty meinen Standpunkt nicht verstanden hat bzw auch nicht konnte: malty ist nämlich schon mindestens einen Schritt weiter als ich - im wahrsten Sinne. Und er hat natürlich recht mit seinen Argument das die inverse Kinematik nicht den puren Endpunkt anfährt - ganz besonder natürlich nicht wenn ein Schritt getan wird.
    Sorry malty, da haben wir aneinander vorbeigeredet, denn ich war noch im Gedanken bei meinen einfachen verschiebe Spielchen mit den Beinen. Ohne das mir "die Schrittkurve" eingefallen ist - die ja selbsverständlich auch durch die inverse Kinematik geschickt, und daher auch per Taster oder sonstige geeignete Sensoren an einer definierten Stelle angehalten werden kann - welche dann die neue Höhe ergeben würde
    Allerdings habe ich mit meiner IKU noch keinen einzigen Schritt getan, von Gelände garnicht zu reden...also da muss mein Weg noch hingehen
    Sicher haben einige Menschen, denen ich versucht habe zu erklären wie die Beine momentan bewegt werden, bemerkt das ich mir das Ganze noch ziemlich einfach halte.

    @ malty, Du siehst hoffentlich auch wenn ich im Gespräch nicht gleich drauf gekommen bin, irgendwann machts auch bei mir klick.... nur wann
    Wir haben uns (Sabas und ich) Deinen Humanoiden kurz angesehen, schade das Du da grade nicht an Deinem Stand warst.

    Von Strommessung direkt am Servo rate ich allerdings immer noch ab. Das hatte ich bei meinem Bioloid mal versucht, es hat bei mir damals nur mit Einschränkungen funktioniert, und war im Endeffekt dann nicht zufriedenstellend.


    Jemand anderes fragte ob man für die Fußsensoren auch einen Sharp Infrarot Sensor nutzen könnte. Hierzu ist mir noch was wichtiges eingefallen - vielleicht liesst er das ja mit: Wenn man einen Sharpsensor benutzt kann es gut sein das man einen "boden" detektiert der nicht tragfähig genug für den Roboter ist. Daher empfehle ich keinen optischen Sensor an dieser Stelle, sondern einen taktielen - der also wirklich körperlichen Kontakt mit dem Boden bemerken kann. Ein Taster, wahrscheinlich mit einer auf Robotergewicht einstellbaren Feder davor könnte ich mir vorstellen. Oder auch ein Poti mit Federeinstellung über ADC's- was allerding etwas aufwendiger erscheint als die Tasterversion über Interrupt. Wenn man jedes Bein einzeln setzt, benötigt man auch keinen Spannungsteiler - da man ja programmseitig das Bein kennt welches sich gerade senkt.
    Nur wenn man zwei/drei Beine im gleichen Moment absenkt, würde man um die Höhen zuordnen zu können einen Spannungsteiler auf einem ADC benötigen.

    Ich denke mit diesen Ansätzen kann man etwas anfangen.

    So und nach diesem riesen Artikel, möchten "wir beide" uns ganz herzlich für das rege Interesse bedanken - sie hat sich auch sehr gefreut euch alle kennen zu lernen.

    Ich bereite demnächst auch einige "Flugblätter" vor ... vielleicht auch in Englisch...ich hörte davon, es ist wohl eine Weltsprache

    Klicke auf die Grafik für eine größere Ansicht

Name:	S7300670.jpg
Hits:	61
Größe:	58,9 KB
ID:	26154Klicke auf die Grafik für eine größere Ansicht

Name:	S7300676.jpg
Hits:	46
Größe:	32,7 KB
ID:	26155Klicke auf die Grafik für eine größere Ansicht

Name:	S7300671.jpg
Hits:	48
Größe:	61,5 KB
ID:	26156Klicke auf die Grafik für eine größere Ansicht

Name:	S7300672.jpg
Hits:	40
Größe:	39,3 KB
ID:	26157Klicke auf die Grafik für eine größere Ansicht

Name:	S7300675.jpg
Hits:	48
Größe:	53,7 KB
ID:	26158Klicke auf die Grafik für eine größere Ansicht

Name:	S7300673.jpg
Hits:	54
Größe:	74,4 KB
ID:	26159Klicke auf die Grafik für eine größere Ansicht

Name:	S7300674.jpg
Hits:	48
Größe:	73,3 KB
ID:	26160
    Geändert von HeXPloreR (05.08.2013 um 07:04 Uhr)

  8. #8
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Nun, ich habe dazu die beiden Ansätze per Drucksensoren oder per einfachen Taster. Ich tendiere noch zu der einfachen Lösung mit den Tastern.

    Von Strommessung direkt am Servo rate ich allerdings immer noch ab.
    Kennst du meinen Servo-Sensor-Thread? Über einen nicht dokumentierten Effekt an der Signalleitung wird die Belastung des Servos beurteilt. Allerdings wurde das nicht gründlich erforscht, keine Ahnung, ob es auch bei hochwertigen Servos funktioniert:
    https://www.roboternetz.de/community...g-Servo-Sensor



    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

Ähnliche Themen

  1. Antworten: 10
    Letzter Beitrag: 01.11.2017, 12:53
  2. "EVa" - Bioloid Hexapod
    Von HeXPloreR im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 56
    Letzter Beitrag: 11.11.2011, 08:43
  3. Antworten: 2
    Letzter Beitrag: 15.06.2011, 21:18
  4. "Soft-Reset?" und "Finger-Interrupt?"
    Von trapperjohn im Forum Asuro
    Antworten: 8
    Letzter Beitrag: 10.06.2008, 23:02
  5. ASM: was machen "swap" und "cbr" genau?
    Von RHS im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 18.08.2004, 17:16

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test