- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 60

Thema: servo initialisieren

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    03.04.2013
    Beiträge
    526
    Zitat Zitat von i_make_it Beitrag anzeigen
    Ich hoffe das Bild hilft beim Verständniss.
    Klicke auf die Grafik für eine größere Ansicht

Name:	Sero-Netzteil.png
Hits:	16
Größe:	6,1 KB
ID:	33374
    Beim Servotester wäre dann das Netzteil anstelle des Akkus und der Servotester anstelle der Steuerung im oberen Bilddteil.
    Das funktioniert so aber genau nicht, es muss zusätzlich die Masse (minus) von Steuerung, Netzteil und Servo verbunden sein. Das Signal hat sonst keine Wirkung.

    - - - Aktualisiert - - -

    Zitat Zitat von recke Beitrag anzeigen
    Programm ist bei meinen jetzigen Testmethoden noch nicht im Spiel. der Arduino hängt noch nicht dran. Es geht mir zunächst nur um Initialisierung und Servotestung.
    Blöde Frage: Kann das ohne Arduino überhaupt funktionieren bzw. ist das in der Anleitung so beschrieben? Hat demnach die Servocontroller-Platine ihr eigenes Programm? [EDIT: Ich habe gerade die Anleitung gelesen, die sagt eigentlich klar, daß man erst Arduino und das PWM-Board zusammenstecken soll, bevor man die Servos initialisiert!]
    Ich würde außerdem der Reihe nach mal ein paar einfache Dinge testen, und zwar mit noch nicht eingebauten Servos, damit die keine äußeren mechanischen Anschläge haben (Servos schalten nicht ab, wenn sie gegen einen Anschlag fahren, sondern drücken einfach doof mit aller Kraft, bis irgendwas bricht oder abraucht)
    1. Betriebsspannung: Wenn alle Servos abgesteckt sind, mal die Versorgungsspannung an den Buchsen, wo sonst die Servos angesteckt werden, messen. Wenn die dann wesentlich höher als 4,8 V ist, passen deine Servos von der Betriebsspannung nicht zu dieser Platine. Wenn sie wesentlich niedriger als 4,8 V liegt, ist vermutlich irgendwas kaputt oder der Akku leer.
    2. Wenn Betriebsspannung ohne Servos ok, Servos wieder anstecken, einschalten und erneut Betriebsspannung messen. Wenn die jetzt wesentlich zu niedrig liegt, liefert die Platine zu wenig Saft.
    3. Es muss doch irgendwo in der Anleitung stehen, welche Spannung und welchen max. Strom der Controller zur Verfügung stellt. Entspricht die gelieferte Spannung der Angabe in der Anleitung?
    4. Nimm irgendeinen alten Servo aus deinem Fundus und probier diesen mal an deinem System
    5. Probier deine neugekauften Servos an irgendeiner alten Funkfernsteuerung, um zu sehen, ob diese sich dann normal verhalten

    - - - Aktualisiert - - -

    Gerade im Anschlussplan für das PWM-Board gesehen: Theoretisch sollte an jedem Servoanschluss 5 V Versorgungsspannung bereitstehen, das würde zu den Servos passen und ist ja mit einem Multimeter schnell geprüft.

    - - - Aktualisiert - - -

    Ich würde außerdem die Anleitung so verstehen, daß du jedes Servo einzeln initialisieren sollst!
    Geändert von hbquax (26.03.2018 um 14:38 Uhr)

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    23.10.2014
    Beiträge
    56
    vielen Dank, da sind schon Denkanstöße vorhanden. Vorab: Englisch hatte ich nie, kleine Dinge kann ich lesen, ansonsten Google translate. Arduino zu Beginn anstecken oder nicht ist die Frage. Aus meiner Sicht macht es keinen Sinn, wenn ich nicht vorher ein Initialisierungsprogramm lade und das gibts nicht. Nun weiß ich nicht, ob ein Programm nötig ist, um alle Servos in die Nullstellung zu bringen. Geht das nicht auch schon mit einem Servotester???
    Dem Tutorial ist zwar zu entnehmen, daß die Platinen zusammengesteckt werden, aber was soll der Arduino dort, wenn man ihm kein Programm gibt??
    Das Nacheinander ausrichten zu Beginn, hatte ich so verstanden, daß die Servohörner nach Initialisierung einzeln ausgerichtet werden. Das Einzelinitialisieren habe ich jetzt nachträglich im Adeept-Blog, in Zusammenhang mit Brandgefahr gefunden. Aber Du kannst schon recht haben, obwohl zur Initialisierung an jedem Platinen-Servoanschluß das gleiche Signal liegen müßte. Das Individuelle erreicht man doch nur durch Ausrichtung des Servohorns. Nachdem ich gelesen habe, daß bei einem Kollegen die Spannung zusammengebrochen ist, würde ich jetzt auch nur eine Untermenge anschließen. Spannungsmessungen werde ich noch durchführen.
    Momentan habe ich zwei Beine dran und das Steuerprogramm für die Beine in den Arduino geladen. Da zeigt sich, daß die Beine kurz nach dem Einschalten gestreckt sind und sich dann blöd verwinden. In die Fernbedienung habe ich auch das gelieferte Programm geladen und die Beiden kommunizieren auch, d.h. Hexapod erkennt Befehle von der Fernbedienung und er funktioniert auch nur mit dieser. Leider bekomme ich aber die Beine nicht ausgerichtet.
    gruß recke

  3. #3
    HaWe
    Gast
    Zitat Zitat von recke Beitrag anzeigen
    vielen Dank, da sind schon Denkanstöße vorhanden. Vorab: Englisch hatte ich nie, kleine Dinge kann ich lesen, ansonsten Google translate. Arduino zu Beginn anstecken oder nicht ist die Frage. Aus meiner Sicht macht es keinen Sinn, wenn ich nicht vorher ein Initialisierungsprogramm lade und das gibts nicht. Nun weiß ich nicht, ob ein Programm nötig ist, um alle Servos in die Nullstellung zu bringen. Geht das nicht auch schon mit einem Servotester???
    Dem Tutorial ist zwar zu entnehmen, daß die Platinen zusammengesteckt werden, aber was soll der Arduino dort, wenn man ihm kein Programm gibt??
    Das Nacheinander ausrichten zu Beginn, hatte ich so verstanden, daß die Servohörner nach Initialisierung einzeln ausgerichtet werden. Das Einzelinitialisieren habe ich jetzt nachträglich im Adeept-Blog, in Zusammenhang mit Brandgefahr gefunden. Aber Du kannst schon recht haben, obwohl zur Initialisierung an jedem Platinen-Servoanschluß das gleiche Signal liegen müßte. Das Individuelle erreicht man doch nur durch Ausrichtung des Servohorns. Nachdem ich gelesen habe, daß bei einem Kollegen die Spannung zusammengebrochen ist, würde ich jetzt auch nur eine Untermenge anschließen. Spannungsmessungen werde ich noch durchführen.
    Momentan habe ich zwei Beine dran und das Steuerprogramm für die Beine in den Arduino geladen. Da zeigt sich, daß die Beine kurz nach dem Einschalten gestreckt sind und sich dann blöd verwinden. In die Fernbedienung habe ich auch das gelieferte Programm geladen und die Beiden kommunizieren auch, d.h. Hexapod erkennt Befehle von der Fernbedienung und er funktioniert auch nur mit dieser. Leider bekomme ich aber die Beine nicht ausgerichtet.
    gruß recke
    noch kein Arduino Programm für Servos gefunden?
    Dann guck mal hier:

    https://funduino.de/nr-12-servo-ansteuern

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    23.10.2014
    Beiträge
    56
    also daß man mit dem Arduino einen Servo ansteuern kann ist schon klar, habe schon andere Modelle Raupenroboter mit Motoren, usw. gebaut. Im Tutorial beginnt das Kapitel über die Software nach der Initialisierung, also ganz hinten und vorher wird kein Wort dazu verschwendet. Da habe ich im Englischen nichts überlesen. Es gibt kein Initialsierungsprogramm, aber ich glaube nun auch, daß dort der Fehler liegt. Jetzt schaue ich mir das Steuerprogramm bezüglich Initialisierung an. Mag sein, daß im Arduino zu Beginn ein namenloses Programm war, auch dazu kein Wort im Tutorial. Ansonsten hätten sie zumindest ganz vorne das Steuerprogramm ohne Fernsteuerungsaktivierung laden lassen müssen.
    Am Englisch liegts hier nicht und den Translator benutze ich nur zur Konversation
    Gruß recke

    - - - Aktualisiert - - -

    Habe in der Vergangenheit viel mit der einzig konsequenten objektorientierten Programmiersprache Smalltalk von Alan Kay programmiert, aber dem halbherzigen C++ und Java kaum zu tun gehabt. In den 80-iger Jahren war, wegen der frühzeitigen Beschäftigung damit, sogar Adele Goldberg hier vor Ort. Auch ohne C-Kenntnisse ist klar, daß am Programmbeginn char- calibrationVariablen der Wert 0 zugewiesen wird. Nun ja, diskutieren ist immer gut, ich habe etwas über Servos gelernt und meine Bastelausstattung erweitert. Ich entschuldige mich, daß ich Euch sehr viel Zeit geraubt habe. Ich glaube gar, daß ich im Verlauf dieser schlimmen Ereignisse am Rande mal soetwas wie ein Calibrierungsprogramm von adeept gesehen habe. Angenommen habe ich dabei, daß es, wie bei Freenove, zum Nachjustieren dient. Warum die im Tutorial kein Wort darüber verlieren bleibt mir verschlossen. Also los, alles von vorn, aber ich verschnaufe erst.
    gruß recke

  5. #5
    HaWe
    Gast
    also daß man mit dem Arduino einen Servo ansteuern kann ist schon klar
    ok, wenn du die Servosteuerung per Arduino kennst, dann verstehe ich allerdings nicht, wieso du nach "Servo initialisieren" fragst, denn das macht das C++ Arduino Programm ja auch nicht:

    ein Servo stellt sich einfach über die vom Programm gesendeten pwm-Daten auf den korrekten Ziel-Winkel ein, egal wo er vorher stand, und egal, ob direkt vom Arduino pwm-Pin aus oder über eine pwm von einer externen Servo-Platine etc.

    Immerhin könntest du mit dem Arduino-Programm aber dann deine Servos testen, ob sie überhaupt korrekt funktionieren.

    Mag sein, daß im Arduino zu Beginn ein namenloses Programm war,
    es gibt kein "namenloses Programm", jedes Programm hat einen Namen, wenn es auf einen Arduino hochgeladen wird. Wird ein neues Programm auf den Arduino hochgeladen, wird das vorherige IMMER gelöscht. Es muss daher für deine Servo-Platine eine Library und verschiedene Beispielprogramme geben (üblicherweise im Unterverzeichnis "examples" zu jeder Lib im libraries Ordner).

    PS, edit:
    Auch ohne C-Kenntnisse ist klar, daß am Programmbeginn char- calibrationVariablen der Wert 0 zugewiesen wird.
    In C99 werden Variablen NICHT automatisch mit Null initialisiert, sie erhalten den Wert, der gerade zufällig an der entsprechenden RAM-Speicherstelle der Variablen steht. Ob sich hier C++11 (Arduino IDE ab 1.6.6) wirklich anders verhält, ist mir nicht bekannt. Oftmals ist es daher sinnvoll, die Initialisierung explizit zu machen.
    Geändert von HaWe (27.03.2018 um 08:47 Uhr)

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    23.10.2014
    Beiträge
    56
    vielen Dank für die vielen Tipps, entscheidend ist das Vorher-Zusammenstecken beider Boards. Allerdings nicht deshalb, weil im Arduino ein Initialisierungsprogramm lauert - das gibt es bei adeept nicht. Es wäre auch aus zwei Gründen nicht anzunehmen:
    1. Konfiguriert kein Entwickler von Billig"robotern" die Arduino-Platine vorher, warum auch? Das wäre zu teuer und noch dazu unsinnig.
    2. Müßte er dieses Programm mitliefern, weil es durch einfache Eingriffe (reset) verschwunden wäre. Adeept gibt aber auf allen Tutorialseiten keinen Hinweis für solch ein Programm und liefert es in der Sketch-Bibliothek auch nicht mit.
    Bei Freenove ist das anders. Die liefern ein Kalibrierungsprogramm, geschrieben mit PDE (Processing Development Environment).
    Da also der Arduino "jungfräulich" war dachte ich fälschlicherweise, daß ich ihn zunächst weglassen kann. Das war mein fataler Fehler, den Experten für Servos und deren Platinen auch glücklicherweise gefunden haben. Ich hatte mich verrand.
    Der Arduino liefert im unprogrammierten Zustand an seinen Ausgängen die logische "Null" und genau das ist das adeept "Initialisierungsprogramm".
    Deshalb ist es auch nicht nötig die Servos sequentiell anzuschließen. Alle zugleich können die Spannung drücken, also werde ich jeweils 3 initialisieren.
    Das bedeutet alles auseinander rupfen, Servohorn runter und dann gehts los. Bin ich froh, das es von Euch geklärt wurde. Ohne Forum hätte ich noch lange herumgestochert. Dabei bemerke ich auch, daß bei mir im Oberstübchen nichts mehr so ist, wie es einst war. Einigermaßen erhalten kann man es doch aber nur durch solche Arbeiten.
    gruß recke

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    23.10.2014
    Beiträge
    56
    uff, das war viel Arbeit, aber hier ist der Erfolg zu sehen. Katze und Buzzer sind noch nicht dran und die Strippen nicht geordnet. Einen Servo habe ich geschlachtet, statt der 19 hatte adeept 20 im Bausatz. Vor Begeisterung mußte ich es gleich filmen. Video geschnitten hab ich nicht, es sind 400 Mbyte auf der Telekom magenta cloud. Also nur für geduldige Interessenten. Nochmals vielen Dank an alle, ein schönes Osterfest und vielleicht bis bald mal wieder
    gruß recke
    https://www.magentacloud.de/share/8y.gtyp2ri

Ähnliche Themen

  1. [ERLEDIGT] MPU6050 Initialisieren mit dem Netduino
    Von Robo-Hero im Forum Sensoren / Sensorik
    Antworten: 2
    Letzter Beitrag: 05.02.2013, 12:02
  2. LCD initialisieren
    Von Spitfire im Forum Software, Algorithmen und KI
    Antworten: 3
    Letzter Beitrag: 03.08.2012, 22:18
  3. structs initialisieren
    Von Siro im Forum C - Programmierung (GCC u.a.)
    Antworten: 12
    Letzter Beitrag: 18.02.2011, 08:53
  4. Adc initialisieren beim Atmega 16
    Von Destrono im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 25.05.2010, 12:16
  5. LCD - initialisieren im 4-Bit Modus
    Von henne im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 12.03.2005, 00:26

Stichworte

Berechtigungen

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

LiFePO4 Speicher Test