Forum: Mikrocontroller und Digitale Elektronik PIC30F4012 BLDC Controller


von Herbert B. (herba)


Lesenswert?

Guten Tag allerseits,
habe schon seit einiger Zeit ein ebike mit Gasgriff und selbstgebautem
BLDC-controller (dsPIC30F4012) im Gebrauch, welches auch gut
funktioniert.
Um den Motorstrom z.B. beim Anfahren zu begrenzen, wird durch ein LM358
die abfallende Spannung in der Motorstromzuleitung gemessen und bei zu
hohem Motorstrom werden augenblicklich alle PWM-Ausgänge des dsPIC's in
Ruheposition versetzt.
Weil diese Stromunterbrechung abrupt erfolgt, gibt's leider jedesmal
einen unangenehmen Ruck.
Als Abhilfe habe ich nun versucht, mit einer zusätzlichen Schaltung, bei
welcher ein LM358 die Ausgangsspannung des Hallgebers vom Gasgriff bei
zunehmendem Motorstrom herabsetzt. Das funktioniert leider nur sehr
schlecht, weil der Motor so nun rattert, die Zeit in welcher der ADC die
Hallgeberspannung misst, ist zu lang, so pendeln die PWM-Flanken
zwischen lang und kurz hin und her - also schlechte Lösung.
Hat jemand eine Idee, wie man den Motorstrom sanft regeln könnte?

von A. S. (Gast)


Lesenswert?

Tiefpass bei fallendem Strom.

Also Feedback unsymmetrisch mit Diode.

(O.T.: was meinst Du mit

Herbert B. schrieb:
> selbstgebautem BLDC-controller (dsPIC30F4012)

von Herbert B. (herba)


Angehängte Dateien:

Lesenswert?

A. S. schrieb:


Besten Dank für die Antwort.

> Tiefpass bei fallendem Strom.
>
> Also Feedback unsymmetrisch mit Diode.

Also mein Problem mit der zusätzlichen Schaltung ist, dass diese bei 
erhöhtem Strom die Spannung am Gasgriff-Hallgeber-Ausgang herunterzieht, 
so dass der ADC des PIC kleinere PWM-Flanken in "Auftrag" gibt, somit 
die BLDC-Motorspannung und folglich der Motorstrom sinkt. Da nun der 
Motorstrom gesunken ist, bewirkt die nächste Messung des ADC dass die 
PWM-Flanken wieder grösser werden usw, d.h. die Schaltung pendelt und 
der Motor rattert. Auf dem Bild die schematische Darstellung der 
bestehenden Schaltung. Eine Diode gibts bereits, ich verstehe nun nicht 
ganz, wie das unsymmetrische Feedback etwas verändern könnte.
Ich habe im Moment keine Idee, wie und ob evtl. auch Softwaremässig 
etwas zu machen wäre.


> (O.T.: was meinst Du mit
>
> Herbert B. schrieb:
>> selbstgebautem BLDC-controller (dsPIC30F4012)

Mit einem dsPIC30F4012, welcher hardwaremässig ein Motorcontrol-Modul 
hat, habe ich mir einen eigenen Motorcontroller gebaut, sensorgesteuert, 
die Firmware habe ich teilweise von Microchip übernommen und abgeändert.
Gruss Herbert

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


Lesenswert?

Da würde ich doch glatt den MC selber zu benützen, anstatt da extern was 
zu manipulieren. Der Motorstrom wird direkt vom MC gemessen (meinetwegen 
auch über den LM358) und danach die Regelung beeinflusst.
Wird der zulässige Strom erreicht, regelt der MC dann die PWM 
schrittweise runter.

von A. S. (Gast)


Lesenswert?

Herbert B. schrieb:
> Auf dem Bild die schematische Darstellung der
> bestehenden Schaltung. Eine Diode gibts bereits, ich verstehe nun nicht
> ganz, wie das unsymmetrische Feedback etwas verändern könnte.

Der LM358 ist ein OP und sicher von Dir beschaltet. Dort solltest Du 
wissen, was da der Rückkoppelzweig ist und wie der Funktioniert. Und wie 
und wo man einen Tiefpass mit C erzeugt. Oder alternativ die Schaltung 
posten.

Aber wenn die SW doch von Dir ist, zumindest angepasst, dann solltest Du 
doch lieber dort angreifen. Deshalb die Frage, was das bedeutet. Mit SW 
bist du deutlich flexibler.

von Herbert B. (herba)


Lesenswert?

Matthias S. schrieb:

> Wird der zulässige Strom erreicht, regelt der MC dann die PWM
> schrittweise runter.

Danke für die Anregung.
Das wäre eine Idee, abwechslungsweise Hallgeberspannung/Motorstrom 
messen und dann in der Interruptroutine des ADC die PWM Register 
manipulieren.
Ein Wermutstropfen bleibt, ich müsste den Controller wieder ausbauen und 
komplett zerlegen, einen freien ADC-Pin suchen und verlöten...
Mit der OP-Lösung habe ich nur den Hallgeber und Motorzuleitung anzapfen 
müssen, ohne etwas auszubauen.
Gruss Herbert

: Bearbeitet durch User
von A. S. (Gast)


Lesenswert?

Herbert B. schrieb:
> Mit der OP-Lösung habe ich nur den Hallgeber und Motorzuleitung anzapfen
> müssen, ohne etwas auszubauen.

dann stell doch die op-lösung mal vor. oder ist es eher ein Komparator?

von Herbert B. (herba)


Angehängte Dateien:

Lesenswert?

A. S. schrieb:
>
> dann stell doch die op-lösung mal vor. oder ist es eher ein Komparator?
Ein komparator wäre eigentlich ungeeignet.
Gruss herbert

: Bearbeitet durch User
von A. S. (Gast)


Lesenswert?

Da das Bild kaum Spgs-Werte enthält, kann ich nur spekulieren, in 
welchem Bereich es betrieben wird. Die Funktion ist mir unklar:

Du hast am Zweiten OP z.B. 2V als Referenz (+).

Wenn Du 1/2V Messspannung hast (+Verstärkung =1V), gibt er etwa 4V aus 
und zieht an der Diode

Wenn Du 0V Messspanung hast, gibt er etwa 6V aus und die Diode sperrt.

Wenn der zweite OP weniger springen soll, kannst Du parallel zum 22k 
darunter eine 1k+Diode in Richtung C schalten.

Oder die Rs bezeichnen und die Spannungen hinzufügen und (Versorgung des 
OP, Referenzspannung am rechten OK, welche Spannungen erwartet de DSP, + 
etwaiger Innenwiderstand des DSP bzw. des Gebers.

von Herbert B. (herba)


Lesenswert?

A. S. schrieb:
> Oder die Rs bezeichnen und die Spannungen hinzufügen und (Versorgung des
> OP, Referenzspannung am rechten OK, welche Spannungen erwartet de DSP, +
> etwaiger Innenwiderstand des DSP bzw. des Gebers.

Also die Versorgungsspannung des OP zapfe ich am Hallgeber des Gasgriffs 
an, d.h. 5V.
Der Hallgeber liefert bei Vollgas maximal 4.35V, bei Gasgriff in 
Ruheposition minimal 0.85V, nach diesen Werten habe ich den ADC des PIC 
programmiert.
Der zweite OP(rechts) sollte eigentlich nur das invertieren, was der 
erste (links) liefert, das ist scheinbar problematisch, ich bin mir noch 
nicht sicher, ob der Ausgang des zweiten OP's genug power hat, um die 
Hallgeberspannung (2K-Wid.) korrekt herunterzuziehen.
Probieren werde ich demnächst, einen Elko zwischen  2K-Wid. und GND 
anzuschliessen.

von Herbert B. (herba)


Angehängte Dateien:

Lesenswert?

Für alle die es interessiert:
Der Softstart funktioniert jetzt gut.
Danke und Gruss Herbert

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.