mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SHT75 Temp/Feuchte Sensor an ATmega128


Autor: Daniel Buergin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen

Bin ein Umsteiger von der C-Control II und BasicStamp Fraktion ;-)
Von dort habe ich noch zwei SHT75 Sensoren, welche ich nun an meinem
AVRCARD (ATmega128) zum laufen bringen möchte. RTC über I2C und DCF77
Funkuhrempfänger laufen bereits (vorallem dank den vielen gescheiten
Köpfen im Internet). Beim SHT75 stehe ich aber jetzt an.
Habe verschiedenste Code-Fragmente und Diskussionen im Internet
gefunden, aber laufen will keines davon.

Der Sensor und die Stromversorgung (12V und 5V über Spannungsreger)
und
gemeinsamer Masse sollten ok sein, daran läuft die C-Controll II und
der Sensor ohne Probleme.

Ich habs mit zwei verschiedenen Code-Sammlungen probiert. Eine von
www.mc-projekte.de, die andere weiss ich nicht mehr woher.
Beide kann ich kompilieren und einbinden, liefern aber beide
jeweils -40 und -4 als Werte für Temp. und Feuchte zurück.
Bekommen also beim Abfragen des Sensors nichts oder Null zurück.

Nun kommt das Spannende. Wenn ich beginne im Code massive Warte-
schleifen im Milisekundenbereich einzubauen, erscheinen plötzlich
Werte in der Temperatur und Feuchte. Machen zwar keinen Sinn,
verändern sich aber wenn ich den Sensor in die Hand nehme ???

Da ich kein Oszilloskop habe, kann ich das Timing nicht genau
debuggen. Bevor ich nun Tage lange Warteschleifen einbaue, die
folgenden Fragen:

- Kennt ev. jemand dieses Verhalten und kann es mir erklären.
- Ist das wirklich ein Timingproblem, oder übersehe ich etwas ?
- Könnte das am Compiler liegen (Optimierung ist ausgeschaltet)
  Ich verwende den AVR-GCC 3.4.3 unter Linux
- Hat ev. jemand diesen Sensor mit einem ATmega128 zum laufen
  gebracht.

Noch ein paar Infos. SHT75 hängt an PORTA Pin 2 und 3. Es ist
keine externes Memory vorhanden, desshalb sollte der PORTA frei
sein. Ich verwende den Timer0 mit einer Auflösung von 1ms. Am
INT4 hängt die DCF77 und interrupted die CPU im Sekundentakt.

Den Code kann ich jederzeit posten wenn gewünscht.

Für jede Hilfe bin ich äusserst dankbar. Im Moment bin ich
in einer Verzweiflungsphase ;-)

Daniel

Autor: Daniel Buergin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Habe den Fehler gefunden. Beim lesen über den DATA Pin
war der PORTA Pin nicht auf 1 und somit der interne Pull-Up
nicht zugeschaltet.

Tja, man darf eben nie aufgeben...

Gruss

Daniel

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.