PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Temperaturregelung mit ATMega128 , Can-Bus



Marfi
17.11.2008, 19:53
Hallo Leute,

ich habe ein kleines Problem. Ich möchte eine Temperaturregelung mit 3 Temperaturfühlern konstruieren/programmieren. ALs Basis habe ich mir diese Platine ausgesucht.
http://www.shop.display3000.com/pi12/pi2/pd43.html

Kann ich mit dem ATMega128 3 Temperatursensoren anschliessen und auswerten? Wenn ja wie?
Wo bekomme ich die Fühler?

Macht es Sinn den Can-Bus zu verwenden? Oder kostet das nur mehr?

Die "Anlage" soll später um weitere Komponenten erweitert werden.

Könnt ihr mir Hilfe geben? Also benötigte Teile, wo und wie ....

Ich freue mich auf Eure Hilfe!

PS: Ein bischen habe ich schonmal programmiert, aber nicht viel^^

Besserwessi
17.11.2008, 22:22
Man kann schon drei sensoren auslesen, das ist normalerweise nicht das Problem. Es wäre aber schon interessant was das für sensoren sind:
Widerstandstype (NTC/PT100), Thermospannungen oder digitale Sensoren.

Welcher Temperaturbereich ist denn nötig ?

Bei den analogen Sensoren hat man eventuell das Problem das die 10 Bit Auflösung des internen AD Wandlers nicht besoners hoch ist, besonders wenn der messbereich groß ist.

Neben den Sensoren stellt sich auch die Frage nach den Ausgabegleidern.

Zur Software gibt im Wiki Teil eine gute Erklärung zum PID regler. Da sollte eine Mega128 schon reichlich überdimensioniert sein, eine Mega32 oder so sollte völlig ausreichen, wenn man keine automatische Parameterbestimmung braucht.

Marfi
18.11.2008, 17:33
Also ich möchte damit die Kühlung einer Gärung steuern und überwachen. Die Genauigkeit solte im 10tel °C liegen. Zu messen und kontrollieren wären Primärkühlkreislauf, Sekundärkühlkreislauf und Gärung (eventuell an zwei Messpunkten).

Ich denke ein PT100 wäre optimal, aber das ist nicht wichtig. Wichtig ist die Lösung der Aufgabe und die Kosten (möglichst gering).

Eventuell wäre es auch gut die Sensoren über den vorhandenen I2C Bus abzufragen.

Wie gesagt ich habe damit keine Erfahrung und brauche dazu Hilfe^^

Marfi
19.11.2008, 17:54
So, anscheinend ist mein Vorhaben zu langweilig^^

Nachdem ich jetzt 2 Tage lang ca. 3 Stunden im Netz gegoogelt habe, möchte ich den CAN-Bus verwenden, er scheint dafür am besten und einfachsten zu sein.(Kabellänge, Protokoll)

Weiß denn jemand wo man günstig CAN-Bus Sensoren her bekommt?

for_ro
19.11.2008, 18:11
Nachdem ich jetzt 2 Tage lang ca. 3 Stunden im Netz gegoogelt habe, möchte ich den CAN-Bus verwenden, er scheint dafür am besten und einfachsten zu sein.(Kabellänge, Protokoll)

Weiß denn jemand wo man günstig CAN-Bus Sensoren her bekommt?
Warum willst du dir denn so was kompliziertes wie den CAN-Bus für so eine einfache Aufgabe antun?
Einfacher und besser geht es sicherlich mit digitalen Sensoren wie einem DS1820 oder so.


Die Genauigkeit solte im 10tel °C liegen
Damit scheidet alles aus, was du im Bastelbereich bekommen kannst, natürlich auch die erwähnten DS1820.
Ist der zu steuernde Prozess wirklich so empfindlich, dass du diese Genauigkeit brauchst?
Du wirst auch Schwierigkeiten haben, mit dem ausgwählten Moduls von Display3000 diese Genauigkeit zu erreichen. Die Schwankungen des ADC werden dir die 0,1° wieder auffressen. Da müsstest du viel mehr Aufwand bei der Spannungsversorgung machen, als dieses Modul zulässt.

Wenn du aber mit weniger auskommst, dann kannst du hier im Forum beliebig viele Beiträge und Codeschnipsel zum Thema DS1820 finden.

Gruß

Rolf

StevieL
19.11.2008, 19:23
Hallo Marfi,

du könntest als Temperatursensor auch den DS1631 nehmen. Der hat schon einen Wandler drin, da lässt sich der Temperaturwert über I2C auslesen. Der hat aber nur eine Genauigkeit von +/- 0,5 °C im Temperaturbereich von 0 - 70 °C.
Ich habe Temperaturmessungen damit schon mit Kabellängen >20 Meter (Netzwerkkabel) durchgeführt, allerdings mit zwei I2C-Koppelbausteinen mit P82B96.

screwdriver
19.11.2008, 20:59
Hallo,
was soll denn vergären, Bier oder Wein?

Du solltest Dir auf jeden Fall ein Board mit SD-Karten-Einschub nehmen. Darauf kannst Du dann die Temperaturkurven aufzeichen, was sehr interessant für Dich sein sollte. Die Daten kannst Du ja dann auf dem PC auswerten, bzw. grafisch darstellen.
Ich würde auch einen digitalen Temperatursensor DS18xx nehmen. Ausreichende Genauigkeit und einfacher elektrischer Anschluß sind die Vorteile. Nur ist das leider ein blankes elektrisches Bauteil, wie ein kleiner Transistor eben. Du mußt Dir den Prozeßanschluß selbst basteln im Hinblick auf thermisches Ansprechverhalten und Haltbarkeit.

Für ein Anfänger ein interessantes, aber schon sehr komplexes Projekt, was sicherlich erst über ettliche Monate reifen wird. Hoffentlich ist ein Schaden durch Fehlfunktion Deiner Steuerung vertretbar bzw. noch korrigierbar.

Viel Erfolg.

Marfi
21.11.2008, 17:01
Vielen Dank für Eure Antworten.

Vergären soll Bier :)

Als ich mir selbst die Genauigkeit auferlegt hatte wußte ich nicht, dass es so problematisch ist. Habe wieder viel im I-Net recherchiert und habe schon öfter von den Problemen der Genauigkeit gehört.

Es wäre schon schön wenn ich die 10tel hinbekommen könnte, aber nicht zwingend notwendig.

Wie bekommt man denn die Genauigkeit hin? Geht das auch mit dem ds1631? Sind die 0,5 Garantiert?

Die Kühlsteuerung wird zwar für große Mengen ausgelegt, aber die Gärversuche werde ich im 10 Literbereich starten, deshalb sind Fehlversuche auch nicht so gravierend.

Eine SD Karte nehme ich auf jedenfall, das macht wirklich Sinn.

Wo seht ihr denn die Schwachstellen des von mir gewählten Boards?

EDIT:
Der Gärverlauf ist schon empfindlich, zu starkes einkühlen kann dazu führen , dass die Gärung hängen bleibt. Die Kühlung muss sehr genau regeln. Der Temperaturbereich ist starkt eingegrenzt. 8-12 °C und 16-20 °C.
Wird der ADC genauer wenn ich einen 5 Volt Spannungsregler verwende?

Ich würde mich auch mit 2 Zehntel begnügen :) Das wichtigste wird die kontinuität.

Zur Erklärung: Das "Bier" wird bei 7-8°C angestellt (Hefe mit Sud + O2) und dann entsteht durch die Gärung Wärme. Diese Wärme muss halt abgeleitet werden. Während der Gärung lässt man die Temperatur dann langsam anstiegen bis auf 10-11°C und kühlt dann am Ende der Gärung (ca. 6Tage) auf 1°C runter. (Bezogen auf untergäriges Bier)
Da bei der Gärung sehr viel mehr Wärme ensteht als man für diesen kleinen Temperaturanstieg braucht, muss halt kontnuierlich in verschieden stärken gekühlt werden (je nach Gärverlauf).

StevieL
21.11.2008, 17:49
Hallo Marfi,


Geht das auch mit dem ds1631? Sind die 0,5 Garantiert?


Die Auflösung geht natürlich höher. +/- 0,5 Grad ist der maximale Fehler im Bereich 0 bis 70 °C. Bei einem digitalen Sensor hast du den Vorteil, dass da von der Leitung her keine Fehler mehr reinkommt. Die Temperaturmessung und Umrechnung passiert alles im Sensor selbst.

Ich habe für meine Aquarienanlage die DS1631 auf eine Platine gesetzt, Kabel angelötet und das Ganze in einem Reagenzglas aus Kunststoff mit Epoxidharz eingegossen. Das wäre auch für den Lebensmittelbereich geeignet.

for_ro
21.11.2008, 23:28
Wo seht ihr denn die Schwachstellen des von mir gewählten Boards?


Das Board ist ok, aber ich bin mir nicht sicher, ob dein ganzes drumherum in der Lage sein wird, die Aufgabe zu erfüllen.
Je nachdem wie groß der Topf ist, hast du schon Temperaturdifferenzen von oben nach unten. Dann die Frage, wo die Fühler sitzen und wo die Kühlung eintritt. Wie willst du das zum Testen mit dem 10l Eimer machen?
Die 3 Fühler werden auch verschiedene Werte zeigen, willst du da mitteln, oder bringst du die so an, dass du die Temperaturdifferenzen bewusst misst?
An diesem Bereich wirst du bestimmt ziemlich lange experimentieren werden.
Jedenfalls würde ich dir nochmal zu digitalen Sensoren raten, entweder die 1-wire angesteuerten DS1820 oder ähnlich oder den I2C angesteuerten DS1631 oder ähnlich. Nur wo du die hin montierst wird sehr großen Einfluss auf das Ergebnis haben.

Gruß

Rolf

Vitis
22.11.2008, 00:05
aaaaaaaaaaalso ... hallöchen, schön das hier nochwer
Fermentationsprodukte herstellt ... dacht schon ich wär der
Exot.

Also eine Auflösung von 0.1°C ist bei Fermentationsprozessen
durchaus relevant, 0.05 währe noch besser, aber mit 0.1 kann man
schon ganz ordentlich arbeiten.

Ich hab für meine Gärführung zum Teil die DS1820 verwurstelt,
aber auch die LM35DZ, die gehn auch ganz ordentlich wenn die
OP-Verstärkerschaltung gut aufgebaut ist.
OK, den Verstärker kann man sich schenken wenn man nen
ADC mit höherer Auflösung nimmt, die 10 Bit vom
AVR sind da n bisschen knapp.

Wieviele Behälter sollen denn geregelt werden?

Den CAN-Bus für jeden einzelnen Sensor wäre
etwas oversized ... zumal mir jetzt keine Sensoren mit
dem CAN onboard einfallen würden.

PS: Ich hab an meiner Anlage n Gärvolumen von 110000L dran hängen

edit: 10L kannste als Versuch knicken, alles unter 500L strahlt
über die Behälterwandung soviel Wärme ab, dass alle Messungen
ins Nirvana gehen.

Ach so, eins noch, die Temperatur ist auch nur relativ zu sehen,
auf die Gärintensität, sprich CO2-Austritt ist besser hab ich bei
meinen Weinen festgestellt.

for_ro
22.11.2008, 01:52
Also eine Auflösung von 0.1°C ist bei Fermentationsprozessen
durchaus relevant, 0.05 währe noch besser, aber mit 0.1 kann man
schon ganz ordentlich arbeiten.
Deine Sensoren können doch 1/16° Auflösung, nur keine 1/10° Genauigkeit. Marfi spricht immer von Genauigkeit, wobei er wohl noch nicht einmal die Wiederholgenauigkeit meint, sondern den absoluten Wert.

Gruß

Rolf

StevieL
22.11.2008, 07:53
Hallo,

der DS1820 und der LM35DZ haben laut Datenblatt übrigens ebenfalls eine Genauigkeit von 0.5 Grad.

Marfi
22.11.2008, 10:08
1100 hl ?? Wieviele Tanks hast du denn?

Zur Messung:
Bei den 10 l geht es mir erstmal nur ums Prinzip, ob die Regelung überhaupt irgendwie funktioniert. Vielleicht werden es ja auch 20 Liter :)

Messen wollte ich oben und unten, weil der "Tank" auch oben und unten jeweils eine Kühlzone bekommen soll. Da Bier bei 2,5 °C seine größte Dichte hat, muss man am Ende der Gärung unten messen und kühlen. Während der Gärung läuft die Messung und Kühlung im oberen Bereich.

Der Behälter ist aus Edelstahl, die Temperaturmessung soll in eine Edelstahlhülse, die dann seitlich eingeschraubt-/geschweißt wird.

Mit der Genauigkeit meine ich auch diese :) Die Auflösung nützt mir nichts, wenn das Ergebnis ehr zufällig ist. Wenn da 10,6°C steht, dann soll das auch bei jeder Messung +- 0,1°C stehen. Damit hätte ich eine Genauigkeit von 0,2°C das wäre OK.

Eine systematischer Fehler in der Messung wäre ja mit einer Refrenzmessung einfach rauszurechnen. (absolute Genauigkeit)

Die Gärintesität messe ich über den Stammwürzegehalt. (Spindeln) Das zu automatisieren wäre etwas teuer :D

Vitis
22.11.2008, 10:28
Stimmt, die LM35 Fühler haben eine Genauigkeit von +- 0,5°C,
aber die Auflösung hängt vom AD-Wandler ab.
Ich gehe daher hin und nehm mehrere Sensoren und pack die zusammen.
Die Messwerte sind dann verteilt ähnlich einer Glockenkurve und der Mittelwert
ist dann die tatsächliche Temperatur. Dann kommt an die Fühlerleitung
ein Papper, auf dem der entsprechende Korrekturwert steht ;)

Ich hab da im Moment 30 Tanks dran hängen.

Spindeln mittels Aräometer ist auch bei uns gängige Praxis, aber die
Intervalle (2mal am Tag) waren einfach zu lang um die Solltemperatur
passend nachzuregeln ... man hinkte immer der Regelung hinterher.
Ich hab mir daher so eine Messung ausgetüftelt ... funktioniert gut,
auch die Institute (LVWO Weinsberg, DLR Neustadt) sind recht
zufrieden damit. Dort sind die Teile diese Weinlese im Versuch gelaufen.

Marfi
22.11.2008, 20:13
Wie misst du denn das enstandene CO2? Durchflussmessung?

Was mich noch interessieren würde ist, wieso du die Messtechnik "selber bastelst" obwohl die Mege von 1100 HL schon ehr Professionell klingt :)

Ich werde es dann mal so wie ihr vorgeschlagen habt mit digitalen Sensoren versuchen.

Bei einem PT100 entstehen doch unendlich viele Messwerte, kann man die nicht irgendwie digitalisieren (ohne ADW)?

Besserwessi
22.11.2008, 23:01
Ohen AD Wandler digitalisieren geht nicht, denn sonst hätte man ja eine AD wandler. Man könnte theoretisch einen üngewöunlichen AD wandler wählen, ist aber eher nicht zu empfehlen. So teuern sind AD Wandler, auch mit mehr Auflösung nicht. Es gibt sonst auch Sensoren, die ein Frequenzsignal ausgeben, die könnten auch geeignet sein.

Ein PT100 mit wirklich besser 0,5 K (oder gar 0,1 K) Genauigkeit (Absolut) ist schon recht teuer. Wenn man eine Kalibrierung des Absolutwertes (z.B. mit Eiswasser) in kauf nimmt, könnte man auch andere, einfachere Sensoren (Diode, LM35, AD592, DS..., NTC) nehmen, die gleich ein größeres Signal geben. Die Langzeitstabilität ist bei den sehr moderaten Temperaturen ja nicht so das Problem. Wegen des Eingbaus würde ich gleich nach einem Sensor mit Edelstahlhülle suchen.

Marfi
23.11.2008, 13:17
Also mit anderen Worten hängt die Genauiglkeit stark vom Preis ab :)

Wenn ich den ADS7807 und einen guten PT100 verwende, unter der Corraussetzung der richtigen Schaltung würde ich eine bessere Genauigkeit hinbekommen?

Ich denke die Regelung an sich ist gar nicht so genau, deshalb werde ich erstmal die billige Variante versuchen.

Wo ist denn der Unterschied zwischen DS1624 und LM35DZ?

Besserwessi
23.11.2008, 14:10
Der LM35 ist ein Sensor mit analogem Ausgang, da wird man also noch einen AD Wandler und ggf. einen Verstärker dazu brauchen.

Der DS1624 gibt ein digitales Signal aus.

Marfi
23.11.2008, 18:59
Vielen Dank für die Antwort :)

Jetzt habe ich noch einen anderen Sensor gefunden, der hat eine Genauigkeit von angeblich 0,3K. Das wäre nicht schlecht.

Hat jemand Erfahrung mit diesem Sensor?

http://www.reichelt.de/?;ACTION=3;LA=2;GROUPID=3190;ARTICLE=82327;SID=32c zNiuqwQASAAAG-1FYE0b9a5a59c658b65efb186f9ba4d1dcd2

Besserwessi
23.11.2008, 22:12
Der Sonsor sollte ziehmlich ähnlich dem DS1620 sein. Etwas weniger Auflösung, dafür einen Tick bessere Absolutgenauigkeit.

Vitis
24.11.2008, 02:13
Die Gasströmung mess ich kalorimetrisch ... im Prinzip
kannste nen PT100 dafür nehmen, bei mir ists n
etwas komplexerer Sensor, aber n PT geht auch.

Warum ich mir das selber gebaut hab?
Gute Frage, hast Du mal geschaut was so n
System fertig kostet? 2500 Euro wollt ich
nicht hinlegen je Tank ... außerdem hab ichs
soweit weiterentwickelt, das mein Gerät nun fast
marktreif ist und Interessenten gibts auch schon :)

Zu Deinem Sensor, ich hab von dem Ding irgendwie
kein gescheites DAtenblatt gefunden wo man die
Kommunikation von dem Ding sieht.