Zavařovací hrnec podomácku

PhDr. Mgr. Jeroným Klimeš, Ph.D. 2023-09-12


Dedikace: Tato stránka je věnována Mojmírovi Frídovi z oddaného obdivu.


Motto: Když Cimrman po letech spatřil ve Vídni první němé filmy, byl unesen. Ihned navázal přátelství s Mojmírem Frídou, půdoznalcem, který z nejrůznějších součástí nalezených na půdách sestrojil promítací přístroj.


Perex: Popíši Vám, jak jsem si vyrobil zavařovací hrnec z různých součástí nalezených doma. Potřeboval jsem něco, kde nemusím pořád hlídat teplotu a čas. Abych řekl pravdu, víc práce dalo napsat tuto webovou stránku než vlastní skript. Jinými slovy jednoduché programování skriptů není až tak složité a stojí za to se to naučit, i když třeba jste na Windows, byť tam je psaní skriptů na rozdíl od Linuxu dost nepohodné. Obávám se, že ve windows tento skript na zavařovací hrnec nejde vůbec napsat, ale možná se mýlím.

Na okraj, tady vidíte, kde beru inspiraci pro své psychologické metafory - děti vztah neopravují, ale jen zakonzervují ten stávající, a tak ho ochrání před přechozením čili zrychleným stárnutím. Opadaly nám skoro zralá jablka, tak jsem je zakonzervoval, aby vydržely ve sklenicích mnohem déle, než by vydržely pod stromem. A co vy? Hodláte také zakonzerovovat dětmi svůj skvělý vztah, aby vám neshnil? Já jsem názoru, že skvělé vztahy, ovoce i zeleninu má smysl zakonzervovat. Proto píšu knihy o rozchodech i skripty na zavařovací hrnce - o obojím jsem přesvědčen, že to může učinit tento svět hezčím...


Co k tomu třeba:

Větší hrnec, do kterého se vejdou alespoň čtyři zavařovací sklenice, tak aby dole zbylo místo na rošt.

Poklička, do které vyvrtáme díru na teplotní čidlo

Elektrický vařič, který nemá elektroniku, který začne hřát, jakmile do něho pustíme proud.

Starý notebook, do kterého nainstalujeme linux.

USB relay – koupíme na eBay (200 Kč) https://www.ebay.com/itm/152464651505. Návod na instalování ovladače

USB teploměr – koupíme na eBay (250 Kč) https://www.ebay.com/itm/234357942458


Toto vše poskládáme takto:

Fotodokumentace

Teploměr s čidlem, koupené relé a relé zkompletované do staré krabičky

Ovládání relé z příkazové řádky:

sudo ./usbrelay

too few arguments!

usage:

./usbrelay on [1|2]

./usbrelay off [1|2]

./usbrelay get

sudo ./usbrelay on

sudo ./usbrelay get

1: OFF

2: OFF

Výstup teploměru je:

./pcsensor -c -l1

2014/10/12 13:03:35 Temperature 69.95F 21.08C

Z toho se dají vykuchat potřebné informace, viz skript níže.

Starý hrnec, do kterého jsem dal nerezový proužek, který funguje jako rošt, protože na něm stojí čtyři velké zavařovací sklenice 2 cm nad dnem hrnce, ergo nemohou mít vyšší teplotu, než je vroucí voda, cca 96°C. Když nemáte rošt, naházejte do hrnce hrst kovových lžiček, tak na 2 cm. Vody dávejte, jak se píše ve vlastním skriptu do 2/3 výšky sklenic.

Starý vařič – uvnitř má bimetalovou kontrolou teploty, je to docela kuriózní historický bastl. Výhodou je, že se dá v nouzi přímo napojit na fotovoltaické panely bez měniče. Moje panely na stringu dávají max 1600W při 270V, takže když to připojím napřímo a nesvítí prudké slunce, tak by se to nemělo odpálit. To je sympatická vlastnost panelů – když je nejhůř, můžeme se vrátit k bastlení. Konec konců, když to dobře propočítáme a pozapínáme, tak můžeme i bojler připojit napřímo. To třeba u tepelných čerpadel nejde, to jsou už moc složitá zařízení na bastlení.

U stejnosměrného proudu z panelů je dobré přemostit, tzn. odpojit relé a termostaty, aby nevznikly oblouky a tyto se nespálily.

Tátův zavařovací koutek

Relé i teploměr jsou za počítačem, stejně jako zásuvky. Drát teplotního čidla, co vede pod pokličku, vidíte. Při zavařování ještě na pokličku hodím utěrku, aby to víc teplotně izolovalo.

Bezpečnostní opatření

I psycholog může vyhořet, takže to dávám na vál a na pečící plech, co je po ruce, protože opatrnosti není nikdy nazbyt. Stejně tak vařič i počítač jsou řádně uzemněny přes nulák a nadproudové relé v rozvodné skříni – tady žádný bastl není na místě. Stejně tak je lepší zaklapnout víko počítače, když se na něm nepíše, aby se nešplouchlo na klávesnici.

Výhody – nevýhody čili pla a mína

Toto řešení není moc pro netechnické typy vizuálně atraktivní, každopádně je to univerzální řešení. Když vezmu 30 litrový zavařovací hrnec, který mám v garáži, tak mohu zavařovat ve velkém, protože to funguje stejně spolehlivě jako tato malá sestava. Ano, můžete si koupit zavařovací hrnce, ale stejně tak stačí mít jednu pokličku s dírkou a v pozdním létě si poskládat zavařovací koutek na pár týdnů, aniž musíte mít doma extra krám za extra peníze. Sonda s relé zaberou málo místa, navíc se dají využít pro mnoho jiných aplikací, např. zalévání skleníku.

Jinými slovy, i když si postavíte továrnu na zavařování ačokč, tak tímto trochu upraveným skriptem můžete řídit zavařování na celé farmě.

Řeknu to příkladem. Kdysi jsem kódoval video v rámci výzkumu reklamy. Program se jmenoval Observer a stál bratru 80 000 Kč. Byl pro jednoho uživatele, nemohli jsme ho dávat domů brigádníkům kradený. Jednou jsme jeli na služební cestu do Hamburgu, a tak jsem cestování využil, že jsem naprogramoval jednoduchý kódovací software (tehdy ještě na Windows):

http://klimes. mysteria.cz/clanky/programy/kodovani_videa/

Pokud vím, tak ho profesionálové na kódování videí používají dodnes. Proč? Protože stačí – je malý, ale dělá jen to, co má. Tady je to stejné.

Software

Struktura programu je zcela prostá:

A) Kontrola zařízení a zvuku

B) Informace pro uživatele, jak to zapojit a jaké hodnoty zavařování nastavit

C) Zahřívání na počáteční teplotu (zde 80 °C)

V této části by se měl dát nějaký zpomalovač topení, podle rychlosti, jak stoupá teplota, protože pokud je v hrnci málo vody, tak teplotní setrvačnost vařiče přehřeje vodu třeba do varu.

D) Časový odpočet vlastního zavařování (zde 20‘)

E) Závěrečné instrukce a děkovačky

Omezená blbovzdornost

Pokud program ukončíte násilně pomocí CTRL-C, tak se nevypne relé a vařič dále hřeje – to si musíte kontrolovat sami. Není to Python, kde si můžeme ohlídat stisk CTRL-C. Přepisovat do Pythonu se mi nechce, takto mi to bohatě stačí. Ale celé toto zařízení není pro blbce a na vlastní nebezpečí, takže používat rozum, pak můžeme používat i vidličku. Ale rozum v každém případě!

Bash skript


#!/bin/bash
#  jkecho_color.sh je skript, ktery ma barevny vystup, mozno nahradit za obycene „echo“ 


teplota=80                              # °C
doba_zavarovani=20              # minut
prodleva=1                              # sekundy mezi měřeními
pomaly_rozjezd=false
debug=true
debug=false

if [ "$1" == "-v" ]; then #vyvarovani
    teplota=90                          # °C
    doba_zavarovani=5           # minut
        echo "Zacina vyvarovani "
fi
# exit

if $debug; then 
        teplota=30                              # °C
        teplota=80                              # °C
        teplota=56                              # °C
        prodleva=1                              # sekundy mezi měřeními
        prodleva=1                              # sekundy mezi měřeními
        doba_zavarovani=2               # minut
fi

kdosu=$(hostname -f)
case  $kdosu in 
    T430)
        zvuk_soubor=$cesta_bash/beep/camera.wav
        zvuk_soubor=$cesta_bash/beep/beep_click.wav
        cesta_rele=/home/cesta/USB_relay_USBRelay2_dcttech/usb_relay_master
        cesta_teplomer=/home/cesta/TEMPer1F_teplomer/ovladace
        cesta_bash=/home/bash/
        zvuk_soubor=$cesta_bash/beep/beep_chord.mp3
        zvuk_soubor=$cesta_bash/beep/blackberry.mp3
        ;;
    pcx201)
        cesta_rele=/home/cesta/USB_relay_USBRelay2_dcttech/usb_relay_master    
        cesta_teplomer=/home/cesta/TEMPer1F_teplomer/ovladace
        cesta_bash=/home/cesta/
        zvuk_soubor=/home/cesta/beep/blackberry.mp3
        ;;
esac


function zvuk {
# echo "source jkbeep.sh nebo \". jkbeep.sh\""
        /usr/bin/mpv $zvuk_soubor &> /dev/null 
}

teplota100=$teplota"00" # teplota vynasobena 100

clear
echo Zavarovaci hrnec
echo '
Do počítače zapojíme:
A) USB_relay_USBRelay2_dcttech - tedy usb rele
B) /home/cesta/TEMPer1F_teplomer - tedy usb teplomer

Nastavíme v tomto skriptu:
C) teplotu ve stupních Celsia 
D) dobu zavařování v minutách.

Jako správce spustím tento skript:
E) sudo ./zavarovaci_hrnec.sh

Skript muzete kdykoli zastavit pomoci CTRL-C, ale pozor musite pak rucne vypnout rele - vytahnout z USB

F) sudo ./zavarovaci_hrnec.sh -v
    Parametr    -v  spousti vyvarovani = 90°C a 5 minut.
    '
read
echo '
Sklenice mají stát ponořené do 2/3 až ¾ ve vodě. V případě 2 řad sklenic na sebe
postavených, měla by nejvyšší sklenice být ponořena do ¾ své výšky.
Při zavařování použijte vždy zavařovací rošt.
Doba zavařování se počítá vždy od dosažení bodu varu nebo požadované teploty.
    '
read
echo '
Ovoce            Teplota v °C       Čas v min
rybíz                85                20
jabl. pyré           90                30
hrušky               90                30
jahody               75                25
borůvky              85                25
maliny               80                30
třešně               80                30
mirabelky            90                30
broskve              90                30
meruňky              90                30
rebarbora           100                30
angrešt              80                30
švestky              90                30
    '
read
echo '
Zelenina      Teplota v °C        Čas v min
květák              100                90
fazole lusky        100               120
tlusté fazole       100                90
hrách               100               120
kys. okurky          90                30
karotka             100                90
mrkev               100                90
kedlubny            100                90
dýně                 90                30
růž. kapusta        100               120
chřest              100               120
kapusta             100               120
rajčata              90                30
    '
read
echo '
Maso                    Teplota v °C     Čas v min
pečené-plátek               100            75
guláš                       100            75
divočina, drůbež            100            75
řízek, kotlety zapečené     100            75
uzeninová směs              100           120
azbest                      100   120 000 000 000

'

function teplomer {
        teplota_hrnec=$(sudo $cesta_teplomer/pcsensor -c| sed -rn 's/^.* (.*)C$/\1/;s/\./,/p')  # 2488 2489 
        teplota_hrnec100=$(sed -r "s/,//" <<< $teplota_hrnec)
}

function rele {
        #     sudo apt-get install libusb-dev ### toto vyzaduje rele
        sudo $cesta_rele/usbrelay_funkcni $1 2>&1
}

echo Ověřování programů pro teploměr a pro relé
echo Kontrola zvuku
   zvuk
   $cesta_bash/jkecho_color.sh y "Meli byste slyset zvuk..."
   echo
if [ "$(whoami)" == "root" ]; then 
        echo "Jsem root - správně."
else 
        $cesta_bash/jkecho_color.sh y "Nejsem root. Treba spoustet se sudo. Konec..."
        exit
fi

# sudo /home/cesta/TEMPer1F_teplomer
if [[  $(sudo $cesta_teplomer/pcsensor) =~ .*Temperature.* ]]; then      
                echo "Teplomer se hlasi"; 
else 
        $cesta_bash/jkecho_color.sh y "Teplomer se nehlasi. Konec..."
        exit
fi
if [ "$(sudo $cesta_rele/usbrelay_funkcni get 2>&1| sed -rn 's/^.*not found.*$/True/p' )" == "True" ]; 
        then 
        $cesta_bash/jkecho_color.sh y "Rele se nehlasi. Konec..."; 
                exit
        else    
                echo "Rele se hlasi"; 
                rele off
                rele_fmt="Off"
        fi      
echo
echo Zahrivani
echo ---------
zvuk 
$cesta_bash/jkecho_color.sh y "Cekame na zahrati na $teplota°C"
cas_zacatek_zahrivani=$(date "+%s")
echo zacatek zahrivani=$(date --date="@$cas_zacatek_zahrivani" +%H:%M)      #funguje$(date +%Y-%m-%d_%H-%M-%S)
echo nastavena doba zavarovani: $doba_zavarovani minut
echo nastavena teplota zavarovani: $teplota °C
echo

teplomer
teplota_zacatek_zahrivani=$teplota_hrnec100
echo "Teplota je: "
while [ $teplota_hrnec100 -lt $teplota100 ]; do
        echo -e -n "    $teplota_hrnec                  \r"
        teplomer
        rele on
        sleep $prodleva
        if  (( (( teplota100- teplota_hrnec100) < 1000 ) && pomaly_rozjezd)); then
        rele off
        sleep $(( prodleva * 3 )) # zpomalí ohřívání
        rele on
    fi
        done
rele off
cas_konec_zahrivani=$(date "+%s")
teplota_konec_zahrivani=$teplota_hrnec100
echo cas_konec_zahrivani=$(date --date="@$cas_konec_zahrivani" +%H:%M)      #funguje$(date +%Y-%m-%d_%H-%M-%S)
if $debug; then 
    echo teplota_konec_zahrivani__$teplota_konec_zahrivani
    echo teplota_zacatek_zahrivani$teplota_zacatek_zahrivani
    echo cas_konec_zahrivani__$cas_konec_zahrivani
    echo cas_zacatek_zahrivani$cas_zacatek_zahrivani
fi
# rychlost_zahrivani=$(( ((teplota_konec_zahrivani-teplota_zacatek_zahrivani-1)*10)/((cas_konec_zahrivani - cas_zacatek_zahrivani)/60) ))
doba_zahrivani=$(( cas_konec_zahrivani - cas_zacatek_zahrivani ))
echo
echo "Hrnec uz je nahran na teplotu $teplota_hrnec °C"
echo Rychlost zahrivani byla $rychlost_zahrivani m°C/minutu
echo Doba zahřívání byla $doba_zahrivani
echo

echo "Zavarovani"
echo -----------
zvuk 
echo nastavena doba zavarovani: $doba_zavarovani minuta
echo nastavena teplota zavarovani: $teplota     °C
echo
cas_zacatek_zavarovani=$(date "+%s")
cas_zacatek_zavarovani_fmt=$(date --date="@$cas_zacatek_zavarovani" +%H:%M:%S)      #funguje$(date +%Y-%m-%d_%H-%M-%S)
konec_zavarovani=$(( cas_zacatek_zavarovani + doba_zavarovani*60 ))
konec_zavarovani_fmt=$(date --date="@$konec_zavarovani" +%H:%M:%S)
# echo  konec_zavarovani$konec_zavarovani
# echo tady
cas_nyni=$(date "+%s")
echo cas_zacatek_zavarovani: $cas_zacatek_zavarovani_fmt
        echo "  Teplota:        Cílová teplota: Topení:         Cas:            Konec bude:"
while [ $cas_nyni -lt $konec_zavarovani ]; do
        cas_nyni=$(date "+%s")
        cas_nyni_fmt=$(date --date="@$cas_nyni" +%H:%M:%S)
        echo -e -n "    $teplota_hrnec          $teplota                $rele_fmt               $cas_nyni_fmt   $konec_zavarovani_fmt  $(( konec_zavarovani - cas_nyni)) ( $(( (konec_zavarovani - cas_nyni )/60 )))   \r"
        teplomer
        if [ $teplota_hrnec100 -lt $teplota100 ]; then
                rele on
                teplota_zacatek_zahrivani=teplota_hrnec100 # zde je to i konec chladnuti
        cas_zacatek_zahrivani=$(date "+%s") # 
#               rychlost_chladnuti=$(( ((teplota_zacatek_zahrivani-teplota_konec_zahrivani)*10)/(( cas_zacatek_zahrivani - cas_konec_zahrivani )/60) ))
        doba_zahrivani=$(( cas_konec_zahrivani - cas_zacatek_zahrivani ))
                rele_fmt="On"
        else
                rele off
                teplota_konec_zahrivani=teplota_hrnec100 # budouci zacatek chladnuti
        cas_konec_zahrivani=$(date "+%s") # budouci zacatek chladnuti
                rele_fmt="Off"
#               rychlost_zahrivani=$(( ((teplota_konec_zahrivani-teplota_zacatek_zahrivani)*10)/((cas_konec_zahrivani - cas_zacatek_zahrivani)/60) ))
        doba_zahrivani=$(( cas_konec_zahrivani - cas_zacatek_zahrivani ))
        fi
        sleep $prodleva
        done
        rele off
        rele_fmt="Off"
        echo 
        echo
zvuk 
$cesta_bash/jkecho_color.sh y "konec zavarovani - vytahnete varic ze zasuvky"
zvuk 
$cesta_bash/jkecho_color.sh y "---------------------------------------------"
zvuk 
echo "Vyjmete, obratte hrdlem dolu a nechejte vychladnout"
zvuk 
exit