Luftzylinder mit Feedbackmelder


Google-Suche auf MEINE-SCHALTUNG.de :





Online Rechner

Chronik

Dauerkalender


Zweipunktregler mit ATtiny


In dem Versuch wird ein einfacher Zweipunktregler zusammengestellt. Die Versorgungsspannung kann zwischen 7 und 30 V liegen. Der große Bereich ist dem Spannungsregler MC78L05A zu verdanken, der der Schaltung vorgeschaltet wird. Die Eingangsspannung wird auf 5VDC runtergeregelt, die Betriebsspannung unserer Schaltung. Bei einer direkten Einspeisung mit 5VDC kann auf den Regler verzichtet werden.
Die Schaltung überwacht den aktuellen Wert eines externen Signals, das im Bereich 0-10V liegt. Das Signal stammt von einem beliebigen Sensor, der die aktuelle Situation im Regelkreis überwacht. Das Signal wird mit zwei Widerständen (R1+R2) halbiert und so an die Betriebsspannung des Mikrocontrollers angepasst. Das Signal wird über die Klemmen X3/X4 der Schaltung zugeführt. Im Fall, dass das untersuchte Signal max. nur 5V erreichen kann, kann auf den Spannungsteiler verzichtet werden.
Mit zwei Potentiometern P1 und P2 werden die gewünschte Schaltschwelle (P1) und Hysterese (P2) eingestellt. Mit diesen zwei Werten werden zwei Grenzwerte: untere und obere Schaltschwelle festgelegt.

Schaltverhalten


Wenn der Wert des externen Signals die eingestellte untere Schaltschwelle unterschreitet (z.B. Heizungssteuerung, Temperatur zu niedrig), wird das Relais K1 eingeschaltet (Heizung EIN). Sobald dagegen die obere Schaltschwelle überschritten wird (Temperatur zu hoch), wird das Relais wieder abgeschaltet (Heizung AUS).
Die Schaltschwelle, für derer Einstellung P1 zuständig ist, wird skaliert, bis sie im Bereich 0,5V - 4,5V liegt. Die Einstellung der Hysterese erfolgt im Bereich 5%-75% (Bereich 0-2,5V). Damit die Schaltvorgänge unabhängig von Einstellungen immer möglich sind, beträgt die unterste Schwelle 0,25V. Die oberste Schaltschwelle beträgt dagegen 4,75V.

Schaltplan

Schaltplan


Spannungsregler

Spannungsregler

Damit die Schaltung nicht von einer bestimmten Spannungsversorgung abhängig wird, wird der Schaltung ein Spannungsregler vorgeschaltet. Dank dessen kann als Spannungsversorgung eine Spannung im Wert von bis zu 30V verwendet werden. Bei dem MC78L05AC handelt es sich um einen linearen Spannungsregler, der einen Strom bis zu 100 mA liefern kann. Der Regler verfügt über eine interne Strombegrenzung und eine thermische Abschaltung. Am Ausgang herrscht eine Spannung von 5VDC.

Transistor

Transistor

Um den digitalen Ausgang des Mikrocontrollers nicht zu überlasten, wird ein angeschlossenes Relais mithilfe eines NPN-Transistors geschaltet. Der Transistor, der hier als ein gewöhnlicher Ein/Aus-Schalter fungiert, muss natürlich in der Lage sein, den benötigten Strom auch problemlos bereitzustellen. In unserem Fall ist ein Relais-Strom von ca. 40 mA zu erwarten. Das können sowohl der eingesetzte Spannungsregler (100 mA) als auch der Transistor BC172 (100 mA) problemlos bewerkstelligen.

Relais

Relais

Das eingesetzte Relais verfügt über einen Wechsler-Kontakt. So kann man den Endverbraucher beim Unterschreiten bzw. Überschreiten des eingestellten Schwellenwertes je nach Bedarf ein- oder ausschalten. Mit dem Relais (HJR-4102E-L-05V) können Lasten bis zu 3A geschaltet werden. Völlig ausreichend für z.B. Heizventile oder kleine bis mittlere Lüfter, um einfache Regelaufgaben zu realisieren. Der Endverbraucher kann mit einer Fremdspannung, von z.B. 230V versorgt werden.

Relais


Mikrocontroller

Mikrocontroller

Zwar hat der ATtiny85 lediglich acht Beinchen, dies müsste jedoch, um die Aufgabe zu realisieren, ausreichen. Ein Anschluss bleibt sogar frei, um eventuelle Erweiterungen des Reglers durchzuführen. Der Mikrocontroller arbeitet mit einer Spannung von 5VDC. Drei seiner Anschlüsse werden für die Auswertung von analogen Signalen verwendet. Der Mikrocontroller stellt uns mit ADC1, ADC2 und ADC3 drei analoge Eingänge zur Verfügung, die für die Lösung der Aufgabe benötigt werden. Mit einem digitalen Ausgang wird ein Relais geschaltet.
Die Hauptaufgabe des Mikrocontrollers besteht darin, die analogen Werte auszulesen, sie entsprechend zu skalieren und zu vergleichen.

E-Rechner: Werte skalieren


Testschaltung

Testschaltung

Das externe analoge Signal 0-10V wird mit einem Poti, das auf dem Schaltplan nicht vermerkt ist, simuliert. Laut Schaltplan ist das Signal an die Klemmen X3/X4 anzuschließen. Die Spannungsversorgung beim Testen beträgt 10V. Am Ausgang der Schaltung wird eine Leuchtdiode mit einem Vorwiderstand angeschlossen. Sie simuliert das Stellglied. Je nach Bedarf kann für den Schaltvorgang ein Schließer oder Öffner des Relais benutzt werden. In unserem Beispiel wird das Relais beim Unterschreiten der unteren Grenze eingeschaltet, beim Überschreiten der oberen Grenze wird das Relais abgeschaltet. Es wird ein Schließer verwendet.


Programm

// *******************************************************************************************
// Zweipunktregler mit ATtiny
// Eine Schaltung mit ATtiny85
// Arduino IDE 2.3.5
// *******************************************************************************************

int Pin3_Externes_Signal = 2;                              // ADC2
int Pin2_Schaltschwelle = 3;                               // ADC3
int Pin7_Hysterese = 1;                                    // ADC1
int Pin5_Relais = 0;                                       // PB0

int Externes_Signal;                                       // Regelkreis Rückmeldung 0-10V
int Schaltschwelle;                                        // Schaltschwelle 1V-9V
int Hysterese;                                             // Hysterese 5%-75%

// *******************************************************************************************
void setup() {

    pinMode(Pin5_Relais, OUTPUT);                          // Pin 5 als Ausgang definiert
}

// *******************************************************************************************
void loop() {
        
                                  // Wert des externen Signals 0-10V ermitteln ---------------
                                  // Signal halbiert auf 0-5V
                                  // Max interner Wert 5V = 1023
    Externes_Signal = analogRead(Pin3_Externes_Signal);

                                  // Wert eingestellte Schaltschwelle ermitteln --------------
    Schaltschwelle = analogRead(Pin2_Schaltschwelle);    
                                  // Wert skalieren auf Bereich 0,5 bis 4,5 V
                                  // 0,5V = 102 / 4,5V = 920
    int x = Wert_skalieren (Schaltschwelle, 102, 920);
    Schaltschwelle = x;

                                  // Wert eingestellte Hysterese ermitteln -------------------
    Hysterese = analogRead(Pin7_Hysterese);    
                                 // Wert skalieren Bereich 5% bis 75% Bereich 0 - 2,5V
                                 // 5% = 25 / 75% = 383
    x = Wert_skalieren (Hysterese, 25, 383);
    Hysterese = x;

                                  // Relais EIN (Untergrenze unterschritten) -----------------
    int Untere_Grenze = Schaltschwelle - Hysterese;
    if (Untere_Grenze < 51) {
        Untere_Grenze = 51;       // Unterste Grenze (Schaltschwelle - Hysterese = 0,25V)
    }
    if (Externes_Signal < Untere_Grenze) {
        digitalWrite(Pin5_Relais, HIGH);                
    }
                                  // Relais AUS (Obergrenze überschritten) -------------------
    int Obere_Grenze = Schaltschwelle + Hysterese;
    if (Obere_Grenze > 971) {
        Obere_Grenze = 971;       // Oberste Grenze (Schaltschwelle + Hysterese = 4,75V)
    }
    if (Externes_Signal > Obere_Grenze) {
        digitalWrite(Pin5_Relais, LOW);                
    }                                         
}

// *******************************************************************************************
int Wert_skalieren (int Wert, int Grenze_Unten, int Grenze_Oben) {

    float a = float(Wert) / 1023;
    a = a * (Grenze_Oben - Grenze_Unten);
    a = a + Grenze_Unten;
    int Neuer_Wert = int(a);
    return Neuer_Wert;
}

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


Kurzvideo

Kurzvideo


Weitere Themen:


Google-Suche auf MEINE-SCHALTUNG.de :


Home Impressum Datenschutz