Forum: Mikrocontroller und Digitale Elektronik STM32 PWM Ansteuerung LM5107 MOSFET-Treiber


von RH (Gast)


Lesenswert?

Hallo,

ich habe folgendes Problem:

Ich steuere über einen STM32F429ZI per PWM (CH1 & CH1N) mit 62.5 KHz die 
beiden Eingänge eines LM5107 MOSFET-Treiber-IC an. Die beiden MOSFETs 
befinden sich in Halbbrückenschaltung.

Nun ist es so, dass wenn ich den Mikrocontroller resete oder das 
PWM-Tastverhältnis ändere, ein Surren zu hören ist. Ich vermute, dass 
die beiden MOSFETs für einen kurzen Augenblick kurzgeschlossen werden 
(Vielleicht hat ja jemand anderes eine andere Vermutung?). Das Öffnen 
beider MOSFETs kann ich mir nur so erklären, dass eventuell beim 
Initalisieren der PWM beide Signale, kurze Zeit einen HIGH Pegel haben. 
Und das es beim Ändern des Tastverhältnisses ebenfalls zu einer 
Überschneidung kommt.

Weiß jemand zufällig, ob es bei den Advanced Timern vom STM32 die 
Möglichkeit gibt solche Überschneidungen zu verhindern?

Gruß und Danke im Voraus!

von hauspapa (Gast)


Lesenswert?

Was du suchst nennt sich dead-time.

Für Cube Nutzer hier:
https://hasanyavuz.ozderya.net/?p=437
ganz gut erklärt. Geht natürlich auch zu Fuss über die Register.

viel Erfolg
hauspapa

von Johnny B. (johnnyb)


Lesenswert?

RH schrieb:
> wenn ich den Mikrocontroller resete

Solange nach dem Reset die IO's noch nicht initialisiert sind, sind sie 
als Eingang definiert und somit hochohmig bzw. undefiniert, wenn Du 
damit an einen Eingang gehst.
Da helfen nur externe Pull ups/downs.

Edit: Habe gerade gesehen, dass der LM5107 an den Eingängen bereits 
Pull-Downs integriert hat. Kannst meinen Post also vergessen.

: Bearbeitet durch User
von RH (Gast)


Lesenswert?

hauspapa schrieb:
> Was du suchst nennt sich dead-time.

Was Deadtime ist, ist mir bewusst und diese habe ich auch bei der 
Initialisierung der PWM beachtet. Läuft die PWM gibt es ja auch keine 
Probleme. Das beschriebene Surren, tritt nur beim Ändern des 
Tastverhältnisses und Initialisieren auf. Da das Tastverhältnis als 
Stellgröße bei einer über den Mikrocotroller realisierten Regelung 
dient, wird diese natürlich Kontinuierlich geändert, was sich "hörbar" 
merklich macht.

Johnny B. schrieb:
> Solange nach dem Reset die IO's noch nicht initialisiert sind, sind sie
> als Eingang definiert und somit hochohmig bzw. undefiniert, wenn Du
> damit an einen Eingang gehst.
> Da helfen nur externe Pull ups/downs.

Hatte ich bereits auch schon in Verdacht aber hast du ja bereits auch 
schon eliminiert ;)

Ich vermute, dass es damit zusammenhängt, wann das CMP-Register des 
Timers überschireben wird und das es so eventuell zu kleinen 
Überschneidungen kommen kann.

von Guest (Gast)


Lesenswert?

Hast du dir die PWM Signale mal mit einem Oszi angesehen?

RH schrieb:
> Ich vermute, dass es damit zusammenhängt, wann das CMP-Register des
> Timers überschireben wird und das es so eventuell zu kleinen
> Überschneidungen kommen kann.

Wenn du 1 und 1N nimmst kann ich mir das fast nicht vorstellen. Die 
benutzen ja das gleiche CCR. Das ist ja extra für Motor Anwendung 
gedacht und wird der DC immer geändert. Ich nehme an du verwendest Timer 
1 oder 8 ?

von RH (Gast)


Lesenswert?

Guest schrieb:
> Hast du dir die PWM Signale mal mit einem Oszi angesehen?
>
> RH schrieb:
>> Ich vermute, dass es damit zusammenhängt, wann das CMP-Register des
>> Timers überschireben wird und das es so eventuell zu kleinen
>> Überschneidungen kommen kann.
>
> Wenn du 1 und 1N nimmst kann ich mir das fast nicht vorstellen. Die
> benutzen ja das gleiche CCR. Das ist ja extra für Motor Anwendung
> gedacht und wird der DC immer geändert. Ich nehme an du verwendest Timer
> 1 oder 8 ?

Genau, ich verwende Timer 1 oder 8.

Ich versuche gleich mal mir Änderungen des Tastverhältnisses im Oszi 
anzuschauen.

von Nils (Gast)


Lesenswert?

Hi.
Der LM5107 ist für eine Halbbrücke nicht wirklich optimal.
Der High-Side und der Low-Side Schalter sind nicht gegeneinander 
verriegelt.
Daher kann, wenn z.B. durch einen SW-Bug , es zum Halbbrücken-KS kommen.
Würde ich nie empfehlen !
Es gibt m. W. im gleichen Gehäuse Treiber mit gegeneinander verriegelten 
Treibern mit eingebauter Totzeit.

Eine Ursache des Geräusches könnte auch sein das durch das fehlende 
Steuersignal die Bootstrap-Schalung nicht mehr versorgt wird und dem 
Treiber die Versorgung wegdriftet.

von RH (Gast)


Lesenswert?

Nils schrieb:
> Der LM5107 ist für eine Halbbrücke nicht wirklich optimal.
> Der High-Side und der Low-Side Schalter sind nicht gegeneinander
> verriegelt.
> Daher kann, wenn z.B. durch einen SW-Bug , es zum Halbbrücken-KS kommen.
> Würde ich nie empfehlen !
> Es gibt m. W. im gleichen Gehäuse Treiber mit gegeneinander verriegelten
> Treibern mit eingebauter Totzeit.

Das stimmt und ich würde bei einem neu-Layout, definitiv zum LM5104 
greifen. Da habe ich nicht den Stress mit der Totzeit, da dieser die 
sehr effektiv mit dem integrierten adaptiven Delay regelt. Leider hatte 
ich mich damals (wahrscheinlich zu voreilig) auf den LM5107 festgelegt.

von Nils (Gast)


Lesenswert?

Hi.
UCC27710 von Texas könnte passen. Ist pinkompatibel.

von RH (Gast)


Lesenswert?

Nils schrieb:
> UCC27710 von Texas könnte passen. Ist pinkompatibel.

Das wäre eine Option, danke!

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.