BLDC Regler Problem auf Basis STM32F103

Gast #5421069
Lesenswert?

Hallo liebe Forengemeinde,

ich bin Hobbybastler mit Vorkenntnissen zum Thema AVR und STM32 
Programmierung, sowie ein wenig Elektronik.
Bei dem folgenden Artikel 
https://www.mikrocontroller.net/articles/Brushless-Controller_f%C3%BCr_Modellbaumotoren 
hat mich die Lust zum Basteln mal wieder gepackt.
Nachdem ich viel über das Thema gelesen habe, habe ich mir eine 
Versuchsplatine, auf Basis des oben genannten Artikels, gemacht und 
diese nun in Betrieb genommen. Ziel ist es einen Regler für einen 
Fahrrad-/Felgenmotor ohne Hall Sensoren für eine Spannung von 26 Volt 
mit 10 - 15 Ampere zu realisieren. Der Motor muss nicht von Stand an los 
laufen können. Mir reicht der Betrieb wenn dieser bereits in Bewegung 
ist.

Jedoch bin ich mittlerweile an einem Punkt angekommen, an dem ich nicht 
weiter komme und auf eure Hilfe hoffe.

Zum Testen habe ich mir einen kleinen Modellbaumotor bei ebay gekauft 
und betreibe diesen aktuell bei 10 Volt. Das ganze wird über ein 
regelbares Netzteil mit max 5 Ampere versorgt.

Der Regelbetrieb des Motors funktioniert, lasst es mich mal vorsichtig 
sagen, sehr bescheiden. Mit der Hand gebe ich dem Motor einen kleinen 
Stups, dann dreht sich dieser. Jedoch hört man deutlich, dass 
Fehlkommutierungen dabei sind und dies funktioniert auch nur bei kleinen 
Gasstellungen bis ca. 25 % Duty Cycle der PWM. Darüber blockiert er 
komplett und die Strombegrenzung des Netzteils kommt. Am Oszi ist klar 
erkennbar, dass die Interrupts zur Detektierung der 
Kommutierungsänderung wild durcheinander kommen. Ein Wunder, dass er 
überhaupt dreht.
Leider kann ich es momentan nicht eingrenzen, ob es hardware- oder 
softwarebedingt ist.

Wenn ich jedoch das Feld für den Motor mit 3 ms zwangskommutiere, sowie 
mit einem Duty Cycle von 5 % betreibe, läuft der Motor sauber und auch 
die Interrupts für die Kommutierungszeitpunkte sehen am Oszi gut aus.

Meine Vermutung ist, dass die Signale vom BEMF nicht gut oder falsch 
sind bzw. noch irgendwo ein Softwarefehler hängt.

Anbei habe ich einen Auszug von meinem Code, Oszibilder und Schaltplan 
gehängt.

Vielen Dank für eure Hilfe.
Gast #5421416
Lesenswert?

Norbert S. schrieb:
> Moin,
>
> Deine PWM hat 15kHz, der Filter für die BEMF mit 1k und 100nF hat welche
> Zeitkonstante?
> Da würde ich mal dran drehen, das ist viel zu niederohmig.
>
> Gruß,
> Norbert

Mh, ich verstehe, dass 100µs etwas kurz ist. Hier hatte ich auch schon 
andere Werte probiert.
Habe mal alle Widerstände des BEMF durch 4,7k Ohm ersetzt. Leider läuft 
der Motor dadurch wesentlich schlechter.
Anbei auch die Bilder von der Messung mit 4,7k Ohm.
Oder sollte man hier noch höher gehen?!


Matthias S. schrieb:
> Als Lektüre empfehle ich Application Note AVR444 von Microchip/Atmel,
> dazu evtl. die Schaltpläne des alten Motor Kits MC100.

Werde mir diese heute Abend mal durchlesen. Habe auch gesehen, dass dort 
der komplette C-Code dabei ist. Vielleicht finde ich ja dort noch etwas.


Ingo Less schrieb:
> Deine (Feld-)Drehrichtung stimmt nicht...

Diese Information, kann ich gerade nicht deuten. Die Drehrichtung des 
Motors, ist mir momentan egal, solange er sich dreht ...
Kannst du es genauer erklären, was du damit meinst?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren