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

Thema: Mikroplatine zur Servoansteuerung

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.653
    Ganz herzlichen Dank Klebwax.
    .. so ist das bei einem Analogservo .. mit dem Beginn des Servopulses ein Monoflop gestartet .. leicht mit Logikgattern ein Differenzpuls erzeugen ..
    Danke für die ausführliche und für mich verständliche Erklärung. Nur - zu Analogtechnik bin ich total ungebildet und ohne jede Affinität - da hatte ich sozusagen in der Schule geschwänzt!

    .. die größte Schwachstelle der Servos beseitigen und Steuerlogik und Motortreiber nicht aus der gleichen Versorgung speisen ..
    Ja, das kenn ich wieder seit meinen Anfängen zu Mikrocontrollern.

    .. Der M51660 ist ein Servo-IC, von dem man sicher noch ein Datenblatt finden kann. Da kann man das nachvollziehen ..
    Das ist nicht direkt das, was ich möchte. Bei Archie hatte ich den Handgelenk-Dreh schon mit einem "Selbstbau-Servo" aus Pololu-Mikrogetriebemotor mit Encoder und der kleinen Platine babyorangutan gebaut. Ein Ewigdreher, der die Nullstellung als die beim Einstellen aktuelle Stellung anerkennt. Läuft gut. Und so etwas wollte ich mit einem Minimum an Bauteilen schaffen. Als einfaches Projektchen um die paar defekten Servos hier wiederzubeleben (soweit nicht die Bürsten durchgeschmort sind).

    .. Für kleinere Motore verwende ich gern den A4950 im SO8 .. bis 3A .. einstellbare Strombegrenzung .. daß der Motor nicht überlastet wird ..
    Genau so etwas hatte ich ja gesucht. Beim TB6612FNG nämlich leider im Datenblatt ".. The IC will fully break down when used under conditions that exceed its absolute maximum ratings ..". Also werde ich mich mal ins Datenblatt bemühen und danach wohl zu Aliexpress. Von Allegro habe ich ja nur ein paar A3901 rumliegen, die sind eindeutig zu schwach.

    .. Ich würd auch nicht viel Mühe verwenden, die "neue" Elektronik in das vorhandene Gehäuse zu packen, insbesondere nicht für den Prototypen ..
    Wie schon erwähnt - das soll ein Zwischendurchprojekt werden, aktuell benutze ich für die ersten Tests die externe Ansteuerung über babyorangutan/328p/8MHz-intern. Eher eine Spielerei und eine kleine Fortbildung zu meinem langjährigen Spielplatz "Servo". Vielleicht kommt in Zukunft dann doch ne analoge Version dran. Für die aktuelle Planung hatte ich I²C nicht vorgesehen, wohl aber UART, beispielsweise um bei späteren Anwendungen in dickeren Servos und/oder für andere Motoren die Regelparameter zu verändern, Ansteuerung ohne Servoport oder Ähnliches.

    .. elecrow .. gern 1mm Material. Mehrfachnutzen mach ich selber .. Tafelschere .. 1mm Material .. mit jeder guten Haushaltsschere ..
    Und hier sehe ich noch ein paar nützliche Tips zu Deiner Lehrstunde für Servoselbstbau. Danke herzlich für Deinen Beitrag.
    Geändert von oberallgeier (23.09.2017 um 09:05 Uhr) Grund: Korrektur "Selbst-b-au..."
    Ciao sagt der JoeamBerg

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    @oberallgeier

    Das (alte) Servo-IC hab ich nur erwähnt, damit man sich mal ansehen kann, wie das in einem typischen analogen Servo (auch heute noch) gelöst ist.

    Die A4950 hab ich schon eine Weile, kann mich nicht mehr erinnern, wo ich die her hab. Es könnte gut sein, daß die in einer professionellen Bestellung so mal mitgekommen sind

    Um China als Bauteillieferanten wird man als Privatmensch auf Dauer wohl nicht herumkommen. Ich verlinke mal einen Beitrag aus einem anderen Forum, der die Problematik der Lieferung von professionellen Händlern an Privatkunden deutlich macht. Bei Aliexpress hab ich die A4950 für rund einen Dollar gefunden, da werd ich mich dann auch wieder eindecken.

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

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.653
    Hallo Klebwax.
    .. Das (alte) Servo-IC hab ich nur erwähnt .. wie das in einem typischen analogen Servo (auch heute noch) gelöst ist.
    .. Bei Aliexpress hab ich die A4950 für rund einen Dollar gefunden, da werd ich mich dann auch wieder eindecken ..
    Danke für Deine Beschreibung(en). Ich habe soeben zehn (10!) Achtbeiner bei dieser Adresse bestellt (hatte ich vorher nicht :-/ gefunden gehabt) - die sind ja nur 5mm*6mm klein und die 2-54er Teilung ist ja auch extrem lötfreundlich *gg*. Abgesehen davon, dass das Teil wohl mit Lamas angeliefert wird (max 49 Tage) ists billig: Freies verschiffen 10 teile/los A4950ELJTR-T A4950 original 1 Los × € 7,97.

    Die Software geht allmählich voran (läuft so nebenher) - mal sehen, wie sich der 10bittige ADC beim Regeln verhält. Aber mein Mikromotor-Servo mit m328p/20 MHz und 1788 Encoderticks pro Umdrehung Abtriebswelle (0,20°/tick) funktioniert ja auch ziemlich ordentlich - auch wenn das feiner aufgelöst ist als die 1586 ADC-Ticks die das Poti (m)eines Billigservos bei einer vollen Umdrehung (hochgerechnet aus ca. 180°) macht. Mal sehen, die theoretische Auflösung ist ja dann immerhin noch rund 0,23° !
    Ciao sagt der JoeamBerg

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.653
    .. Die A4950 hab ich schon eine Weile, kann mich nicht mehr erinnern, wo ich die her hab ..
    Hallo Klebwax,

    nochmal danke für Deinen Hinweis auf den 4950; diesmal bitte Dich um Hilfe wegen Deiner Erfahrung mit dem Powerdingelchen.

    Ich habe seit gestern ein Streifchen mit 10 Stück da liegen - und bin durchs Datenblatt verwirrt. Im Datenblatt (A4950-DS, Rev. 4) sehe ich die Beschreibung der Anschlüsse und habe verstanden, dass 2 (ZWEI) PWM-Anschlüsse nötig sind: IN1 und IN2 (Bisher hatte ich pro Motor nur einen Controller-PWM-Pin benötigt).

    1 GND, 2 IN2, 3 IN1, 4 VREF Analog input,
    5 VBB Load supply voltage,
    6 OUT1 DMOS full bridge output 1,
    7 LSS Power return – sense resistor connection,
    8 OUT2 DMOS full bridge output 2

    Weiter:
    Zitat Zitat von Klebwax Beitrag anzeigen
    .. Für kleinere Motore verwende ich gern den A4950 im SO8 .. bis 3A .. eingebaute, einstellbare Strombegrenzung ..
    Mit VREF kann ich daher offensichtlich den maximalen Strom einstellen, den der 4950 ausgibt. Ist es dann richtig, dass ich mit z.B. 5V an VREF und 0,25Ω an LSS/Pin7 einen maximalen Strom von 2 A einstelle (5V / 10*0,25Ω = 2A) ? Was passiert wenn ich die Bemerkung "optional" bei LSS (vermutlich der Rs aus der Formel?) hernehme und KEINEN Widerstand anbringe (einfach Pinn NC lassen)?

    Bisher hatte ich meist Motortreiber der Art L293D verwendet, bei denen zwei "Richtungspinne" und ein PWM-Eingang verwendet werden - und sonst nix. Da unterscheidet sich der 4950 doch deutlich - und ich würde gern schon das erste Teilchen ordentlich beschalten.

    Danke für die Hilfe.
    Ciao sagt der JoeamBerg

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von oberallgeier Beitrag anzeigen
    Bisher hatte ich meist Motortreiber der Art L293D verwendet, bei denen zwei "Richtungspinne" und ein PWM-Eingang verwendet werden - und sonst nix. Da unterscheidet sich der 4950 doch deutlich
    Nicht wirklich. Der L293 hat zwei Eingänge, die jeweils eine Seite der Brücke ansteuern. Und dann gibt es einen weiteren Eingang, der die Brücke komplett abschaltet. Den kann man benutzen, um die Brücke mit einer PWM zu modulieren, man kann aber auch die PWM, je nach Drehrichtung auf den einen oder den anderen Brückeneingang legen. Der 4950 realisiert das mit nur zwei Eingängen. In dieser Tabelle sind die möglichen Schaltzustände aufgelistet

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

Name:	Selection_009.jpg
Hits:	15
Größe:	27,5 KB
ID:	32976

    Interessant sind die beiden obersten und die beiden untersten Zeilen. Gibst du auf einen der Eingänge die PWM und hälst den anderen Eingang auf 0, dann schaltet die Brücke zwischen gesteuert und abgeschaltet hin und her. Das entspricht dem Mode, den du beim L293 verwendet hast.

    Eine H-Brücke hat aber noch mehr Zustände, das Timingdiagramm direkt vor der gezeigten Tabelle zeigt andere Modes.

    Mit der PWM, insbesondere wenn sie schneller als mit 50Hz (20ms) so mit ein paar kHz läuft, wird der Strom im Motor schon mal begrenzt. Nun hat der 4950 aber auch noch eine eingebaute Strombegrenzung. Dazu wird über einen Shunt, im Datenblatt Rs genannt, der Strom gemessen. Rs sollte so gewählt werden, daß beim maximalen Strom nicht mehr als 0,5V an ihm abfallen. Da passen 0,1 bis 0,2Ω. Den Strom, ab dem die Brücke bremst, stellt man mit der Spannung am VREF Pin ein. Da tuts ein Spannungsteiler an deiner µC Versorgung oder zum Entwickeln ein Poti.

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

  6. #6
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.653
    .. man kann aber auch die PWM .. auf den einen oder den anderen Brückeneingang legen. Der 4950 realisiert das mit nur zwei Eingängen. In dieser Tabelle ..
    Danke für diese Zusammenstellung, da gehen mir wieder ein paar Lichter auf. Die Tabelle bin ich gestern durchgegangen. Dabei hatte ich dann gemerkt (Griff ans Hirn!), dass auch die Motoransteuerung am originalen Babyorangutan (nur) über zwei Eingänge gesteuert wird, die abwechselnd mit nem PWM-Signal moduliert werden (oder auch nicht). Und genau das betreibe ich ja - gemäß Modellbauservo-Protokoll - seit Monaten mit nem Babyorangutan an nem Mikrogetriebemotor in archies Handgelenken. Nur ist dort die Istgröße des Motors ein zweispuriger Encoder und kein Poti.

    Und mit Deinen Erläuterungen weiß ich, dass ich das mit dem L293 auch machen könnte . . . !

    Danke.
    Geändert von oberallgeier (07.12.2017 um 08:46 Uhr) Grund: "oder" statt "der"
    Ciao sagt der JoeamBerg

  7. #7
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.653
    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 14:15 Uhr) Grund: PWM-Periode : Werte korrigiert
    Ciao sagt der JoeamBerg

  8. #8
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.653
    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 22:22 Uhr)
    Ciao sagt der JoeamBerg

Ähnliche Themen

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

Berechtigungen

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

Labornetzteil AliExpress