mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik BLDC mit Hall Sensoren: Interferenzen


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: Dominik H (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen

Ich habe hier ein EBike Hub-Motor aus einem Umbau-Kit.

Dieser hat im Anschlusskabel neben den üblichen U, V und W 
Anschlusskabel noch folgende 5 Kabel für die 3 Hall-Sensoren.

1: Vcc
2: Hall A
3: Hall B
4: Hall C
5: GND

Unter Verwendung eines Pull-Up Widerstand, kann an den Hall-Signalen 
entweder GND oder Vcc im zu erwartendem Muster beobachtet werden.

Betreibe ich den Motor jedoch über eine MOSFET-H-Brücke mit einem 
PWM-Signal, so spiegelt sich das PWM-Signal der Wicklungen U, V und W in 
den High-Phasen der Hall-Signale als kurze Low-Pulse wider.

An meinem µC sorgt dies leider für viele ungewollte Externe Interrupts.

Ich möchte daher fragen, ob dies nicht ein grundsätzliches Problem von 
Hall-Sensoren in Spulen-Nähe eines BLDC-Motors ist.

Und allem voran natürlich die Frage, wie ich diese ungewollten Low-Pulse 
vermeiden kann.

PS: Die Hall-Sensoren sind leider unbekannt, da kein Typ-Aufdruck mehr 
vorhanden ist.

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

Bewertung
0 lesenswert
nicht lesenswert
Das ist ein bekanntes Problem, mit dem ich bei ein paar dicken Motoren 
(48V, 4kW) auch zu kämpfen hatte. Ich habe mich dann für eine 
Softwarelösung entschieden, bei der ich nach Triggerung des Interrupts 
ein paar µs später geschaut habe, ob das Signal wirklich auf low ist. 
Wenn nicht, wurde verworfen.
Sowas ist stark von der Position der Sensoren abhängig. Es gibt Motoren, 
da passiert sowas überhaupt nicht und da sind die Sensoren so montiert, 
das sie nur die Magnete des Rotors sehen und nicht die Erregerspulen.
Interessanterweise wurde mit Sinusmodulation das Problem stärker als mit 
Blockkommutation.

: Bearbeitet durch User
Autor: Klaus (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Dominik H schrieb:
> An meinem µC sorgt dies leider für viele ungewollte Externe Interrupts.

Warum Interrupt? Einmal pro PWM-Periode die Hall-Sensoren einlesen. 
Schneller als einmal pro Periode kann der Strom sowieso nicht geändert 
werden.

Pinchange Interrupte sind genauso wie Monoflops nur 
Störimpuls-Verstärker.

MfG Klaus

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

Bewertung
0 lesenswert
nicht lesenswert
Klaus schrieb:
> Einmal pro PWM-Periode die Hall-Sensoren einlesen.

Hey, das ist ja eine gute Idee. Ich habe mir damals die Rübe zerbrochen, 
wie man das lösen kann, aber das ist ja cool. Ich würde die Sensoren 
allerdings trotzdem mehrfach einlesen, um zufällige Störungen zu 
vermeiden.

Schönen Dank erstmal!

Autor: Dominik H (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen

Ja, das PWM-synchrone Einlesen der Hall-Signale ist eine gute Idee.
Jedoch hat mich das Thema weiter beschäftigt..

Ich habe mir ein paar Schaltungen angesehen.
Angenommen, es handle sich um TLE4905 Hall-Sensoren (sicher weiß ich es 
ja nicht...), so sieht das "Application Circuit" einen 1,2kOhm Pull-Up 
sowie zwei 4.7nF Kondensatoren nahe am Sensor vor.

Als ich den Motor auseinander genommen habe, hat sich herausgestellt, 
dass hier nur die Hall-Sensoren verbaut wurden.


Anbei habe ich zwei Bilder von einem der 3 Hall-Signale angefügt. Das 
erste zeigt das Signal ohne Kondensatoren mit lediglich dem Pull-Up.
Die High und Low "Überschwinger" werden von der steigenden und fallenden 
PWM-Flange ausgelöst. (20kHz, 10% Duty)

Das zweite Bild zeigt das gleiche Signal mit den genannten 
Kondensatoren. Hier hatte ich leider nur zwei 0.1µF Kondensatoren zur 
Hand.


Die Interferenzen konnten immerhin soweit reduziert werden dass keine 
ungewollten Interrupts am µC ausgelöst werden.

Ich hoffe das hilft auch noch anderen.

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dominik H schrieb:
> Hier hatte ich leider nur zwei 0.1µF Kondensatoren zur Hand.

Was heißt "leider"?. Der eine ist über der Versorgung, also der übliche 
Abblockkondensator. Und da passen die 100nF. Der andere ist zusammen mit 
den 1,2k ein Tiefpass am Signal. Je nach Frequenz deines Nutzsignals ist 
der zusammen mit dem Widerstand in Grenzen wählbar. Das Datenblatt zeigt 
eigentlich nur einen Mindestwert.

MfG Klaus

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

Bewertung
0 lesenswert
nicht lesenswert
Als Eingang zum MC hat sich folgende Schaltung bewährt:
+VCC
O------+
       |
       -  Pullup
      | | 1k-3k3
      | |
       -
       |   Diode
O------+----|<|-----> MC Eingang
Hall
Positive Spannungsspitzen werden so schon mal grundsätzlich vom MC 
ferngehalten. Auch 5V Sensoren sind so kein Problem an 3,3V MC 
Eingängen. Pullup im MC aktivieren.

Autor: Peter S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist eben ein prinzipieller Nachteil von Hall-Sensoren mit 
Open-Collector/Drain Ausgang: Der High-Pegel wird nur sehr hochohmig 
über den Pullup-Widerstand hergestellt und ist entsprechend anfällig für 
Störungen.

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.