Forum: FPGA, VHDL & Co. Zweipunktregelung


von Polo263 (Gast)


Lesenswert?

Hallo werte Gemeinschaft,

ich bin das erste mal hier und weiss auch nicht ob ich im richtigen 
forum bin. Ich muss im Rahmen einer Projektarbeit eine Zweipunktregelung 
entwickeln. Die Aufgabe Lautet: Mithilfe eines Widerstandfsthermometers 
ist die Temperatur zu erfassen, um zu Entscheiden, ob weiter Heizenergie 
zugeführt werden soll oder nicht, um die gewünschte Temperatur zu 
halten.

Wir haben zur Verfügung einen PT100 und als Hardware das Altium 
Nanoboard 3000. Programmiert werden soll in C. Ich weiss jetzt nicht wie 
ich an diese Aufgabe ran gehen soll, da ich totaler Neuling auf diesem 
Gebiet bin.

Vielleicht kann mir ja hier jemand weiter helfen.

Danke im voraus.

von Franky (Gast)


Lesenswert?

der einfachste Weg/Regler:
- Temperatur mit dem PT100 messen (Konstantstromquelle zur Speisung des 
PT100. Messung der Spannung über dem PT100 mit einem ADC-Kanal und 
Umrechnung in die reale Temperatur -> mittels Kennlinie, Polynom etc.)
- wenn Temperatur unter Sollwert -> Heizung an, andernfalls aus (falls 
nur kleine thermische Kapazitäten in der Strecke und hohe Heizerleistung 
vorhanden, dann evtl. den Sollwert noch mit Hysterese versehen)

Gruss
Franky

von lüsterklemme (Gast)


Lesenswert?


von Polo263 (Gast)


Lesenswert?

Hallo,

das ging aber fix. Danke schon mal für die antworten.
Wie ein Zweipunktregler funktioniert weiss ich. Ich habe Probleme damit 
die Hardware aufzustellen und das Programm zu schreiben. Ich denke das 
es ein komplexes programm wird.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Ich denke das es ein komplexes programm wird.
Ein Zweipunktregler ist so ungefähr das simpelste, was die 
Regleungstechnik zu bieten hat. Das C-Programm dazu sieht grob so aus:
1
while (1) {
2
  temperatur = lies_adc()*korrekturfaktor);
3
  if (temperatur>max) then heizung(0);
4
  if (temperatur<min) then heizung(1);
5
}

Du hast ein oder gleich mehrere Probleme: du weißt nicht, womit 
anfangen!

Aus diedem Grund solltest du erst mal irgendwas mit dem Altium Board 
machen, und dann damit herumspielen.
Dann schaust du mal, wie du eine Funktion heizung() schreiben kannst, 
die dir die Heizung ein- und ausschalten kann.
Danach kümmerst du dich um den AD-Wandler, wie er angesteuert und 
eingelesen wird.
Danach verknotest du die zwei Dinge und fertig.

Polo263 schrieb:
> Ich habe Probleme damit die Hardware aufzustellen
Du hast die Hardware doch schon...
> und das Programm zu schreiben.
Eine VHDL-Beschreibung ist kein Programm!
Du wirst wahrscheinlich 2 Sachen brauchen:
1. eine VHDL Beschreibung zur Ankopplung deines ADC und des Ausgangs an 
den Softcore
2. ein Programm für den Softcor.

Polo263 schrieb:
> Programmiert werden soll in C.
Welchen Softcore nimmst du?
> Programmiert werden soll in C.
Blöd. Direkt in VHDL ohne Softcore wäre ich schneller fertig...   ;-)

von Polo263 (Gast)


Lesenswert?

ein bischen rumgespielt habe ich schon mit dem Board. Im Labor haben wir 
unter Anleitung 2 kleine einfache Sachen gemacht. LED's sollten blinken. 
Also die Hardware ist wie gesagt das Altium Nanoboard 3000 und die 
Software und alles weiter haben wir mit dem Altium designer erstellt. In 
dem waren dann alle dinge die wir benötigen vorhanden. Habe dieses 
Equipment nicht Zuhause. Ich muss mir im vorher gedanken drüber machen 
wie ich bei der Hardware alles verbinde usw. Muss es dann vorstellen und 
dann soll es Funktionieren.

Danke für die Antworten

von amateur (Gast)


Lesenswert?

Ich glaube hier ist einiges unter den Tisch gefallen.

Ich kenne das "Nanoboard 3000" nicht, aber wenn es annähernd den 
"üblichen" Boards entspricht, so fangen Deine Probleme bereits beim 
Anschluss eines PT100 an. Das allein ist schon nicht ganz ohne. Da es 
hierzu aber genügend Schaltungsvorschläge gibt, nicht unlösbar.

Sei aber bitte vorsichtig, bei allen Vorschlägen die die Redewendung 
"nur" enthalten.
Es ist Richtig, das aus Sicht der Regelungstechnik, dass der 
2-Punkt-Regler einer der leichteren ist. Wenn man aber vom Programmieren 
an sich, vom programmieren von Mikrocontrollern im Besonderen und dann 
von der Regelungstechnik als solchem wenig Ahnung hat, so ist ein 
solches Projekt ohne größere Unterstützung, in einem sinnvollen 
Zeitrahmen, nicht lösbar.

Einen großen Teil der Arbeit kannst Du "Guttenbergen" wie es heute so 
schön heißt. Vom gesamten Umfang her ist es wahrscheinlich auch nicht 
anders zu bewerkstelligen. Dumm ist nur, wenn deine "Aufraggeber" 
neugierig werden und auch noch Fragen stellen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

amateur schrieb:
> so fangen Deine Probleme bereits beim Anschluss eines PT100 an.
Ich kann einen PT100 mit einem Vorwiderstand als Spannungsteiler an 
einen ADC anschließen. Und ich weiß auch, wie sich die Lienarisierungs- 
funktion dazu berechnet. Es ist nicht wirklich schwierig.

> Wenn man aber vom Programmieren an sich, vom programmieren von
> Mikrocontrollern im Besonderen und dann von der Regelungstechnik
> als solchem wenig Ahnung hat...
Wenn jemand mit FPGAs hantiert und ein Labor belegt, dann dürfte das 
einer sein, der zumindest grundlegende Kenntnisse im Umgang mit 
elektrischen Schaltungen hat. Und der Rest des Vorgangs nennt sich 
"Lernen". Schließlich ist absolut nichts an der Aufgabe, was nicht 
schon mal jemand Anderer vorher realisiert hätte...
Es ist einfach nur Recherche und passendes Zusammensetzen.

von Polo263 (Gast)


Lesenswert?

Das denke ich auch.
Ich muss mich in die Sache nur etwas reindenken und mit ein paar 
"Denkanstössen" wird die Aufgabe zu realisieren sein.

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.