STM32F4 BLDC mit Hall Sensoren

OP #3322993
Lesenswert?
• ▲
▼
hey,
ich arbeite gerade daran einen 1kW BLDC Motor zum drehen zu bekommen.
Dazu benutze ich: ein STM32F4Discovery, den Motor mit Hall-Sensoren, 
IRFP4310Z als FETs und IR2110 als FET-Treiber mit DCDC-Wandler für die 
High-Side-FETs.
Die Software basiert auf STM32 BLDC Control with HALL Sensor jedoch 
TIM3 für die Hall Sensoren.
Soweit sieht alles auch ganz gut auch, jedoch hänge ich an dem Phänomen, 
dass wenn ich im TIM1 beide Ausgänge (CCx und CCxN) deaktiviere, so 
werden beide Ausgänge auf high gesetzt was zu häftigen Kurzschlüssen 
führt.
1
TIM_CCxCmd(TIM1, TIM_Channel_1, TIM_CCx_Disable);
2
TIM_CCxNCmd(TIM1, TIM_Channel_1, TIM_CCxN_Disable);

Im reference manual ist es auf Seite 412 beschrieben:
deaktiviere ich einen Ausgang (CCxE = 0 und CCxNE = 1, oder CCxE = 1 und 
CCxNE = 0) so ist dieser auf inaktiv (bei mir Low) und der andere gibt 
PWM aus. Deaktiviere ich beide Ausgänge (CCxE = 0 und CCxNE = 0) so 
werden die Ausgänge vom Timer nicht mehr gesteuert und befinden sich 
beide im High Zustand -> peng.

Hat jemand einen Tipp für mich wie ich beide Ausgänge gleichzeitig auf 
Low setzen kann ohne ein komplettes remap der Pins duchzuführen?

Grüße
Angehängte Dateien:
OP #3323073
Lesenswert?
• ▲
▼
Michael .. schrieb:
> erster Satz auf Seite 413 auch beachtet?

Nein hab ich nicht beachtet. Guter Hinweis, aber:
1
  TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;      //=0
2
  TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High;    //=0
3
  TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Reset;   //=0
4
  TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Reset; //=0

wird auch nirgendwo geändert
Gast #3324308
Lesenswert?
• ▲
▼
Hoffentlich kann ich meie Gedanken verständlich formulieren ...

Gegeben: Pins (Timer-Ausgänge) vom µC = High-Z -> Fets = Kurzschluß

Frage: wenn die µC-Pins "floaten", was macht Dein Fet-Treiber daraus?
Möglicherweise muß Du durch (geeignete) PullUp/Down-Widerstände
dem Fet-Treiber Logic-Zustände "aufzwingen", da er "floaten"
mißversteht ...

Martin

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.