Forum: Mikrocontroller und Digitale Elektronik XC888 dead time


von Michael L (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich bekomme die Funktion zur Totzeitgenerierung nicht zum laufen. Ich 
verwende das XC800 Infineon Starter Kit mit einem XC888CM-8FFA drauf.

Im Anhang ist das DAVE-File angehängt.

Der µC ist so eingestellt, dass er im Hall-Sensor-Modus läuft. Die Bits 
DTE0...2 sind gesetzt und T12DTC ist auf 0x07FF eingestellt. Sollte doch 
dann alles sein, oder?

Oder kann die Totzeitgenerierung nicht in Kombination mit dem 
Hall-Sensor-Mode verwendet werden. Wird hier nicht der gleiche Timer für 
die Noise-Filterung verwendet? Kommen die sich in die Quere?

Gruß,
Michael L.

von Carsten (Gast)


Lesenswert?

Also mir ist es nicht bekannt, dass die Funktionalität unter diesen 
Bedingungen nicht zur Verfügung stehen sollte.
Die Dokumentation zur CCU6 soll übrigens beim C868 noch etwas 
ausführlicher als bei den XC800 sein. Vielleicht hilft dir das weiter.
http://www.infineon.com/cms/en/product/channel.html?channel=ff80808112ab681d0112ab6b80a50861&showAllDocuments=true&tab=2&ipt=false&documentGroup=db3a304412b407950112b40f0cdd1314

von Michael L (Gast)


Angehängte Dateien:

Lesenswert?

Hm... Im Simulator sieht's so aus, dass die Reaktion auf eine Änderung 
der Hallsensoren um die eingestellte Totzeit verzögert reagiert. Bit 
DTRx wird auch in dieser Zeit gesetzt. Im angehängten Bild zu sehen, 
dass die Ausgänge 5µs (eigentlich 10µs laut Dave?!) nach einer 
Hallsensoränderung umgeschaltet werden. Dann aber High-Side und Low-Side 
sofort gleichzeitig.

von Carsten (Gast)


Lesenswert?

Wie sieht das auf der echten Hardware aus? Gleiches Verhalten?

von Michael L (Gast)


Angehängte Dateien:

Lesenswert?

Ja, exakt gleiches Verhalten. Hier habe ich sogar die 10µs Verzögerung 
für den Noise-Filter.

von Carsten (Gast)


Lesenswert?


von Michael L (Gast)


Lesenswert?

Mein Programm basiert auf genau dieser App-Note.
Hier wird sogar geschrieben, dass der Totzeitgenerator für den 
Noise-Filter verwendet wird. Ich lese zwischen den Zeilen, dass er dann 
nicht für die Totzeitgenerierung verwendet werden kann. Was sagt denn 
Infineon dazu? Kann man irgendwie wählen ob Noise-Filter oder Totzeit?

In der App-Note wir die Blockkommutierung mit 120° Stromfluss pro Zweig 
programmiert. Also immer nur zwei Motor-Stränge bestromt. Hierbei 
braucht man den Totzeitgenerator nicht. High-Side und Low-Side IGBTs 
werden ohnehin mit 60° Pause gewechselt.
Ich hab das jetzt optimiert und auf 180° Stromfluss erweitert um im 
nächsten Schritt zur Sinus-Kommutierung zu kommen.

So tuts dann wohl nicht. Dann werd ich mich mal um die Kommutierung 
kümmern ohne den Hall-sensor-mode zu verwenden.

von Carsten (Gast)


Lesenswert?

Ich habe gerade, eher zufällig, in das UM des C868 reingeschaut. Da 
steht dann über die Dead-Time der CC6:

In the Hall sensor mode, timer T12 is used to measure the rotational 
speed of the motor (channel 0 in capture mode) and to control the phase 
delay before switching to the next state (channel 1 in compare mode). 
Furthermore, channel 2 can be used to generate a time-out signal (in 
compare mode). As a result, T12 can not be used for modulation and, due 
to the block commutation patterns, a dead-time generation is not 
required. In order to built an efficient noise filter for the Hall 
signals, channel 0 of the dead-time unit is triggered (reloaded) with 
each detected edge of the Hall signals, see signal Hall_edge_o in Figure 
4-17. For this feature, channel 0 also generates a pulse if its counter 
value is one.

Sieht so aus, als ob die Dead-Time im Hall-Sensor-Mode nicht geht.

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.