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.
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
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
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!
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.
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.