automatischer Pilzzucht-Raum mit Mikrocontrollern

Gast #5311977
Lesenswert?

Hallo liebes Forum,

ich bin begeisterter Neuling im Bereich der Mikrocontroller und habe 
richtig Lust ein Projekt damit umzusetzen. Leider fehlen mir an einigen 
Stellen noch Kenntnisse, wie es in die Tat umgesetzt werden kann. 
Vielleicht habt ihr Ideen, wie das gemacht werden kann!

Es geht darum, das Klima in einem (kleinen) Pilzzuchtraum 
vollautomatisch zu kontrollieren, d.h. grundlegend Luftfeuchtigkeit und 
Frischluft.
Wenn also die Feuchtigkeit zu niedrig ist, wird der Luftbefeuchter 
eingeschaltet, solange bis der benötigte Wert erreicht ist. Genauso, die 
Frischluft. Sobald der CO2-Gehalt zu hoch ist, Lüfter an.

Im Anhang ist ein schematisches Modell aufgezeichnet, dass den Aufbau 
beschreibt.
Wir haben folgende Geräte:
- Raspberry Pi
- Arduino uno
- Luftfeuchtigkeit und Temperatur-Sensor
- Luftbefeuchter
- Lüfter und Rohre für Frischluft
- Gewächshaus ((LxBxH): 186 x 120 x 190 cm)

Habt ihr Ideen?
Was ich bisher alleine hinkriegen könnte, wäre eine Anzeige per 
LCD-Display, auf der Temperatur und Luftfeuchtigkeit angezeigt werden, 
aber nicht entsprechende Befehle an die Geräte rausgeschickt werden.

Der ultimative Aufbau:
-Geräte werden per Funk (z.B. Bluetooth oder WLAN) vom Mikrocontroller 
angesteuert
-die Daten, die der Mikrocontroller sammelt, werden gespeichert und zu 
Grafiken verarbeitet. Diese Grafiken/Informationen können über ein 
Smartphone (App) abgerufen werden. Über diese App kann auch das 
komplette System bequem von unterwegs modifiziert werden (z.B. Lüfter 
an/aus, Grenzwerte für Feuchtigkeit etc. verändern)
-eine Webcam, die den Fruchtungsraum filmt. Diese (Live-)Aufnahmen 
können auch per App angesehen werden.
Angehängte Dateien:
Gast #5311993
Lesenswert?

Also Ideen habe ich, aber wo brauchst Du jetzt konkrete Hilfestellungen? 
Was sind deine Kenntnisse, was willst Du lernen und wo willst Du nach 
Möglichkeit auf komplett vorgefertigte Lösungen setzen?
(Firma: Draht_Igel) #5311995
Lesenswert?

Na wenn Du schon die Sensoren auswerten und deren Daten auf einem 
Display anzeigen kannst, dann kannst Du auch anhand der Daten ein Relais 
steuern.
Einfache If-Abfrage, die den aktuellen Wert mit einem Soll-Wert 
vergleicht, und bei bedarf einen Pin High oder Low schaltet, um damit 
ein Relais zu schalten, welches widerum deinen Verbraucher (Lüfter, 
Befeuchter etc.) schaltet.
Vergiss das App-Zeug, bring das erstmal so zum laufen.
Gast #5312021
Lesenswert?

Hallo,
ich würde an deiner Stelle das Ganze weniger kompliziert machen und 
lediglich einen Rduino, Sensoren, Lüfter und das Zeugs.
Programmiere das erstmal, dann kannst du das ja immer noch erweitern.

HelfersHelfer
Gast #5312111
Lesenswert?

Ich wuerd die Stuerung selbst mit einem moeglichst einfachen controller 
machen. zB einem Arduino. Denn der muss durchlaufen, darf nicht 
abstuerzen. Wenn er abstuerzt ist die Zucht kaputt. Der muss also das 
Regeln und Steuern mit den von extern gesetzten Parametern perfekt 
beherrschen. Fuer Kommunikation & Visualisierung darfs ein anderer sein. 
Die beiden kommunizieren mit einem seriellen Link. Der muss auch perfekt 
laufen, also nicht blockieren.
#5312142
Lesenswert?

Das Thema ist recht komplex.
Man kann nicht einfach an irgendeiner "Schraube" drehen und die 
Umweltbedingungen sind OK.
- Eine Erhöhung der Luftfeuchte bewirkt eine Senkung der Temperatur
  (Verdunstung).
- Eine Reduktion der Luftfeuchte bewirkt ebenfalls eine Senkung der
  Temperatur. Üblicherweise kühlt man hierzu die Luft ab.
- Eine Erhöhung der Temperatur bewirkt die Reduktion der Luftfeuchte.
- Die Senkung der Temperatur bewirkt die Erhöhung der Luftfeuchte.
- Variationen der Luftzusammensetzung oder CO2-Änderung sind sehr stark
  von der verwendeten Luft abhängig. Aus Kostengründen meist Außenluft.
  Diese bringt aber sowohl die Temperatur als auch die Feuchte
  durcheinander.

Langer Rede kurzer Sinn:
Alles in einem Gehäuse/System, damit die jeweilige Regelung weiß was 
angesagt ist und nicht "gegenläufig" arbeitet.
Ausreichende Luftzirkulation - aber nicht schädlich viel.
Die nötige Rechenleistung ist ein Witz. Ich würde sagen: Je einfacher, 
desto stabiler.

So sollte sich dein Psilocybin wohlfühlen.
Gast #5345370
Lesenswert?

Hallo Leute,
vielen vielen Dank für eure wertvollen Ratschläge.
Und bevor ich meinen Fortschritt erkläre:
Damit wird KEIN Zucht-Raum für schön duftende "Zimmerpflanzen" gebaut :)
Sondern es geht darum Speisepilze, also Shiitake und Co. zu züchten. 
Aber nun gut, ich verstehe auch die angeregte Fantasie^^

Habe nun folgendes geschafft:
Ich kann die Temperatur und Feuchtigkeit messen. Entsprechend meinen 
Angaben, wird ein Relais ein- bzw. ausgeschaltet, der den Stromkreis für 
einen Lüfter öffnet/schließt.

Habe aber folgende Problematik:
Sobald das Relais eingeschaltet wird (hier: bei über 70% Luftfeuchte) 
und der Lüfter startet, kommt ein Geräusch vom Laptop, als ob gerade ein 
neues USB-Gerät angeschlossen wird. Der Arduino stoppt zu arbeiten und 
der Lüfter dreht fleißig weiter. Damits wieder läuft, muss ich den 
Arduino ausstöpseln und neu verbinden.

Ideen woran das liegen kann?

Ich benutze einen Arduino UNO und zur Stromversorgung des Lüfters 
benutze ich eine extra Breadbord Stromversorgung.

Code:
#include "DHT.h" //DHT Bibliothek laden

#define DHTPIN 2 //Der Sensor wird an PIN 2 angeschlossen

#define DHTTYPE DHT11    // Es handelt sich um den DHT11 Sensor

DHT dht(DHTPIN, DHTTYPE); //Der Sensor wird ab jetzt mit „dth“ 
angesprochen
const int relaisPin = 5;

void setup() {
  pinMode(relaisPin, OUTPUT);
  Serial.begin(9600); //Serielle Verbindung starten
  dht.begin(); //DHT11 Sensor starten
}

void loop() {

  delay(2000); //Zwei Sekunden Vorlaufzeit bis zur Messung (der Sensor 
ist etwas träge)

  float Luftfeuchtigkeit = dht.readHumidity(); //die Luftfeuchtigkeit 
auslesen und unter „Luftfeutchtigkeit“ speichern

  float Temperatur = dht.readTemperature();//die Temperatur auslesen und 
unter „Temperatur“ speichern

  Serial.print("Luftfeuchtigkeit: "); //Im seriellen Monitor den Text 
und
  Serial.print(Luftfeuchtigkeit); //die Dazugehörigen Werte anzeigen
  Serial.println(" %");
  Serial.print("Temperatur: ");
  Serial.print(Temperatur);
  Serial.println(" Grad Celsius");
//Bei zu hoher Luftfeuchtigkeit, Relais einschalten
  if(Luftfeuchtigkeit >= 70){
  digitalWrite(relaisPin, HIGH);
  }else{
  digitalWrite(relaisPin, LOW);
  }
}
Angehängte Dateien:
Gast #5345377
Lesenswert?

Ich denke das liegt daran, dass du den Ausgang des Mikrocontrollers mit 
dem Relais überlastest. Du musst einen NPN Transistor (+Vorwiderstand 
+Freilaufdiode) dazwischen schalten. Im Online Handel gibt es auch 
Relais-Platinen mit Transistor fertig zu kaufen.

Dieses schnuckelige blaue Relais ist übrigens nicht für Netzspannung 
(230V geeignet, da innen drin die Isolationsabstände zu gering sind. Du 
riskiert damit einen Stromschlag und deinen PC zu zerstören.

Für den kleinen Ventilator reicht es aber.
Gast #5345385
Lesenswert?

Fehlermeldung:
Arduino: 1.8.5 (Windows 7), Board: "Arduino/Genuino Uno"

Der Sketch verwendet 5046 Bytes (15%) des Programmspeicherplatzes. Das 
Maximum sind 32256 Bytes.
Globale Variablen verwenden 266 Bytes (12%) des dynamischen Speichers, 
1782 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
avrdude: ser_open(): can't open device "\\.\COM3": Das System kann die 
angegebene Datei nicht finden.


Problem beim Hochladen auf das Board. Hilfestellung dazu unter 
http://www.arduino.cc/en/Guide/Troubleshooting#upload.
processing.app.SerialException: Fehler beim Öffnen des seriellen Ports 
"COM3".
  at processing.app.Serial.<init>(Serial.java:147)
  at processing.app.Serial.<init>(Serial.java:82)
  at processing.app.SerialMonitor$4.<init>(SerialMonitor.java:101)
  at processing.app.SerialMonitor.open(SerialMonitor.java:101)
  at processing.app.AbstractMonitor.resume(AbstractMonitor.java:104)
  at processing.app.Editor.resumeOrCloseSerialMonitor(Editor.java:2218)
  at processing.app.Editor.access$2200(Editor.java:79)
  at processing.app.Editor$DefaultExportHandler.run(Editor.java:2196)
  at java.lang.Thread.run(Thread.java:748)
Caused by: jssc.SerialPortException: Port name - COM3; Method name - 
openPort(); Exception type - Port not found.
  at jssc.SerialPort.openPort(SerialPort.java:167)
  at processing.app.Serial.<init>(Serial.java:136)
  ... 8 more
Fehler beim Öffnen des seriellen Ports "COM3".

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.
Gast #5345393
Lesenswert?

Stefan U. schrieb:
> Ich denke das liegt daran, dass du den Ausgang des Mikrocontrollers mit
> dem Relais überlastest. Du musst einen NPN Transistor (+Vorwiderstand
> +Freilaufdiode) dazwischen schalten. Im Online Handel gibt es auch
> Relais-Platinen mit Transistor fertig zu kaufen.

Was ist als Widerstand angebracht?
Freilaufdiode? Sorry, verstehe nur Bahnhof.

>
> Dieses schnuckelige blaue Relais ist übrigens nicht für Netzspannung
> (230V geeignet, da innen drin die Isolationsabstände zu gering sind. Du
> riskiert damit einen Stromschlag und deinen PC zu zerstören.
>
> Für den kleinen Ventilator reicht es aber.

Also über die externe Stromversorgung kommt nur 9V ans Board. Ist per 
Adapter am Strom, der 9V und 1A geben kann.
Gast #5345399
Lesenswert?

Mit den genannten Stichwörtern kannst du Beispielschaltungen im Internet 
finden - auch in der Artikelsammlung von mikrocontroller.net.

Gebe "arduino transistor relais freilaufdiode" in der Google Bildersuche 
ein.
#5355001
Lesenswert?

@Fatih
Möglicherweise überlastest Du die Stromversorgung, störst durch 
Induktion den µP oder Du überlastest den µP-Ausgang (u.v.a.).

Was zutrifft kannst Du relativ einfach auswürfeln, da Deine Angaben, für 
genauere Analysen, unzureichend sind.
Was interessiert ein Schema, wenn das Problem in Konkreten liegt?

Etwas Hilfe zu diesem Problem kannst Du auch durch eine Netzsuche finden 
oder durch einen Gucker in:
https://www.mikrocontroller.net/articles/Relais_mit_Logik_ansteuern

Muss aber nicht sein, vielleicht findet sich ja ein kompetenter 
Hellseher.
Gast #6703844
Lesenswert?

Was ist damals aus deinem Projekt geworden hast du es komplett umgesetzt 
und wenn ja - wie ? Mich würde es auch sehr interessieren Pilze selber 
zu Farmen aber jeden Tag aus dem vierten Stock in den Keller laufen nur 
um kurz nachzuschauen ist mir dann doch zu nervig.
#6703949
Lesenswert?

Moinsen,

mary jane schrieb:
> Sebastian S. schrieb:
>> So sollte sich dein Psilocybin wohlfühlen.
>
> Ich hätte jetzt eher vermutet, dass hier nicht Magic Mushrooms
> indoor kultiviert werden sollen, sondern vielmehr Weed. :-D

da ist aber die Steuerung von Beleuchtung und Luftfeuchtigkeit das 
kleinere Problem, sondern das nicht erwischt werden.

Hier in der grenznahen Region zu den Niederlanden wird das meiste von 
dem Material angebaut, was es dann in Holland zu kaufen gibt.

Beliebt waren stillgelegte Ziegeleien oder Gewächshäuser und andere 
große Hallen, die leer standen. Allerdings achten die Energieversorger 
mittlerweile auf ungewöhnlich hohen oder angestiegenen Stromverbrauch, 
die Cops fliegen regelmäßig die Gegend mit Wärmebildkameras ab, eine gut 
beheizte Halle zeichnet sich da deutlich ab, die sind ja nicht gedämmt.

Daher ist der Anbau von Magic Mushrooms sicherlich keine schlechte Idee, 
ich weiß ja nicht, wie kompliziert die in der Haltung sind, aber der 
Ertrag je m² Anbaufläche dürfte über dem von Gras liegen, oder?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren