- Labornetzteil AliExpress         
Seite 5 von 5 ErsteErste ... 345
Ergebnis 41 bis 50 von 50

Thema: Befehl: Eingang prüfen (ATtiny13)

  1. #41
    Erfahrener Benutzer Roboter Experte Avatar von BurningWave
    Registriert seit
    22.12.2007
    Ort
    nahe Stuttgart
    Alter
    30
    Beiträge
    656
    Anzeige

    Powerstation Test
    Wie kann man die Spannung, die an einem PIN anliegt, auslesen?
    Gibt es dafür einen Befehl bzw. Gruppe von Befehlen?
    Einfach die Spannung, die an einer normalen Pin anliegt auslesen geht nicht. Dazu musst du den Analog/Digital-Wandler benutzen (siehe: http://www.rn-wissen.de/index.php/ADC_(Avr) ). Da die ganz kleinen AVRs nur sehr wenige (wenn überhaupt) Pins haben, die man analog auslesen kann, habe ich dir empfohlen, einen größeren AVR zu nehmen.
    meine Homepage: http://www.jbtechnologies.de
    Hauptprojekte: Breakanoid 2 - Sound Maker

  2. #42
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    15.04.2008
    Beiträge
    330
    Laut Datasheet verfügt er über 4 ADCs... Dürfte also kein Problem sein...

    angenommen ich nehme so einen Widerstand, der mit der Temperatur mehr Widerstand hat... Wie beschalte ich ihn, bzw. lese ich ihn dann aus?

  3. #43
    Erfahrener Benutzer Roboter Experte Avatar von BurningWave
    Registriert seit
    22.12.2007
    Ort
    nahe Stuttgart
    Alter
    30
    Beiträge
    656
    Dieser Widerstand heißt NTC-Widerstand, einfach das eine Ende an eine ADC-Pin anschließen, das andere an Masse und dann noch AVCC beschalten und wie es angesteuert wird kannst du bei diesem Lnk nachlesen.
    meine Homepage: http://www.jbtechnologies.de
    Hauptprojekte: Breakanoid 2 - Sound Maker

  4. #44
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    15.04.2008
    Beiträge
    330
    Ok, danke

    Das Anschließen scheint ja ziemlich einfach...


    Aber auf der Seite steht ziemlich viel Quellcode, den ich kaum verstehe...

    #include <avr/io.h>
    #include <inttypes.h>

    uint16_t readADC(uint8_t channel) {
    uint8_t i;
    uint16_t result = 0;

    // Den ADC aktivieren und Teilungsfaktor auf 64 stellen
    ADCSRA = (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1);

    // Kanal des Multiplexers waehlen
    // Interne Referenzspannung verwenden (also 2,56 V)
    ADMUX = channel | (1<<REFS1) | (1<<REFS0);

    // Den ADC initialisieren und einen sog. Dummyreadout machen
    ADCSRA |= (1<<ADSC);
    while(ADCSRA & (1<<ADSC));

    // Jetzt 3x die analoge Spannung and Kanal channel auslesen
    // und dann Durchschnittswert ausrechnen.
    for(i=0; i<3; i++) {
    // Eine Wandlung
    ADCSRA |= (1<<ADSC);
    // Auf Ergebnis warten...
    while(ADCSRA & (1<<ADSC));

    result += ADCW;
    }

    // ADC wieder deaktivieren
    ADCSRA &= ~(1<<ADEN);

    result /= 3;

    return result;
    }

    int main(void) {
    uint16_t result = readADC(0); //Auslesen der analogen Spannungen an Pin 0,
    // also ADC0. In result steht das Ergebnis.
    return 0;
    }


  5. #45
    Erfahrener Benutzer Roboter Experte Avatar von BurningWave
    Registriert seit
    22.12.2007
    Ort
    nahe Stuttgart
    Alter
    30
    Beiträge
    656
    Aber auf der Seite steht ziemlich viel Quellcode, den ich kaum verstehe...
    War das eine Frage? Ich würde dir raten, dich erst einmal mit einfacheren Dingen wie den grundlegenden Befehlen und dem Aufbau eines AVRs zu beschäftigen, um den Code zu verstehen. Ansonsten findest du im Internet genug Informationen.
    meine Homepage: http://www.jbtechnologies.de
    Hauptprojekte: Breakanoid 2 - Sound Maker

  6. #46
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    15.04.2008
    Beiträge
    330
    Ok, danke, werde mich mal nach leichteren (grundlegenderen) Programmen umschauen...

    Auf jeden Fall danke für die Hilfe bis hierher...

    Mfg

  7. #47
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    15.04.2008
    Beiträge
    330
    Hätte ne Frage:

    Wenn ich zwischen Eingangspin und +Pol einen temperaturabhängigen Widerstand hänge, soll der Chip doch die Spannung auslesen, dadurch kann man die Temperatur ermitteln....

    Wenn ich das jetzt aber mit dem Ohmschen Gesetz berachte, komme ich zu dem Schluss, dass die Spannung vor und hinter dem Widerstand gleich hoch ist, nur die Stromstärke variiert....

  8. #48
    Erfahrener Benutzer Roboter Experte Avatar von BurningWave
    Registriert seit
    22.12.2007
    Ort
    nahe Stuttgart
    Alter
    30
    Beiträge
    656
    Nein die Stromstärke bleibt gleich, am Widerstand fällt jedoch um so mehr Spannung ab, um so größer er ist.

    Aber man kann -wie gesagt- diese Spannung nur mit dem A/D-Wandler und einer entsprechenden ADCx-Pin auslesen.
    meine Homepage: http://www.jbtechnologies.de
    Hauptprojekte: Breakanoid 2 - Sound Maker

  9. #49
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    15.04.2008
    Beiträge
    330
    Da dreht sich mein Kopf irgendwie im Kreis....

    Angenommen ich habe 5V und 30 Ohm... Dann sollte doch hinter dem Widerstand ein Strom von 0,166 Ampere fließen...

    0,166 Ampere mal 30 Ohm ist aber wieder 5 V.... Oder muss ich dann mit den Ohm der Leitung rechnen??

  10. #50
    Erfahrener Benutzer Roboter Experte Avatar von BurningWave
    Registriert seit
    22.12.2007
    Ort
    nahe Stuttgart
    Alter
    30
    Beiträge
    656
    Du hast die Formel U=R*I. Wenn du die Spannung, die am Pin anliegt ausrechnen willst, machst du das mit dieser Formel (dazu musst du die Stromstärke messen und NICHT ausrechnen).
    meine Homepage: http://www.jbtechnologies.de
    Hauptprojekte: Breakanoid 2 - Sound Maker

Seite 5 von 5 ErsteErste ... 345

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress