Seiten: [1]
|
|
|
Autor
|
Thema: Temperatur über I2C von Analogsensor (Gelesen 6730 mal)
|
Liquit Snake
LED-Tauscher
Karma: +0/-0
Offline
Geschlecht:
Beiträge: 49
|
Hallo,
Ich hab einige Analogsensoren (ähnlich solcher Viecher, sind wahrscheinlich NTCs) und würde dessen Temperatur gern praktisch auslesen. Das heißt nicht an einem externen Display, sondern über den Rechner selber. Und dort auch nicht über irgendwelche zusammengehackten Anwendungen, sondern direkt über meinen Kernel und lmsensors (falls das wem was sagt). Dafür kommt nur I2C oder SMbus in Frage, am besten über USB. An RAM-Bausteinen rumlöten mag ich nicht. Das Problem ist dass ich mich nun auf Gebiet bewege auf dem ich kaum Erfahrung hab. Ich habe mir mal meinen Liebling, den DS1620 angeguckt, aber der kann wohl nicht mit externen Sensoren umgehen, geschweige denn analogen. Ansonsten wäre so etwas wie hier perfekt. Hat jemand eine Idee?
|
|
« Letzte Änderung: April 1, 2008, 19:37:05 von Liquit Snake »
|
Gespeichert
|
|
|
|
hackspider
Wakü-Poseidon
Karma: +4/-0
Offline
Geschlecht:
Beiträge: 412
|
Hi Wenn ich das richtig verstanden habe möchtest du ein Gerät haben, an das du analoge und digitale Temperatursensoren anschliessen kannst. Zudem soll dieses Gerät per USB an den PC angeschlossen werden sodass du (unter linux) lmsensors benutzen kannst ?
Wenn ich das so richtig verstanden habe, würde ich dir vorschlagen das von dir gepostete USB<->I2C Interface zu bauen und daran dann einen weiteren AVR per I2C anschliessen. An diesen AVR schliesst du dann alle Sensoren an sammelst die Daten und stellst diese Daten dann per I2C über USB dem Rechner zur Verfügung. Dazu solltest du wissen, wie lmsensors die Daten abfragt.
mfg hackspider
|
|
|
Gespeichert
|
|
|
|
Liquit Snake
LED-Tauscher
Karma: +0/-0
Offline
Geschlecht:
Beiträge: 49
|
Danke, das siehst du genau richtig. Nur die Digitalsensoren kann ich mir sparen, die sind mir jetzt weniger wichtig.
Das von dir vorgeschlagene wäre genau die beste Lösung. Hat nur einen Haken: Ich kann partou mit Mikrocontrollern nicht umgehen. Einen mit gegebener Software zu flashen ist einfach, aber selber eine schreiben die die Analogsensoren ausliest: kann ich nicht
|
|
|
Gespeichert
|
|
|
|
hackspider
Wakü-Poseidon
Karma: +4/-0
Offline
Geschlecht:
Beiträge: 412
|
Hi Du wirst dich wohl in die Thematik einarbeiten müssen eine fertige Firmware die genau deinen Bedürfnissen entspricht gibt es afair nicht. Wie leicht oder schwer dir dieser Einstieg fällt hängt in der Regel davon ab wie gut deine jetzigen Programmierkenntnisse sind.
Wenn du noch nie etwas mit Mikrocontrollern zu tun gehabt hattest würde ich dir das AVR-Tutorial empfehlen.
mfg hackspider
|
|
|
Gespeichert
|
|
|
|
Liquit Snake
LED-Tauscher
Karma: +0/-0
Offline
Geschlecht:
Beiträge: 49
|
Kommt Zeit kommt µC. Derzeit ist mir eine fertige Lösung wirklich lieber. Dafür habe ich nur den MAX6698 gefunden. Es scheint wohl sonst keine ICs zu geben die sowohl analoge Thermistoren, als auch I2C/SMbus können. Auf halbem Neuland bewege ich mich damit aber immernoch. Der Konverter in meinem Link sollte dann aus SMbus USB machen. Theoretisch. Ich hab mir sagen lassen dass I2C und SMbus sowieso so ziemlich das gleiche ist. Ist dann natürlich die Frage ob den MAX einfach an den Konverter hänge und es dann auf magische Weise auch funktioniert
|
|
|
Gespeichert
|
|
|
|
freshi
Modding-Noob
Karma: +0/-0
Offline
Geschlecht:
Beiträge: 17
..°u°..
|
Wenn Du wirklich auch analoge Sensoren abfragen musst und es Dir nicht reicht mehrere digitale I2C-Sensoren zu benutzen, dann ist der MAX6698 wohl eine geeignete Wahl und I2C ist standardisiert, d.h. Du müsstest ohne Probleme den Chip an den gebastelten I2C-Bus aus dem Konverter-Link hängen.
Wenn lmsensors allerdings nicht sehr weitgehend konfiguriert werden kann und darauf ausgelegt ist nur die Standard-I2C-Thermometer auszulesen, wird es schwierig werden den MAX6698 auszulesen (unterschiedliche Registerbelegung der Chips in der Doku), es sei denn, der Chip ist lmsensors bekannt. ;-)
Ich habe für einen Bekannten, der einen fetten 1000W Audio-Verstärker selbst gebastelt hat, mal ein "Mehr-Zonen-Thermometer" per Mikrocontroler und 6x DS1631 per I2C gebastelt.
Aus Interesse, was konkret willst Du basteln?
|
|
|
Gespeichert
|
|
|
|
Liquit Snake
LED-Tauscher
Karma: +0/-0
Offline
Geschlecht:
Beiträge: 49
|
Das habe ich gestern Abend auch festgestellt LMsensors kann nur ein paar Hände voll an Sensoren unterstützen, eine eigene Implementation bräuchte neue Treiber. http://www.lm-sensors.org/wiki/Devices (da haben auch einige Porbleme in der Beschreibung) Daher hab ich mir jetzt mal den MAX6658 gesampled. (den gibts sonst nirgendwo). I2C Bus und Transistor-Sensoren. ICs die mit analogen umgehen können, I2C können und von LMsensors unterstüzt werden gibt es nicht. Ich muss also von Hand die Thermistoren durch Transistoren ersetzen. Naja.
Worum geht es? Ich habe noch einige dieser bekannten flachen braunen Fühler rumliegen die sich einfach zum Messen in Computern verwenden lassen. Für mich kommt aber nichts anderes in Frage als alles zentral zu messen, nämlich über LMsensors (das auch hardwareseitige Dinge wie Kern-Temp. ausliest). Ich habe es satt dass jedes Frontpanel seine eigene Messstation ist. Da trage ich leiber alles zusammen und gebe es gegebenenfalls von dort aus auf ein Display aus. Darüber hinaus benötige ich etwas, das die Wassertemperatur meiner Wakü misst, und dazu gibt es nur fertige einschraubbare Thermistoren, keine mit Transistoren wie sie die guten Maxim-Chips zum Messen einsetzen. Da ich jetzt allerdings Transistoren brauche, muss ich wohl selber mit Epoxid einen Transistor in einen G1/4" Stopfen eingießen. Ob sich das mit dem Kühlwasser verträgt ist auch so eine Sache...
Die DS Chips hab ich schon einmal verwendet, aber für etwas anderes. Das war ein DS1620 mit seiner Thermostat-Funktion der jetzt in unserem Kühlschrank werkelt
|
|
« Letzte Änderung: April 2, 2008, 12:43:33 von Liquit Snake »
|
Gespeichert
|
|
|
|
freshi
Modding-Noob
Karma: +0/-0
Offline
Geschlecht:
Beiträge: 17
..°u°..
|
OK verstehe, es geht Dir um die Verwendung vorhandener Sensoren aus Deiner "Bastelkiste". ;-)
Wenn Du Dich doch etwas um die Mikrokontroller-Programmierung kümmern möchtest, dann würde mir dazu einfallen, daß Du einen kleinen Mikro (z.B. ATiny2313) als I2C-Slave programmierst, der nebenher einen analogen Temp.sensor auswertet und die Daten dann bei bedarf an den I2C-Host (z.B. der vorgeschlagene USB<->I2C-Konverter) weitergibt. Den I2C-Slave müsstest Du dann so auslegen, daß er sich verhält wie ein LM75. Damit wärest Du alle Probleme los, denn lmsensors würde denken das es einen LM75 abfragt. OK, Du hättest noch etwas Beschaltung des Analogsensors um ihn an den Mikro anzuschliessen, aber das hast Du ja so auch.
|
|
|
Gespeichert
|
|
|
|
Seiten: [1]
|
|
|
|
|