Ventil Insel von Festo


Google-Suche auf MEINE-SCHALTUNG.de :





Online Rechner

Chronik

Dauerkalender


Voltmeter mit Zähler CD74HCT193E


Schaltung Voltmeter mit Zähler


In diesem Experiment wird Spannung auf eine ziemlich unkonventionelle Weise gemessen und visualisiert. Für die Anzeige des gemessenen Wertes kommen zwei Zähler CD74HCT193E zum Einsatz. Die zu messende Spannung wird mithilfe des Mikrocontrollers ATtiny85 aufgenommen. Der Mikrocontroller wandelt intern den analogen Wert in eine Zahl, die einen Wert zwischen 0 und 1023 annehmen kann. Dies ist darauf zurückzuführen, dass der interne AD-Wandler des Mikrocontrollers über eine Auflösung von 10 Bit verfügt. Diese Zahl wird umgewandelt und in Form von Impulsen zu den beiden Zählern CD74HCT193E weitergeleitet. Sie zählen die Impulse und wandeln den aktuellen Zählerstand in eine BCD-codierte Zahl, die an ihren Ausgängen ausgegeben wird. An den Ausgängen der Zähler werden Leuchtdioden angeschlossen, die dann die Zahl binär anzeigen. Des weiterem sind die Ausgänge der Zähler mit den Eingängen der BCD-Decoder 74HC4511 verbunden, die in der Lage sind, 7-Segmentanzeigen anzusteuern. An die Decoder sind zwei 7-Segmentanzeigen angeschlossen, die die gemessene Spannung als Ziffern in Dezimalsystem anzeigen. Die Schaltung hat eine Spannungsversorgung von 5 VDC. Das ist auch gleichzeitig die Spannung, die gemessen wird. Unsere Anzeigen, binär und dezimal, bestehen jeweils aus zwei Komponenten. Die erste Anzeige zeigt den Wert der Spannung vor dem Komma, die zweite nach dem Komma. Mit einem „echten“ Voltmeter wird beim Testen der Schaltung geprüft, ob ein solcher Weg der Spannungsmessung möglich ist und ob der gemessene und angezeigte Wert dem tatsächlichen Spannungswert entspricht.

Mikrocontroller

Mikrocontroller

Die Aufgabe des Mikrocontrollers ist es, die zu messende Spannung in eine Zahl umzuwandeln und sie in Form von nacheinander folgenden Impulsen über digitale Ausgänge auszugeben. Damit der Vorgang des Zählens für menschliche Auge nicht wahrnehmbar bleibt, beträgt die Impulsdauer lediglich 1 Mikrosekunde. Erst nachdem die Impuls-Pakete komplett abgeschickt wurden, erfolgt eine längere Pause (in unserem Beispiel 250 ms), die es erlaubt, die Leuchtdioden und 7-Segmentanzeigen einzuschalten und den Endwert anzuzeigen. Bei der Methode wird die Tatsache genutzt, dass die Leuchtdioden über eine gewisse Trägheit verfügen. Wenn man sie für eine ausreichend kurze Zeit ausschaltet und dann wieder einschaltet, bleibt der Vorgang für menschliche Auge unsichtbar.


Zähler

Vor- und Rückwärtszähler

Bei dem Zähler handelt es sich um einen Vor- und Rückwärtszähler. Die Tatsache, dass er in beiden Richtungen zählen kann, wird in unserer Schaltung nicht verwendet. Es bestünde nämlich die Gefahr, dass sich ein Impuls „verliert“ und eine Fehlanzeige erfolgt. Um dem vorzubeugen, wird nur vorwärts gezählt. Damit die Methode wiederum zum Erfolg führt, müssen die Zähler, bevor ein neues Impuls-Paket in Empfang genommen werden kann, gelöscht werden. Bei jeder Neuzählung starten die Zähler also mit 0. Damit auch der Reset-Vorgang unbemerkt bleibt, dauert er lediglich eine Mikrosekunde.

Zähler CD74HCT193E


BCD-Decoder

BCD-Decoder

Der BCD-Decoder 74HC4511 wurde speziell für die 7-Segmentanzeigen entwickelt. Er hat vier Eingänge, die Informationen in BCD-codierter Form empfangen. Der Eingangswert wird intern umgewandelt und an sieben Ausgänge, die an eine 7-Segmentanzeige angeschlossen werden können, ausgegeben. Durch die Anwendung eines solchen BCD-Decoders wird Verdrahtungsaufwand reduziert.

BCD-Decoder 74HC4511


7-Segmentanzeige

7-Segmentanzeige

Die 7-Segmentanzeige 5101AH ist eine Anzeige, die über eine gemeinsame Kathode verfügt. Es werden demnach mit HIGH-Signalen die einzelnen Elemente der Anzeige angesteuert. Eigentlich besteht die Anzeige nicht aus sieben, sondern aus acht Elementen. Bei der Nummer acht handelt es sich um einen Punkt.

7-Segmentanzeige 5101AH


Schaltplan

Schaltplan


Testschaltung

Testschaltung


Programm

// *******************************************************************************************
// Voltmeter mit Zähler CD74HCT193E
// Eine Schaltung mit ATtiny85, 2 Zähler CD74HCT193E und 2 7-Segment-BCD-Decoder CD74HC4511E
// Arduino IDE 2.3.4
// *******************************************************************************************

int Impuls_vor_Komma = 2;                             // Impulse Ziffer vor Komma
int Impuls_nach_Komma = 1;                            // Impulse Ziffar nach Komma
int Zaehler_Reset = 0;                                // Impuls beide Zähler Reset
int Spannung_Pin = 3;                                 // Analoger Eingang (Spannung Messung)
int Leuchtdioden_ein_aus = 4;
int Spannung;                                         // Gemessene Spannung (0-1023)
int Spannungswert_vor_Komma;                          // Errechneter Wert Ziffer von Komma
int Spannungswert_nach_Komma;                         // Errechneter Wert Ziffer nach Komma

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

    pinMode(Impuls_vor_Komma, OUTPUT);                // Pin 7 als Ausgang definiert
    pinMode(Impuls_nach_Komma, OUTPUT);               // Pin 6 als Ausgang definiert
    pinMode(Zaehler_Reset, OUTPUT);                   // Pin 5 als Ausgang definiert
    pinMode(Leuchtdioden_ein_aus, OUTPUT);            // Pin 3 als Ausgang definiert
}

// *******************************************************************************************
void loop() {
        
    Spannung = analogRead(Spannung_Pin);              // Spannung Messung (Max 1023)
    Spannungswert_vor_Komma = Spannung / 204;         // Vereinfachte Rechenformeln
    Spannungswert_nach_Komma = Spannung - (Spannungswert_vor_Komma * 204);
    Spannungswert_nach_Komma = Spannungswert_nach_Komma / 22;
    
    digitalWrite(Leuchtdioden_ein_aus, HIGH);         // Leuchtdioden AUS

    digitalWrite(Zaehler_Reset, HIGH);                // Beide Zähler Reset, Impuls EIN
    delayMicroseconds (1);                            // Wartezeit
    digitalWrite(Zaehler_Reset, LOW);                 // Impuls AUS
    delayMicroseconds(1);                             // Wartezeit
                                                      // Impulse ausgeben, Ziffer vor Komma
    for (int i=0; i < Spannungswert_vor_Komma; i++) {
        digitalWrite(Impuls_vor_Komma, HIGH);         // Impuls EIN
        delayMicroseconds (1);                        // Wartezeit (Impulsdauer)
        digitalWrite(Impuls_vor_Komma, LOW);          // Impuls AUS
        delayMicroseconds (1);                        // Wartezeit
    }
                                                      // Impulse ausgeben, Ziffer nach Komma
    for (int i=0; i <Spannungswert_nach_Komma; i++) {
        digitalWrite(Impuls_nach_Komma, HIGH);        // Impuls EIN
        delayMicroseconds (1);                        // Wartezeit (Impulsdauer)
        digitalWrite(Impuls_nach_Komma, LOW);         // Impuls AUS
        delayMicroseconds (1);                        // Wartezeit
    }

    digitalWrite(Leuchtdioden_ein_aus, LOW);         // Leuchtdioden EIN

    delay(250);                                       // Anzeige Zeit
}

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


Kurzvideo

Kurzvideo


Weitere Themen:


Google-Suche auf MEINE-SCHALTUNG.de :


Home Impressum Datenschutz