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


von Dominik H (Gast)


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.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


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
von Klaus (Gast)


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

von Matthias S. (Firma: matzetronics) (mschoeldgen)


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!

von Dominik H (Gast)


Angehängte Dateien:

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.

von Klaus (Gast)


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

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Als Eingang zum MC hat sich folgende Schaltung bewährt:
1
+VCC
2
O------+
3
       |
4
       -  Pullup
5
      | | 1k-3k3
6
      | |
7
       -
8
       |   Diode
9
O------+----|<|-----> MC Eingang
10
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.

von Peter S. (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.