Reifeschranksteuerung zur Herstellung von Dry aged Fleich und Salami

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Moin liebe Gemeinde,
    seit einiger Zeit versuche ich mich als Hobby-Metzger und stelle meine eigene Salamis, Schinken und Würste her. Diese werden zum trocknen momentan in die Garage gehängt, was aber keine optimale Bedingungen sind.
    Wer also hochwertige Salami oder sogar Dry Aged Fleisch herstellen will kommt um einen Reifeschrank nicht herum.
    Ein fertiger Reifeschrank kostet jedoch paar tausend Euro....

    Doch das geht auch viel billiger....

    Also zu erst zu den Anforderungen die ein solcher Schrank erfüllen muss:
    -Temperatur erzeugen von 2 bis 22 Graad Celsiuis
    -Luftfeuchtigkeit regelbar von 60 bis 95%
    -Regelbarer Luftaustausch sowie Luftzirkulation

    Benötigte Hardware:
    -Gewerbekülschrank mit Glastür und No-Frost-Technik
    -Ultraschalvernebler zur erhöhung der Luftfeuchte
    -Heizkabel um die 22Graad zu erreichen
    -BadezimmerVentilator für den Luftaustausch
    -Raspberry Pi
    -Relaysboard mit mindenstens 5 Ralays
    -Temparatur und Luftfeuchte-sensor (DHT22)
    -Kleinmaterial wie Kabel, Aufputzsteckdosen, Kabelkanal etc...

    Die prioritairen Anforderungen an die Programmierung
    -Aufnehmen der Variablen für gewünschte Luftfeuchte, Temperatur, sowie zeitgesteuerter Luftaustausch und Luftumwelzung,
    -die Variablen sollten zu jeder Zeit änderbar sein
    -Auslesen der momentanen Temperatur und Luftfeuchte (DHT22) und vergleichen mit den Sollwerten
    -Relays über GPIO schalten bis die Sollwerte erfüllt sind--> Ultraschalvernebler, Heizkabel, Kompressor des Kühlschranks
    -einstellbare Zeitschaltuhr für Luftaustausch und Luftumwelzung

    In einer zweiten Etape
    -Einbindung einer Datenbank
    -Ausgabe sowie Eingabe der SollWerten über php sowie Darstellung der Daten in einem Diagramm: Luftfeuchte, Temperatur, Schaltzustände,


    Erste Gedanken zum Projekt und Vorwort
    Vorab, ich bin blutiger Anfänger was die Programmation angeht und hoffe mir hier nicht zu viel zugemutet zu haben. Ich hätte auch einen fertigen Klimakontroller aus der Terraristik nehmen können, der hätte alle Funtionen abgedeckt, doch ich mache das ganze aus Spass an der Sache.
    Auch wenn dieses Thema hier wohl für die meisten uninteressant sein wird, da ich da eher einen kleinen Teil anspreche, so hoffe ich doch dass mir der ein oder andere einen Schups in die richtige Richtung gibt.

    Überlegung zur Programmstruktur
    Bei der Programmiersprache wollte ich Python benutzen

    bei der Programmstruktur stehe ich schon vor der ersten grossen Frage?
    -Alles in eine Datei oder doch mehrere Dateien erstellen? was meint ihr?

    Meine Idee war folgende:

    Ein Programm zum Aufnahme der Variablen und Speichern in eine SQL-Datenbank
    Ein Programm zum Einlesen/Umwandeln der Sensorwerte und speichern in der SQL-Datenbank
    Ein Programm zum vergleichen der Soll und Ist-Werten der SQL-Datenbank, sowie gegebenenfals schalten der entsprechenden GPIO's und zurückschreiben der Schaltzuständen in die SQL-Datenbank
    Ich denke damit hätte ich auh für zukünftige PHP-einbindungen die Grundsteine gelegt.

    Für das erstellen der Funtionen für Heizen / Kühlen / Luftfeuchte habe ich mir schon etliche Beispiele angesehen die ich für mich umsetzen kann.
    Aber die programmierbare Zeitschaltuhr macht mir sorgen, da muss ich mich mal zum Thema Array einlesen...
    Sollte die Zeitschaltuhr auch lieber ein eigenes Programm/Datei bekommen?

    so das war dann mal die Vorstellung meines Projektes, hoffe dass ich noch diese Woche meinen Sensor sowie Relaysboard bekomme so dass ich mit der Umsetzung beginnen kann.
    Leider wird es immer etwas dauern bis sich was tut, zeitlich bin ich etwas knapp, so bleibt mir nur das basteln am Abend

    Mfg Tommy_J

    PS: werde morgen mal ein Bild von so einem selbstgebauten Reifeschrank einstellen, so dass man sich das besser vorstellen kann

    Einmal editiert, zuletzt von Tommy_J (2. März 2015 um 21:31)

  • Reifeschranksteuerung zur Herstellung von Dry aged Fleich und Salami? Schau mal ob du hier fündig wirst!

    • Offizieller Beitrag

    Mir wäre in Bild von getrocknetem Fleisch (lecker) wesentlich lieber. ;) Ich würde das alles in einem Programm abhandeln. Sehe da jetzt keine Grossen Baustellen. du solltest hier auch schon ein Haufen fertige Code-Schnipsel finden. Wie oft soll denn die Zeitschaltuhr schalten? Bist du da mit crons eventuell nicht besser beraten?

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

  • Wer sich mal ein Bild machen will was ich so in meiner Freizeit fabriziere:
    https://m.facebook.com/groups/599360833503469?ref=bookmark

    Hier findet ihr zur besseren Vorstellung ein Bautagebuch eines Reifeschranks:
    http://www.grillsportverein.de/forum/threads/…h-reiny.225424/

    Danke golmic, schaue ich mir heute mal genauer an, als übergangslösung in der Zeit wo ich mein eigenes Programm schreibe, wie gesagt ich mache das aus Freude an der Sache.

    dbv
    da bin ich aber froh dass du da keine grossen Baustellen siehst, ich sehe nur eine einzige Grosse lol
    Ich brauche im ganzen 2 Zeitschaltuhren, die zum Luftaustausch soll 4x am Tag für 10 Minuten schalte, die zur Luftumwelzung soll jede Stunde für eine Zeit x sxhalten.
    Luftaustausch wird eher selten angepasst, jedoch Luftumwelzung wird je nach grad der Reifung täglich angepasst werden.

    Zu crons muss ich mich mal einlesen, ist mir momentan kein Begriff

    Ich werde heute im Laufe des Tages mal mein Programmaufbau in Textform hier posten.

    Z.b.
    -Module definieren
    -Gpio definieren
    -Gpio Zustand auf Relays aus setzen
    - Variablen einlesen (input)
    -Tenperatur einlesen
    Etc
    Etc
    Etc

    Einmal editiert, zuletzt von Tommy_J (3. März 2015 um 08:31)

  • so also hier meinen vorläufigen Programmaufbau in Textform

    -Module importieren GPIO, os, time, crontab, adafruit_dht22
    -GPIO definieren
    -Alle Relays ausschalten (GPIO )
    -Einlesen der Variablen(Soll Temperatur, Luftfeuchtigkeit, Heizen oder Kühlen, Hysteresewert, Zeitschaltuhr)
    -Funktion goodbye und cleanup erstellen---> verlassen des Programms, alle Relays ausschalten GPIO cleanup
    -Funktion Temparatur und Luftfeuchte lesen erstellen, Verarbeitung der Werte zu "float", einbauen einer Kontrollroutine
    -Funktion Heizen erstellen TempSoll<TempIst ---> Relais für Heizkabel Ein ---> Umluft zur Wärmeverteilung Ein
    -Funktion Kühlen erstellen TempSoll>TempIst ---> Relais für Kühlschrankkompressor EIN ---> Umluft Ein
    -Funktion Luftfeuchte erstellen LftSoll<LftIst ----> Relais für ULtraschallvernebler Ein
    ---------für das gebrauchen des crontabmoduls muss ich mich erstmal einlesen-------

    so nun auf den ersten Blick habe ich ein Problem wo ich noch nicht weiss wie ich es lösen soll, wie kann ich bei laufenden Programm meine Variablen die ja am Anfang abgefragt werden ändern? Denn auch wenn ich ja mit Funktionen arbeite so muss ich doch eine Schleife setzen? oder ist das ganze mit " IF" lösbar?

    So wie es aussieht wurde heute mein Sensor dht22 geliefert, so kann ich endlich anfangen meine Ideen auszuprobieren und kann mich in der Praxis üben, denke dann wird mir vieles klarer .... oder ich verzweifle lol

    dbv mit crons meintest du ja crontab?

    Einmal editiert, zuletzt von Tommy_J (3. März 2015 um 14:59)

  • Hallo Tommy,

    entweder:
    Initialiseren der Variablen vor der Hauptschleife
    Auslesen der Messwerte innerhalb der Hauptschleife
    Reagieren auf die Messwerte innerhalb der Hauptschleife

    (dieses Verfahren entspricht einer Automatisierung und Du weißt jederzeit, was Dein System gerade macht)


    oder
    Aufruf der Anwendung über Crontab
    Initialisieren der Variablen
    Auslesen der Messwerte
    Reagieren auf die Messwerte innerhalb einer Schleife bis die gewünschten Bedinbgungen erreicht sind
    Programm beenden
    Blindflug bis zum nächsten Crontab-Aufruf


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Moin Andreas,
    Also das ganze sollte schon permanent laufen.
    Mit Crontab wollte ich zusätzlich zwei Zeitschaltuhren realisieren die Teil des Programms werden sollen.

    1 Relais schaltet bei entsprechender LufLuftfeuchte
    1 Relais bei entsprechender Temperatur unter TempSoll
    1 Relasi bei Temparatur über TempSoll
    2 Relays Zeitgesteuert / Zeitschaltuhren

    Mfg

    Ps: leider kann ich heute noch nicht mit der praktischen Umsetzung beginnen, der DHT22 war nicht bei meiner Lieferung dabei...
    Also Zeit nutzen und mich weiter belesen

    Einmal editiert, zuletzt von Tommy_J (3. März 2015 um 18:42)

  • so war mal bisschen fleissig und habe trotzt fehlendem Sensor mein Programm begonnen. Dank der vielen Tutorials im Netz kam ich gut voran, ich will kein Geheimnis draus machen dass ich mir das meiste abgekuckt habe und für meine Zwecke umgeschrieben habe.
    Momentan läuft das Programm mit einem Zähler als Ersatz für den Sensor, aber sollte nachher mit dem Sensor so laufen. Wenn ich mal alles am laufen habe werde ich noch einen Hysteresewert mit einberechnen um die Trägheit der Sensoren und die Nachheizleistung aufzufangen.
    was wurde bis jetzt gemacht:
    -Steuerung von Temperatur und Luftfeuchtigkeit auf vorher bestimmte Werte
    -Ausgabe eines Diagramms via RRDtool
    -Ausgabe der Messwerte in current.json - für spätere PHP Erstellung

    was bleibt noch zu machen
    -2 Schaltuhren implementieren
    -php Script erstellen, Wiedergabe der Diagramme, Wiedergabe er Messwerte und Änderung der Sollwerte
    -Funktionen für Kühlung und Heizung erstellen, momentan etwas holperig in meiner Schleife

  • so mal ein kleines Update, es ging gut voran
    -an Stelle von Zeitschaltuhren habe ich 2 Timer erstellt, reicht für meine Zecke
    -Einbinden de Ds18b20

    nächste Baustellen:
    -aufteilen des Programms eins zur Aufnahme der Sollwerte und eins mit dem Hauptprogramm, beide tauschen sich über json aus, somit sind änderungen der Sollwerte im laufenden Betrieb möglich
    -Eingabe der Werte über eine php-Seite

  • Moin,
    hast du das Projekt erfolgreich abgeschlossen?

    Würde ein ähnliches Projekt starten wollen, habe allerdings so gar keinen Plan vom programmieren. evtl. könntest du mir den Programmcode zur Verfügung stellen :)

    Gruß

    Ole

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!