Simatic CPU 1500


Google-Suche auf MEINE-SCHALTUNG.de :





Online Rechner

Chronik

Dauerkalender


Lade- und Entladekurve des Kondensators

(Kondensator, Arduino und TFT-Display)


TFT-Display Shield

Die Abmessungen des Displays betragen 71 x 52 mm, seine Auflösung 240 x 320 Pixel. Bei dem Display handelt es sich um ein Touchscreen. Die Touch-Funktion wird in dem Versuch nicht verwendet.


In der Schaltung untersuchen wir einen Kondensator auf sein Verhalten im elektrischen Stromkreis. Speziell interessiert uns der Spannungsverlauf während des Ladens und Entladens. Der Spannungsverlauf wird auf einem Grafik-Display dargestellt.
Die Schaltung besteht lediglich aus fünf Komponenten. Untersucht wird ein Elektrolytkondensator (ELKO) mit einer Kapazität von 100 µF. Damit das Aufladen und Entladen des Kondensators nicht allzu schnell vonstattengeht, wird ihm ein Vorwiderstand im Wert von 56 kOhm vorgeschaltet.
Die aktuelle Spannung am Kondensator wird mit einem Multimeter gemessen. Darüber hinaus wird der Kondensator an Arduino angeschlossen. Die aktuelle Spannung wird an seinem analogen Eingang A8 registriert. Der Wert der Spannung wird in gleichen zeitlichen Abständen gemessen und auf dem Display angezeigt.
Die fünfte Komponente ist ein Schalter, mit dem entschieden wird, ob der Kondensator geladen oder entladen wird.

Arduino Mega ohne aufgesteckten Shield

Arduino Mega

Arduino Mega mit Display

Bei dem Display handelt es sich um ein Modul, das als Arduino-Shield ausgeführt wurde. Es beinhaltet die Treiber ILI9341 und XPT2046 mit der notwendigen Umgebungselektronik. Das Shield wird auf Arduino gesteckt, wodurch die Verdrahtung des Displays entfällt.

Schaltplan

Schaltplan



Testschaltung

Testschaltung



Das Programm (Sketch)

Damit das Programm funktionieren kann, müssen die entsprechenden Bibliotheken installiert werden. Die Installation führt man mit dem Bibliotheksverwalter durch. In dem Beispiel wurde auch die Bibliothek für Touchscreen-Funktion mit eingebunden. In dem Beispiel könnte man auf sie verzichten, da die Touch-Funktionen hier nicht verwendet werden. Bei Nutzung der Touch-Funktionen kann es erforderlich sein, das Display zu kalibrieren.
Die Vorgehensweise ist hier beschrieben:

Touchscreen - Schaltzentrale


Das Programm besteht lediglich aus vier Zeilen (loop). In zeitlichen Abständen von 150 ms wird der Wert der Spannung an dem analogen Eingang (A8) abgefragt. Der Wert wird als ein Pixel mit Koordinaten X,Y auf dem Display eingeblendet. Die Koordinate Y steht dabei für den Spannungswert. Damit alle möglichen Werte darstellbar sind, wird der gemessene Wert durch 7 geteilt. Die Koordinaten (0,0) befinden sich in der oberen linken Ecke des Displays.

// -------------------------------------------------------------------------------------
// Arduino - Sketch
// Lade- und Entladekurve des Kondensators
// Mit Arduino Mega 2560 R3, TFT LCD 320x240
//
// MCUFRIEND_kbv.h - V 2.9.9
// Adafruit_GFX.h - V 1.5.3
// TouchScreen.h - V 1.0.3
// Arduino IDE - V 1.8.13
// -------------------------------------------------------------------------------------

#include <Adafruit_GFX.h>                                // Bibliotheken
#include <MCUFRIEND_kbv.h>
#include <TouchScreen.h>

MCUFRIEND_kbv tft;

#define BLACK   0x0000                                   // Farben Hexadezimal
#define BLUE    0x001F
#define RED     0xF800
#define GREEN   0x07E0
#define CYAN    0x07FF
#define MAGENTA 0xF81F
#define YELLOW  0xFFE0
#define WHITE   0xFFFF

int Analoger_Eingang = A8;   
int X = 0;  
int Spannung;                                  

const int XP = 8, XM = A2, YP = A3, YM = 9;              // Kalibrierungswerte
const int TS_LEFT = 70, TS_RT = 895, TS_TOP = 929, TS_BOT = 100;
TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300);

void setup(void)                                         // SetUp
{
    uint16_t identifier = tft.readID();
    tft.begin(identifier);
    tft.setRotation(1);                                  // Ausrichtung
    tft.fillScreen(BLUE);                                // Hintergrundfarbe   
    tft.setTextSize(2);                                  // Schriftgrösse
    tft.setTextColor(CYAN);                              // Textfarbe
    tft.setCursor(20, 10);                               // Cursorposition 
    tft.print("Kondensator");
    tft.setCursor(20, 30);                              
    tft.print("Lade- und Entladekurve");    
    tft.drawLine(0, 235, 320, 235, GREEN);
    tft.drawLine(0, 80, 320, 80, GREEN);
}

void loop(void) {                                        // Hauptprogramm
    Spannung = analogRead(Analoger_Eingang) / 7;
    X++;
    tft.drawPixel (X, 230-Spannung, YELLOW);
    delay(150);
}
// -------------------------------------------------------------------------------------


Kurzvideo

Kurzvideo: Lade- und Entladekurve des Kondensators


Weitere Themen:


Google-Suche auf MEINE-SCHALTUNG.de :


Home Impressum Datenschutz