PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wasser-Temperaturen abfragen mit dem PC?



Ratman2000
23.03.2006, 09:29
Hallo,

ich fange gerade damit an, mit dem PC und elektronik zu experimentieren!
Da ich ein sehr liebevoller Aquarianer bin, ist mein erstes expiriment natürlich der Wasser Temperatur gewidmet :)

Ich hab damal mal mit Basic Atmel microprozessoren beschrieben um Ampel Schaltungen zu basteln aber weiter bin ich nie gekommen ( aus zeit mangel! )

Inzwischen hab ich sehr viel C++ (kein MFC!!!) gelern (Studiere es auch)
weshalb ich mich jetzt entschlossen habe, mich mal wieder ran zu wagen :)

Jetz wollte ich natürlich nicht blind anfangen, deswegen wende ich mich an euch!

Könnt ihr mir evtl eine Hilfestellung geben, was genau ich mir besorgen soll / muss um von 12 einzelnen Aquarien die Wassertemperatur mit dem PC Messen zu können?
Es sollte natürlich auch erweiterbar sein da ich später auch mal den PH Wert mit einbauen möchte so wie den Leitwert usw :)

Ich hoffe ihr könnt mir dabei helfen!!!

Vielen Dank im vorraus, an all die jenigen, die mir versuchen zu helfen, oder einfach nur gespannt mitlesen :P

Mit freundlichen Grüssen

Michael

argentan
23.03.2006, 10:46
Moin!

Als erste grobe Schätzung würde ich sagen:

Stromversorgung,
dann eine selbstgebaute Platine mit
Serieller Schnittstelle (MAX 232)
Spannungsregler
Resetüberwacher 7705
Kleinkram (Rs,Cs,Oszillator,Stecker...)
12 Temperaturabhängige Widerstände.

Also Krönung und leichten Einstieg einen
ATMEGA 640, 1280 oder 2560.
Die haben 16 AD channel.

Daran hängt man dann die 12 Temperatursensoren.

Allerdings wird das mit der Erweiterung unangenehm.
Deshalb sollte man eher einen kleineren µC nehmen und dazu mehrere ANALOGE Multiplexer nehmen. Wie z.B. Toshiba TC74HC4051.
Mit den Multiplexern kann man dann verschiedene Signale auf den einzelnen ADC Kanal schalten.

MfG Argentan

Blackbird
23.03.2006, 11:53
Die Aquarien stehen sicher nicht en block, oder? Sowas wie einen "Bus" wirst Du also schon brauchen.

Die einfache, jedoch erweiterbare Loesung koennte so aussehen:
Am Parallelport oder Serial Port den I2C-Bus nachbilden (simple Schaltung -> google), daran I2C-Temperatursensoren haengen. Fuer Erweiterungen gibt es AD-Wandler-ICs mit I2C- Schnittstelle.
C/C++ kannst Du ja.

So sparst Du Dir den Controller und die Software fuer den extra Controller. Die PC-SW brauchst Du so oder so.

Spaeter kannst Du ja immer noch einen Controller (kann schon mit Atiny2313 funktionieren) zwischen PC und I2C-Bus haengen (gibt's schon fertig hier als Bausatz oder Baustein). in der SW wird dann statt I2C-Klasse eine Serial-Klasse implementiert.

Zum Testen und Ausprobieren ist das vielleicht die schnellste und billigste Loesung? Und sie kann weiterverwendet werden bei Erweiterungen.

Blackbird

PICture
23.03.2006, 15:09
Hallo Ratman2000!

Ich muss leider mit einer Frage antworten um weiter nichts unnutzliges zu schreiben.

Welche Schnittstelle (LPT, COM oder USB) willst Du benutzen ?

MfG

Rage_Empire
23.03.2006, 15:54
Also Krönung und leichten Einstieg einen
ATMEGA 640, 1280 oder 2560.


Klar, oder besser noch nen ARM. Nee, warum ARM.... wartest noch ein wenig und nimmst dann einen AVR32. Da geht das bestimmt noch besser....*lol*

Man, dafür braucht man doch kein Mega64 oder größer, wie bist du denn drauf?

Wie wäre es mit digitalen Temp.-Sensoren, sparst dir auch den ganzen Linearisierungskrempel und von der Software ists auch nich schwerer. Kannst dann auch alle an einen Bus hängen (1Wire [DS1820] oder i2C[LM75]) und sparst dir für jeden einzelenen 2 Leitungen.

Ratman2000
23.03.2006, 19:11
Hallo,

als erstes einmal danke allen für die Antworten!

Also die 12 Becken stehen alle in einem Block :)
Es sind 4 Reihen a 3 Becken :)

Was wäre da den nur für die Temperatur die geeignetste und günstigste Lösung (da ich erst wieder damit anfange sollte es nicht gleich zu teuer sein :) )

VIELEN DANK !!!

Blackbird
24.03.2006, 07:27
... die Wassertemperatur mit dem PC Messen ...

Wozu dann noch einen µC?
Den I2C-Bus am COM-Port nachbilden (http://www.the-starbearer.de/Praxis/ElektronikamPC/Rs232Experiments/I2CanRS232.htm) und daran die Sensoren hängen (http://www.mikrocontroller.net/articles/Temperatursensor). Die C/C++-Software bekommst Du selber hin oder suchst mit Google.

Erweiterungen können mit dem PCF8574(A) und PCF8591 u.a. vorgenommen werden. Damit kann man alles ausprobieren, testen und sich über den Gesamtumfang klar werden.
Soll die ganze Erfassung doch autonom erfolgen, also ohne den PC dauernd in Betrieb zu haben, so kann man später immer noch statt I2C-Schaltung zwischen COM-Port und I2C-Bus einen µC hängen. Ein ATiny2313 reicht da schon, mehr Speicher ist natürlich besser. Am I2C-Bus braucht man dann gar nix ändern, an der PC-Software nicht allzuviel.

Ist nur ein kleiner Tip, wie man ein Projekt in mehrere kleine überschaubare Teilprojekte aufteilen kann.
Man kann natürlich gleich an mehreren "Baustellen" Neuland betreten und richtig Aufwand betreiben. Das ist Jedem freigestellt.


Blackbird

Ratman2000
25.03.2006, 08:02
Hallo,

vielen Danl für die Antworten!

Ich hab jetzt etwas versucht mich über den I2C Bus zu informieren, aber irgendwie hab ichs noch nicht komplett verstanden :)

Also wenn ich es richtig verstanden habe, dann brauche ich einen Microcontroller welcher einmal an den PC und einmal an den I2C Bus angeschlossen wird richtig?

So aber wie z.B. weiss ich, welche adresse z.b. ein Temperatur-Sensor hat?
Und dann hab ich einmal gelesen man kann 127 gleiche Sensoren / abnehmer anschliessen und beim nächsten eintrag heist es dann, man würde nur maximal 8 Sensoren / Abnehmer der selben Art anschliessen können?

Also mein Ziel ist es, 21 Aquarien mit jeweils Temperatur-Fühler, PH Wert Sonden / Sensoren und Leitwert Sensoren auszustatten (Wären dann 63 Sensoren )

Was bräuchte ich denn dann / was würdet ihr mir empfehlen?
Und gibt es evtl zu dem Thema eine für einen Anfänger aufgebaute Anleitung wie genau ich was machen muss und mit welchen bausteinen?
Am besten wäre ein C++ Microcontroller wenn er nicht zu teuer ist!

Anfangen zum üben möchte ich mit einem Wärmesensor den ich dann einfach erweiter! Die anderen Sensoren sollen erst später dazu kommen!

Ich hoffe ihr findet die geduld mich dabei zu unterstützen! (Wenns klappt folgen natürlich auch Bilder :) )

Am Montag Abend bekomme ich auch Elektronik Bücher um mich mit der Materie noch mehr zu befassen!

Hoffe das ihr mir helft!!!

Vielen dank an euch!
Ist ein wirklich gutes Klima hier! Findet man nicht mehr oft!!!

MFG

Michael

Ratman2000
28.03.2006, 12:37
Hallo,

ich werde leider nicht schlau aus dem ganzen krams :(
Was genau muss ich denn machen?

Ich habe eben rausgefunden das das direckte ansprechen der Ports wohl nicht möglich sein soll... was bedeuten würde das auch mein Programm nicht lauffähig werden würde?

Könnt ihr mir näheres dazu sagen?
Was ich rausbekommen habe ist, das ich maximal 8 Sensoren auf einmal anschliessen kann... Nur woran schliesse ich sie an? An nen Microcontroller?
Wie spreche ich dann den Microcontroller an und woher weis er, welchen Sensor ich abfragen will?

Vielen Dank für eure Geduld und Hilfe!!!

MFG

Michael

Blackbird
28.03.2006, 15:47
Naja, im ersten Link, den ich Dir gepostet habe, steht alles drin
- was Du brauchst und
- wie Du es anschliesst.

An einen I2C-Bus kann man 8 ICs des gleichen Typs addressieren, die Auswahl erfolgt mit A0, A1, A2. Mit einem I2C-Busexpander kann man das erweitern. Man kann auch mit I2C-A/D-Wandlern und vorgeschalteten Multiplexern (fast) beliebig viele stinknormale Temperatursensoren abfragen, oder, oder, oder, ...
Varianten gibt es viele, die erkennt man dann beim Lesen der I2C-Beschreibung.

Ein PC hat keine I2C-Schnittstelle, aber eine Nachbildung aus 2 Widerständen und 2 Z-Dioden an der seriellen Schnittstelle tut es auch. Siehe Link.

Der Zugriff auf die serielle Schnittstelle erfolgt mit CreateFile, WriteFile und ReadFile (unter Windows) und noch ein paar weiteren Funktionen.
Code-Beispiele gibt es genug, kann ich Dir auch posten.
Und wie Du das darstellen, speichern oder darauf reagieren willst - das ist ganz Dir überlassen.


Wenn so ein Minimalsystem mit z.B. 8 Temperatursensoren erst mal am PC läuft und Du die Werte in einem Windowsprogramm darstellen kannst, kannst Du es mit Erweiterungen ergänzen. Mehr Sensoren, Aktoren, regelung, Speichern, ...

Dann kannst Du auch die I2C-Nachbildung rauswerfen und durch einen Microcontroller ersetzten. Einen, der RS232 und I2C hat und ihn dazwischen schalten. Der übernimmt dann die Abfrage der Sensoren (und die Regelung, wenn gewünscht) solange der PC ausgeschaltet ist.

Aber so detailliert wollte ich Dir Dein Projekt nun auch wieder nicht vorgeben.

Blackbird

Ratman2000
28.03.2006, 15:54
Hallo,

das hat mir schon sehr weiter geholfen!!!

Vielen Dank für eure Hilfe!!!

Ich denke ich werd mich hier bald wieder bei euch melden :)
Spätestens wenn ich wieder nen Problem habe :P

MFG

Michael