BLDC oder PMSM? – Motortypbestimmung mittels Oszilloskop

Du möchtest schnell und einfach herausfinden, ob dein Motor ein bürstenloser Gleichstrommotor (BLDC) oder ein Permanentmagnet-Synchronmotor (PMSM) ist, und weißt nicht, wie du es anstellen sollst? Mir ging es genauso.

Ich bin dann einfach auf gut Glück mit meinem Motor zum FabLab der FAU gegangen und bin dort auf sehr freundliche und kreative Leute gestoßen, die mir bei der Motortypbestimmung geholfen haben. Hier habe ich ihre Idee umgesetzt.

By the way: Das FabLab hat echt alles, was man in einer Werkstatt finden kann und braucht. Durch dieses simple Problem konnte ich nicht nur viele coole Leute kennenlernen, sondern auch lernen, wie man ordentlich ein Oszilloskop benutzt, ein 3D-Verbindungsstück in FreeCAD designt und es anschließend am 3D-Drucker realisiert.

Genial war natürlich die Idee, die Motorwelle mit einem Akkuschrauber zu drehen. Aber hier mal die ganze Idee Schritt für Schritt:

Die Idee

Den Motortyp kann man nämlich durch die Messung der induzierten Gegenspannung, der sogenannten Back-EMF des Motors, bestimmen.

Hierfür muss man einfach nur die Motorwelle drehen und schon wird die Back-EMF induziert. Deren Amplitude hängt stark davon ab, wie schnell man die Motorwelle dreht. Um genug Spannung zu induzieren, drehen wir z. B. mit einem Akkuschrauber die Welle.

Je nach Wicklungsaufbau unterscheidet sich deren zeitlicher Verlauf über den Winkel, wie in diesem Bild zu sehen:

  • BLDC: trapezförmige Spannung
  • PMSM: sinusförmige Spannung

So funktioniert die Messung mit dem Oszilloskop im FabLab:

1. Motor und Akkuschrauber verbinden

Ein Akkuschrauber eignet sich hervorragend, um die Motorwelle gleichmäßig zu drehen. Für die Verbindung zwischen Motorwelle und Akkuschrauber kannst du in wenigen Minuten mit FreeCAD einen passenden Adapter konstruieren und anschließend im 3D-Drucker fertigen.

2. Oszilloskop vorbereiten

Schließe einen Tastkopf an einen beliebigen Kanal des Oszilloskops an und schalte es ein.

Stelle unter Acquisition die Mittelwertbildung über 16 Messwerte ein.

3. Motor anschließen

Verbinde eine der drei Motorphasen mit dem Tastkopf und eine andere Motorphase mit der Masse.

4. Motor drehen

Starte den Akkuschrauber langsam und erhöhe die Drehzahl schrittweise. Achte darauf, dass keine Unwucht entsteht. Motorwelle und Akkuschrauber sollten möglichst fluchtend ausgerichtet sein.

5. Signal einstellen und auswerten

Auf dem Oszilloskop sollte nun die induzierte Spannung sichtbar sein.

Für ein stabiles und gut erkennbares Signal folgende Einstellungen am Oszi vornehmen:

  • Trigger: steigende oder fallende Flanke wählen
  • Zeitbasis und Spannungsskala: so einstellen, dass etwa 3–4 Perioden vollständig sichtbar sind und die Signalspitze vom Minimum bis zum Maximum dargestellt wird.

Hier ein Video, wie ich es umgesetzt habe, viel Erfolg 🍀 👍

Ewiger Blinker

Materialien: 
Lithiumbatterie
SMD-LED
Attiny13
Keramikkondensator 0805 10µF

Beteiligte Benutzer: 
patkan

Kleine Platine mit Attiny, Kerko und LED; bildet Stapel mit zwei Knopfzellen
Zu sehen ist das feine Layout und der Stapel aus zwei Batterien

Kosten: 

~2 €

Zeitaufwand: 

2 h

Ein Attiny braucht in seinem tiefsten Ruhezustand nur wenige µA Strom. Dies wird für einen ewigen Blinker ausgenutzt, der ausgestattet mit zwei Lithiumzellen über eine lange Zeit hinweg blinken soll.

Diese kleine Schaltung ist wunderbar für Anfänger, die in das SMD-Löten schnuppern wollen, geeignet und ist perfekt zum Nerven von Freunden, Nachbarn und Familie.

Bauanleitung

Bau

Die Kosten sind grob geschätzt. Der tatsächliche Preis hängt von den Kosten des Attiny13, der Batterien und der Platinenfertigung ab.

Die Arbeitszeit hängt davon ab, wie man es rechnet. Bis das Design fertig, die Platine geätzt und bestückt und der Code geschrieben war, hat es etwas länger gedauert, da ich immer nur kurz daran gearbeitet habe. Das reine Nachbauen kann bei einem geübten Bastler auch nur eine halbe Stunde oder weniger dauern. Der begrenzende Faktor ist hier das Fertigen der Platine.

Angefangen habe ich damit, mir die Grundfunktion zu überlegen. Die LED soll kurz aufblitzen. Deswegen versorge ich sie mit einer eigentlich zu hohen Spannung und aktiviere sie über den Mikrocontroller nur für wenige Millisekunden. Das führt zum Eindruck eines Blitzes. Deswegen werden auch zwei Batterien benötigt.

Weiter zum Layout. Für den „Konnektor“ habe ich einzelne Pins statt einem kompletten Stecker genommen. Dadurch lassen sie sich besser an die benötigten Stellen verteilen und im späteren Betrieb werden die Programmierkabel ohnehin abgelötet.

Erstellt wurde die Platine mit KiCAD.

Der Programmcode ist eigentlich recht einfach. Zunächst startet der Mikrocontroller und verbindet dann die LED mit Masse. Nach wenigen Millisekunden schaltet er wieder ab und stellt einen Watchdogtimer auf etwa 2 Sekunden. Als letzten Schritt legt sich der Controller in den Tiefschlaf (dank der eingestellten Konfiguration wacht er jetzt nicht mehr auf). Das Resultat ist ein sehr niedriger Energieverbrauch. Nach Ablauf der Zeit stellt der Timer den Ausfall fest und erzeugt ein Resetsignal. Der Controller startet neu und die Prozedur beginnt von vorne.

Das Projekt steht unter der angegebenen Lizenz. Eine Ausnahme dazu ist der Code, der unter der GPLv3 steht. Siehe dazu den Quelltext. Der SourceCode ist auch über GitHub bereitgestellt.

Zum Kompilieren ist eine avr-libc nötig.

Nach dem Ätzen wird die Platine bestückt und Kabel zum Programmieren angelötet. Aus den Batterien baut man einen Stapel und verbindet diesen mit Klebeband und Anschlusskabeln. Für letztere ist auch Anlöten möglich. Dies erfordert jedoch einiges an Fingerspitzengefühl, um die Batterie nicht zum Explodieren zu bringen, weshalb ich das nicht empfehlen kann.

Zum Programmieren steckt man die Kabel in einen geeigneten ISP. Die Spannungsversorgung kann entweder bereits über die Batterie oder durch eine externe Spannungsquelle geschehen.

Analyse

Zur Analyse des Stromverbrauches trennt man die Batterieverbindung auf und lötet zum Beispiel einen 1k Ohm Widerstand ein. Die über diesen Widerstand gemessene Spannung kann gemäß U=RI in einen Strom umgerechnet werden. Mit dem Oszilloskop wird dazu im Singleshot-Modus ein Blitzen aufgezeichnet. Das Bild sollte in etwa ein Rechteck mit einem nachfolgenden, größeren Rechteck zeigen. Dabei steigt das erste Rechteck auf 1,5mA für 75ms und das zweite beträgt 2,6mA für 40ms.

Daraus lässt sich dann die Energieaufnahme der Schaltung berechnen:

Im Mittel wird pro Blitz 1,88mA über 115ms aufgenommen. Bei einer Batterieladung von 160mAh ergäbe das eine Dauerleuchtzeit von etwa 80h. Wenn ein Blitz 115ms dauert, ist die Schaltung zu etwa 2,6*10^6 Blitzen fähig. Wenn man bedenkt, dass ein Blitz etwa alle 2s erfolgt, kommt man damit auf eine Laufzeit von etwa 4-5 Jahren. Das ist zwar recht beträchtlich, aber für einen ewigen Blinker doch recht kurz. Maximalgrenze ist die Lebensdauer einer Lithiumbatterie. Diese halten jedoch sehr lange (meist werden 10 Jahre angegeben).

Optimierungsmöglichkeiten gibt es hierbei sicherlich noch: Man könnte die Schaltung umbauen, sodass sie einen kleinen Dauerstrom entnimmt und dann mithilfe eines schwingungsfähigen Systems einen starken, kurzen Impuls erzeugt. Außerdem könnte man versuchen, den Programmcode zu optimieren. Eventuell kann der Mikrocontroller schneller starten. Dies ist durchaus relevant, da die Startzeit 75ms in Anspruch nimmt.

Projektdateien für KiCAD

ewiger_blinker.zip 17.87 KB
Source Code und Makefile

code_blinker.zip 17.73 KB

Lizenziert unter: 

CC BY-SA 3.0 Deutschland