www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Temperaturregelung auf Mikrocontroller


Autor: Johann Görzen (miceinsteiger)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

zuerst einmal: Bin absoluter Microcontroller-Einsteiger.
Habe folgendes Problem:

Habe in Simulink einen Regelkreis aufgebaut (siehe Anhang).
Wie setzte ich diesen in einem Mikrocontroller um?
(bzw. kann man das überhaupt...?)

Welchen Mikrocontroller würdet ihr vorschlagen?

Kurz zur Funktion der Temperaturregelung:
Es wird eine Solltemperatur vorgegeben. Diese geht auf einen PI-Regler. 
Das Stellsignal am Reglerausgang wird auf 0...20mA begrenzt. Mit diesem 
Signal wird ein Leistungssteller angesteuert, der abhängig vom Eingang 
(0...20mA) eine gewisse Leistung(in W) auf die Regelstrecke ausgibt. Als 
Störgröße ist die Umgebungstemperatur.
Der Ausgang der Regelstrecke (Temperatur) soll dann mit der 
Umgebungstemperatur im Mikrocontroller addiert werden und die "Summe" 
wieder an den Eingang geführt werden.

Ich hoffe, dass ich mich einigermaßen verständlich ausgedrückt habe! :-)

Über Antorten würde ich mich sehr freuen!

Viele Grüße

Autor: S. T. (cmdrkeen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
solange du die regelstrecke in software realisieren kannst (z.b. C) ist 
eigentlich nur entscheidend für den µC, dass er deine Perepherie 
auslesen bzw. ansteuern kann, dass er schnell genug rechnet und dass er 
genug Speicher für das Programm hat.

im Hobby-bereich sind PIC und AVR als 8bit µC gut vertreten. beide 
Familien bieten auch modelle mit viel speicher, A/D- wandlern und 
genügend I/O's.


ich würde ja die µC-familie wählen, mit der ich am besten klarkomme.

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wie setzte ich diesen in einem Mikrocontroller um?

Man startet die Programmierumgebung und legt los. :-)

Gedanken ueber die Grundlagen hast du dir ja schon ausreichend gemacht.

> (bzw. kann man das überhaupt...?)

Selbstverstaendlich.


> Welchen Mikrocontroller würdet ihr vorschlagen?

Ehrlich gesagt, es geht mit jedem Controller. Ich selbst wuerde fuer 
Regler immer mindestens einen 16bit Controller nehmen weil wir ja nicht 
mehr im Mittelalter leben, aber vermutlich laesst sich soetwas sogar in 
einem Tiny15 realisieren wenn man wirklich will.

Ich wuerde nur empfehlen einen eher groesseren Controller zu nehmen, 
also mindesten 1kB Ram, 8k-16kFlash damit du nicht als Anfaenger an 
Grenzen stoesst die auf deiner Ahnungslosigkeit beruhen, und du genug 
Reserven fuer Debugging hast. Ich wuerde dir auch empfehlen einen RS232 
vorzusehen an der dein Controller staendig Daten ausgibt. Das macht die 
Fehlersucher und die Parametrierung deutlich einfacher. Im Gegensatz zu 
vielen anderen Projekten kannst du einen Regler nicht mal eben im 
laufenden Betrieb im Debugger anhalten. Jedenfalls nicht wenn du die 
Regelung pruefst.

Problem ist nur das dies nicht gerade ein Projekt ist fuer jemanden der 
noch nie mit so einem Controller gearbeitet hat! Du solltest erstmal 
etwas kleineres durchziehen um mit dem Microcontroller vertraut zu 
werden. Und du solltest nicht erwarten das es schon klappen wird wenn du 
es einfach machst. Du musst zu Beginn deines Programms schon ein paar 
wichtige Designentscheidungen treffen die Vorraussetzen das du mit dem 
Controller vertraut bist.

> Das Stellsignal am Reglerausgang wird auf 0...20mA begrenzt.

Dein Controller liefert keinen Strom. Da wird also mindestens noch ein 
Operationsverstaerker haengen. Ich hoffe du hast also wenigstens noch 
etwas Ahnung von Analogelektronik.

Das Problem ist gewiss nicht die Machbarkeit, sondern die steile 
Lernkurve die vor dir liegt.

Olaf

Autor: Temp_Pro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Johann

Hallo Johann,

1. Temperatur zu regeln ist kein Problem. Temperatur zu messen schon 
eher ;-)

2. Du scheinst dich ja mit Simulink auszukennen. Die m-Files (bzw. 
sim-Files) kann man doch in C-Code umwandeln, oder nicht?
Dann brauchst du selber nur noch den uC zu initialisieren und die Ports 
anzusteuern (gibt hier im Forum ein super Turorial) und deinen 
Regelalgorithmus laufen zu lassen.

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 1. Temperatur zu regeln ist kein Problem. Temperatur zu messen schon
> eher ;-)

Das ist wahr, aber es hat das Problem ja umgangen indem er irgendwas 
fertiges nimmt das ihm mA liefert. Vermute ich jedenfalls mal.

> Dann brauchst du selber nur noch den uC zu initialisieren und die Ports
> anzusteuern (gibt hier im Forum ein super Turorial) und deinen
> Regelalgorithmus laufen zu lassen.

Er muss sich aber mit den Timern auskennen um sich eine Zeitbasis zu 
verschaffen, und mit Interrupts muss er klar kommen. Er muss wissen wie 
er Daten zwischen Interruptfunktion und extern austauscht usw....

Also ich finde das fuer jemanden der noch nie mit so einem Controller 
gearbeitet hat schon heftig.

Olaf

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.