PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Temperatur und Luftfeuchte



Schrolli
15.09.2008, 19:32
Servus Forum,
bin neu hier, und hab mal eine Frage zum Thema uC...

Also ich möchte mit einem ATmega die Temperatur und die Luftfeuchte messen. Da ich aber bisher nur Grundwissen von diesem Thema besitze, erhoffe ich mir von euch ein wenig unterstützung :-k ....

Erstmal wäre die Frage welchen uC ich den nehmen sollte.
Im Prinzip brauche ich 2 Sensoren Eingänge, 4 Eingänge für evtl. Taster die villt iwann kommen, evtl mal als Reserve pins für ein LCD freihalten und dann noch sagen wir mal 6 Ausgänge die ein Relais schalten um auch ragieren zu können^^

Mein erstes Problem ist in erster Linie:
1.) Welcher uC würde hierfür ausreichen bzw hätte sogar noch ein paar Reserven?
2.) Welche Sensoren sind realtiv genau (~ 2-3°C / ~ 5%Feuchte) und billig bzw. welche Genauigkeit haben sehr billige?
3.) Wie werden diese Sensoren dann richtig am uC angeschlossen bzw ausgelesen und weiterverarbeitet?

Würde mich über den einen oder anderen Hilfreichen tip bzw nette Beispiele etc sehr freuen :)

MfG Basti

shaun
15.09.2008, 20:51
Ich würde einen ATmega auf einem der hier gängigen Bastelboards empfehlen, da hast Du ausreichend Reserven, Tools sind auch Freie verfügbar, die Chips sind preiswert.
Bei den Sensoren heisst die Frage: analog oder digital? Mit einem analogen Temperatursensor (LM35, KTY8x,...) musst Du den im uC integrierten A/D-Umsetzer bemühen - nicht schlimm, aber aufgrund der meist etwas ungünstig (nämlich mitten in einem kleinen Fenster im zulässigen Messbereich) positionierten Ausgangsspannung, die u.U. auch noch nichtlinear von der Temperatur abhängt, muss man schon etwas tricksen, damit die Genauigkeit nicht zu sehr leidet. Es gibt aber auch digitale Temperatursensoren, zB den DS1820, der seine Messwerte seriell kommuniziert, oder solche, die einfach nur eine(n) temperaturabhängige(n) Frequenz bzw Tastgrad ausgeben.
Für Feuchtigkeit dito: es gibt resistive Sensoren, dann noch kapazitive, die meist in einer Oszillatorschaltung betrieben werden und auch wieder "digitale"; also Sensor und Signalaufbereitung komplett integriert, zB von Sensirion (zumindest hiessen die damals, als ich dort bestellt habe, noch so)

Schrolli
15.09.2008, 21:07
naja oke das is doch schon mal interessant... Danke

wäre es nun besser die Sensoren Digital oder Analof zu wählen?
Wie sieht es preislich aus? Ich will möglichst billig bleiben.
Es sollte halt auch möglichst einfach gehalten werden, damit ich als Anfänger dies auch realisieren kann.

Gibd es im Netz oder hier im Forum villt Beiträge wo auf die Ansteuerung nud Verkabelung näher eingegangen wird? Konnte Über due SuFu leider nichts passendes finden.

Gruß Basti

EDIT: http://www.reichelt.de/?;ACTION=3;LA=4;GROUP=A213;GROUPID=2910;ARTICLE=72 07;START=0;SORT=artnr;OFFSET=16;SID=28aJd-E6wQARwAAETKaKE0d62cd00de8389c83867df07d7e2dbde

Also der is jetzt Digt. Temp? Bezahlbar is der auf jeden Fall. Nur die Ansteurung über nen ATmega würde mir dann noch fehlen.

Shunth
15.09.2008, 21:11
Hallo,

also ich habe damals mit den PIC 16F84 angefangen und sehr gute Erfolge erziehlt. Sicherlich ist der "veraltet" und von den Kosten heute ein Atmega zu raten. Ich weiß nur das die Lösung damals schneller zum Erfolg führte denn du benötigst fast nix um die ersten Programme umzusetzen und auszuprobieren. Ein Versuchsboard mit LED ist schnell selbst gelötet und ein Programmer kannst auch schnell basteln. (für den PIC-habe ich alles selbst gebaut) Zum programieren muste ich eh eine der vielen Sprachen lernen und entschied mich für Assembler und C.
Bei Temperaturmessungen greife ich sehr gern auch auf den DS1820 zurück. Der ist von der Genauigkeit am einfachsten zu händeln und bedarf keiner Perepherie. Bei Ebay verkauft z.Z. ein polnischer User die Teile sehr billig. Habe mich dort eingedeckt und er liefert Zuverlässig. Den Sensor bekommst du kaum unter 6 Euro in deutschen Shops. (Nicht zu verwechseln mit den DS1821!!!)

Gruß Andre

Vitis
15.09.2008, 21:23
sht11, da geht digital temperatur und luftfeuchte. 2-wire ansteuerung.

Schrolli
15.09.2008, 21:23
also wenn ich mir den Link von Reich*** da oben anschau, dann ist der aber weit unter 6€? und der ist nicht der 1821....

Wäre toll wenn sich den mal eben jemand kurz ansehen könnte, und mir sagen kann ob der zum Temp messen taugt, und wie man den dann Anschließen müsste?

Greetz

Besserwessi
15.09.2008, 21:25
2-3 C als Genauigkeit ist recht realistisch. Für den Relativ kleinen Bereich an Raum- oder Außen-temperaturen sind auch analoge Sensoren noch einigermaßen linear. Die Feutigkeitsmessung ist eindeutig das schwierigere. Bei Kapatzitiven Sensoren läuft die Messung oft auf eine Zeit oder Frequenzmessung hinaus, was die Controller recht gut können. Von der Rechenleistung reichen eigentlich allle Controller.

Ich würde als Controller sowas wie den Atmel Mega8 oder Mega48 vorschlagen. Wenn es sein muß geht das sogar noch auf einem Steckbrett, sonst auf Lochraster oder einen fertigen Testplatine. Man könnte auch den Atmel Butterfly nehmen, da ist der Controller allerdings fest mit dem LCD zusammen. Dafür braucht man keinen extra Programmierer.

Schrolli
15.09.2008, 21:46
So wollte jetzt ma langsam anfangen nen Schaltplan zu zeichnen.
Also erst ma die Grundbeschaltung ausm RN-Wiki und sich dann langsam aber sicher weiter voran arbeiten. Nur leider komm ich in Eagle mal gahr nich klar. Zumal ich den Mega8 da nichmal gefunden habe :/

Also kann ich diesen als Temp Fühler nehmen?
http://www.reichelt.de/?;ACTION=3;LA=4;GROUP=A213;GROUPID=2910;ARTICLE=72 07;START=0;SORT=artnr;OFFSET=16;SID=28aJd-E6wQARwAAETKaKE0d62cd00de8389c83867df07d7e2dbde

Und für die Luftfeuchte bräuchte ich dann eben auch was :(

Noch kurze Frage wegen den Relais. Brauch ich erst nen Treiber dazwischen oder schafft der uC das auch alleine? bzw bis welcher Relaisgröße würde er es schaffen?

grüssle

Besserwessi
15.09.2008, 22:02
Der Temperatursensor geht. Das ist ein digitaler. Bei den meisten Relais braucht man einen Treiber. Die Controller können bis etwa 20 mA bei 5 V teiben, da gibt es nur relativ wenige relais die damit auskommen. Nicht mal für alle Reddrelais oder Minirelais reicht das. Ein Treibertrnasisitor ist aber nicht besonders aufwendig.

Schrolli
15.09.2008, 22:18
Oke, jetzt mal die Frage an die Meister hier ;)

Stimmt die Grundschaltung so?

shaun
16.09.2008, 13:27
Abgesehen davon, dass der Stecker zum Programmieren fehlt, die Abblockung mit 1x100n u.U. etwas dürftig werden könnte, Du auf den internen RC-Oszillator angewiesen bist, weil kein Quarz angeschlossen ist und Du darauf achten musst, die interne Referenz auf keinen Fall einzuschalten (weil Vcc am Referenzeingang!): ja

Schrolli
16.09.2008, 16:09
Ist das nun besser so?

Kleine Frage? wie könnte man sowas übersichtlicher gestalten?
Hat villt jemand so ne Grundschaltung da? also wie meine jetzt mit Mega32, ISP, Quarz und was eben sonst so nötig ist für Eagle in einer etwas übersichtlicheren Anordnung die er mir mal hochladen könnte?

Und ist das was ich da habe überhaupt richtig? Habe versucht das 1:1 ausm RN-Wiki zu übernehmen, nur das eben die PIN Anordnung hier anders ist was eben auch für leichte verwissrung sorgt^^

Danke :)
Basti

Besserwessi
16.09.2008, 16:50
Man sollte 2 mal 100 nF als entkopllung vorsehen. Je einen pro Seite des Chips. AREF direkt mit VCC zu verbinden macht einen Sinn, lieber offen lassen oder besser einen Kondensator nach AGND vorsehen.

Schrolli
16.09.2008, 16:58
wäre nett wenn mir bei einer grundschaltung die alles relevante enthält jmd. von euch etwas helfen könnte. weil das mit den ganzen kondensatoren und dann von hier nach da verbinden und dort und jenes... verwirrt mich ein wenig :(

Basti

darxon69
19.09.2008, 10:38
Also wenn es um gleichzeitige Auswertung von temperatur und Luftfeuchte geht, dann würd eich keine Experimente mit dem DS1820 machen. Der SHT1x ist da wesentlich besser, weil er beides liefert und das sehr zuverlässig. http://www.sensirion.com/en/01_humidity_sensors/02_humidity_sensor_sht11.htm
Aus beiden kann man dann noch taupunkt ausrehcnen. Dafür gibt es auch bei den Compiler incl. BASCOM fertige Routinen.

redin
29.09.2008, 21:54
Hallo erstmal,
(mein erster Beitrag hier O:) , bis jetzt nur Mitleser, verzeiht also bitte meine Fehler, sie sind nicht böse gemeint).

Ich würde hier gerne nochmal anknüpfen, und zwar in Bezug auf den Anschluß des DS18B20. Ich versteh davon nämlich reichlich wenig.

Der Anschluß erfolgt über eines 1Wire-Bus. Ist das der Pin RX am zB Atmega8? Und wie lese ich den aus?

Gruß

PS hab noch ein Schaltplan gezeichnet, wie ich mir das vorstelle, ich hoffe es ist richtig so

darxon69
30.09.2008, 05:50
Ja auf deinem Bild ist das der PD0(RXD). MAn kann aber auch andere Pins nehmen, wenn man zum Beispile den RXD für die serielle Shcnittstelle braucht. Schau dir auch mal den Schaltplan hier in meiner Schaltung an. Vielleicht hilft das.
http://www.astrohome.info/Bilder/LXFocuser/SF2Plan.png

Für das Auslesen gibt es in den Verschiedenen Compilern unterschiedliche Funktionen.
Mit C kenn ich mich nicht aus.
Bei AVRCo gibt es wegen des Multitaskings keinen direkten Treiber. Siehe http://www.e-lab.de/phpBB2/viewtopic.php?t=107&highlight=1wire

Bei BASCOM gehts weil BASCOM kein Multitasking kann.
http://www.mcselec.com/index.php?option=com_content&task=view&id=75&Itemid=57

Besserwessi
30.09.2008, 17:46
@darxon: in der Schaltung fehlen eine ganz teil Entkoppelkondensatoren. Der Controller, Der Spannungsregler und die Motorkontroller brauchen noch welche. Wenn das kein L293D ist, dann fehlen auch noch die Freilaufdioden. Außerdem sollte am Spannungsregler eine Diode von VCC nach VDD, sonst kann der Regler Schaden nehmen wenn Vcc > Vdd wird.

darxon69
01.10.2008, 05:27
Entkoppelkondensatoren? Meinst du die 100nF zwischen VCC und GND?
Es ist ein L293D. Deshalb habe ich auf die Dioden verzichtet.

redin
01.10.2008, 15:40
OK, danke für die Hilfe, ich werd mich mal daran versuchen.