PIC30F4012 BLDC Controller

OP #6505766
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?
OP #6506898
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
Angehängte Dateien:
Gast #6507049
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.
OP #6507050
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
Gast #6509027
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.
OP #6509148
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.

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