mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik BLDC Regler Problem auf Basis STM32F103


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Tester_BLDC (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Norbert S. (norberts)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Matthias S. (Firma: matzetronics) (mschoeldgen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Als Lektüre empfehle ich Application Note AVR444 von Microchip/Atmel, 
dazu evtl. die Schaltpläne des alten Motor Kits MC100.

: Bearbeitet durch User
Autor: Ingo Less (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deine (Feld-)Drehrichtung stimmt nicht...

Autor: Norbert S. (norberts)
Datum:

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

Ist doch latte, dreht der Motor eben falsch rum oder man tauscht zwei 
Phasen.
Daß die Reihenfolge passt (High-Low-Folge) sieht man ja daran, daß der 
Schrittmotorbetrieb funktioniert.
1k und 100nF filtert einfach nicht.

Gruß,
Norbert

Autor: Tester_BLDC (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.