- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 10 von 21

Thema: "Echter" Digitalservo

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied Avatar von Pali64
    Registriert seit
    18.02.2016
    Ort
    Lehrberg
    Beiträge
    56

    "Echter" Digitalservo

    Durch unzählige "Niederschläge" mit käuflichen Servo's, die einfach nie 100% die gleiche Position erreichen, aber auch angelehnt an meine Tätigkeit in der Industrie,
    habe ich nun ein Projekt angefangen mit Servo's, die 100% Digital sind.
    Ich habe zu diesem Zweck ein kleiner Servo Zerlegt, und den Gleichstrommotor gegen einen Mehrphasen Drehstrom-minimotor ersetzt.
    Die Analog-servosteuerung entfernt und komplett ersetzt.
    Ein großer Vorteil ist natürlich nur noch 1 4-Poliges Kabel, das alle Servos (1~F pro Leitung) also jeweils 15 Stück anzusprechen.
    Das Poti habe ich im Servo belassen um eine Ungefähre Position des Servos beim einschalten Festzustellen.
    Wen man nun die "0" Punkte erst Abfährt "So wie bei den Großen Industrievorbilder" kann nun ein absolut exaktes und wiederholbares Anfahren jedes Punktes realisiert werden.
    Ich verwende hiezu hoch Präzise Pulscoder die sich auf den Mikrodrehstrom Motoren befinden.
    Im weiteren regle ich die Kommunikation nicht mehr über PWM wie bis an-hin, sondern habe ein Bidirektionales I²C Protokoll welches die Möglichkeit gibt, die Position so wie die gesetzten Parameter im Servo abzufragen. Dazu gehören Parameter die sich Setzen und lesen lassen wie:
    1.) Momentane Stromaufnahme.
    2.) Position.
    3.) Anfahrrampe Parameter.
    4.) Bremsrampe Parameter.
    5.) Fahrgeschwindigkeit.
    6.) Fahrdistanz.
    7.) Motortemperatur
    8.) Seine derzeitige I²C Adresse (Ist per I²C Änderbar)
    usw.

    Dazu verwende ich im Servo neben Powerfet den MSP430 Mikrocontroller.
    Er erschien mir ideal dazu, weil:
    * Interne A/D und PWM so wie D/A Wandler.
    * Interner Temperatursensor.
    * Braucht kaum Strom.
    * Internes I²C Fähiges UART.

    und das Wichtigste Argument überhaupt:
    Ich kenne diesen Prozessor seit es ihn gibt.
    Habe alle Tools die ich brauche, und Jahrzehnte lange Erfahrung mit dem Umgang.

    Warum Poste ich das Hier?

    Es Interessiert mich ob ein Bedarf besteht, und ob Anregungen zum Projekt da sind,
    denn wenn ja überlege ich mir diese eventuell in unserer Firma fertigen zu lassen, bzw als Produkt herzustellen.

    Wenn Interesse Besteht werde ich das Protokoll hier mal Posten. damit ihr seht was zur zeit alles an Befehlen möglich ist.
    Das hat den Vorteil wenn euch was fehlt oder als Überflüssig erscheint, kann ich dies noch vor dem Produktstart anpassen.

    Gruss Pali64
    Geändert von Pali64 (21.02.2016 um 17:38 Uhr) Grund: Gravierende Schreibfehler

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    18.01.2012
    Beiträge
    485
    Hallo Pali64,

    interessanter Ansatz.

    Bedarf gibt es dann, wenn es gegenüber anderen Lösungen Wertevorteile gibt, zB. - Preis -Gewicht - Haltbarkeit - Leisung ect.

    Meine Frage ist, wie schnell soll der I2C Takt sein.

    Gruß

    Relbmessa

    PS einen noch -leiser

  3. #3
    Benutzer Stammmitglied Avatar von Pali64
    Registriert seit
    18.02.2016
    Ort
    Lehrberg
    Beiträge
    56
    Hallo ARetobor,

    Der I²C Takt ist 400kHz.
    Ich verwende das Protokoll schon seit Jahren für Sensoren und anderes. Es ist sehr Zuverlässig und ist auch durch seine kurzen Befehlen sehr schnell (in der Regel 2 ~ 6 Byte befehle mit Quittungsantwort)

    Gruß Pali64

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    18.01.2012
    Beiträge
    485
    Hallo Pali64,
    danke für die schnelle Antwort.
    Ich kenne mich mit I2C nicht gut aus,heist dass, ca. 25µSekunden Reaktionszeit?
    Ich habe gelesen, dass es auch noch schneller geht.

    Kannst du schon etwas zu deinem Motor sagen?
    ist es ein Brushless,oder ist es noch ein Enwicklungsgeheimnis?

    Würde ich verstehen!

    Hast du schon Vorstellungen über den zu erwartenen Endpreis?

    Gruß
    Relbmessa

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.686
    Zitat Zitat von Pali64 Beitrag anzeigen
    .. Der I²C Takt ist 400kHz .. ist sehr Zuverlässig und ist auch durch seine kurzen Befehlen sehr schnell ..
    Das klingt vielversprechend schnell? Nur mal so - wie lange sind Deine Leitungen zwischen Controller und Sensor - nur mal so ungefähr? Sind die 400 kHz gemessen, z.B. am Oszilloskop, oder sonstwie verifiziert oder ist das die Vorgabe im Quelltext ?
    Ciao sagt der JoeamBerg

  6. #6
    Benutzer Stammmitglied Avatar von Pali64
    Registriert seit
    18.02.2016
    Ort
    Lehrberg
    Beiträge
    56
    Hallo Relbmessa, Hallo oberallgeier,

    Ich arbeite hier in der Industrie an Geräten, allerdings nicht mit 3.3V, oder 5V Pegeln,
    sondern mit 12V Pegeln auf Leitungen mit bis zu 100M Länge ohne Probleme.

    Eigentlich würde ich auch gerne die Servo's lieber mit 12V Betreiben,
    aber denke da würde mancher MC Anwender nicht glücklich darüber sein.

    Wäre allerdings sehr Vorteilhaft für den Kabeldurchmesser,
    wenn da mal wirklich 15 Servo's daufhängen würden.....
    So werde ich mich aber wahrscheinlich für 5V entscheiden,
    es sei den es kämen andere Wünsche.

    Im übrigen sind die 400kHz sogar mit speziellen Analyser geprüft worden,
    (Industrie ISO Normen) sind da Vorschriften......

    Also denke ich dass gerade Umgesetzte G0 0 (Homebefehl mit maximaler Geschwindigkeit) in sehr kurzer Zeit übertragen werden können.

    Da es aber eventuell Anwendungen gibt in denen die 400kHz Problematisch für den Anwender
    (Nicht alle MC's unterstützen 400kHz I²C) werde ich eventuell ein Umschalten auf 100kHz möglich machen.

    Was aber nun als Wünsche und Anregungen kommt wird Bestimmen was der Servo kann und danach auch den Preis bestimmen.....

    Gruß Pali64

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von Pali64 Beitrag anzeigen
    Ich arbeite hier in der Industrie an Geräten, allerdings nicht mit 3.3V, oder 5V Pegeln,
    sondern mit 12V Pegeln auf Leitungen mit bis zu 100M Länge ohne Probleme.
    So beschreibt das auch NXP in seinen App. Notes. Aber auch in jedem HDMI-Kabel ist ein I2C Bus enthalten und funktioniert zuverlässig mit 5V bei 5m Kabellänge.

    Eigentlich würde ich auch gerne die Servo's lieber mit 12V Betreiben,
    aber denke da würde mancher MC Anwender nicht glücklich darüber sein.

    Wäre allerdings sehr Vorteilhaft für den Kabeldurchmesser,
    wenn da mal wirklich 15 Servo's daufhängen würden.....
    So werde ich mich aber wahrscheinlich für 5V entscheiden,
    es sei den es kämen andere Wünsche.
    Die 12V wären auf jeden Fall besser. Es geht dabei nicht nur um den Kabeldurchmesser sondern um die ohmschen Verluste generell. Das Problem ist die Kompatibilität mit einem 30 Jahre alten Konzept. Da wurde die RC-Anlage mit 4 NiCad-Zellen betrieben. TTL ICs funktionierten damit gerade auch. Wenn man die oberen Toleranzen von ICs aus dem TTL Umfeld großzügig auslegt, kommt man zu den heute üblichen Spannungen. Da keine Servo-ICs mehr neu entwickelt werden, hat sich da nichts geändert, außer daß RC-Servos nicht mehr nur zum Bewegen von Steuerrudern sondern als vollwertige Servoantriebe eingesetzt werden. Ein weiteres Problem ist, daß zwei voll geladene LiPos mit ihrer Spannungslage dann doch die Maximalspannung der gängigen Servo-ICs übersteigen. Das führt dann zu aufwändigen, schweren und verlustbehafteten Spannungsreglern mit ihren eigenen (eigentlich vermeidbaren) Problemen.

    Die Dynamixel Servos bzw. eigentlich Servoantriebe haben mit diesem Erbe gebrochen, sowohl was die zu geringe Versorgungsspannung als auch das uralte RC-Protokol, das sich an den damals gängigen Bandbreiten der RC-Funkanäle orientierte, betrift. Das einzige Problem der Dynamixel Servos ist vordergründig der Preis. Die Anwender rechnen sich aber gern ihr Projekt schön, obwohl sie nach einigen zusätzlichen Reglern und einigen abgebrannten Servos mit den teureren Dynamixels ähnlich preiswert gefahren wären, bei technisch wesentlich besseren Ergebnissen.

    Da es aber eventuell Anwendungen gibt in denen die 400kHz Problematisch für den Anwender
    (Nicht alle MC's unterstützen 400kHz I²C) werde ich eventuell ein Umschalten auf 100kHz möglich machen.
    Solange das Servo der I2C-Slave ist, muß man da garnichts tun. Der I2C-Master gibt den Takt vor und kann so langsam arbeiten, wie er will. Selbst wenn alle Slaves 400k können, kann der Master mit 40k arbeiten.

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

Ähnliche Themen

  1. Antworten: 10
    Letzter Beitrag: 01.11.2017, 13:53
  2. Antworten: 2
    Letzter Beitrag: 15.06.2011, 22:18
  3. Geschwindigkeitsmesser "testen" / "prüfen"
    Von Goblin im Forum Sensoren / Sensorik
    Antworten: 7
    Letzter Beitrag: 12.04.2011, 10:53
  4. "Lichtverfolgung" in "TV-Remote" einbaue
    Von fabqu im Forum Robby RP6
    Antworten: 3
    Letzter Beitrag: 04.01.2011, 11:14
  5. "Soft-Reset?" und "Finger-Interrupt?"
    Von trapperjohn im Forum Asuro
    Antworten: 8
    Letzter Beitrag: 11.06.2008, 00:02

Stichworte

Berechtigungen

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

LiFePO4 Speicher Test