-         

Ergebnis 1 bis 9 von 9

Thema: Frage zu 1-Wire Temperatursensor

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    29.07.2011
    Beiträge
    340

    Frage zu 1-Wire Temperatursensor

    Anzeige

    Hallo zusammen,

    kann mir einer von euch in etwa sagen wie lange es dauert (Zeitspanne), bis die Temperatur, über einen mittels 1 Wire angeschlossenen, Temperatursensor ausgelesen ist?

    Das eigentliche Programm hällt ja während der 1 Wire kommunikation an? Oder Passiert das wie bei der Hardware UART im Hintergrund?

    Vielen Dank für die Hilfe

    Gruß Jens

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Hallo Jens,
    die Ausführungszeiten der 1w-Befehle liegt für die meisten so um 1ms.
    So weit ich mich erinnere dauern nur die Suchbefehle (1wsearchfirst usw) etwas länger. Die Zeiten werden per Wait erreicht, dein Programm wartet also so lange.

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    1.892
    Ein AVR Controller hat kein Hardware 1wire Interface. Das bedeutet die komplette 1wire Schnittstelle wird mit Software bedient.
    Auch wenn man das bei einer fertigen Library nicht sieht.
    Das eigentliche Bedienen der 1wire Schnittstelle dürfte sehr schnell gehen.
    Allerdings braucht der 1wire Temperatur Sensor eine sog. Conversation Time, also eine Zeit in der er die aktuelle Temperatur Analog/Digital wandelt und in sein scratchpad schreibt.
    Wenn der Befehl zum A/D Wandeln gegeben wurde muss eine gewisse Zeit gewartet werden, bis die aktuellen Werte vom 1wire Chip ausgelesen werden können.
    In dieser Zeit kann der Controller auch was anderes machen - Wenn man das möchte.

    Wie das genau in Bascom gehandelt wird kann ich leider nicht sagen - Ich bin ein "C" Jünger.

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    29.07.2011
    Beiträge
    340
    Ok, jetzt habe ich folgendes Problem, das dauert alles viel zu lange. Die Millisekunde zieht meine Zykluszeit ziemlich runter.

    Welche Möglichkeiten gibt es noch an einem Atmega162 die Temperatur zu messen ohne ADC?

    Kann evtl. jemand was über den SMT160 sagen? Wie das mit einem PWM Eingang funktioniert?

    Oder, was haltet ihr von einem externen AD Converter? Ich hätte noch genügend IO Pins frei!?

    Viele Grüße
    Geändert von demmy (15.01.2013 um 22:41 Uhr)

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.08.2008
    Ort
    Hallein
    Alter
    26
    Beiträge
    802
    Wo ist dein Zeitproblem? die Takte im Kommunikationszyklus, oder das warten auf den Wert (Conversation Time). Mit richtiger Programmierung (Timerinterrupts), kann der Controller währenddessen was anderes machen.
    Kultuverein Metal Resurrection, für mehr Bands und Konzerte in Österreich (:

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    29.07.2011
    Beiträge
    340
    Das Warten auf den Wert. Das Programm soll, wenn möglich ohne stehen zu bleiben weiterlaufen. Ich würde also gerne auf Befehle wie "Wait" usw. komplett verzichten.
    Wie würde das denn mit Interrupt aussehen?

    Gruß

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.08.2008
    Ort
    Hallein
    Alter
    26
    Beiträge
    802
    Nachdem du die Anforderung gesendet hast, startest du einen Timer, der dir nach ca 1ms einen Interrupt gibt. In diesem Interrupt setzt du ein Flag, das in der main-Schleife abgefragt wird. Ist dieses Flag gesetzt, liest du den Wert vom Sensor aus und setzt das Flag zurück. Somit kann der Microcontroller während dem warten etwas anderes tun, da der Timer hardwarebasiert ist.
    Kultuverein Metal Resurrection, für mehr Bands und Konzerte in Österreich (:

  8. #8
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    29.07.2011
    Beiträge
    340
    Ahh ok, das hört sich sehr interessant an, und könnte das sein, wonach ich gesucht habe.
    Eine Frage nur noch, mit welcher Zeitspanne ist beim Senden der Anforderung sowie beim Auslesen des Temperaturwertes zu rechnen?
    Ich werde es in jedem Fall testen.

    Vielen Dank schon mal!

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Das kommt auf den Sensor an. Mit einer Sekunde bist Du auf der sicheren Seite. Geht oft aber auch schon mit 700mS. Falls Du den parasitären Modus nimmst, ist eine Sekunde besser.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

Ähnliche Themen

  1. Frage zu 1-Wire
    Von Razer im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 21.06.2006, 20:56
  2. Frage: Temperatursensor DS18B20
    Von pod32 im Forum Sensoren / Sensorik
    Antworten: 7
    Letzter Beitrag: 03.01.2006, 13:54
  3. 1-Wire Temperatursensor DS18B20
    Von LuK-AS im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 02.12.2005, 19:32
  4. One Wire / 1 Wire mit PIC ?
    Von DHigh im Forum PIC Controller
    Antworten: 2
    Letzter Beitrag: 24.08.2005, 21:22
  5. Temperatursensor Frage (ausführlich gestellt) ;-)
    Von X-Plod im Forum Sensoren / Sensorik
    Antworten: 7
    Letzter Beitrag: 22.12.2004, 22:29

Berechtigungen

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