- 3D-Druck Einstieg und Tipps         
Seite 5 von 6 ErsteErste ... 3456 LetzteLetzte
Ergebnis 41 bis 50 von 60

Thema: servo initialisieren

  1. #41
    HaWe
    Gast
    Anzeige

    LiFePo4 Akku selber bauen - Video
    also doch nichts mit "namenlosem Programm" u/o "Arduino im unprogrammierten Zustand" etc.
    ist mir auch sehr unverständlich und ungewöhnlich vorgekommen.

  2. #42
    Benutzer Stammmitglied
    Registriert seit
    23.10.2014
    Beiträge
    56
    selbstverständlich kommt er unprogrammiert, was sollte das denn auch? Ich müßte ihn leer machen, um die Servos zu initialisieren. Programmiert wird er dann später mit der Arduino-Entwicklungsumgebung, samt Bibliothek und eines Anwendungs-Sketches. Das Zweite ist, wie oben schon gesagt, für die Fernbedienung. Programmierter Controller heißt bei mir, daß sich im Controller ein compiliertes Programm befindet und das ist eigentlich bei sochen Bausätzen sinnvollerweise niemals der Fall.
    Eigentlich toll, was man hier alles für wenig Geld bekommt. Adeept bitte ich um Vergebung, daß ich nicht konform zu ihrem Tutorial vorgegangen bin. War alles meine Schuld und hatte ein wenig seine Ursache in dem vorher gebauten Freenove Roboter. Die Fernbedienung ist auch schön. Vier Tasten rufen im Hauptprogramm die einzelnen Steuerungsmodi auf und zwei Joysticks erlauben die Steuerung von Richtung und Geschwindigkeit. Inzwischen ist die Katze mit den Sensoren dran und beim Frisör war der Hexa auch, die Schnüre sind geordnet. Der 4-er Stecker der Katze hat 4 Strippen mit female-Buchsen am Ende, eine davon ist defekt, sie fällt ohne Federkraft auf das Gegenstück. Wißt Ihr, wie diese Verbindungsnorm heißt? Ich kaufe nicht so gerne direkt, da werde ich wegen Kleinigkeiten zur Zollstelle nach Suhl zitiert. Das kostet einen Tag, zusätzlich Geld und war zweimal sehr unangenehm. Einmal war es der Insectbot Mini, der Insectbot Hexa Kit und dann nur wegen eines usb-Tesla Kerzenanzünders.
    gruß recke

  3. #43
    HaWe
    Gast
    was das mit dem "Leermachen" soll und das mit dem "Servos initialisieren" verstehe ich immer noch nicht. Kann mir das jemand anderes vlt erklären?

  4. #44
    Benutzer Stammmitglied
    Registriert seit
    23.10.2014
    Beiträge
    56
    kann ich natürlich, obwohl ich davon ausgehe, daß eigentlich fast jeder es verstanden hat! Zu dem Controller Arduino gibt es eine Entwicklungsumgebung, bestehend aus Programmiersprachen, Compiler, Editoren, Bibliotheken, usw. und Anwendungsprogramme, wie "Blink" oder Servointialisierungs- oder Kalibrierungsprogramme oder eben das Anwendungsprogramm zur Steuerung des fertig aufgebauten Hexapod. In obiger Diskussion ging grundsätzlich darum, ob es für den Hexapod ein Anwendungsprogramm für die Initialisierung der Servos gibt, wie es z.B. für den Quadruped von Freenove der Fall ist. Falls es so ein Programm gäbe würde es kein Lieferant vorher in den Controller laden. Von Adeept gibt es kein Anwendungsprogramm zur Initialisierung, d.h. der "leere" also unprogrammierte Controller wird zur Initialisierung der Servos verwendet. Das ist der Unterschied zu Freenove. Unter "Leermachen" wäre in diesem Zusammenhang ein Reset des Controllers (Löschen des in ihm befindlichen Anwendungsprogramms zu verstehen. Kann mir kaum vorstellen, daß von Euch jemand die Aussage "Arduino im unprogrammierten Zustand" nicht versteht. Warum schreibt aber HaWe dann soetwas?
    Wenn es am schönsten ist soll man gehen, ich ziehe mich zurück
    tschüß recke

  5. #45
    HaWe
    Gast
    kann ich natürlich, obwohl ich davon ausgehe, daß eigentlich fast jeder es verstanden hat! Zu dem Controller Arduino gibt es eine Entwicklungsumgebung, bestehend aus Programmiersprachen, Compiler, Editoren, Bibliotheken, usw. und Anwendungsprogramme, wie "Blink" oder Servointialisierungs- oder Kalibrierungsprogramme oder eben das Anwendungsprogramm zur Steuerung des fertig aufgebauten Hexapod. In obiger Diskussion ging grundsätzlich darum, ob es für den Hexapod ein Anwendungsprogramm für die Initialisierung der Servos gibt, wie es z.B. für den Quadruped von Freenove der Fall ist. Falls es so ein Programm gäbe würde es kein Lieferant vorher in den Controller laden. Von Adeept gibt es kein Anwendungsprogramm zur Initialisierung, d.h. der "leere" also unprogrammierte Controller wird zur Initialisierung der Servos verwendet. Das ist der Unterschied zu Freenove. Unter "Leermachen" wäre in diesem Zusammenhang ein Reset des Controllers (Löschen des in ihm befindlichen Anwendungsprogramms zu verstehen. Kann mir kaum vorstellen, daß von Euch jemand die Aussage "Arduino im unprogrammierten Zustand" nicht versteht. Warum schreibt aber HaWe dann soetwas?
    Wenn es am schönsten ist soll man gehen, ich ziehe mich zurück
    tschüß recke
    Was Arduino und dessen IDE ist, ist ja klar.
    Wieso soll es keine Hersteller geben, die bestimmte Programme standardmäßig in den Flash eines Controllers (Arduino o.ä.) als Auslieferungszustand laden?
    Lassen wir es so dahingestellt sein - mag ntl schon sein, dass der Arduino "leer" war...
    - nun war aber öfters von "leer machen" die Rede...:
    um etwas leer zu machen, muss aber vorher was drauf hochgeladen worden sein - wer hat also was vorher DOCH auf welchen Arduino hochgeladen?
    Was war genau der Auslieferungszustand der (beiden?) Arduinos?
    Ein "leerer" Arduino macht aber nichts - GAR nichts. Um irgendwas damit zu machen, muss also zuvor DOCH ein Programm hochgeladen worden sein:
    - welche(s) Programm(e) genau wurde(n) also (jeweils) zunächst hochgeladen?
    Von welchen Kalibrierungsprogrammen wofür ist die Rede?
    Wie und wozu soll man "Servos initialisieren", denn die funktionieren doch jederzeit "aus dem Stand"?
    Warum muss der "leere" - also unprogrammierte - Controller zur Initialisierung der Servos verwendet werden ?
    - wie kann ein unprogrammierter Controller aber überhaupt irgend etwas machen (initialisieren) ?
    Was soll der Vergleich mit einem ominösen "Freemove", was ist das, und inwiefern ist das hier überhaupt von Bedeutung?
    Inwiefern wird ein Arduino durch einen Reset "geleert" und in einen unprogrammierten Zustand versetzt? (normalerweise wird beim Reset nur das aufgespielte Programm resettet, also in den Startzustand versetzt, aber nicht der Programm-Flash gelöscht/geleert - CMIIW)...

    Viele große Fragezeichen.... :-/
    Geändert von HaWe (28.03.2018 um 20:17 Uhr) Grund: typo

  6. #46
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    03.04.2013
    Beiträge
    526
    Hallo HaWe, jetzt gibst du dich aber etwas störrisch...
    Aber wir fassen den Thread gerne noch mal zusammen:
    - Recke hat früher schon mal einen Roboter eines anderen Herstellers zusammengebaut und dachte, hier würde alles so ähnlich funktionieren, was aber nicht der Fall war.
    - Auch ein leerer unprogrammieter Mikrokontroller tut offenbar etwas, nämlich an seinen Ausgängen eine logische Null bereitstellen.
    - Diese logische Null wertet der Servokontroller als Kommando "Grundstellung" und fährt die angeschlossenen Servo in die entsprechende Lage. Das ist mit "initialisieren" gemeint.
    - In genau dieser Servo-Grundstellung sollen nun in ebenfalls genau definierter Position die Servo-Hörner montiert werden.
    - Ohne angeschlossenen Arduino sind die Eingänge des Servokontrollers in einem undefinierten Zustand, und folglich fahren dann auch die Servos in eine undefinierte Lage. Das ist dann ein missglückter Initialisierungsversuch.
    - Mit einem bereits anderweitig programmierten Arduino klappt es ebenfalls nicht, weil der nicht unbedingt "Null" an den Ausgängen ausgibt. Deshalb muss er ggf. erst wieder "leer gemacht", d.h. resetted werden.

  7. #47
    HaWe
    Gast
    Zitat Zitat von hbquax Beitrag anzeigen
    Hallo HaWe, jetzt gibst du dich aber etwas störrisch...
    Aber wir fassen den Thread gerne noch mal zusammen:
    - Recke hat früher schon mal einen Roboter eines anderen Herstellers zusammengebaut und dachte, hier würde alles so ähnlich funktionieren, was aber nicht der Fall war.
    - Auch ein leerer unprogrammieter Mikrokontroller tut offenbar etwas, nämlich an seinen Ausgängen eine logische Null bereitstellen.
    - Diese logische Null wertet der Servokontroller als Kommando "Grundstellung" und fährt die angeschlossenen Servo in die entsprechende Lage. Das ist mit "initialisieren" gemeint.
    - In genau dieser Servo-Grundstellung sollen nun in ebenfalls genau definierter Position die Servo-Hörner montiert werden.
    - Ohne angeschlossenen Arduino sind die Eingänge des Servokontrollers in einem undefinierten Zustand, und folglich fahren dann auch die Servos in eine undefinierte Lage. Das ist dann ein missglückter Initialisierungsversuch.
    - Mit einem bereits anderweitig programmierten Arduino klappt es ebenfalls nicht, weil der nicht unbedingt "Null" an den Ausgängen ausgibt. Deshalb muss er ggf. erst wieder "leer gemacht", d.h. resetted werden.
    aha, dann ist der adeept "Servocontroller" mit PCA9685 IC also kein reiner PCA9685 Servocontroller, der passiv nur per I2C durch den Arduino angesteuert wird, sondern besitzt ebenfalls einen (zusätzlichen) fest vorprogrammierten oder sogar frei programmierbaren Microprozessor, der seinerseits aktiv irgendwelche Arduino-Pins "auswertet" und dann seine Servos selbsttätig in eine ("Grund-") Position fährt?
    (hier würde mich tatsächlich auch der Typ dieses onboard-MCUs sehr interessieren und welche Uno-Pins genau "ausgewertet" werden.)
    (- edit - : üblicherweise wird ja ein PCA9685 Servocontroller nur per SCL, SDA, Vc und GND mit einem Arduino verbunden, auf dem ein Steuerprogramm für den PCA9685 geladen ist - Pins "auswerten" kann ein PCA9685 aber von sich aus nicht, und von alleine Servos an best. Positionen fahren auch nicht.)

    Wie aber wird ggf. der Arduino (Uno) derart "resettet", dass er "leer gemacht" wird?
    Arduinos besitzen einen Reset-Button und auch einen Reset-Pin, das ist bekannt, aber die löschen kein Programm aus dem Flash und machen es nicht "leer", sondern führen nur zu einem Programm-Restart des geladenen Programms - das Programm selbst bleibt dabei aber im Flash erhalten (wie gesagt, CMIIW).

    Und stimmt es dann, dass der OP dann nach der anfänglichen Initialisierung mit einem "leeren" Arduino selber Programme auf den/die Arduino(s) hochgeladen hat? (das hatte ich zumindest nirgends gelesen)


    Ich vermute allerdings auf Grund dieser bislang nicht plausibel geklärten Fragen, dass hier tatsächlich ganz andere Gegebenheiten u/o Zusammenhänge vorgelegen haben können.
    Geändert von HaWe (29.03.2018 um 13:24 Uhr)

  8. #48
    HaWe
    Gast
    nur zur Klarstellung:
    wie kann man laut recke und hbquax dieses tun?
    Zitat Zitat von recke
    Unter "Leermachen" wäre in diesem Zusammenhang ein Reset des Controllers (Löschen des in ihm befindlichen Anwendungsprogramms zu verstehen. Kann mir kaum vorstellen, daß von Euch jemand die Aussage "Arduino im unprogrammierten Zustand" nicht versteht. Warum schreibt aber HaWe dann soetwas?
    Zitat Zitat von hbquax
    Mit einem bereits anderweitig programmierten Arduino klappt es ebenfalls nicht, weil der nicht unbedingt "Null" an den Ausgängen ausgibt. Deshalb muss er ggf. erst wieder "leer gemacht", d.h. resetted werden.
    Ich wüsste keinen Weg, das zu erreichen, und meine Vermutung ist: das ist hier von recke auch nie gemacht worden.

  9. #49
    HaWe
    Gast
    ok, nachdem da also kein Widerspuch kam und keine Lösung im Sinne von recke und hbquax in Sicht ist, können wir, glaube ich, festhalten:

    Es ist nicht möglich, beim Arduino per Reset ein Programm aus dem Programmspeicher zu löschen.

    Die einzige mir bekannte Möglichkeit, ein Programm im Flash des Arduinos zu beseitigen, ist, es durch ein neues hochgeladenes Programm zu überschreiben.

    Selbst dann ist der Arduino aber nicht "unprogrammiert", sondern hat eben ein neues Programm, das im minimalen Fall ("Null-Sketch") startet, nichts sichtbares tut, und sich dann sogleich wieder beendet - oder aber in einer loop() Dauerschleife hängen bleibt.

    Einverstanden?

  10. #50
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    55
    Beiträge
    2.814
    Arduino IDE öffnen.
    Datei - Neu wählen.
    Hochladen.
    Dann das Verhalten des Boards mit einem fabrikneuen vergleichen.
    Der Speicher ist zwar nicht genullt (hysikalisch leer), aber das Verhalten an den Ausgängen ist das selbe.

Seite 5 von 6 ErsteErste ... 3456 LetzteLetzte

Ä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
  •  

Labornetzteil AliExpress