Messmodul

Antworten
habe
Beiträge: 36
Registriert: Samstag 18. Oktober 2008, 18:51

Messmodul

Beitrag von habe » Freitag 25. September 2009, 19:32

Hallo,

es gibt ja das Temperaturmessmodul von Hygrosens.
Scheint ja ein tolles Teil zu sein hat aber einen Nachteil,
es is recht teuer.
Deswegen möchte ich versuchen sowas selber zu bauen.
Das ganze soll recht einfach gehalten werden.
Als µC soll ein ATmega8 herhalten.
An 20 Pins (ohne ext. Quarz, 18 mit Quarz) soll es möglich sein
DS18S20 Sensoren anzuschließen.
Warum so viele Pins?
Um die Sensoren austauschen zu können, ohne das sich die Reihenfolge
ändert.
Außerdem soll die Messgeschwindigkeit so schnell wie möglich sein.
(Jeder der DS an einem Bus braucht 750ms für Temperaturumrechnung)
Die Daten sollen über COM zum PC bzw. ProfiLab gesendet werden.
(COMstring empfangen, Aufteilung mit Part$)

Jetzt meine Frage, iss so was überhaupt möglich?
Ich hab schon mal versucht mit Bascom ein Programm für den µC zu schreiben,
nu bin ich aber nicht ganz so fit mit Bascom.
Vielleicht gibt es hier ja Leute die mal einen Blick darauf werfen wollen,
bzw. gibt es schon fertige Lösungen??

Das soll’s erstmal gewesen sein.

bis dann
Zuletzt geändert von habe am Samstag 10. Oktober 2009, 18:15, insgesamt 1-mal geändert.

KAKTUS
Beiträge: 651
Registriert: Samstag 18. Oktober 2008, 21:12

Re: Messmodul

Beitrag von KAKTUS » Sonntag 27. September 2009, 00:01

Das ist möglich und dabei auch gar nicht so schwierig. Der Weg so wie du ihn beschrieben hast ist vollkommen richtig.
Der AVR liest erst die Sensoren ein und sendet dann über rs232 die Temperaturen, z.b. mit 9600Bd als Zahlenwert, wobei jede Temp. durch ein Komma getrennt wird, an Profilab.
Dort bekommst du die Daten als String aus dem RS232 Empfänger und kannst die Daten mit $PART zerlegen. Dann hast du die einzelnen Temp. Werte. Jetzt noch formatieren, abhängig davon in welcher Form du die Werte übertragen hast, und auf die diversen Anzeigen ausgeben.

Du schreibst du kennst dich mit Bascom nicht so aus, ist das Programm im Anhang von dir?
stachlige Grüße, Kaktus

habe
Beiträge: 36
Registriert: Samstag 18. Oktober 2008, 18:51

Re: Messmodul

Beitrag von habe » Sonntag 27. September 2009, 08:41

Hallo,

danke schon mal das du dich dem Thema angenommen hast.

Deine Aussage läst mich hoffen, so das ich weiter an dem Projekt arbeiten kann.
Aber einige Fragen hab ich noch. Kann man auch wirklich jeden Pin des
ATmega 8 zum 1wire-Bus Konfigurieren, oder sind einige dafür nicht zu gebrauchen.
Da ich ja kein MAX232 einsetzen möchte (soll alles einfach und günstig sein), will ich
die Daten ja über Soft-232 zum PC senden. Könnte es da zu Problemen kommen? Auch
mit dem Hintergrund, dass ich ja auch den internen "Quarz" benutzen möchte. Und wie
ist es mit der Geschwindigkeit, bringt es wirklich was wenn ich nur an jedem Pin ein
Sensor hänge.

Noch mal zum Thema einfacher Aufbau. Das hat den Grund das ich selber keine Platine Ätzen kann und deshalb die Schaltung per Lochrasterplatine aufbauen möchte.

Ja das Programm habe ich bis auf Tempberechnung und CRC Prüfung selber geschrieben.
Die Tempberechnung hatte ich erst anders gemacht hatte dann aber in einem Forum diese
Routine gefunden. Genauso die CRC Prüfung, da hatte ich erst den Bascombefehl, hab aber dann in einem anderen Forum gelesen, das es mit der Tabelle schneller gehen soll. Dadurch wird das Programm aber etwas größer.

Hier im ProfiLab Forum hatte mal jemand eine DLL für das Hygrosensmodul reingestellt,
das die Sensoren auf Fehler Überwacht. Kann ich aber leider nicht wiederfinden.


Also bis dann und bin für alle Tipps dankbar

kpaul
Beiträge: 39
Registriert: Dienstag 14. Oktober 2008, 17:04

Re: Messmodul

Beitrag von kpaul » Sonntag 27. September 2009, 17:30

Hallo habe,

du meinst vermutlich diese DLL:
http://www.kpaul.ag.vu/TempModul.zip

Das Hygrosensmodul sendet bei Sensorfehler den Wert 327.68° = hex 7FFF.
Das müßtest du in deinem Programm auch so einbauen.

In meiner DLL wird ab einem Wert >=320 der letzte gültige Wert auf den Ausgang gelegt, solange bis wieder einer <320 erscheint.

Gleichzeitig wird zur Fehlermeldung für diesen Kanal ein Bit gesetzt und analog auf den Ausgangspin Meldung gegeben.

Wenn du Dallas oder Hygrosens als Suchbegriff eingibst erscheinen allerhand alte Beiträge.

Viel Erfolg bei deinem Projekt
kpaul

KAKTUS
Beiträge: 651
Registriert: Samstag 18. Oktober 2008, 21:12

Re: Messmodul

Beitrag von KAKTUS » Sonntag 27. September 2009, 19:10

Hier die Grundschaltung eines AT-Mega 8. Denke dir die Infrarot LED einfach weg.
Den Internen Resonator(kein Quarz) kannst du benutzen.
Das mit der Software RS2323 verstehe ich nicht, du brauchst einen MAX232 um die 0/5 Volt auf +-15 Volt der PC Schnittstelle zu bringen.
Wenn du den Chip nicht in der Schaltung mit ISP programmieren willst, dann Port PB3 -PB5 auch verwenden.

Mit den Dallas Tempsensoren hab ich noch nix gemacht, aber es heißt ja 1WIREBUS, also kann man doch alle an einen PORT hängen.
Der DS1820 braucht 750ms zum Messen der Temp. , das auslesen geht sehr schnell. Denke es bringt nichts wenn du an die freien Ports jeweils einen Sensor hängst.

Auszug Datenblatt:
Each DS18S20 has a unique 64-bit serial code, which allows multiple DS18S20s to function on the same
1-Wire bus. Thus, it is simple to use one microprocessor to control many DS18S20s distributed over a
large area.
Bild
stachlige Grüße, Kaktus

habe
Beiträge: 36
Registriert: Samstag 18. Oktober 2008, 18:51

Re: Messmodul

Beitrag von habe » Montag 28. September 2009, 16:05

Hallo,

@kpaul:
Ja genau das war was ich gesucht habe, besten Dank. Die 327.68° hatte ich schon im Programm Berücksichtigt.

@KAKTUS:
Mit dem BASCOM-Basic-Compiler von Marc Alberts ist es möglich, ohne einen Pegelwandler (z.B: MAX232) mit dem PC über die RS-232-Schnittstelle zu kommunizieren.
Dazu muss folgende Anschlussschaltung aufgebaut werden:
Bild

Ich dachte der DS1820 muss im parasitären Modus 750ms auf high gehalten werden, so das
in der Zeit kein andere Sensor angesprochen werden kann.

bis dann

KAKTUS
Beiträge: 651
Registriert: Samstag 18. Oktober 2008, 21:12

Re: Messmodul

Beitrag von KAKTUS » Montag 28. September 2009, 16:41

Das es mit solchen "Spar-Konvertern" geht , ist mir bekannt. Aber was ich nicht verstehe ist, warum du nicht die Hardware Schnittstelle benutzt, und stattdessen mit den Ports eine Serielle emulierst, die noch dazu Speicher verbraucht.
Zu dem DS1820 kann ich nicht viel sagen, aber n den Datenblättern und im Netz ist viel drüber zu lesen.
stachlige Grüße, Kaktus

habe
Beiträge: 36
Registriert: Samstag 18. Oktober 2008, 18:51

Re: Messmodul

Beitrag von habe » Mittwoch 30. September 2009, 20:31

Tach,

hab das Programm noch etwas bearbeitet, soweit geht alles.
Werde aber doch wohl den MAX232 für die Datenübertragung zum PC nehmen.

Das Hygrosens-Modul gibt ja einen bestimmten Datenblock aus.
Versuche diesen Datenblock auch zu senden, damit man evtl.
in ProfiLab die Hygrosenshardware benutzen kann.
Funzt aber noch nicht.

Antworten

Zurück zu „Thema Temperatur“