Schlagwort-Archive: H-Brücke

  1. Step by Step: Video Stepper Motor Basics

    Hinterlasse einen Kommentar

    11.08.2015 von plaintron

    In den letzten Beiträgen der Serie „Step by Step“ habe ich einige Grundlagen der Schrittmotor-Ansteuerung erklärt. Ein Video von STMicroelectronics geht hier noch etwas mehr in die Tiefe, zeigt mathematische Zusammenhänge und illustriert verschiedene Optimierungsmöglichkeiten:

    Stepper motor basics (ePresentation) STMicroelectronics (39:31)

  2. Step by Step: Ansteuerung

    Hinterlasse einen Kommentar

    05.08.2015 von plaintron

    Im letzten Beitrag dieser Serie ging es um den Leistungsteil der Schrittmotorsteuerung. Nun fehlt noch das passende Signal, um die Endstufen im richtigen Takt so umzupolen, dass daraus ein Drehfeld für den Motor resultiert.

    Die Grafik mit den Spannungsverläufen habe ich hier auf acht Takte gekürzt und jeweils eine 1 für V+ und eine 0 für GND eingetragen.

    signale_c

    Nun lässt sich für jeden Takt ein Wert in Form einer Binärzahl mit 4 Bit darstellen:

    1: 1000h-bridge
    2: 1001
    3: 0001
    4: 0101
    5: 0100
    6: 0110
    7: 0010
    8: 1010

    Nochmal zur Verdeutlichung: Die Endstufe hat 4 Anschlüsse. Je H-Brücke existiert ein Anschluss für „positiv“ (A und C) und ein Anschluss für „negativ“ (B und D). In unserem Beispiel soll jeweils am gerade aktiven Anschluss eine Spannung von +5V anliegen, ansonsten 0V. Das sieht also nach einem idealen Job für einen kleinen 8-Bit-Mikrocontroller aus. Wir nehmen uns einfach einen Port und verbinden die unteren 4 Bit mit dem Schrittmotortreiber. Die oberen 4 Bit bleiben ungenutzt oder werden durch logische Verknüpfung anderweitig genutzt.

    Was noch fehlt, ist das passende Programm. Wir könnten uns jetzt einen wahnsinnig raffinierten Algorithmus ausdenken, um die oben gezeigten Bitfolgen zu generieren. Wir können aber auch einfach ein 8-Byte-Array spendieren und die Werte dort ablegen. Das spart Rechenleistung, die wir für andere Aufgaben sinnvoller nutzen können.

    Die Zahlenfolge für dieses Beispiel lautet 8,9,1,5,4,6,2,10.

    Hexadezimal sieht das dann in C stark vereinfacht dann so aus:

    char states[8] = {0x08, 0x09, 0x01, 0x05, 0x04, 0x06, 0x02, 0x0A};

     

    Mit einer einfachen Schleife werden diese Werte nun nacheinander auf einen Port geschrieben:

    int step = 0;
    
    while (step < 8){
      PORTA = states[step];
      step ++;
      if ( step > 7 ) step = 0;
    }

     

    Natürlich fehlt hier noch eine Menge, etwa Initialisierungen und eine Verzögerung in der Schleife für die korrekte Drehgeschwindigkeit. Außerdem soll die Drehzahl variabel und auch die Drehrichtung umkehrbar sein. Um das Grundprinzip zu erklären genügt das aber und es gibt natürlich fertige Controller, die diese Aufgabe komfortabel erledigen. Das wird dann Thema des folgenden Artikels dieser Serie.

  3. Step by Step: Die H-Brücke

    1

    02.08.2015 von plaintron

    signale_exp

    Im dritten Teil meiner Schrittmotor-Serie wollen wir eine Schaltung herleiten, die in der Lage ist, den Motor mit einem Leistungssignal zu versorgen. Das Bild oben entspricht im Prinzip dem Graph aus dem vorherigen Beitrag, allerdings ist die Darstellung etwas anders gewählt.

    Wir betrachten hier jeden Anschluss des Schrittmotors einzeln: A und B für die blaue Wicklung, C und D für die gelbe Wicklung. Wie wir sehen, wird jeder Anschluss in einem bestimmten Takt zwischen Masse und Betriebsspannung hin und her geschaltet. Liegt Anschluss A auf Betriebsspannung und B auf Masse, fließt der Strom in positiver Richtung durch die Wicklung. B auf Betriebsspannung und A auf Masse sorgt für die umgekehrte Stromrichtung. Liegen beide Anschlüsse auf Masse oder auf Betriebsspannung, fließt kein Strom.

    Wir benötigen also ein Bauteil, das einen Punkt der Schaltung zwischen Betriebsspannung und Masse hin- und herschalten kann. Grundsätzlich können wir das mit zwei einfachen Transistoren in Reihe erledigen und unseren Wicklungsanschluss zwischen die beiden Transistoren hängen. Stark vereinfacht sieht das so aus:gegentakt_exp

    Wer sich schon mal mit Transistorschaltungen beschäftigt hat, erkennt sofort die Gegentaktschaltung, wie sie auch in Audio-Verstärkern zum Einsatz kommt. Dieser Aufbau lässt sich spiegeln, um eine Brückenschaltung herzustellen. Die Motorwicklung hängt dann zwischen den beiden Gegentaktschaltungen, was an den Buchstaben „H“ erinnert. Das Ergebnis wird dann auch H-Brücke genannt. Mit einer H-Brücke können wir einen normalen Elektromotor steuern. Je nach Eingangssignal dreht dieser sich dann links oder rechts herum bzw. überhaupt nicht.

    Für unseren Schrittmotor, der ja über zwei Wicklungen verfügt, benötigen wir zwei H-Brücken, also eine Doppel-H-Brücke. Diese Schaltung hat nun insgesamt vier Steuereingänge, 4 Ausgänge für die Spulen und sieht so aus (Prinzipschaltung L298 von ST):

    L298_block

    Wir sehen hier einige Logik-Bausteine in der Schaltung. Die sind in der Praxis aufwändiger als hier dargestellt und müssen nebenbei auch noch dafür sorgen, dass nie zwei in Reihe liegende Transistoren gleichzeitig schalten. Das würde nämlich dazu führen, dass der magische Rauch aus dem Bauteil entweicht und es nicht mehr funktioniert 😉 Außerdem wird der Ausgangsstrom getaktet, um ihn lastabhängig verändern zu können.

    Mit den Eingangssignalen In1 bis In4 wird der Motortakt gesteuert. Wie das geht und wie diese Signale aussehen müssen, zeige ich im nächsten Artikel dieser Serie.

Blogverzeichnis - Bloggerei.de