Hallo,
ich bin momentan dabei eine Ansteuerung von 4 H Brücken mit einer
Schaltfrequenz von 20kHz - 40kHz zu entwickeln.
Das Problem ist dass die Brücken nicht parallel ein- und ausgeschaltet
werden sollen, sondern mit einer variablen zeitlichen Verschiebung
weshalb ich zur Ansteuerung 16 PWMs brauche.
Um meine zeitliche Versetzung zu realisieren bräuchte ich bei einer
Schaltfrequenz von 40 kHZ eine Zeitbasis von 1µS.
Mit einem Softwarepwm und einem normalen Atmega (+16MHz Quarz)
würde das bedeuten, dass ich pro Interupt nur 16 Takte zur Verfügung
habe, wobei ich noch in und aus dem Interupt springen muss. Auch wenn
dies die einzige Aufgabe des µC ist, wenig erscheinen mir diese 16 Takte
zu wenig um 16 PWMs zu erzeugen.
Meine Frage ist deshalb ob jemand schon Erfahrung mit solchen
zeitkritischen PWMs hat und mir sagen kann ob dieses so realisierbar
ist. Beziehungsweise auf welchen man µC umsteigen sollte falls das
System zu langsam ist.
Vielen Dank für jeden Antwort und jeden Tipp.
Schöne Grüße Michael
@ Michael (Gast)
>Das Problem ist dass die Brücken nicht parallel ein- und ausgeschaltet>werden sollen, sondern mit einer variablen zeitlichen Verschiebung>weshalb ich zur Ansteuerung 16 PWMs brauche.
Oder ein Mikrocontroller mit passendem Timer, der das automatisch
regelt, ohne 16 PWM Kanäle zu verbraten. Da gibt es einige PWM-AVRs, die
könnten passen.
>Um meine zeitliche Versetzung zu realisieren bräuchte ich bei einer>Schaltfrequenz von 40 kHZ eine Zeitbasis von 1µS.
Nix besonderes.
>Mit einem Softwarepwm und einem normalen Atmega (+16MHz Quarz)>würde das bedeuten, dass ich pro Interupt nur 16 Takte zur Verfügung>habe, wobei ich noch in und aus dem Interupt springen muss.
Das kann man wohl glaub ich vergessen. Selbst bei potimierter
ASM-Programmierung. Die Lösung liegt in der Nutzung des richtigen uCs.
MfG
Falk
>16 Takte
scheint mir "zu wenig Luft", wenn man bedenkt, daß spätere SW-Änderungen
andere HW erfordert. Weterhin bleibt die Frage der Ausfall-Folgen wenn
die Zeit nicht reicht um die anderen H-Brücken sauber anzusteuern.
Bei Spielzeug mag das nicht so schlimm sein wie bei einer Fräsmaschine
wo z.B. teure Werkzeuge wegknallen.
Die Frage ist, was der uC sonst noch zu tun hat.
Nichts ?
Dann braucht es keinen Interrupt,
sondern man schreibt das Programm als Endlossschleife
und zählt selbst wie viele Befehle und Mikrosekunden
die brauchen.
Da sind Auflösungen unter 1us locker zu erzielen.
Kleine Nebentätigkeiten, wie z.B. ein Modellbauservoimpuls
als Eingang abfragen und dessen Pulsdauer bestimmen kann
man immer noch in der Schleife miterledigen.
Aber ja: Auch ich vermisse 2GHz uC, gerade mit RAM und
ROM auch dem Chip sollten die eigentlich problemlos fertigbar
sein, doch Atmel ist zu blöd.
Michael schrieb:> ich bin momentan dabei eine Ansteuerung von 4 H Brücken mit einer> Schaltfrequenz von 20kHz - 40kHz zu entwickeln.>> Das Problem ist dass die Brücken nicht parallel ein- und ausgeschaltet> werden sollen, sondern mit einer variablen zeitlichen Verschiebung> weshalb ich zur Ansteuerung 16 PWMs brauche.
Die 4 Zweige einer Brücke vollkommen unabhängig gegeneinander ansteuern?
Interessantes Konzept.
MfG Klaus
Klaus schrieb:> Die 4 Zweige einer Brücke vollkommen unabhängig gegeneinander ansteuern?> Interessantes Konzept.
Dann sind z.B. manchmal alle Zweige leitend zur gleichen Zeit ???
Etwas mehr Logik oder eine Sicherung die eher stirbt als die
Brückentransistoren wäre durchaus nützlich. :-)
Dead Time beim Umschalten schätze ich mal, damit nicht beide
Transistoren Leitend sind.Das würde aber heißen er hat die Schaltung
Diskret aufgebaut nur das würde Sinn ergeben. Die PWM-AVRs können das in
Hardware und man kann die Deadtime auch noch programmieren. Ich glaube
sogar das die noch ne PLL drin haben und den PWM mit 100MHz oder sowas
konnten.
Hallo an alle,
und gleich mal Danke für die Tipps.
Wie sicherlich/hoffentlich vermutet wird, will ich keine Kurzschlüsse
produzieren.
Ich will mit den H Brücken 4 induktive Heizelemente ansteuern und muss
in kürzester Zeit möglichst viel Leistung (ca 1kW bei 12Volt) liefern.
Deswegen ist sie mit diskreten PowerFets aufgebaut.
Gleichzeitig will ich aber auch keine immensen Störungen auf der
Zuleitung verursachen und die Brücken deswegen mit zeitlich variabl
versetzten Signalen ansteuern.
Um Kurzschlüsse, aufgrund von langen Schaltzeiten der Transistoren, zu
vermeiden und gleichzeitig die Leistungsverluste,d urch Deadtimes
niedrig zu halten, würde ich gerne möglichst viele Timings selbst
einstellen können.
Im Idealfall das Ansteuersignal jedes einzelnen Transistors. Weshalb ich
die 16 Kanäle bräuchte.
Allerdings habe ich gestern mal nach einem H-Brückentreiber mit
shootthrough-Verriegelung und einstellbarer Deadtime gesucht und den HIP
4082 gefunden.
Dateblatt HIP 4082:
http://www.intersil.com/data/fn/fn3676.pdf
Mit dem ich bräuchte ich nur noch 8 Kanäle, für jeden Brückenzweig
einen. Aber weiterhin mit der Zeitbasis von 1µs.
@Falk
Wenn ich das Datenblatt vom AT90PWM316 richtig verstanden hab, sollte
das mit diesem möglich sein.
Datenblatt AT90 PWM316:
http://www.avr-praxis.de/database/datasheet/AT90PWM216_316.pdf
8 PWM ausgänge + 2 PWM über internen Timer. Und die PWM Clockfreqzenz
bis zu 64 MHz.
Wobei ich noch nicht ganz sicher bin, ob ich die 8 PWMs in zeitlichen
Bezug zueinander bringen kann.
Ist diese Ansteuerung mit dem AT90PWM möglich und/oder gibts vielleicht
noch eine andere Lösung außer einen normalen Atmega durch eine
Endlosschleife zu jagen.
Schöne Grüße
Michael
Michael schrieb:> Ich will mit den H Brücken 4 induktive Heizelemente ansteuern und muss> in kürzester Zeit möglichst viel Leistung (ca 1kW bei 12Volt) liefern.> Deswegen ist sie mit diskreten PowerFets aufgebaut.> Gleichzeitig will ich aber auch keine immensen Störungen auf der> Zuleitung verursachen und die Brücken deswegen mit zeitlich variabl> versetzten Signalen ansteuern.
Ich versuche das mal zu verstehen:
Heizung via H-Brücke, wenn der Strom andersherum fließt, kühlt sie ?
Möglichst viel Leistung, also dauernd an, das aber zeitlich versetzt ?
MfG Klaus
Hallo,
es ist ein induktives Heizsystem. Jede Spule ist um ein Kunstoffrohr
gewickelt in dem sich ein Metallrohr befindet. Das Metallrohr wird dann
über Induktion aufgeheizt und die H-Brücken dient zur
Wechselstromerzeugung.
Zeitlich versetzten will ich die Phase der Wechselströme der einzelnen
H-Brücken um zu verhindern, dass Stromspitzen entstehen die zu starke
Rückwirkung auf meine Quelle haben.
Schöne Grüße
Michael
@ Michael (Gast)
>Zeitlich versetzten will ich die Phase der Wechselströme der einzelnen>H-Brücken um zu verhindern, dass Stromspitzen entstehen die zu starke>Rückwirkung auf meine Quelle haben.
Also quasi ein Vierphasenwandler. Da muss man aber nur eine Phase direkt
steuern, der Rest folgt immer um 90 Grad zeitlich versetzt. Damit kann
man mit zwei PWMs auskommen, den Rest könnte man über einen cleveren
CPLD verzögern.
MfG
Falk
Michael schrieb:> es ist ein induktives Heizsystem.
Ok, ein Missverständniss. Ich dachte an eine Heizung mit induktivem
Anteil durch den Aufbau.
MfG Klaus
@Falk
Das mit dem Vierphasenwandler klingt ziemlich gut, nur leider geht
dadurch die Möglichkeit verloren auch andere Verschiebungen zu testen.
Schöne Grüße
Michael
Hallo
Der M16C29 von Renesas kann das. Er hat acht syncrone Kanäle (TimerS)
Schaltet man zwei zusammen kann mann Start- und Endpunkt der PWM
setzen.
Mit der PWM steuerst du dann beide Highside-Eingänge vom HIP4082 an.
Mit der Lowside-Eingängen bestimmst du dan die Richtung.
Volker