-         

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 14 von 14

Thema: Mikroplatine zur Servoansteuerung

  1. #11
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.557
    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Ist der A4950 hinüber? Klebwax - vielleicht kannst Du mir raten?

    So - es hatte etwas gedauert bis es richtig weiterging. Der Gund war einfach: zuerst die vorhandene Quelle der Servo"simulation" die mit Encoder läuft - Archies Handdreh - NUR MAL EBEN angepasst an den Abtriebswellen-Poti der Modellbauservos .. ein Fehler nach dem andern, eben "je Änderung, desto Fehler". Schließlich ganz einfach: die neue Software wurde vollständig neu aufgebaut und in den beiden folgenden Teststationen betrieben.

    Nun läuft auf einer Experimentierplatine ein mega328 in einem babyorangutan, 8 MHz interner Oszillator, 9600 Baud UART, dessen Motortreiber TB6612FNG hat eine vergleichbare Wahrheitstabelle wie der A4950. Steuerung von einem Servocontroller (selfmade, nanoClone mit 20 MHz Quarz), 20 ms Periodendauer, Pulslänge 0 µs bis 2864 µs. Und der Servo dreht prächtig je nach Positionsvorgabe des Servotesters.

    Also neuer Aufbau auf einem Steckbrett mit Ziel den A4950 zu verwenden. Ein mega328 in einem nanoClone, 8 MHz interner Oszillator, UART wie oben, dazu der A4950 auf Lochrasterplatine montiert und verkabelt. Bei Testbetrieb mit Regelung wurde gemessen : PWM-Periode 256 µs (Toleranzen von intOszillator m328#), d.h. etwa 3,9 kHz. SollPosition (Ziel-Controller) 15 .. 957 Digits am Eingang PD2 = Ansteuerung vom Servotester, IstPosition 5 .. 1015 Digits vom ADC4 / ServoPoti-Abgangswelle. Ausgabe der Daten zur Kontrolle im Modus "Regelungstest" über UART im Sekundentakt, Kontrolle der PWM-Ausgänge ((OCR0A, OCR0B) mit Oszilloskop. Damit sind die Regelungswerte und die Controllerausgänge an beiden Testaufbauten gleich.

    Der A4950 wurde nach Datenblatt A4950-DS, Rev. 4 verkabelt. IC-Gehäusepunkt bei 1/GND. VREF und VSS bleiben nc, später ein Test mit 5V auf VREF und 0,2Ω (kurzer Eisendraht) gegen GND an VSS. Der Effekt bleibt gleich : der Servomotor dreht sich nicht obwohl die Eingänge IN1 und IN2 entsprechend beaufschlagt werden: entweder 1(PWM)/0 oder 0/1(PWM). Auch ein Test mit 5V an IN1 und GND an IN2 ergab keine Differenzspannung zwischen OUT1 und OUT2 (VREF + VSS unbeschaltet bzw. 5V-VREF und 0,2Ω gegen GND an VSS).

    Fragen:
    Ist der A4950 hinüber?
    Wie empfindlich ist der (Löten, Elektrostatik beim Anfassen etc)?
    Ich habe ja noch 9 Stk 4950er im Vorrat . . . aber vielleicht habe ich ja schon jetzt etwas falsch gemacht.
    Geändert von oberallgeier (08.12.2017 um 15:15 Uhr) Grund: PWM-Periode : Werte korrigiert
    Ciao sagt der JoeamBerg

  2. #12
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.557
    Stand 08. Dez. 2017, 14h28
    Ein neuer Adapter für den A4950 wurde gelötet und im Steckboard eingebaut. Test: VREF und Vss nicht beschaltet.
    Ergebnis: OUT1 und OUT2 liefern trotz PWM-Eingangssignalen konstant ca. 4 V auf beiden Kanälen. Dies ist unabhängig davon ob auf den Eingängen IN1 und IN2 ein PWM-Signal 0..250 µs von 256 µs Periodendauer anliegt .. jeweils ein Kanal high und der andere low oder ob dauerhaft +/- bzw. -/+ anliegt.

    Nachtrag:
    Vorerst Ende des Projektes.
    Einerseits wegen des bisher schleppenden Fortgangs, andererseits sehe ich mittlerweile keinen gangbaren Weg, wie ich mit der Servo-Schnittstelle (5V .. 6V und Signal) zurechtkommen sollte, wo der Motortreiber für Load Supply Voltage erst ab 8 V spezifiziert ist. Grundidee ist ja ein wirklich minimalistischer Aufbau - so ne Art Huckepack von Controller und Motortreiber, so gut wie kein Hühnerfutter. Schade.
    Geändert von oberallgeier (08.12.2017 um 23:22 Uhr)
    Ciao sagt der JoeamBerg

  3. #13
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.03.2011
    Beiträge
    1.401
    Zitat Zitat von oberallgeier Beitrag anzeigen
    Nachtrag:
    Vorerst Ende des Projektes.
    Einerseits wegen des bisher schleppenden Fortgangs, andererseits sehe ich mittlerweile keinen gangbaren Weg, wie ich mit der Servo-Schnittstelle (5V .. 6V und Signal) zurechtkommen sollte, wo der Motortreiber für Load Supply Voltage erst ab 8 V spezifiziert ist. Grundidee ist ja ein wirklich minimalistischer Aufbau - so ne Art Huckepack von Controller und Motortreiber, so gut wie kein Hühnerfutter. Schade.
    Schade. Minimalistischer als mit den analogen Servobausteinen wirds schwer. Man kann es aber besser machen. Ich schrieb

    Zitat Zitat von Klebwax Beitrag anzeigen
    Man sollte aber, wenn man schon selbst entwickelt, die größte Schwachstelle der Servos beseitigen und Steuerlogik und Motortreiber nicht aus der gleichen Versorgung speisen. 5V bzw 3,3V können (vom µC oder auch einem Empfänger) über das Standardkabel geliefert werden, für die Motorspannung gibts einen extra Anschluß. Dann kann man das Ganze auch mal mit 2 Lithiumbatterien versorgen, ohne das die Steuerung gleich abbrennt.
    Was ich mit Schwachstelle der Servos meinte, ist scheinbar nicht ganz rübergekommen. Historisch gab es in Fernsteuermodellen einen Akku für die Elektronik. Das waren 4 NiCads, rund 5V. Damit wurde der Empfänger und die Servos betrieben. Da konnte man z.B. 74xx Digital-ICs einsetzen. Die Antriebsenergie lieferte ein Verbrenner, das hatte mit diesem Akku nichts zu tun.

    Inzwischen ist das ganz anders geworden. Der Antrieb ist elektrisch hat hat eine wesentlich höhere Spannung als 5V. Das ist aus Gründen des Wirkungsgrades auch erforderlich. Die Servos sind aber bei den rund 5V geblieben. Mit modernen Akkus sind 5V mit ausreichend Leistung für eine große Zahl von Servos schlecht darstellbar. Daher werden die Servos gerne über einen Regler (BEC) versorgt. Aber auch das ist nicht ohne Probleme. Ein Servo hat, je nach Typ, einen Spitzenstrom von 1,5 bis 2,5A. Ein Regler für 4 Servos muß also einen Spitzenstrom von 10A liefern können, anderenfalls schaltet der Regler zum Selbstschutz ab, was wiederum die Elektronik aus dem Tritt bringt. Das ist das gängige Problem bei der Verwendung von Servos nicht nur hier im Forum. Im Normalbetrieb fließt zwar ein wesentlich geringerer Strom, dafür hat der Regler bei Teillastbetrieb einen schlechten Wirkungsgrad.

    Ein Akku hat diese diese Probleme nicht. Stromspitzen steckt er mühelos weg, die Spannung knickt nur ein wenig ein. 5V passen aber nicht zu den heute üblichen Lithium Akkus. Bei 2S muß man mit über 8V rechnen, also zu viel, mit 1S hat man am Ende weniger als 3V, also viel zu wenig. Daher mein Vorschlag, die Versorgung der Servomotoren von der Versorgung der Elektronik zu trennen. Das ist nicht ganz auf meinem Mist gewachsen, Dynamixel z.B. macht das auch so.

    Der Ansatz sieht dann so aus: an einem 2S oder 3S (oder auch mehr Zellen) Akku werden die/alle Motore direkt betrieben, sowohl der Antrieb als auch die Servos. Die Treiber werden passend zu den Motoren gewählt, der A4950 z.B. für die kleineren, andere für die größeren. Die gesamte Elektronik des Modells oder Bots wird mit 3,3V bzw 5V versorgt. Ein Regler dafür ist leicht zu realisieren, entweder als Hybrid wie die Recom Schaltregler oder mit preiswerten Chinareglern. Da geht es auch nur um Bruchteile eines Amperes.

    Man kann trotzdem die gängige Servoschnittstelle beibehalten. Die typischen RC-Motorregler zeigen es. Sie werden an der klassischen Servoschnittstelle betrieben, die Motorversorgung geht aber nicht über diese Schnittstelle. Auch einen BLDC betreibt man so. Ein Servo kann man ähnlich aufbauen.

    Ein Servostecker hat drei Leitungen: GND, Servosignal und Versorgung. Im Servo selbst sind ein kleiner µC und ein Motortreiber. Der µC (und nur der µC) wird vom Servostecker mit rund 5V versorgt. Er wertet das Servosignal (und das Poti) aus und steuert die Brücke an. Die Motorspannung der Brücke wird aber direkt vom Akku geliefert und ist nicht an die 5 bis 6V Grenze der Elektronik gebunden. Es wird direkt der Fahrakku verwendet. Das geht auch mit den üblichen Motoren, man muß nur den Duty-Cycle auf einen passenden Wert (kleiner 100%) begrenzen. Das ginge sogar automatisch, man misst mit dem ADC die Brückenversorgung und passt den maximalen Duty-Cycle an den Motor an.

    Ein solches Servo wäre pflegeleichter als die üblichen. Auf dem Servostecker hat es nur einen Strombedarf von ein paar Milliampere für den µC, wenn es mal kräftig zur Sache geht, muß der Akku liefern. Und durch den Einsatz eines µCs können Zusatzfunktionen wie ein Blockierschutz oder eine Fail-Safe-Automatik realisiert werden. Und wenn man sich von der Servoschnittstelle emanzipiert und z.B. I2C verwendet, kann man auch Drehgeschwindigkeit oder maximale Winkel einstellbar machen (siehe auch Dynamixel).

    Ist ein wenig länger geworden, sorry oberallgeier, wenn ich deinen Thread zugetextet habe.

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

  4. #14
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.557
    Danke für Deine Antwort.

    .. Ist ein wenig länger geworden, sorry oberallgeier, wenn ich deinen Thread zugetextet habe ..
    Du liebe Zeit, das ist doch ein prima, informativer Beitrag. Zugetextet wäre es doch nur, wenn der Informationsgehalt im Missverhältnis zur Wortanzahl stünde. Das ist ja hier wirklich nicht der Fall. Dagegen schreibe gerade ich immer sündlange Texte (tldr :-/ ). Danke für Deine Ausführlichkeit.

    Schade. Minimalistischer als mit den analogen Servobausteinen wirds schwer ..
    Stimmt. Daher meine Absicht einen Motortreiber auf den Controller zu kleben - Thermalpad nach aussen, die paar wenigen Datenleitungen mit kurzen, dünnsten Drähten dranzulöten und schon würde das Ganze in einen Mikroservo passen. Vorteile: ich fände das mal ein passables Recyclingprojektchen: es liegen aus grauer und jüngster Vorzeit noch ein paar angeschlagene Carson502001 und MINI ES-05 - alles Motörchen die mit >>6 V direkt am Abgrund laufen. Hübsch fände ich diesen Servo mit UART zur Parametereinstellung, evtl. serielle Stelldateneingabe und so; ist derzeit schon zT aktiv. Ausserdem hatte ich mir so ein erstes Projektchen "digitaler Servo" als sinnvoll vorgestellt.

    .. Was ich mit Schwachstelle der Servos meinte, ist scheinbar nicht ganz rübergekommen ..
    Stimmt. Fesselflug in Urzeiten und Noob in Elektronik sind ungute Grundlagen.

    .. Inzwischen ist das ganz anders geworden. Der Antrieb ist elektrisch hat hat eine wesentlich höhere Spannung als 5V ..
    Und da bin ich ziemlich rückständig. Das Maß meiner Dinge ist archie der auf diesen alten Modellbauservos aufbaut (mittlerweile 24? und es kommen noch einige dazu). Und so sind auch die wesentlichen Steuerungsplatinen ausgelegt (na ja, dort kann man ALLE Servos EINER Steuerplatine mit nem separaten Stromkreis betreiben - also genau Dein Vorschlag). Der endgültige Ausschlag zur Einstellung des Projektchens waren die Tatsachen dass a) der 4950 erst ab 8 V spezifiziert ist und ich b) einen vergleichbar kleinen mit ähnlicher Leistung für 5V nicht gefunden habe und c) der Testaufbau mit dem 4950 noch Probleme macht (läuft mit dem TB6612FNG bestens). Na ja, ich hätte hier noch ein paar A3901, Dual Full Bridge mit VBB von 0? bis 7V, aber nur 400 mA pro Kanal; 800 mA für Spitzenlast find ich halt deutlich zu wenig. Aber der hat wenigstens nur schlappe 3mm*3mm*0,75mm, Package EJ, 10-contact DFN.

    Schönes Wochenende.
    Ciao sagt der JoeamBerg

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. Servoansteuerung
    Von Gremlin im Forum PIC Controller
    Antworten: 1
    Letzter Beitrag: 29.09.2011, 22:07
  2. Servoansteuerung
    Von sp33dy im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 1
    Letzter Beitrag: 07.01.2010, 19:24
  3. Servoansteuerung...
    Von Quattro im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 24.09.2007, 20:50
  4. servoansteuerung
    Von zwerg1 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 21
    Letzter Beitrag: 26.07.2005, 00:38
  5. Servoansteuerung
    Von Gast6 im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 21.01.2005, 09:11

Berechtigungen

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