Forum: Mikrocontroller und Digitale Elektronik Viele Heizelemente mit Schwingungspaketsteuerung


von Juergen G. (jup)


Lesenswert?

Ich weiss nicht ob ich zu viel oder immer noch zu wenig gelesen habe, 
zumindest fuehle ich mich jetzt total allein mitten im Wald.

Ich hoffe Ihr koennt meinem verwirrten Hirn etwas auf die Spruenge 
helfen.


Erst mal geht es mir um die Analyse des Systems, damit ich mir dann im 
zweiten Schritt ueber die zu verwendende Hardware Gedanken machen kann.

Im Ganzen geht es darum, eine fixe Anzahl unterschiedlich potenter 22VAC 
Heizelemente per Schwingungspaketsteuerung so zu regeln, dass

1) jedes Heizelement auf seine eingestellte Temperatur regelt
2) die Wellenpakete moeglichst optimal und gleichmaessig
   ueber die Heizelemente verteilt werden.

Zum Einstieg lasse ich mal die unterschiedlichen Leistungen der 
Heizelemente (HE) unbeachtet.

Meine Ansaetze sind PI(D) und eine PWM die durch die Nulldurchgaenge des 
Wechselstromes gesteuert wird.
Ein einzelnes Heizelement (HE) damit zu regeln ist kein Problem, da habe 
ich immer eine Leistungsabhaengige An bzw Auszeit.

Wenn ich sagen wir mal 2 HE mit der selben Leistung habe, die PWM mit 
100Hz takte und beide HE eine Leistung von 50% abgeben sollen, dann kann 
ich HE1 die ersten 50 Takte und HE2 die darauffolgenden 50 Takte 
eingeschaltet lassen.

Bis hierher einfach.

Wie sieht das jetzt aber aus wenn ich sagen wir mal 48 HE habe und 70% 
oder 90% Leistung von jedem HE verlange.

Wie berechne ich da am besten meine PWM und wann schalte ich meine HE's 
ein oder aus?

Gruss Ju

von Purzel H. (hacky)


Lesenswert?

Wenn man ein System von Heizungen so steuern will, dass sich die 
Leistungen vernuenftig verteilen, dann muessen diese Komponenten 
miteinander kommunizieren.

von Juergen G. (jup)


Lesenswert?

Und wer sagt das sie das nicht duerfen?

Ich denke ja daran alle HE's an der selben PWM zu betreiben und durch 
den selben uC. Da sollte die Komunikation kein Problem darstellen.

Ju

von Martin M. (mageb)


Lesenswert?

Hallo,

hast du inzwischen was erreicht? Evtl schon ein Programm geschrieben? 
Ich würde gerne meine 4 Heizplatten vom Zeranfeld mittels 
Schwingungspaketsteuerung steuern.

Gruß

Martin

von (jup) nicht eingeloggt (Gast)


Lesenswert?

Hallo Martin,

ja, das System ist shon seit laengerem fertig und es ist im 
Dauereinsatz.

Wenn Du vier Heizplatten steuern oder regeln willst sehe ich kein 
Problem.
Sag mir einfach wo es bei Dir klemmt und ich kann Dir die noetigen Infos 
geben.

Ju

von Martin M. (mageb)


Lesenswert?

Hallo Jup,

danke für das Angebot. Ich habe mir mal vor längerer Zeit ein paar ICs 
dafür gekauft. TEA1024. Die Beispielschaltung aus dem Datenblatt 
funktioniert leider noch nicht richtig. Ich habs mal einfach mit einer 
60W Glühbirne getestet, aber die Helligkeit ändert sich nicht, wenn ich 
am Poti drehe.

Du hast das ganze bestimmt mit einem Mikrokontroller gemacht, oder? Hast 
Du einen Atmel benutzt? Das wäre zumindest mein Plan für den nächsten 
Versuch. Wie hast dur die Nullduchgangserkennung realiesiert? Könntest 
Du mir vielleicht deinen Programmcode und dein Platinenlayout geben? 
Dann könnte ich mich davon ein wenig inspieriern lassen.

Ich wäre dir sehr dankbar dafür.
Ich versteh auch nicht warum die Schwingungspaketsteuerung noch nicht 
weiter verbreitet ist. Alles mögliche wird per Phasenanschnitt oder 
Bimetalschalter gemacht. Für Beleuchtung ist die zwar nicht so ideal, 
aber zum heizen gibts doch nichts besseres.

Gruß

Martin

von TestX .. (xaos)


Lesenswert?

Juergen G. schrieb:
> Meine Ansaetze sind PI(D) und eine PWM die durch die Nulldurchgaenge des
> Wechselstromes gesteuert wird.
PID, also triviale regelungstechnik ist für so etwas der falsche 
ansatz..um ein optimales load-balancing zu erreichen brauchst du einen 
norm-optimalen MIMO regler und führst als gewichtungsfunktion die 
leistungsverteilung ein, die soweit wie möglich konstant sein soll. 
jedoch ist das ein sehr komplexes thema in das man sich nicht mal eben 
einlesen kann...

alternativ kannst du das wohlmöglich ein wenig "freestyle" realisieren, 
indem du einen digitalen 2-punkt-regler verwendest mit einer 
zeitkonstante >> zeitkonstante der schwingungspaketsteuerung . innerhalb 
dieser zeit kannst du dann ein untergeordnetes load-balancing 
realisieren

> Wenn ich sagen wir mal 2 HE mit der selben Leistung habe, die PWM mit
> 100Hz takte

Schwingungspaketsteuerung benutzt man im bereich von sekunden bis 
minuten..für thermische prozesse ist das auch mehr als ausreichend. also 
was machst du wirklich ? phasenanschnitt oder eine wirkliche 
paketsteuerung ?

von Martin M. (mageb)


Lesenswert?

Hallo Andy,

der Autor hat seine Schaltung schon realiesiert. Ich möchte wie schon 
gesagt meine 4 Kochplatten vom Ceranfeld mit einer echten 
Schwingungspaketsteuerung steuern. Phasenanschnitt finde ich für die 
Leistung sehr unschön.


Gruß

Martin

von (jup) nicht eingeloggt (Gast)


Lesenswert?

Martin, da liegst Du voellig richtig, Heizungen werden ueber 
Schwingungspakete gesteuert, Phasenanschnitt ist bei den Reaktionszeiten 
von ueblichen Heizelementen voelliger Quatsch.
Das Schwingungspaketsteuerungen nicht so verbreitet sind wuerde ich 
allerdings nicht bahaupten.

xaos will es natuerlich ganz professionell angehen und hat auch recht 
wenn er sagt das man sich in die Materie der Lastverteilung nicht mal 
eben so einliest.
Ich hab daran auch ein wenig zu knabbern gehabt, letztendlich habe ich 
aber eine gute, fuer mein Projekt ausreichende Loesung gefunden.

Aber xaos' Meinung, das PID da ein falscher Ansatz ist, kann ich nicht 
teilen.

Also, hier mal ein kleiner Ueberblick ueber meine Loesung.

Zunaechst mal die Hardware.

Nulldurchgangserkennung mache ich mit einem PC814, das liegt daran das 
die Kurve die hier aus dem Netz kommt, eher einem Trapez denn einem 
Sinus aehnelt und in den Nulldurchgaengen recht zappelig ist. Die 
Versuche es mit einem OpAmp oder Comparator zu machen sind an diesem 
Umstand klaeglich gescheitert. In Deutschland ist das warscheinelich 
besser.
Die 0.7V "Verspaetung" die ich dadurch habe fallen bei mir nicht so doll 
ins Gewicht, da der Nulldurchgang nur als Referenz fuer den 
"Wellenpaketzaehler" herhalten muss.

Die Lasten werden ueber eine Kombination von MOC3041 und zwei SCR's 
S6025 in Back2Back Konfiguration je Heizelement geshaltet. Auch hier die 
Entscheidung zugunsten der SCR's ueber Triac's wegen den Eigenheiten die 
das oeffentliche Stromnetz hier hat. In Deutschland kann man getrost 
Triacs einsetzen.
Die 48 MOC's sind ueber eine Serie Shiftregister an den uC gehaengt.
Die Lasten haengen an einem 3Phasen Wechselstrom. Jede Phase wird ueber 
einen Stromsensor ueberwacht. Die Lasten sind so auf die 3 Phasen 
verteilt, das I-max einer einzelnen Last oder einer beliebigen 
Kombination von Lasten immer irgendetwas um die 15A ergibt.

Temperatur der 48 Heizelemente wird ueber Thermocouples (TC) gemessen 
die ueber einen Multiplexer auf einen Chopper Opamp zur Verstaerkung des 
Signals und dann auf den ADC vom Microcontroller gehen. Ich verwende TC 
Typ K und eine Referenz Spannung von 1.1V das gibt mir ausreichend 
Genauigkeit fuer meinen Fall. Die Werte zappeln ein wenig bei der 
Messung, aber ein Mittelwert ueber 256 Messungen bringt die noetige Ruhe 
rein.
Zur Kaltstellenkompensation messe ich die Spannung ueber einer 1N4148 
auf dem PCB.

Das Arbeitspferd ist ein Atmega 644P mit 20MHz.

Beim Einschalten prueft der uC die TC's und misst den Strom jeder 
einzelnen Last. Die Werte der Lasten werden in einer Tabelle gehalten 
und gehen spaeter in den "Lastverteilungs-Algorithmus" ein.

Im Betrieb sagt der uC dem MUX welcher TC gemessen werden soll, macht 
die Messungen und misst periodisch die Spannung ueber der 
Kaltstellenkompensations-Diode und den Strom der 3 Phasen.
Mit den gemessenen Werten wird ueber eine PID die %-An der Heizungen 
berechnet.
Danach verteilt ein weiter Algorithmus diese %-An so auf die Heizungen 
und die Phasen, das ein nahes Optimum erreicht wird.
OK, das erreichte Optimum hier ist ausreichend fuer mein Projekt.
In der Aufheiz-Phase ist die Steuerung praktich nur eine 2-Punkt 
Steuerung die ueberwiegend vom Lastverteilungs Algorithmus dominiert 
wird. Spaeter dann liegt die Hauptlast bei der PID.

Weiterhin fuettert der uC ein HMI mit den notwendigen Daten und holt 
sich notwendige Aenderungen, zBsp. Sollwerte, vom HMI.
Das geschieht ueber RS485 und Modbus-RTU.
Dabei ist das HMI der Modbus Master.

Das HMI ist mit 130 Queries/s ziehmlich dreist in seinem Benehmen und 
hatte mich urspruenglich dazu bewogen das ganze mit 2 uC's zu 
realisieren.
Dank einiger Verbesserungen im Code, hauptsaechlich Verbesserungen im 
UART und Modbus-code, die Umstellung der PID auf Fixedpointarithmetik 
und ein straffer Zeitplan fuer den uC habe ich es dann doch in einem 
644P mit 20MHz unterbringen koennen.

@Martin
Sicher ist das hier Beschriebene ein wenig komplexer als das was Du vor 
hast. Aber ich denke das eine oder andere davon ist auch fuer Dein 
Projekt nuetzlich.

Ju

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.