DS18B20 Reset Pulse nicht GND ?

Gast #3805656
Hallo,

ich nutze einen ATmega168 und möchte mittels DS18B20+ Temperaturen 
erfassen.
Als Software nutze ich die von peter dannegger 
[Beitrag "DS1820, DS18B20 in C"].

Folgendes Problem liegt bei mir vor:
Ist der DS18B20+ eingebaut, kann der µC beim Reset Pulse von 480µs die 
Leitung nicht auf GND ziehen, sondern auf nur ca. 4,8 V. Löte ich das 
Teil aus, wird PD0 wie gewünscht auf GND gezogen.

Ist dieses Verhalten normal oder liegt ein Fehler vor?
Ist der DS18B20+ kaputt?

Folglich wird bei mir kein Sensor gefunden: "No Sensor found" .


Grüße
Gast
Hm. Der Widerstand ist korrekt und ohne den Sensor klappt's. Da müsste 
also der Sensor den Kurzschluss verursachen und Vcc an DQ anliegen.

Komisch nur das der Controller trotzdem weiter arbeitet und nicht 
verreckt ist.

Was für einen Widerstand müsste ich am Sensor zwischen Vcc und DQ 
messen?
Moderator (Firma: Titel) Persönliche Seite
qwertz schrieb:
> Komisch nur das der Controller trotzdem weiter arbeitet und nicht
> verreckt ist.
Ach, an einem einzigen Pin kannst du lange einen Kurzschluss anlegen. 
Der Bahnwiderstand des Ausgangstransistors (30..50 Ohm) verhindert 
Schlimmeres: der uC wird zwar warm, geht aber nicht kaputt. Ab zwei 
kurzgeschlossenen Pins wirds dann interessant...
Gast
> Hast du davon denn nur einen einzigen? Probier halt nen zweiten.
leider ja - nur einen :(

> Wahrscheinlich nur verpolt.
Mehrmals kontrolliert. Alles richtig.

Wenn ich den Widerstand messe: alles gegen alles - unendlich
(Firma: Vescomp)
qwertz schrieb:
> Wenn ich den Widerstand messe: alles gegen alles - unendlich

 Pullup stehen lassen, Sensor rausziehen - kann der uC die Leitung
 auf 0 ziehen ?
 Wenn nein, Pullup wegschmeissen.

 Wenn ja, Sensor reinstecken, kann der uC die Leitung auf 0 ziehen ?
 Wenn nein, nicht lange rumrätseln, Sensor wegschmeissen, einen
 neuen besorgen.
Gast
>  Wenn ja, Sensor reinstecken, kann der uC die Leitung auf 0 ziehen ?
>  Wenn nein, nicht lange rumrätseln, Sensor wegschmeissen, einen
>  neuen besorgen.

Das ist der Fall. Ich besorg einen neuen.

Danke für all die Hilfe!
Gast
Wie ist das eigentlich im parasite power mode?

"Optional VDD. VDD must be grounded for operation in
parasite power mode."

D.h. ich müsste statt 5V an Vcc GND anlegen?

Im Quelltext von peter dannegger [Beitrag "DS1820, DS18B20 in C"] heißt 
es:
1
void start_meas( void )
2
{
3
  if( W1_IN & 1<< W1_PIN )
4
  {
5
    w1_command( CONVERT_T, NULL );
6
    W1_OUT |= 1<< W1_PIN;
7
    W1_DDR |= 1<< W1_PIN;      // parasite power on
8
  }
9
  else
10
  {
11
    //uputsnl( "Short Circuit !" );
12
  }
13
}

Allerdings wird in der Funktion w1_command() gleich zu Beginn w1_reset() 
ausgeführt:
1
bit w1_reset(void)
2
{
3

4
   bit err;
5
  
6
  W1_OUT &= ~(1<<W1_PIN);        // PD0 auf low
7
  W1_DDR |= 1<<W1_PIN;          // PD0 auf Ausgang
8
  
9
  DELAY( DELAY_US( 480 ));        // 480 µs warten
10
  cli();                // interrupts sperren
11
  W1_DDR &= ~(1<<W1_PIN);        // PD0 auf Eingang
12
  DELAY( DELAY_US( 66 ));        // 66 µs warten
13
  err = W1_IN & (1<<W1_PIN);      // no presence detect
14
  sei();                // interrupts freigeben
15
  DELAY( DELAY_US( 480 - 66 ));
16
  if( (W1_IN & (1<<W1_PIN)) == 0 )    // short circuit
17
    err = 1;
18
  return err;
19
}

Und in dieser Funktion wird ja sozusagen erkannt, dass kein Sensor, bzw 
ein defekter, angeschlossen ist.
Gast
Möglicher Grund für den Defekt?
Hab nämlich an Vcc 5 V anliegen und wenn das Programm beim ersten mal 
bis "parasite power on" kam... ?!
Oder juckt das den IC nicht?
qwertz schrieb:
> Woran erkennt man, dass die Software beide Anschlusstechniken frisst?

Durchlesen. Auf die von Peter Danegger trifft es zu.

Ausserdem wird dir eine für den parasitären Modus geschriebene und 
funktionierende Software deinen mit 5V Anschluss versehenen Sensor nicht 
abschiessen. Umgekehrt auch nicht, nur funktioniert es dann nicht.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.