- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 12

Thema: Problem mit Temperaturmessung mittels ATtiny 13 und LM335

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von malthy
    Registriert seit
    19.04.2004
    Ort
    Oldenburg
    Beiträge
    1.379
    Hey,

    ich hab den LM335 noch nicht verwendet, aber auf den ersten Blick ins Datenblatt sieht's mir so aus, als sei Deine Beschaltung falsch. Der Sensor ist so eine Art spannungsabhäniger Zenerdiode. Du musst quasi einen Spannungsteiler aus einem Widerstand und dem LM335 aufbauen und dann die Spannung über dem LM335 messen. Also VCC-R-LM335-GND, zwischen R und LM335 greift dann der ADC vom AVR das Temperatursignal ab.

    Das war nur ein flüchtiger Blick ins DB, guck's Dir auch nochmal an.

    Gruß
    Malte

  2. #2
    Neuer Benutzer Öfters hier Avatar von MB12
    Registriert seit
    25.07.2015
    Ort
    Hochsauerland
    Beiträge
    22
    Also VCC-R-LM335-GND, zwischen R und LM335 greift dann der ADC vom AVR das Temperatursignal ab.
    Genauso hab ich es ja, nur dass bei mir VCC durch Pin 1 ausgegeben wird. Dadurch ändert aber doch nichts an der Beschaltung, oder?

    Gruß,
    Marius

    - - - Aktualisiert - - -

    Ich sehe gerade, dass da im Schaltplan ein Fehler ist, ich habe es so geschaltet: Pin 2 (führt während der Messung VCC) - R - LM 335 - GND und zwischen R und dem LM 335 greife ich das Signal ab und messe es an Pin 3.

    - - - Aktualisiert - - -

    Klicke auf die Grafik für eine größere Ansicht

Name:	Schaltplan mit LM335 neu.jpg
Hits:	15
Größe:	25,6 KB
ID:	30545

    So ist es geschaltet

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.698
    .. Ich sehe gerade, dass da im Schaltplan ein Fehler ist, ich habe es so geschaltet: ... zwischen R und dem LM 335 greife ich das Signal ab und messe es an Pin 3 ...
    Ich teile Maltes Meinung, irgendwas ist durcheinander.

    Der offensichtlichvermutlichhoffentlich richtige Anschluss des LM335 im ZULETZT gezeigten Schaltplan geht an
    Pin 3 (des Gehäuses) = PB4 = ADC2 = PCINT4 (was für ein Chaos :-/ ).
    Da es ein "getadc(0)" gibt (ich habe das erste Mal in meinem Leben Bascom-Lehrseiten zu Rate gezogen) , scheint das getadc(x) mit x den ADC-PORT zu bezeichnen, in diesem Fall also wohl getadc(2) ADC>>2<< - hoffe ich. Im Code steht aber - siehe meinen obigen Beitrag, Malte hats gelesen*gg* - getadc(3). Knapp vorbei ist eben auch daneben.

    Und das ist möglicherweise das hinterhältige Dilemma: ADC2 ist PB4 - und Bascom holt sich wohl ADC3. Deutlicher kann ich es nu nich mehr sagen. Wenn doch Fehler auftreten, sollte das woanders liegen:
    .. Wenn ich mit dem Multimeter an den Beinchen 3 und 4 manuell nachmesse komme ich auf 3,2 Volt, was ca 48 Grad Celsius entspricht ..
    Eben.
    Geändert von oberallgeier (03.08.2015 um 16:29 Uhr)
    Ciao sagt der JoeamBerg

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.698
    Hi Marius,

    denk an Maltes Anmerkung in Deinem andern Thread über Deine "$crystal = ..."-Zeile. Da Du auch in diesem Schaltplan keinen Quarz hast, ist Deine Codezeile mit "$crystal = 4000000" keinen Pfifferling wert - vielmehr schickt sie den Controller "in die Irre". Dein Controller dürfte (nach Deinen Angaben im andern Thread - CKSEL[1:0] = 01) mit 4,8 MHz tickern. Mit andern Fuses allenfalls mit einer der anderen möglichen Frequenzen, die Du mit dem internen Oszillator erreichen kannst: 9,6 MHz, 4,8 MHz, 1,2 MHz, 128 kHz etcetc.

    Im anderen Thread wurde schon darauf hingewiesen, dass Du den internen Oszillator per Fuses parameterisieren kannst; dabei sind aber die 4,000 MHz nicht drin. Und Dein Code ist NUR DANN richtig und bringt das gewünschte Ergebnis, wenn diese Angabe "$crystal = .." der tatsächlichen Frequenz des Controllers entspricht.

    Übrigens: für den ADC gelten Einschränkungen in der Programmierung des Taktes, der muss zwischen 50 kHz und 200 kHz getaktet werden für gute Wandlungsergebnisse, bei geringen Ansprüchen könnte der Takt schneller sein (die Samplezeit wird dann kürzer). Wie das in Bascom geschieht musste selbst raussuchen, vielleicht macht das Dein "Prescaler = Auto", vielleicht auch nicht.
    Ciao sagt der JoeamBerg

  5. #5
    Neuer Benutzer Öfters hier Avatar von MB12
    Registriert seit
    25.07.2015
    Ort
    Hochsauerland
    Beiträge
    22
    Hi,

    danke für den Hinweis, die Zeile ist natürlich überflüssig, aber das ist das Problem leider nicht, habe es gerade getestet.
    Der Takt des ADC wird meines Wissens nach über den Prescaler eingestellt.

    Gruß

    Marius

  6. #6
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.698
    ..aber das ist das Problem leider nicht, habe es gerade getestet..
    Liegts vielleicht am Portpin den Du als ADC benutzen willst?

    Code:
    Config Portb.3 = Output
    Sensorversorgung Alias Portb.3                              'GND oder +5V für Messung
    Sensorversorgung = 1
    und weiter gehts mit:
    Code:
    Config Portb.4 = Input                                      'ADC Initialisieren
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    Start Adc
    Dim Messergebnis As Word                                   'Variable für gemessenen Wert
    Waitms 500
    Ledgruen = 1
                                                     
    Messergebnis = Getadc(3)                                     'Erste Temperaturmessung
    Mit Getadc(3) wird doch der PB3 abgefragt, der ist aber weiter oben als Output definiert ? ? ? Oder ? ?
    Ciao sagt der JoeamBerg

  7. #7
    Erfahrener Benutzer Roboter Genie Avatar von malthy
    Registriert seit
    19.04.2004
    Ort
    Oldenburg
    Beiträge
    1.379
    Liegts vielleicht am Portpin den Du als ADC benutzen willst?
    Ich wollt's auch gerade schreiben, irgendwas ist jetzt durcheinander ... Dein letztes Posting verstehe ich so, dass der Sensor an ADC2 hängt

    Ansonsten sorry, ich hatte nur einmal schnell auf das Schaltbild und nicht in Deinen Code geguckt, daher habe ich die Versorgung des Sensors über den Port nicht erkannt (wobei ich den Sinn auch nicht ganz verstehe ...).

    Gruß
    Malte

  8. #8
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    37
    Beiträge
    5.093
    Vielleicht ist der Sensor an den Port angeschlossen um Strom zu sparen.

    MfG Hannes

  9. #9
    Neuer Benutzer Öfters hier Avatar von MB12
    Registriert seit
    25.07.2015
    Ort
    Hochsauerland
    Beiträge
    22
    Mit Getadc(3) wird doch der PB3 abgefragt, der ist aber weiter oben als Output definiert ? ?
    Aber Pin 3 ist doch PB4 oder verstehe ich das falsch?

    Dein letztes Posting verstehe ich so, dass der Sensor an ADC2 hängt
    Ja, genau so ist es

    Sensor an den Port angeschlossen um Strom zu sparen
    Korrekt

Ähnliche Themen

  1. [ERLEDIGT] Attiny 25 Problem
    Von Unregistriert im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 21.02.2014, 17:31
  2. Problem mit Attiny 13A-PU
    Von Der Einsteiger im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 34
    Letzter Beitrag: 19.07.2013, 15:39
  3. Antworten: 18
    Letzter Beitrag: 06.05.2012, 21:07
  4. Problem mit LM335 Temperatur Sensor
    Von daniel.weber im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 15.02.2009, 19:40
  5. Problem mit ATtiny 15
    Von humus im Forum AVR Hardwarethemen
    Antworten: 7
    Letzter Beitrag: 29.06.2006, 22:47

Stichworte

Berechtigungen

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

LiFePO4 Speicher Test