mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Temperatur mit MAX66xx


Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi all,

hat schon einmal jemand zuverlässig mit der Temp-Sensor-Reihe von Maxim
MAX66xx (genau hab ich den MAX6630) die Temp ausgelesen?

Ich bekomme von dem Teil hier aufm Schreibtisch 0011001000010000
zurück, das währen dann stolze 100,125 Grad ?!?

Jemand Erfahrungen mit den Teilen?

Gruß Micha,

PS: Wenn jetzt jemand nach Quellcode fragen sollte, selbst mit dem
Funktionsgenerator bringt er den Müll auf DO raus! Ja, mit dem Oszi
sehe ich das, ...das gleiche! :)

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Micha,
Wie wir das Problem lösen können, weiß ich noch nicht.
Bei mir läuft ein (bzw. zwei) MAX6630 problemlos über SPI an einem
MSP430F149. Was würde Dir evtl. weiterhelfen?
MfG
Wolfgang

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Wolfgang,

vielen Dank für deine schnelle Antwort.

ja, wie das Problem zu lösen ist, ist echt eine gute Frage. Ich habe
alles nochmals durchgeschaut und auch das Timing bestimmt hundert mal
kontrolliert. Nix!

Ich hab das Timing zu Fuss Programmiert auf einem AVR. CS Low, Tcss
sicher verstreichen lassen und dann Clock für Clock... laut Datenblatt
halt. Mit den Patterngeneratur macht er das gleiche. Wobei man sagen
muss, bei den Timing kann man auch nicht viel falsch machen! :)

Kann du vielleicht mal dein Quellcodeschnippsel posten, soweit es nicht
Gehiem ist? :)

Hier mal mein Part in C (Assembler's bin ich aber auch Mächtig!)

[C-CODE START]
void GetTempMAX6630( void ){

   volatile unsigned char i;

   cbi( PORTF, Bitmask_TempCS );
   asm( "nop" );

   for ( i = 0; i < 16; i++ ){

      sbi( PORTF, Bitmask_TempSCK );
      asm("nop");

      // Sample Bit auf TempSO
      temp = inp( PINF );
      if( temp & Mask_TempSO ){
         StreamBufferTEMP[ i ] = HIGH;
         asm( "nop" );
      }
      else{
         StreamBufferTEMP[ i ] = LOW;
         asm( "nop" );
      }

      cbi( PORTF, Bitmask_TempSCK );
      asm("nop");

   }

   sbi( PORTF, Bitmask_TempCS );
   asm( "nop" );

   TempReceiveFlag = TRUE;

}
[C-CODE ENDE]

Sag mir jetzt bitte, ich hab was Übersehen, dann wäre ich Froh!

Dank&Gruß Micha,

Autor: Wolfgang (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Leider versteh ich Dein Programmteil nicht, da:
a)  meine Programmierkünste zu unterentwickelt sind
b)  keine Verdrahtung angeben ist
c)  zu viel englisch (ist mein Problem)
d)  nichts kommentiert ist

vermutlich wird CS\  nicht richtig gesteuert bzw. die Wandlungszeit
wird nicht eingehalten
dazu kann ich im Programm nichts erkennen (aber s.o.)

als Anhang einige Ausschnitt aus meinem Programm;
da ist nichts geheim, aber der Programmierstil ist noch
verbesserungsbedürftig
MfG
Wolfgang

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Wolfgang,

vielen Dank für deine Hilfe, zwischenzeitlich hat sich das Problem
geklärt. Es war versehentlich der MAX6629 draufgelötet, nicht der
MAX6630!

Beide haben unterschiedliche Pinouts!

Naja, zum Glück alles mit einer Lötbrück behebbar, jetzt tut das Teil
Einwandfrei!

Gruß&Dank Micha,

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.