Skocz do zawartości

BrewPiLess - bardzo ekonomiczny kontroler fermentacji (wersja 02.03.2017)


Rekomendowane odpowiedzi

 

 

 

Mam ten sam problem. Jak to można rozwiązać?

 

Chodzi o wykrywanie termometrów? Kupowałeś je od majfrendów? Jeśli tak, to czy sprawdzałeś przewody sygnału i zasilania (u mnie były opisane na odwrót i też długo się zastanawiałem czemu ich nie wykrywa)?

 

EDIT:

Możliwe też, że wykryje je dopiero po odświeżeniu listy urządzeń (przyciskiem w device config).

Jeśli zaś chodzi o hasło, to jest w dokumentacji dla zainstalowanej wersji :)

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

12 minut temu, pan_czarny napisał:

Kupiłem w polskim sklepie internetowym... czy mogę bezpiecznie zamienić przewody sygnału i zasilania (nie spalę czujnika)?

Jeśli zakładasz, że teraz podłączony jest odwrotnie to prawidłowe podłączenie nie powinno zaszkodzić ;-)

Tam jest jak rozumiem DS18B20, generalnie tak możesz obrócić na jednym i na drugim pojawia się to samo +5V, zresztą tego cudaka można zasilać przez nogę DQ (wtedy działa na 2 przewodach, ale wymaga chyba innego software choć nie jestem pewien, może źle pamiętam). Tak czy siak stan normalny (bez transmisji) jest wysoki więc wiele się od zasilania nie różni.

Odnośnik do komentarza
Udostępnij na innych stronach

Software idzie wtedy ten sam ;) Tylko troszkę inaczej się podłącza kabelki, ale to nie problem. 

@pan_czarny a do panelu "Device Setup" się dostałeś? Tam musisz najpierw przypisać termometry do funkcji (temp. piwa, lodówki). U mnie na start nie wyświetla się tam żadne urządzenie, dopiero po odświeżeniu zaznaczonym przyciskiem pojawia się więcej :)

image.png

Odnośnik do komentarza
Udostępnij na innych stronach

Plik "1" to stan przed odświeżeniem, "2" - po odświeżeniu. Czujnik mam podłączony do pinu D6.

 

22 godziny temu, wariat napisał:

Jeśli zakładasz, że teraz podłączony jest odwrotnie to prawidłowe podłączenie nie powinno zaszkodzić ;-)

Tam jest jak rozumiem DS18B20, generalnie tak możesz obrócić na jednym i na drugim pojawia się to samo +5V, zresztą tego cudaka można zasilać przez nogę DQ (wtedy działa na 2 przewodach, ale wymaga chyba innego software choć nie jestem pewien, może źle pamiętam). Tak czy siak stan normalny (bez transmisji) jest wysoki więc wiele się od zasilania nie różni.

Zamieniłem przewody sygnału i zasilania, nic się nie zmieniło. 

1.png

2.png

Odnośnik do komentarza
Udostępnij na innych stronach

Chyba już się zbliżam do celu...

 

Zlutowałem i zaizolowałem nowy termometr - jest sprawny, mam poprawny odczyt w Craftbeer Pi3 i w ESPEasy. Nie mogę za to uzyskać odczytu w Brewpiless. Próbowałem na wszystkich pinach, od D0 do D8. Zazwyczaj program nie widzi czujnika (jak na załączonym obrazku, 3 x "Hardware type: none"), w przypadku podpięcia do D8 układ nie odpowiada i nie mogę zalogować się przez www. 

Na D6 zachowuje się inaczej - klikam "Erase Eeprom" i "Refresh Device list". Pojawia się okno z napisem "Retrieving" i tak już zostaje (drugi obrazek), przy próbie odświeżenia jest komunikat: error communication between server. Co robię nie tak?

 

EDIT: Brewpiless 2.5, ale na 2.7 było to samo. 

 

2.png.7e2442ad265d1d05c925b63471629320.png

retrieving.png

Edytowane przez pan_czarny
Odnośnik do komentarza
Udostępnij na innych stronach

Termometr musi być na pinie D6. Co do tego czemu wtedy nie wykrywa to już nie mam pojęcia niestety. Rezystor pull-up rozumiem  jest na miejscu?

 

Jak ja ostatnio miałem niewyjaśnione kłopoty z wykrywaniem urządzeń przez BrewPiLess przyczyną okazał się... walnięty kabel usb który najwyraźniej powodował jakieś błędy przy wgrywaniu binarki.

Odnośnik do komentarza
Udostępnij na innych stronach

 

5 godzin temu, koval_blazej napisał:

Termometr musi być na pinie D6. Co do tego czemu wtedy nie wykrywa to już nie mam pojęcia niestety. Rezystor pull-up rozumiem  jest na miejscu?

 

Jak ja ostatnio miałem niewyjaśnione kłopoty z wykrywaniem urządzeń przez BrewPiLess przyczyną okazał się... walnięty kabel usb który najwyraźniej powodował jakieś błędy przy wgrywaniu binarki.

Czunik temperatury nie musi być na pinie D6, jeżeli jest wersja sonoff.bin to jest na pinie D5:

  • For SONOFF.
  • Sensor on D5, Coolling on D6
  • No rotary encoder. No LCD
  • OTA update NOT supported.
  • 512K SPIFFS for logging.

na moim pierwszym D1 mini też był problem z wykrywaniem czujnika i tak pozostało:) (jak czujnik został wykryty to nie można go było przypisać do określonej funkcji - dostawałem komunikat "Retrieving" ), kupiłem drugi D1 mini i jest ok.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

dobra, mam to. Opiszę poniżej - może komuś kiedyś pozwoli to rozwiązać podobny problem. 

 

Był błąd podczas flashowania firmware'u - powinienem był przed flashem wyczyścić pamięć urządzenia, inaczej niby BrewPiLess się uruchamiało, ale jednak z błędami (jak zwis podczas "Retrieving"). Zrobiłem to wg tego tutoriala: http://www.pratikpanda.com/completely-format-erase-esp8266-flash-memory/

 

Jeśli chodzi o termometry, to miałem źle dobrany rezystor. Chyba w sklepie elektronicznym sprzedawca się pomylił. Zamówiłem przez net rezystory o odpowiednich parametrach, zamieniłem - od razu pojawiły się urządzenia i odczyty.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...

Panowie może teraz mi pomożecie, mam zamrażarkę w której po obejściu sterownika, agregat po wyłączeniu potrzebuje czasu do włączenia się, pewnie jakieś wewnętrzne zabezpieczenie. Sterownik czasem szaleje bo chce włączyć a mu zamrażarka nie daje. Spotkaliście się z tym? Wiem że ktoś kombinował coś z parametrami żeby za często nie załączało agregatu.

 

EDIT: ok znalazlem https://github.com/vitotai/BrewPiLess/wiki/JSON-command

Edytowane przez Gwynbleidd
Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...

@koval_blazej bawiłeś się może coś dalej ustawieniami filtrów i PIDów? Ja się pogubiłem a chciałem zmienić żeby właśnie mi nie grzało jak na dworze jest 30 stopni a lodówka ustawiona na 14... Widzę że kolega wyżej @Slawmir ma wykres na którym jest tylko chłodzenie, modyfikowałeś coś może w ustawieniach?

 

Ponadto jest wersja 3rc6 :) ale chyba rozwijanie programu ustało już, w sumie i dobrze bo co więcej potrzeba jak wszystko chodzi.

 

PS. Chyba musze zamówić częsci do iSpindla bo teraz mam lodówkę z otwarciem od góry i ciężko pobierać próbki do pomiarów :D

Edytowane przez Gwynbleidd
Odnośnik do komentarza
Udostępnij na innych stronach

@Gwynbleidd, ja po prostu usuwam grzałkę w "Device Setup" o ile nie fermentuję belgów ;)

Generalnie po przestawieniu PID tak jak pisałem wyżej, grzanie włączało się znacznie rzadziej. jest też parametr  "idleRangeH", domyślnie ustawiony na 0.5. Myślę, że można zmienić to na 1-1.5 stopnia, to będzie mniej wyrywny do grzania.

Odnośnik do komentarza
Udostępnij na innych stronach

idleRangeH to jest histereza, wiec ustawienie na 20 stopni i dopiero jak dojdzie do 21 to bedzie chlodzilo, faktycznie to moze troche pomoc. U mnie domyslnie na 3rc6 to byla to wartosc = 1 w High i Low.

 

Dobry pomysł z tym wyłączeniem grzałki :) U mnie problem czasem bywa taki że w dzień jest za gorąco - temp otoczenia 30 stopni a w nocy spada nawet do 8-9 stopni więc musi podgrzać trochę dlatego lepiej jak ogarnę PIDy.

 

Generalnie mam też problem że czasem wyświetla się że kontroler nie wysyła danych albo że jest problem z połączeniem. Niby dalej kontroler działa, czasem się wysypie. Myślałem że może napięcie spada zasilania, ale monitorowałem i jest stałe 5.09V. Myślałem czy by nie przejśc w ogóle na Fermentrack (choć jakoś ten projekt nie jest mocno wspierany) ew BrewPi oryginalnego zaimplementować ale on Arduino wykorzystuje choć widziałem forka gdzie RPi bezpośrednio steruje przekaźnikami bez arduino. Ew po prostu CraftBeerPi zainstalować i sterować lodówką. Mam parę RPiZeroW się kurzących to można by je wykorzystać, ale podobno RPi się czasem potrafi wysypać a to chyba samo nie wstanie później jak ESP.

Odnośnik do komentarza
Udostępnij na innych stronach

dobra poddaje się chyba, cały czas mam na zmiane, grzanie - chłodzenie :D chyba po prostu pozostaje mi włączenie fridge const i wtedy nie grzeje.

Przy Beer const za bardzo reaguje na wszelkie zmiany temp piwa, ochłodzi o 0.1C za dużo to już grzałkę włącza a przecież samo wróci po jakimś czasie. Włączy sobie grzałkę to podgrzeje o 0.1 stopnia za dużo i znów chłodzenie... masakra :D

 

PS. jeszcze wpadlem na pomysl zeby ustawić deadtime dużego, wtedy algorytm podczas oczekiwania na grzanie np zobaczy że jednak nie trzeba grzać po np 10 min.

Edytowane przez Gwynbleidd
Odnośnik do komentarza
Udostępnij na innych stronach

Pokaż może jakiś wykres, i obecne nastawy PID. Może uda się coś wymyślić.
Druga kwestia, to jak dobrze masz zaizolowany termometr? Ja teraz mam zanurzony w brzeczce to jest dużo lepiej, bo odczyt zmienia się wolniej i nie reaguje tak na włączenie grzania czy chłodzenia. Jak masz na wiadrze, to daj może warstwę styropianu więcej.

Inna kwestia, że tak naprawdę PID to nie jest dobra metoda do w takim układzie, tu jakieś oparte o model by się przydało.

Odnośnik do komentarza
Udostępnij na innych stronach

Niby tutaj PID jest wykorzystany głównie do chłodzenia piwa względem temperatury otoczenia - czyli lodówki. Dlatego położenie czujnika temp w lodówce też ma znaczenie. Tak mam na wiadrze i mam dość dobrze zaizolowany dwoma warstwami maty z aluminium.

 

Ogólnie chyba trochę walczyłem z wiatrakami bo dziś wchodzę na testcmd i mam domyślne ustawienia tam... już drugi raz to zauważyłem. Dziwne bo wydawało mi się że domyślne nie są nigdzie zapisane na stałe a widocznie muszą być bo mi do nich wraca. Czyli to może być przyczyna.

Teraz nie mam piwa akurat więc testuję nową zamrażarkę tylko, może muszę wymienić ESP bo ten może ma coś z pamięcią nie tak? Myślałem że może coś z zasilaniem ale mam stałe bo mierzyłem. Także nie wiem co to może powodować.

 

EDIT:

 

okej, problem solved z przywracaniem do domyślnych wartości. Wpisanie dużego C kasuje dane i przywraca defaultowe, a wchodząc przez tel zazwyczaj się wpisuje dużą pierwszą literę i nie zdawałem sobie z tego sprawy i teraz dopiero na to wpadłem :)

 

Czy doszedłeś może do wartości coolEst i HeatEst? Czy to są wartości ustalane przez algorytm na podstawie poprzednich wartości chłodzenia i ogrzewania? Czy to są stałe wartości które też można zmienić?

Edytowane przez Gwynbleidd
Odnośnik do komentarza
Udostępnij na innych stronach

Wydaje mi sie ze ustawienie fridge temp jest o duzo lepsze niz beer temp w tym przypadku, lodówka włącza się rzadziej, temp jest w miarę ustabilizowana (tutaj akurat mały litraż testowy). Trzeba ustawić o pół stopnia mniej niż chcemy mieć i wtedy temp lodówki skacze w dół i górę. Różnica temp w piwie na poziomie 0.5C jest pomijalna i tak więc myślę że przy tej metodzie zostanę. Czyli tak na prawdę to takie STC1000 z wykresem mi wyszło :D

 

Pierwsza faza to standardowe pidy, pozniej Kp = 4 i Kd=0.5 a od F wiadomo.

Clipboard01.jpg

Edytowane przez Gwynbleidd
Odnośnik do komentarza
Udostępnij na innych stronach

Ja jednak cenię sobie możliwośc zaprogramowania profilu fermentacji.

 

Coś takiego chciałbyś uzyskać?

image.png.eb3b2a4e908369d9bde3aae12861988a.png

 

Skoro były przeregulowania, to widać znaczy trzeba zmniejszyć człon całkujący (KI). Tu nastawy

{"tempFormat":"C","tempSetMin":-1.0,"tempSetMax": 40.0,"pidMax": 10.000,"Kp": 6.000,"Ki": 0.100,"Kd": 0.801,"iMaxErr": 1.000,"idleRangeH": 0.500,"idleRangeL":-1.500,"heatTargetH": 0.299,"heatTargetL":-0.199,"coolTargetH": 0.199,"coolTargetL":-0.299,"maxHeatTimeForEst":600,"maxCoolTimeForEst":1200,"minCoolTime":180,"minCoolIdleTime":300,"minHeatTime":30,"minHeatIdleTime":1200,"deadTime":600,"fridgeFastFilt":1,"fridgeSlowFilt":4,"fridgeSlopeFilt":3,"beerFastFilt":5,"beerSlowFilt":6,"beerSlopeFilt":6,"lah":0,"hs":0}

Zmniejszyłem I z 0.25 na 0.1, za to zwiększyłem P do 6. iMaxErr to zdaje się  ograniczenie przy którym narasta człon I (tzw. anty-windup. Chodzi o to, że jeśli wystartujemy z t.piwa np. 20 i zadaną 12, to człon I bardzo szybko wystrzeliłby w kosmos, co byłoby skuteczne przy nieograniczonej mocy chłodzenia, ale w warunkach rzeczywistych nic by nie dało, za to nacałkowany błąd miałby wpływ na sterowanie jeszcze długo po schłodzeniu), więc zmnieszając wzmocnienie Ki, podniosłem z 0.5 na 1.

Do tego zmiany na filtrach takie jak opisałem poprzednio (nie mam pojęcia czy korzystne) i pewnie jeszcze jakieś poprawki innych wartości, ale robione dawno temu i bez obserwacji efektów.

Odnośnik do komentarza
Udostępnij na innych stronach

wiesz co na razie mi nie potrzeba profilu, ale pobawie sie na pewno ustawieniami co dales. Filtry to chyba dzialaja tak ze np temperatura piwa nie zmienia sie tak drastycznie tylko powoli, z tego co wyczytalem na brewpi forum.

Widze ze idleRangeL zmieniles na |wyzsza| wartosc. Czyli za szybko nie zalaczy grzania, ja myslalem zeby dead time wydluzyc dosc mocno. Twoje ustawienie jest dobre jak poza lodowka jest temp wyzsza a nawet sporo wyzsza, ustawienie deadtime bedzie chyba bardziej uniwersalne gdy poza lodowka temp spadnie ponizej nastawionej a tak u mnie moze sie zdarzyc bo stoi na balkonie i juz teraz w nocy mamy po 15 stopni. Cool i heat targetow widze nie ruszales?

Pobawie sie i dam znac co i jak wyszlo u mnie ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Tak, zamiast IldeRangeL można zwiększyć DeadTime i pewnie też trochę pomoże. Jednak IdleRange dotyczny nie różnicy w temp piwa, a temp. lodówki względem wyliczonej, czyli i tak całkiem skutecznie dogrzewa. Tu widać kawałek fermentacji na HotHeadach w 35 stopniach, czyli powyżej temperatury otoczenia. PID jeszcze po staremu, ale IdleRange były już jak wyżej. Jak widać grzanie i tak się włączy, tylko nie jest tak wrażliwe na jakieś chwilowe zachwianie wyliczonej wartości. Możliwe że po zmniejszeniu Ki nie jest to już potrzebne.

 

image.thumb.png.5d3db82265b145ff52589139961af074.png

 

Filtry działają chyba tak jak mówisz, zmieniałem ją chcąc sobie pomóc jak miałem termometr przyklejony do wiadra.

CoolTarget i Heat Target nie mam pojęcia, ani nawet przeczucia, czym są, to nie ruszam ;)

Edytowane przez koval_blazej
Odnośnik do komentarza
Udostępnij na innych stronach

Ja je ruszylem na sprawdzenie ale nic sie nie zmienilo, moze jakies martwe stringi badz w jakichs ekstremalnych sytuacjach.

Tylko ze na HH to powinienes miec domyslnie samo grzanie nie? Czyli troche za mocno grzalo. Szkoda ze nie ma ustawien oddzielnie dla chlodzenia i grzania jak jest w wyzszych wersjach brewpi (sa 3 PIDy, dla grzania, chlodzenia i lodowka-piwo).

 

Tak wiem ze IdleRange jest to roznica lodowki do wyliczonej, ale deadtime zadziala tak samo podejrzewam, po prostu sie zalaczy czekanie na grzanie i jak bedzie sie ogrzewalo z otoczenia to wtedy zmieni sie roznica w temp wyliczonej i lodowki ze grzanie nie bedzie potrzebne.

 

Przy HH to chyba powinienes idleRangeH zmienic tez na wartosc 1.5, wtedy by Ci nie chlodzilo moze.

 

Mozesz mi jeszcze powiedziec czego tam masz 3 kolory przy chlodzeniu? To jest oczekiwanie na chlodzenie ten jasny, pozniej jest co? dalej jest chlodzenie i pozniej znow czekanie na chlodzenie? Ustawiles gdzies ustawienie ile maksylanie moze chodzic agregat?

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.