abacom-online.de

Das offizielle Elektronik-Software Forum
Aktuelle Zeit: Montag 29. Mai 2017, 08:32

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Auswertung Temperatursensor LM75
BeitragVerfasst: Sonntag 17. April 2016, 19:45 
Offline

Registriert: Montag 25. August 2014, 12:47
Beiträge: 9
Hallo PL Fans,

ich arbeite gerade mal wieder an einer PL-Routine, in diesem Fall um den LM75 über ein Horter I2C Interface abzurufen.
Der Sensort antwortet inzwischen...

Ich bekomme die Messwerte, habe jedoch ein kleines Problem:

a) Byte 3 = Temperatur in °C
b) Byte 4 = 0 oder 128
128 = 0,5°C
0 = 0°C (das muss zur Information aus Byte 3 addiert werden.

Dieses habe ich bereits gelöst in dem ich zu Byte 3 das Byte 4 dividiert durch 256 addiert habe.

Mein noch nicht gelöstest Problem betrifft die Temperatur unter 0°C

Beispiel: -1°C = 255

Rechenregel : Wenn Byte 3 > 127 dann T="255-Byte 3" sonst "Byte 3".

Wie kann ich das in PL realisieren?

Gruß
Peter


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Auswertung Temperatursensor LM75
BeitragVerfasst: Montag 18. April 2016, 11:16 
Offline

Registriert: Mittwoch 4. November 2009, 18:32
Beiträge: 454
Die Sache ist doch viel einfacher als beschrieben:
Byte 3 = Temperatur (-128 bis +127)
Byte 4 = 0 ODER* +0.5
siehe Schaltung ...

* = Gemeint ist: ein logisches ODER


Dateianhänge:
Lösung.png
Lösung.png [ 24.01 KiB | 2245-mal betrachtet ]

_________________
++++++
Gruss/regards IKT
Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Auswertung Temperatursensor LM75
BeitragVerfasst: Montag 18. April 2016, 22:04 
Offline

Registriert: Montag 25. August 2014, 12:47
Beiträge: 9
Hallo IKT,

danke für den Tipp. Die 0,5°C Sache finde ich interessant, ich hatte das jetzt mit einer Division durch 256 gelöst.

Die Auswertung des ersten Byte geht leider so noch nicht:

Der Sensor gibt 0-255 aus, 0-127 = 0-127°C bei -1°C wirft er 255 aus. Defakto ist das zwar -128 bis 127.

255-256 = (-1°C)

Ich denke da muss ich noch etwas ändern, aber das erst morgen, mir fallen die Augen zu...
Aber mit AD/AD Wandlern experimentiert (da die entsprechenden Grenzen eingegeben) führte zu keinem positiven Ergebnis.

Jetzt fällt mir noch etwas ein, was bei meinem Oszilloskop von Lecroy (auch schon fast 20 Jahre her mit (IEEE488) seinerzeit geholfen hat, wo in den Daten der Offset auch verschoben wurde.
Das ging mit einem Exor, wenn ich mich nicht irre.
Ich teste morgen und melde mich.

Liebe Grüße

Peter


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Auswertung Temperatursensor LM75
BeitragVerfasst: Dienstag 19. April 2016, 09:46 
Offline

Registriert: Mittwoch 4. November 2009, 18:32
Beiträge: 454
deepsky hat geschrieben:
Ich denke da muss ich noch etwas ändern ...
Auch keine Hexerei, dafür gibt's die Korrektur-Tabelle in PL:
0 = 0
127 = 127
128 = -128
255 = -1
diese ersetzt VAL ... Ende der Konversion. Andere Variante:
0 = -128
127 = -1
128 = 0 (hier sitzt die Null in der Mitte des Bereichs!)
255 = 127
Dies entspricht einem Minus-Offset von 128, Offset Baustein einsetzen (anstelle KT).
Manual des Wandlers lesen! Hier muss stehen, wie die Zahlen zu interpretieren sind.

_________________
++++++
Gruss/regards IKT


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Auswertung Temperatursensor LM75
BeitragVerfasst: Dienstag 19. April 2016, 21:40 
Offline

Registriert: Montag 25. August 2014, 12:47
Beiträge: 9
Hallo IKT,
ich denke ich habe die Lösung:

Korrekturtabelle wäre eine Lösung, allerdings geht es auch anders:
Ich habe dein Beispiel ergänzt um die Regel, was passiert wenn der Wert des ersten bytes über 127 ist.
Dann gilt = Wert = 256-Wert.

So klappt dann alles was ich benötige.

Danke für den Denkanstoß

Peter


Dateianhänge:
Auswertung des LM75.PNG
Auswertung des LM75.PNG [ 22.92 KiB | 2146-mal betrachtet ]
Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Auswertung Temperatursensor LM75
BeitragVerfasst: Dienstag 19. April 2016, 22:10 
Offline

Registriert: Montag 25. August 2014, 12:47
Beiträge: 9
Hallo PL-Fans,

anbei die Routine um den LM75 an einem Horter I2C-Interface auszulesen.

Bitte um Beachtung das COM-Port zu setzten ist. Beim USB-Interface ist die Baudrate fest eingestellt und liegt bei 115200.
Der Rahmen und das Trennzeichen ist die $04.

Liebe Grüße
Peter


Dateianhänge:
I2C_LM75.prj [15.84 KiB]
93-mal heruntergeladen
Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Auswertung Temperatursensor LM75
BeitragVerfasst: Donnerstag 21. April 2016, 12:06 
Offline

Registriert: Mittwoch 4. November 2009, 18:32
Beiträge: 454
Hallo deepsky,

leider hat die Schaltung noch einen gravierenden Fehler:
3 versch. Ausgänge gehen auf einen (denselben) Eingang!
PowerOnReset ( muss weg )
Oszillator und
Taster ( müssen gegen einander verriegelt sein! )
es darf nur jeweils einer "durchgeschaltet" sein ... sonst gibt's Ärger.
Z.B. Schalter und zwei AND-Gates ( das eine "invertiert" ) damit:
Ein/Aus Schalter wird somit zum UmSchalter ( auto / manuell ).


Dateianhänge:
Dateikommentar: Um-Schalter (manu./auto.)
UmSchalter.png
UmSchalter.png [ 11.3 KiB | 2088-mal betrachtet ]
Dateikommentar: Fehler ...
i2c_horter_im75.png
i2c_horter_im75.png [ 6.46 KiB | 2086-mal betrachtet ]

_________________
++++++
Gruss/regards IKT
Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Auswertung Temperatursensor LM75
BeitragVerfasst: Donnerstag 28. April 2016, 09:34 
Offline
Site Admin

Registriert: Dienstag 23. September 2008, 10:54
Beiträge: 3120
...die "Problematik" UNSIGNED BYTE (0...255) TO SIGNED BYTE(-128...127) lässt sich übrigens auch mit einem Pärchen "AD/DA" elegant erledigen.
Das geht auch in die andere Richtung und bei entsprechender Konfiguration der AD/DA auch mit 16-Bit-Werten (WORD<->INT16), oder anderen Auflösungen (wie etwa 12 Bit).
Einfach die Eingangs- und Ausgangswertebereiche entsprechend eingeben und das MSB invertieren.

Dateianhang:
complement2.png
complement2.png [ 24.22 KiB | 2029-mal betrachtet ]


Die ganze Lösung für die Umrechnung sieht dann so aus....

Dateianhang:
Complement2.prj [4.64 KiB]
104-mal heruntergeladen


... und geht davon aus das "Byte 4" ausschließlich die Werte 0 oder 128 annimmt, dh. Bit 0..6 sind immer 0.
Dann ist 128/256=0.5 schnell addiert.
(Ein Trigger auf ">127" und danach ein eine Verstärkung von 0,1 geht natürlich auch. Triggerausgang (High=5) * 0,1 = 0,5)

_________________
ABACOM support


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Auswertung Temperatursensor LM75
BeitragVerfasst: Donnerstag 22. September 2016, 10:01 
Offline
Site Admin

Registriert: Dienstag 23. September 2008, 10:54
Beiträge: 3120
viewtopic.php?f=53&t=4474

_________________
ABACOM support


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Deutsche Übersetzung durch phpBB.de