1. Bitmaps zu C-Arrays für Grafik-Displays

    0

    August 6, 2015 by linguasite

    Die Ansteuerung von Zeichen-Displays ist relativ einfach: Der Code für das darzustellende Zeichen wird per Mikrocontroller an das Display gesendet, dort in Punkte umgerechnet und sofort angezeigt. Für die gängigen Display-Controller, etwa den HD44780, gibt es diverse Bibliotheken für PIC, STM32 oder AVR/Arduino, die diese Aufgabe erleichtern.

    Matrixanzeige220Matrixanzeige220“ by Xmms. Licensed under CC BY-SA 2.0 de via Wikimedia Commons.

    Bei Grafik-Displays gibt es nur Pixel. Um einen Buchstaben darzustellen ist ein Font notwendig. Bitmaps lassen sich ebenfalls darstellen, müssen aber in eine Bytefolge umgewandelt werden, die dann im passenden Format an das Display gesendet wird.

    Ganz viele Informationen und Anleitungen dazu gibt es im Blog „electronics lab“: http://www.electronics-lab.com/tag/glcd/

    Bei meiner Belichter-Steuerung habe ich damit ein wenig experimentiert und konnte mit etwas Bastelei diverse Schriftzüge und Grafiken auf dem Monochrom-Display mit 96×32 Pixeln von Pollin darstellen. Sogar Animationen sind möglich, wenn das Bild im RAM gecached, geändert und in schneller Folge auf das Display geschrieben wird. Allerdings habe ich das ohne GLCD programmiert, weil die Anpassung an das Display nicht richtig funktionierte.

    Mein Logo sieht als Monochrom-Bitmap so aus:

    plaintron_logo 001_exp

    Als C-Array kommt dann sowas dabei heraus:

    uint8_t bmp[] = {
      /* page 0 (lines 0-7) */  
      0x0,0x0,0x0,0x0,0x0,0x80,0xc0,0xe0,0x70,0x30,0x38,0x18,0x98,0x80,0x0,0xff,
      0xff,0x0,0x80,0x98,0x98,0x38,0x30,0x70,0xe0,0xc0,0x80,0x0,0x0,0x0,0x0,0x0,
      /* page 1 (lines 8-15) */  
      0x0,0x0,0xf0,0xfc,0x1f,0x7,0x1,0xf8,0xf0,0x8f,0x7f,0xf0,0xcf,0xbf,0x78,0xe7,
      0xdf,0xd8,0xb7,0xb7,0xb7,0xb7,0xd8,0xde,0xe0,0x61,0x7,0x1f,0xfc,0xf0,0x0,0x0,
      /* page 2 (lines 16-23)*/    
      0x0,0x0,0xf,0x3f,0xf8,0xe0,0x87,0x1e,0x79,0xf7,0xef,0xee,0xdd,0xbb,0xb7,0xb6,
      0x76,0x6d,0x6d,0x6d,0x6d,0x6d,0x6d,0x76,0x16,0x87,0xe0,0xf8,0x3f,0xf,0x0,0x0,
      /* page 3 (lines 24-31) */  
      0x0,0x0,0x0,0x0,0x0,0x1,0x3,0x7,0xe,0xc,0x1c,0x19,0x39,0x33,0x33,0x33,
      0x33,0x33,0x33,0x39,0x19,0x1c,0xc,0xe,0x7,0x3,0x1,0x0,0x0,0x0,0x0,0x0,
     };

     

    Die Auflösung beträgt 32×32 Pixel, wobei ein Byte immer eine senkrechte Reihe von 8 Pixeln darstellt.

    Im ersten Versuch habe ich dieses Bitmap-Array tatsächlich von Hand ausgerechnet. Einfacher geht es aber mit entsprechenden Tools.

    Ein Online-Konverter: http://manytools.org/hacker-tools/image-to-byte-array/

    Ein kleines Windows-Programm: http://www.hobbytronics.co.uk/bmp-lcd-converter

    In Verbindung mit einem Flash-Speicher ist es auch möglich, Bitmap-Dateien direkt auszulesen und zeilenweise an das Display zu senden.

    Fertige Bitmap-Fonts für Grafik-Displays gibt es ebenfalls. Die GLCD-Bibliothek bringt schon fertige Fonts mit.

    https://code.google.com/p/glcd-arduino/


  2. 3D-Drucker: China-Original oder Dremel-Kopie?

    0

    August 6, 2015 by linguasite

    Die „Make:“-Redaktion von Heise beschäftigt sich in einer aktuellen Meldung mit dem 3D-Drucker von Dremel und findet ihn „Überraschend gut“. Ich habe die Meldung recht aufmerksam gelesen, weil für mich der Name Dremel bisher für „überraschend schlecht“ stand. Gute Ideen, gutes Marketing, preislich OK – aber die Umsetzung würde ich bei den bisher angeboteten Werkzeugmaschinen nie als profitauglich beschreiben.

    Was der Heise-Meldung fehlt, ist ein Vergleich zwischen dem chinesischen Original Flashforge Dreamer und der abgespeckten (und billigeren) Dremel-Variante.

    Im Blog „To Buy A 3D Printer“ gibt es Antworten auf die offen gebliebenen Fragen:

    To be fair, both of these are quality 3D printers. Which you decide on depends on the amount of money you want to spend, what you will be printing and your tastes. The Dremel Idea and FlashForge both have touchscreens, SD and USB connectivity and a similar size. However, if you are looking for Wi-Fi compatibility, more printing flexibility, faster printing, multiple supported filament types and a fashionable look, the FlashForge Dreamer 3D Printer is the one for you.

    http://tobuya3dprinter.com/dremel-idea-builder-vs-flashforge-dreamer-3d-printer-comparison/


  3. Krabbeltiere: Hexapod und Kängubot

    0

    August 5, 2015 by linguasite

    Neulich bin ich über das Blog „Blaue Stunde“ auf das Thema Hexapod gestoßen und habe diverse Exemplare bei Youtube gefunden.

    Hexapod Dimitri wirkt schon etwas beängstigend SciFi-mäßig:


    Weiterlesen


  4. Step by Step: Ansteuerung

    0

    August 5, 2015 by linguasite

    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.


  5. Vernetzt Euch!

    0

    August 4, 2015 by linguasite

    Blog-Wüste

    Du hast also ein Blog. Schön für dich. Wirklich. Blogs sind toll. Sie helfen, die eigenen Gedanken zu veröffentlichen, zu strukturieren und zu vertiefen, du kannst anderen Leuten zeigen was du geschrieben hast und vielleicht kommentiert sogar mal jemand.

    Aber ist das schon alles?

    Blog-Systeme und blogtaugliche CMS wie Wordpress, Movable Type oder Drupal begleite ich seit den ersten Versionen sehr aufmerksam und habe wann immer es passte auch zu deren Codebasis etwas beigetragen. Die Entwicklung all dieser Systeme war von Anfang an auf Kooperation ausgelegt: Linklisten, Trackbacks, Reblog-Funktionen, Zitate, Kommentare, Diskussionen, Bewertungen und Like-Buttons, Tags, RSS, APIs für soziale Netzwerke, Remote-Administration – das sind alles Features, die geradezu danach schreien, eine riesige Community aufzubauen.

    Aber das passiert nicht. Unglaublich viele Blogger schreiben im stillen Kämmerlein vor sich hin und hoffen, dass irgendwann jemand ihre Rufe hört. Doch egal wie interessant und gut aufbereitet der eigene Content ist – ohne Community ist das nicht viel wert.

    In den letzten Jahren habe ich beruflich viel Zeit damit verbracht, Blogs zu vernetzen. Das geht auf technischem Wege durch Aggregatoren und Blog-Netzwerke, aber auch durch Motivation der Blogger, sich gegenseitig wahrzunehmen, z.B. durch gemeinsame Themen und Aktionen.

    Erinnert sich noch jemand an die „Blog-Stöckchen„, die eine Weile sehr verbreitet waren? Oder Aktionen wie das „Blog-Teleskop„? Oder wie wäre es mal wieder mit einem Gemeinschaftsblog? Es gab wirklich viele gute Ansätze und gerade in der Zeit vor Facebook & Co. waren Blogs das Mittel der Wahl für die gemeinsame Kommunikation. Blogs sind plattformunabhängig, schützen die eigenen Daten, hängen nicht von großen Konzernen ab und sie sind je nach Installation und Können frei gestaltbar, leicht zu bedienen und umprogrammierbar. Und sie sind kostenlos oder extrem billig! Das sind alles gewaltige Vorteile, die leider niemand mehr so recht zu schätzen weiß.

    Heute sind Blogs kleine Inseln, manchmal Inselgruppen, weden von Werbern zugespammt oder schlafen einfach, weil viele Blogger die Motivation verloren haben, in die Stille zu schreiben.

    Muss das so?

    Warum verlinkst du nicht in jedem Artikel auf mindestens ein anderes Blog?

    Warum hinterlässt du nicht unter jedem Beitrag der dir gefällt ein kurzes „Hallo?“

    Warum nimmst du maximal deine besten Online-Bekannten in die Blogroll auf?

    Warum schreibst du nicht darüber, was andere Leute in ihren Blogs so machen?

    Warum verwendest du dein Blog nicht als universelles Vernetzungs- und Kommunikationstool, das es sein könnte?

    Warum hängst du stattdessen als Futter für die Marketing-Industrie in fremdbestimmten Social-Network-Plattformen rum? Weil da alle sind?

     

    Erzähl doch mal. Mich interessiert das.

    Bildquelle: Thar Khuri von user:FlickaEigenes Werk. Lizenziert unter CC BY-SA 3.0 über Wikimedia Commons

  6. Mobiler Platinenbelichter

    0

    August 3, 2015 by linguasite

    gehaeuse-esposa

    Im letzten #BlogBlick hatte ich es schon angedeutet: Eines meiner bestimmt bald irgendwann fertigen Projekte ist ein UV-Platinenbelichter. Bisher belichte ich meine Platinen mit einem umgebauten Flachbettscanner, in den ich eine Lochraster-Platine voller UV-LEDs gebaut habe. Die Zeitsteuerung übernimmt eine externe mechanische Eieruhr und die Ergebnisse sind OK genug für Testplatinen.

    Dann aber ergab es sich, dass mir ein seltsamer Koffer von einem längst entsorgten Aldi-Elektroschrauber in die Hände fiel:

    koffer-esposa

    Irgendwas Nützliches muss daraus werden, und so kam mir die Idee, einen mobilen Belichter zu bauen. Größer als eine Eurokarte (160×100) sind meine Platinen üblicherweise nicht. Etwas Reserve kann aber nicht schaden. Also habe ich das Gehäuse erst mal in Sketchup skizziert, um zu schauen, ob ich alle Bauteile darin unterbringe. Außerdem sollte er beidseitig belichten können und vielleicht noch ein Vakuum-System haben.

    sketchup-belichter-esposa

    In dem Gehäuse ist sogar genug Raum für zwei Eurokarten, zwei kleine Luftpumpen und die zugehörige Elektronik. Also habe ich eine Platine in Target3001 entworfen.

    3d_target_esposa

    Die Anzahl der LEDs ist höher als eigentlich notwendig. Aber in den Elektronik-Foren wird oft berichtet, dass diese LEDs bei hoher Leistung schnell degenerieren und der UV-Anteil sinkt. Also nehme ich mehr LEDs, die kosten nicht viel, und betreibe sie mit etwa 2/3 Leistung über einen PWM-Dimmer. Die gelben LEDs sind als Beleuchtung zum Positionieren der Filme gedacht und ebenfalls dimmbar. Um Platz und Leiterbahnen zu sparen hängen die LEDs an der selben Leitung, sind aber entgegengesetzt gepolt. Durch Umpolen der Betriebsspannung kann ich also zwischen Gelblicht und UV umschalten. Gelbes Licht liegt in einem Wellenlängenbereich, der weit von 400nm entfernt ist, ich kann also in Ruhe positionieren, ohne dass die UV-Schicht belichtet wird.

    Der Einfachheit halber habe ich mit Streifenraster-Platinen gearbeitet, die gerade in der passenden Größe bei Pollin herumlagen. Für die professionelle Optik und als Bestückungshilfe habe ich das Bestückungslayout auf selbstklebende Folie gedruckt und auf die Platine geklebt.

    gehaeuse-esposa

    Bis es dann so aussah, waren noch ein paar Arbeitsschritte notwendig. Den Rahmen aus Aluminium, Holz und Plexiglas habe ich mit Hilfe der CNC-Fräse wirklich sehr exakt hinbekommen. Was noch fehlt ist die Glasplatte. Da gab es einen kleinen Rückschlag: Ich hatte zwei Scanner-Gläser, die ich zuschneiden wollte. Glas schneiden kann ich, das sollte nicht das Problem sein. Anritzen klappte auch prima, aber das Glas wollte nicht durchknacken. Mehr Druck, eine Abbrech-Vorrichtung, Handschuhe an, zur Sicherheit, und Schutzbrille auf, mehr Kraft – und Peng! – zersprang die Scheibe in viele tausend Stücke. Inzwischen weiß ich, dass in Scannern gehärtetes Sicherheitsglas verwendet wird, das sich nicht schneiden lässt 😉

    Der Plexiglas-Rahmen mit der Glasscheibe soll die Lichtkammer luftdicht abschließen. Im Griffbereich des Koffers sitzen zwei kleine Luftpumpen, die das Gehäuse evakuieren. Der Rahmen enthält einige Löcher (noch nicht gebohrt), durch die die Luft zwischen der oberen und der unteren Glasplatte abgesaugt werden soll.

    rahmen-esposa

    Zur Ansteuerung der LEDs verwende ich einen – wer hätte das gedacht – Schrittmotortreiber mit Doppel-H-Brücke. Der eigenet sich prima dafür, weil er auf zwei Kanälen die Spannung umpolen kann und bereits ein PWM-Modul eingebaut hat. Für die Ansteuerung sind dann pro Seite (also oben und unten) nur zwei Leitungen notwendig, die über einen Mikrocontroller angesteuert werden (wahrscheinlich ein AVR mit Arduino-Bootloader).

    Das Bedienteil findet im oberen Deckelteil Platz. Ein günstiges und superdünnes LCD habe ich bei Pollin eingepackt, die Bedienung soll über Sensortasten laufen oder vielleicht auch über einen Mini-Joystickschalter, oder beides, mal sehen.

    esposa_lcd_start_screen_03Das Pollin-Display ist grafikfähig, hat 96 x 32 Pixel und lässt sich mit einer modifizierten GLCD-Bibliothek betreiben. Erste Tests damit habe ich schon gemacht, aber die Menüführung wird wohl einigen Aufwand verursachen. Immerhin existiert schon der Startbildschirm (und ja, ich geben meinen Projekten immer Namen bevor sie fertig sind).

    Wann es mit dem Belichter weiter geht weiß ich noch nicht. Im Moment sind ein paar andere Sachen wichtig, aber bis Ende des Jahres wäre ich gerne damit durch.

     


  7. #BlogBlick No.2

    0

    August 3, 2015 by linguasite

    In den letzten Tagen habe ich neue Links in meine Blogroll eingefügt. Der zweite #Blogblick zeigt, was die Bastelblogger zu erzählen haben.


     

    In „Wustis Blog“ geht es um bootfähige Flash-Drives, genauer gesagt um Multiboot:

    Ich habe vor einiger Zeit einmal darüber geschrieben, wie man ein bootbares Flashdrive erstellen kann. Diesmal gehe ich einen Schritt weiter und erkläre, wie man ein Flashdrive mit verschiedenen bootbaren Images erstellt.

    http://tobiaswust.de/tipp-multiboot-flashdrive-erstellen-mit-yumi/


     

    Luke’s RC Heli Blog“ berichtet über verschiedene Helikopter-Projekte. Hier ist ein Flugbericht vom April 2015:

    Vor einem Jahr begann das Projekt LionBit700 mit vielen einfachen Skizzen die verschiedene Getriebeanordnungen, Servoanordnungen u.s.w. darstellten. Wie alles im Leben hat alles immer Vor und Nachteile und da muss man die passenden Kompromisse heraus picken mit denen man am besten zurecht kommt. Ziel war eine Mechanik zu bauen die ohne kreischende Zahnräder zurecht kommt unt trotzdem gewaltige Drehmomente sicher und leise vom Motor zum Rotorkopf überträgt…

    http://www.lionbit.com/projekt-lionbit-700/item/50-lionbit700-ist-fertig


     

    Im Blog „Magischer Rauch“ ist es zwar seit Januar ruhig, ein Besuch lohnt sich trotzem wegen der vielen interessanten Projekte und Berichte. Einer der letzten Artikel handelt von einer Oszilloskop-Reparatur:

    Mein Tektronix 2440, ein betagtes Digitaloszilloskop, das immer schon etwas zickig war, zeigte mir nach bestimmt einjähriger Vernachlässigung die kalte Schulter. Allerdings nicht sofort, sondern zuerst startete es und lief noch 10 Sekunden normal, bevor das Bild wie zu sehen zusammenbrach.

    https://hohlerde.org/rauch/blog/2015-01-25-Tek2440-wieder/


     

    Auf „OlliW’s Bastelseiten“ ist es ebenfalls ruhig geworden. Ein Artiikel aus dem Jahr 2013 war für mich interessant – Der Umstieg von AVR auf STM32:

    Vor kurzem habe ich den Wechsel von Atmel’s AVR Mikrokontrollern auf ST’s STM32 Chips vollzogen. Die STM’s sind wirklich ganz nett und ich fange an sie zu mögen. Allerdings sind für sie viel weniger Informationen als für die AVRs im Netz verfügbar, und das was verfügbar ist, ist leider nicht immer direkt brauchbar. Ich habe mich daher entschlossen, einige Bruchstücke hier auf dieser Seite zu sammeln.

    http://www.olliw.eu/2013/stm32-this-and-that/


     

    „Scrapping“ steht eigentlich für verschrotten. Allerdings finden sich im Elektronik-Schrott auch immer wieder Geräte, die mit ein paar Handgriffen zum Leben erweckt werden können. Genau darum geht es im Blog „Scrapping-Jeahaha„. Hier wird eine defekte USV reanimiert (Video):

    In diesem Teil teste ich, ob ich den Akku wieder „fit“ bekommen kann, leider hat dies nicht geklappt.

    http://scrapping-jeahaha.jimdo.com/2015/02/04/defekte-usv-testen-teil-2/


     

    Zum Schluss noch ein Link auf ein Projekt, das mit auch gerade beschäftigt: Selbstbau eines Platinenbelichters. „Hart gelötet!“ zeigt den Projektfortschritt in mehreren Teilen:

    Die LED-Platine wurde mit wenigen Punkten Heißkleber am Boden fixiert. Darüber habe ich umlaufend Aluwinkel als Auflage für die Trägerscheibe angeschraubt. Linkerhand wurde noch ein Mikroschalter montiert, um dem Timer zu signalisieren, ob die Klappe offen oder geschlossen ist.

    http://hartgeloetet.blogspot.de/2015/07/led-platinenbelichter-5.html

     

     


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

    0

    August 2, 2015 by linguasite

    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.


  9. Step by Step: Erste Schritte

    0

    August 1, 2015 by linguasite

    Gestern habe ich eine kurze Einführung zum Thema Schrittmotoren geschrieben. Eine genauere Betrachtung soll zeigen, was zu welchem Zeitpunkt in den Wicklungen geschieht.

    Der grundsätzliche Aufbau eines bipolaren Schrittmotors sieht so aus:

     

    bipolar_expDer Permamentmagnet im Rotor richtet sich nach den Magnetfeldern der beiden Statorspulen aus. Im Bild fließt ein Strom durch die blaue Spule zwischen den Anschlüssen A und B. Wird nun zusätzlich ein Strom durch die gelbe Spule geschickt, dreht sich der Anker um 45 Grad nach links oder nach rechts, je nach Stromrichtung.

    Wird der Strom in der blauen Spule nun unterbrochen, erfolgt eine weitere Drehung um 45 Grad und der Anker richtet sich nach der gelben Spule aus. Für die nächsten 45 Grad muss wieder die blaue Spule durchströmt werden, aber in entgegengesetzter Richtung wie zuvor.

    Es ergibt sich also folgende Schaltsequenz (B für blau, G für gelb, + und – für die Stromrichtungen bzw. 0 für Strom aus):

    G0 -> G+ -> B0 -> B- -> G0 -> G- -> B0 -> B+ -> (G0 …)

    drehung_exp

    Im grauen Diagramm sehen wir die Signalverläufe der beiden Spulenströme. Jeder Spulenstrom kann drei Zustände annehmen: Positiv, negativ und aus. Im oben gezeigten Halbschrittbetrieb ergeben sich so also acht Positionen für eine volle Drehung. Jede Flanke führt zu einem Positionswechsel. Um die Spulen richtig ansteuern zu können benötigen wir also ein Bauteil, das pro Spule zwei Umschalter mit Aus-Stellung beinhaltet:

    dpdt_exp

    Dieser Schalter muss natürlich elektronisch gesteuert werden, damit das Timing genau stimmt. Ein solches Bauteil ist der Schrittmotortreiber, den ich im nächsten Beitrag genauer erkläre.

     


  • Per E-Mail folgen

Schließe dich 88 anderen Abonnenten an

Folge mir auf Twitter

Follow

Get the latest posts delivered to your mailbox: