Projekt 41b: Temperaturregelkreis: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 27: Zeile 27:


== Führungsverhalten des Regelkreises ==
== Führungsverhalten des Regelkreises ==
wenn man die Sprungantwort simulieren möchte und die Übertragungsfunktion zu bestimme, muss ein Einheitssprung auf die Regelstrecke gegeben. Da das Peltierelement (aluminiumoxyde) wird mit Hochspanung / dauerspanung versorgt wird, wurde der Aluminiumblock auf Maximaltemperatur aufgeheizt(), um danach einen Einheitssprung auf die Stellgröße zugeben. Danach wurde das ganz wurde durch die maximale Lüfterdrehzahl umgesetzt. === Mechanicher und elektrotechnischer Aufbau ===
wenn man die Sprungantwort simulieren möchte und die Übertragungsfunktion zu bestimme, muss ein Einheitssprung auf die Regelstrecke gegeben. Da das Peltierelement (aluminiumoxyde) wird mit Hochspanung / dauerspanung versorgt wird, wurde der Aluminiumblock auf Maximaltemperatur aufgeheizt(), um danach einen Einheitssprung auf die Stellgröße zugeben. Danach wurde das ganz wurde durch die maximale Lüfterdrehzahl umgesetzt.
 
==regelstrecke mit Arduino==
/**********************************************************
** Funktion PT1Messung() 
***********************************************************
** Bildet einen Tiefpassfilter (RC-Glied) nach.
**
** Kanal: der Messkanal ( A0 ... )
** Tau  :[ms]  Tau des Tiefpasses         
** Periode:[ms] neuer Wert alle Periode ms  (Tau >> Periode!!) 
**
** FiltVal (In/Out) der gefilterte Wert
**  return: true wenn nach Ablauf der Periode FiltVal einen neuen Wert hat
************************************************************/
bool PT1Messung(float &FiltVal, byte Kanal, unsigned long Periode, unsigned long Tau){
    static  unsigned long lastRun = 0;
    unsigned long FF = Tau / Periode;  //
  if (millis()-lastRun < Periode) return false; 
  unsigned int neuWert = analogRead(Kanal);
  FiltVal= ((FiltVal * FF) + neuWert) / (FF+1);
 
  lastRun = millis();
  return true;
} // ende Funktion PT1Messung
 
//*******  Pindefinitionen  **************
  const byte PWMOut = 9;
  const byte AnalogIn = A0;
 
void setup() {
  pinMode(PWMOut, OUTPUT);
}
 
void loop() {
  static float FiltVal;
  if (PT1Messung(FiltVal, AnalogIn, 10, 1000) )
    analogWrite(PWMOut, (int)FiltVal / 4) ; // PWM auf 0 .. 255 skalieren
}
 
=== Mechanicher und elektrotechnischer Aufbau ===


==mechanicher und elektrotechnischer Aufbau
==mechanicher und elektrotechnischer Aufbau

Version vom 17. Januar 2019, 18:26 Uhr

Autoren: Ngono Onana, Donfouet
Betreuer: Daniel Klein


→ zurück zur Übersicht: WS 18/19: Fachpraktikum Elektrotechnik (MTR)

Aufgabe

Erstellung einer Regelung für ein Heizfläche-Lüfter-System. Der Laborversuch ist bereits mechanisch wie elektrisch fertig.

Erwartungen an Ihre Projektlösung

  • Darstellung der Theorie
  • Entwurf eines Regelkreises
  • Recherche zu bestehenden Lösungen
  • Systemidentifikation (Übertragungsfunktion der Regelstrecke bestimmen)
  • Vergleichen und bewerten Sie verschiedene Regleransätze (2-Punkt, 3-Punkt, P, I, D), Darstellung der Soll-/Istgrößen.
  • Programmiersprache: C
  • Test und wiss. Dokumentation
  • Live Vorführung während der Abschlusspräsentation

Einleitung

Der Temperraturregelkreis stellt hier dar,das Verhalten von alle Reglertypen bzw ein P, PI und ein PID und wird auch hier unterschiedlicher Parametrierungen . In Diesem versuch wird die Temperatur des Aluminiumblocks auf der Oberseite des Versuchsaufbaus, welcher durch die Heißseite des Peltierelementes erwärmt und durch den Lüfter gekühlt wird. Die Solltemperatur bzw Sollwert kann über ein Potentiometer auf der Oberseite des Gehäuses einsgetellt werden. Ausserdem sind die 3 Potentiometer auf der Vorderseite zur Änderung der P-, I- und D-Anteile des Reglers vorgesehen. Das ziel ist hier der Istwert der Temperatur des Aluminiumblocks durch einen NTC-Thermistor der sich zwischen Heißseite des Peltierelements und dem Block befindet .

Führungsverhalten des Regelkreises

wenn man die Sprungantwort simulieren möchte und die Übertragungsfunktion zu bestimme, muss ein Einheitssprung auf die Regelstrecke gegeben. Da das Peltierelement (aluminiumoxyde) wird mit Hochspanung / dauerspanung versorgt wird, wurde der Aluminiumblock auf Maximaltemperatur aufgeheizt(), um danach einen Einheitssprung auf die Stellgröße zugeben. Danach wurde das ganz wurde durch die maximale Lüfterdrehzahl umgesetzt.

regelstrecke mit Arduino

/**********************************************************

    • Funktion PT1Messung()
    • Bildet einen Tiefpassfilter (RC-Glied) nach.
    • Kanal: der Messkanal ( A0 ... )
    • Tau  :[ms] Tau des Tiefpasses
    • Periode:[ms] neuer Wert alle Periode ms (Tau >> Periode!!)
    • FiltVal (In/Out) der gefilterte Wert
    • return: true wenn nach Ablauf der Periode FiltVal einen neuen Wert hat
                                                                                                                        • /

bool PT1Messung(float &FiltVal, byte Kanal, unsigned long Periode, unsigned long Tau){

   static  unsigned long lastRun = 0;
   unsigned long FF = Tau / Periode;  // 
 if (millis()-lastRun < Periode) return false;  
 unsigned int neuWert = analogRead(Kanal);
 FiltVal= ((FiltVal * FF) + neuWert) / (FF+1);
 lastRun = millis();
 return true;

} // ende Funktion PT1Messung

//******* Pindefinitionen **************

 const byte PWMOut = 9;
 const byte AnalogIn = A0;

void setup() {

  pinMode(PWMOut, OUTPUT); 

}

void loop() {

 static float FiltVal;
 if (PT1Messung(FiltVal, AnalogIn, 10, 1000) )
    analogWrite(PWMOut, (int)FiltVal / 4) ; // PWM auf 0 .. 255 skalieren 

}

=== Mechanicher und elektrotechnischer Aufbau ===

==mechanicher und elektrotechnischer Aufbau

   

Das erste Bild zeigt hier: Die Potentiometer [1, 2, 3, 4], das Peltierelement [5], den Aluminiumblock [6], den Lüfter [7] sowie den NTC-Thermistor [8].

              

das zweites Bild stellt hier dar wo das Arduino Uno gesteckt ist.

in Hintere Seite der Buchse ist die Verbindung ducrh das Arduino Uno und der Buchse zu sehen.


Electrotechnischer Aufbau

Bauteilen: Computerlüfter 5V DC

Peltierelement

3 LED's

NTC-Thermistor

5 Potentiometer (10kOhm)

LCD-Display

Arduino Uno

Dieser Klemmbelegungsplan wurde anhand des bereits fertigen Versuchsaufbaus erstellt:

Aussehen einer Temperaturreglerkreis(Allgemeine)

Ergebnis

Zusammenfassung

Lessons Learned

Projektunterlagen

YouTube Video

Weblinks

Literatur


→ zurück zur Übersicht: WS 18/19: Fachpraktikum Elektrotechnik (MTR)