www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Viele Heizelemente mit Schwingungspaketsteuerung


Autor: Juergen G. (jup)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Zwölf Mal Acht (hacky)
Datum:

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

Autor: Juergen G. (jup)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Martin Martin (mageb)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: (jup) nicht eingeloggt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Martin Martin (mageb)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andi ... (xaos)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: Martin Martin (mageb)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: (jup) nicht eingeloggt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.