BLDC in beide Richtungen drehen lassen

Gast #1310641
Lesenswert?

Hi Leute,
so ich beschäftige mich wieder mal mit dem Thema BLDC.
Ich habe eine schöne Treiberstufe gebaut mit MOSFETs. Dazu noch eine 
kleine Leiterplatte mit nem Controller, und damit steuere ich jetzt 
einen BLDC an.
Im Moment lasse ich den Controller noch auf die Hallsensoren pollen, und 
beim entsprechenden Status der Hallsensoren werden die Wicklungen 
dementsprechend geschaltet. Das funktioniert auch, die Drehzahl lässt 
sich (per PWM) einstellen, und das Teil macht 12000 Touren. Allerdings 
dreht der Motor nur links rum. Ich möchte ihn aber in beide Richtungen 
drehen können!

Also, beim Drehen in die eine Richtung lege ich die Signale wie folgt 
an:

Hallsensor   Phase
1 2 3        U V W
----------------------
1 0 1        + -
1 0 0        +   -
1 1 0          + -
0 1 0        - +
0 1 1        -   +
0 0 1          - +

So, damit dreht der Motor wie gesagt ganz ordentlich. In welcher 
Reihenfolge muss ich denn den Motor bestromen, dass er in die 
entgegengesetzte Richtung dreht?
Und, noch eine reine Verständnisfrage: warum dreht sich der Motor nicht 
mehr, wenn ich zwei Phasen vertausche? Eigentlich müsste er ja dadurch 
die Richtung umkehren. Allerdings tut er das nicht; vielmehr bleibt er 
immer an einer bestimmten Position stehen.
Gast #1312563
Lesenswert?

Hallo
Hast du jetzt die Hardware geaendert, um die Richtung zu aendern?

Ich dachte sofwaremaessig kann man das dadurch erreichen, dass man die 
Bestromung der Phasen um 180Grad verschiebt, gegen die Hallsensor 
Signale. Also indem du anstelle des ersten Musters das dritte einstellst 
und ausgibst.
gruss Tueftler86
Gast #1312627
Lesenswert?

> um 180Grad verschiebt, gegen die Hallsensor Signale.

Wie soll das denn bitte gehen, oder denke ich falsch?
Wenn du den Motor 180°gegen die Hallsignale drehen lässt, ändert sich 
doch
automatisch auch die Richtung der Hallsignale, oder nicht??
Und schon bist du wieder in Phase mit den Signalen.
Gast #1312640
Lesenswert?

also die hallsignale sind einzig von der Rotorstellung abhaengig, und um 
ein Moment in die entgegengesetzte Richtung zu erzeugen, laesst du den 
Strom in die andere Richtung fliessen. Wenn du oben in die Tabelle 
guckst, siehst du dass dieser vorgang genau einer Verschiebung um 3 
"Takte" entsrichts. Du ordnest also bei Vorwaerts der 
Hallsensorkombinationnummer "eins" die erste Phasenansteuerung zu. Bei 
Rueckwaerts hingegen die dritte Phasenansteuerung.
Dachte ich.
Gruss Tueftler86
Gast #1312701
Lesenswert?

Verstehe nicht genau wie du das meinst, bei obiger tabelle wuerde das 
jedenfalls nicht so funktionieren.
Meiner Meinung nach muss man die Phasen umpolen bei gleicher 
Hallinformation.
Eleganter geht das Phasenansteuern finde ich noch, indem man zwei 
nebeneinander gesetzte bits durch ein Register shiftet, muss man aber 
noch den Uebertrag nach dem 6.Bit beachten.
Gast #1312706
Lesenswert?

hab mich auf Simon bezogen.

@ Hagen: Fuehr doch mal etwas verstaendlicher aus, wie du das meinst.
wenn du dir obige Tabell anschaust, wirst du feststellen, dass wenn man 
anstelle der ersten Kombination aus der Tabelle (fuer die phasen) die 
dritte raussuchst, der Strom in die entgegengesetzte Richtung fliesst 
und damit auch das Moment umgekehrt wird.
Oder verstehe ich da was falsch?
#1312811
Lesenswert?

Hallsensor   Phase
1 2 3        U V W
----------------------
1 0 1        + -
1 0 0        +   -
1 1 0          + -
0 1 0        - +
0 1 1        -   +
0 0 1          - +

1 0 1        +   -
1 0 0        + -
1 1 0          - +
0 1 0        -   +
0 1 1        - +
0 0 1          + -

Vergleiche mal beide Tabellen UVW -> UWV

U ist sagen wir mal unsere absolute Position. Jenachdem ob man als 
nächstes V oder W bestromt wird die Drehrichtung beeinflusst. Die 
Hallsensor Tabelle habe ich jetzt mal nicht verändert.

Übrigs findet man bei Atmel ne ganze Menge an AppNotes + Source in denen 
man das nachlesen kann.

Gruß Hagen
#1312823
Lesenswert?

>Meiner Meinung nach muss man die Phasen umpolen bei gleicher
>Hallinformation.

Korrekt, oder Phasen gleichlassen und Hallssensoren austauschen. Wobei 
immer nur 2 der 3 Hallesensoren/Phasen ausgetauscht werden dürfen.

Umpolen suggeriert hier in die falsche Richtung, besser vertauschen da 
die Polung/Bestromung im Grunde gleichbleibt.

Wenn man also einfach 2 Strippen des BLDC austauscht dreht er in die 
andere Richtung. Abhängig von der Art der Hallsensoren, sprich Winkel, 
muß man dann auch bei denen noch in Software was ändern.

Gruß Hagen
Gast #1543582
Lesenswert?

Macht ihr das kompliziert ...

Wie ändert man denn bei einem gewöhnlichen DC-Motor die Drehrichtung? 
Aha - umpolen! Das gilt natürlich auch für den BLDC.

Wenn das hier für den Rechtslauf gilt:

Hallsensor   Phase
1 2 3        U V W
----------------------
1 0 1        + -
1 0 0        +   -
1 1 0          + -
0 1 0        - +
0 1 1        -   +
0 0 1          - +

... sieht der Linkslauf ganz einfach so aus:

Hallsensor   Phase
1 2 3        U V W
----------------------
1 0 1        - +
1 0 0        -   +
1 1 0          - +
0 1 0        + -
0 1 1        +   -
0 0 1          + -
#2296821
Lesenswert?

Hi zusammen,

obwohl es schon älter ist, antworte ich hier mal.
Beim letzten Post ist noch zu beachten, dass die Hallsensorwerte so 
NICHT
auftreten werden, sondern die Werte werden Rückwärts "durchlaufen" und 
nicht vorwärts...Und etwas an den Hallsensoren verändern von der 
Verkabelung ist meiner Meinung nach nicht notwendig...

grüße
Gast #3217599
Lesenswert?

Hallo, ich möchte mich hier nochmal einklinken weil ich trotz der vielen 
guten Anregungen immer noch nicht völlig durchblicke.
Aus folgendem Grund.
Grundsätzlich würde ich zur Drehrichtungsumkehr einfach 2 Phasen 
tauschen. Soweit so gut.
Hier mal eine aktuelle Tabelle für Rechtslauf aus meinem UNI-Skript:

Schritt    U  V  W
  1           +  -
  2        -  +
  3        -     +
  4           -  +
  5        +  -
  6        +     -

Dies entspricht der Linkslauf-Tabelle von Walter mit der Einschränkung, 
dass die Ansteuerung um 3 Schritte verschoben ist.
Wie das funktionieren soll ist mir völlig unklar:
Wenn ich mir für jeden Schritt den Motor mit seinen Wicklungen 
aufzeichne:

        U1
     V2    w2
     W1    V1
        U2

Dann dreht doch mein Feld in diesen Wicklungen immer rechts rum.
Selbst den Linkslauf kann ich mir hiermit nicht erklären, auch wenn 
deine Tabelle sicher richtig ist:
Beispiel Linkslauf:

Schritt 1: U1&V2 sind "aktiv"
Schritt 2: W2&U1
Schritt 3: V1&W2......

Will damit sagen, auf meiner Motoren-Uhr wandert mein Feld außen RECHTS 
rum. Wie kann dann der Rotor links drehen??
Ich bin völlig verwirrt.

Die einzig sinnvolle Lösung für linkslauf wäre für mich die Tabelle 
einfach von Schritt 6-1 zu durchlaufen, dann würde mein Feld außen in 
die andere Richtung drehen...

Vielleicht hilft mir jemand aus meiner Verwirrung, nächste Woche ist 
Klausur =)
Gast #3217675
Lesenswert?

Vielleicht noch um meine Verwirrung komplett zu machen:
Den Sprung von Schritt 1 zu Schritt 2 bei linkslauf entspricht dann 
Schritt 5 zu Schritt 6 bei Rechtslauf.
Danach geht's wieder von vorne los, es werden also dich gleichen 
Schritte abgearbeitet - egal ob rechts oder links - nur mit einem 
Versatz von 180°
Wieso dreht der Rotor dann beim gleichen Sprung einmal nach rechts und 
links?

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