W nowym sofcie do sterowników PELLO dodaliśmy obsługę BUFORA. Więcej informacji na forum lub w tym pliku

Profil użytkownika

uzi18

 

Lucjan v0.1.0.x + dmuchawa DC + RPi

Rejestracja: 2014-08-28 14:40

Logowanie: 2021-12-04 00:42

Urządzenia: 1

Tematy: 11

Posty: 1346

posty użytkownika 
Pierwsza stronaPoprzednia strona38 / 39Następna stronaOstatnia strona
2014-09-11 19:38 Temat: eSterownik.pl » TRK czyli mój sposób na tryb ręczny.
  uzi18 Posty: 1346
Aktualnie rozkminiam automat grupowy na 8kW ale nie wiem czy dobre wykresy sa. Moze ktos zerknie? Teraz grzeje tylko CWU.

Grupowy uzywa moce posrednie czy tylko podana max i min?
2014-09-10 19:17 Temat: eSterownik.pl » TRK czyli mój sposób na tryb ręczny.
  uzi18 Posty: 1346
Czy cos trzeba dodac jeszcze do sterownik.py ? Mam np. metode do pobierania czasu pracy podajnika, nie wiem czy to bedzie przydatne.

Zamiast trybu manual przydalby sie bardziej dodatkowy tryb - skrypt, z mozliwoscia powrotu w automat.
2014-09-07 01:52 Temat: eSterownik.pl » TRK czyli mój sposób na tryb ręczny.
  uzi18 Posty: 1346
Tak chyba wlasnie programowy powod jest wazniejszy, a po co integracja termika w termometrze zasilania CO?
2014-09-05 17:39 Temat: eSterownik.pl » TRK czyli mój sposób na tryb ręczny.
  uzi18 Posty: 1346
Czyli trafo 1:1? Nie rozumiem czemu w brulim zastosowano czujnik CO z termikiem - ktory odcina 12V na przekaznik od zalaczania dmuchawy. Tak jakby chciano sie zabezpieczyc przy ewentualnym zwarciu na triaku.
2014-09-04 23:41 Temat: eSterownik.pl » Biblioteka w Pythonie do obsługi sterownika
  uzi18 Posty: 1346
Troszke oczyscilem:

diff --git a/sterownik.py b/sterownik.py
index 629565f..8c47674 100644
--- a/sterownik.py
+++ b/sterownik.py
@@ -23,10 +23,10 @@ from base64 import b64encode
 class sterownik:
       
        s_address = '127.0.0.';
-       s_port = 80;
        s_user = 'admin';
        s_password = 'admin';
        s_statusdata = None;
+        h = httplib2.Http()
 
        def __init__(self, address, user, password):
                """Konstruktor. Podajemy adres sterownika (adres ip), login i hasło"""
@@ -46,19 +46,14 @@ class sterownik:
                 254, 207,156, 173,58, 11, 88, 105,4, 53, 102, 87, 192, 241,162, 147,189, 140,223, 238,
                 121, 72, 27, 42, 193, 240,163, 146,5, 52, 103, 86, 120, 73, 26, 43, 188, 141,222, 239,
                 130, 179,224, 209,70, 119,36, 21, 59, 10, 89, 104,255, 206,157, 172];
+                self.h.add_credentials(self.s_user, self.s_password)
                
 
        def getStatus(self):
                """Pobiera status ze sterownika i zapamiętuje go"""
                try:
-                       #conn = httplib.HTTPConnection(self.s_address)
-                       #userAndPass = b64encode(self.s_user + ":" + self.s_password).decode("ascii")
-                       #headers = { 'Authorization' : 'Basic %s' %  userAndPass }
-                       #conn.request("GET","/?com=02010006000000006103", headers=headers)
-                       #res = conn.getresponse();
-                       h = httplib2.Http()
-                       h.add_credentials(self.s_user, self.s_password)
-                       res, content = h.request("http://" + self.s_address + "/?com=02010006000000006103", "GET", headers={'Connection': 'close'} )
+                       res, content = self.h.request("http://" + self.s_address + "/?com=02010006000000006103", "GET")
+                      
                        if (res.status == 200):
                                txt = str(content);
                                txt = txt[txt.index('[' + 1:txt.index(']']
@@ -76,15 +71,10 @@ class sterownik:
                       
        def _getRequest(self, req):
                try:
-                       h = httplib2.Http()
-                       h.add_credentials(self.s_user, self.s_password)
-                       res, content = h.request("http://" + self.s_address + "/?com=" + req, "GET" , headers={'Connection': 'close'})
+                       #h = httplib2.Http()
+                       #h.add_credentials(self.s_user, self.s_password)
+                       res, content = self.h.request("http://" + self.s_address + "/?com=" + req, "GET")
                       
-                       #conn = httplib.HTTPConnection(self.s_address)
-                       #userAndPass = b64encode(self.s_user + ":" + self.s_password).decode("ascii")
-                       #headers = { 'Authorization' : 'Basic %s' %  userAndPass }
-                       #conn.request("GET","/?com=" + req, headers=headers)
-                       #res = conn.getresponse();
                        if (res.status == 200):
                                return ("Ok");
                        else:

2014-09-04 20:54 Temat: eSterownik.pl » TRK czyli mój sposób na tryb ręczny.
  uzi18 Posty: 1346
Przetestujcie sobie update do sterownik.py
Robie tez testy z watkami  (threading) ... jak na razie dzialaja

Docelowo sterowanie CWU,CO,Dmuchawa i Podajnikiem,
mysle wrzucic w oddzielne wątki bedzie łatwiej tym zarządzać.

Tak, poprawilem dmuchanie, mysle ze raczej problemem byly zapchane dysze od popiolu.
Paląc drewnem popiół sypał sie do palnika Musze jeszcze jakoś pozbyć sie smoły na ściankach wymiennika.
Moj sterownik znajdziesz pod nazwą Łaska
2014-09-04 20:46 Temat: eSterownik.pl » Biblioteka w Pythonie do obsługi sterownika
  uzi18 Posty: 1346
Dla chętnych zaktualizowana wersja pliku sterownik.py: wklejka
Udostępnione na 24h.

Może ktoś teraz przetestuje temat z przerwaniem połączenia w trakcie gdy jest uruchomiony podajnikiem/dmuchawa?
Widziałem że były z tym jakieś problemy?
2014-09-04 00:15 Temat: eSterownik.pl » TRK czyli mój sposób na tryb ręczny.
  uzi18 Posty: 1346
Kompa mam z linuxem wiec moge to testowac nawet na laptopie
Mam jakas koncowke miału do wypalenia i tak troszke przygasa ... co jakis czas.
Bruli ma pieknie zaprojektowane wnetrze
2014-09-03 22:44 Temat: eSterownik.pl » TRK czyli mój sposób na tryb ręczny.
  uzi18 Posty: 1346
Gdzies to chyba widzialem ... moze w Elektronice Praktycznej?
Te temperatury mierzyles DS18B20, bo one maja chyba zakres do ok 120 stopni?

dodane 2014-09-03 20:44Uff! Bruli uruchomione ...
2014-09-02 00:32 Temat: eSterownik.pl » TRK czyli mój sposób na tryb ręczny.
  uzi18 Posty: 1346
Czym to rejestrowales? Mozliwe ze moj FLUKE 289 moze rejestrowac przebiegi wolnozmienne.
W sumie to dobry pomysl z tym dodatkowym pomiarem,
 biorac pod uwage ze mamy tylko temperature spalin to nadal nie wiemy co sie dzieje w procesie spalania.

Jednoznacznie widac ze dmuchanie na żar powoduje chwilowy spadek temp. spalin za komora spalania i przesuniecie ich na czopuch (tam rosnie temp.), a zarazem rozpalenie wegla. Tylko jak ustalic ile czasu i jak mocno powinnismy dmuchnac ...

Edit:
OK. dmuchamy do pewnej max temperatury spalin i przestajemy/zmniejszamy nadmuch.
Moc zalezy w zasadzie od opalu, wiec urzytkownik powinien ja dobrac.
2014-08-31 23:43 Temat: eSterownik.pl » TRK czyli mój sposób na tryb ręczny.
  uzi18 Posty: 1346
Mozemy wziac gotowy algorytm PID, co ty na to?
Dlatego napisalem Ci ze jak uzylem termopary to reakcja temperatury spalin byla w kilka sekund.
Temperatura spalin aby dotrzec do czujnika PT100 w rurce potrzebuje dluzszej chwili bo
rurka robi za oslone zabezpieczajaca czujnik a wiec czesciowo izoluje.
Przyjdzie bruli to zrobie testy bedziemy mieli porownanie
2014-08-31 22:07 Temat: eSterownik.pl » TRK czyli mój sposób na tryb ręczny.
  uzi18 Posty: 1346
Nalezaloby to zrobic w jakims watku. Aby pracowalo niezaleznie od reszty.
Robilem takie testy kiedys - temperatura spalin jest pewnym stopniu proporcjonalna do sily nadmuchu.
Bezwladnosc czego? Uzywalem golej termopary wsunietej w rure odprowadzajaca spaliny co dawalo mi pomiar bez opoznien.
Podejrzewam ze w brulim/ecoal pt100 jest w metalowej rurce ... i to moze powodowac bezwladnosc - rurka musi sie wpierw nagrzac lub wychlodzic aby czujnik mial rzeczywista temperature.
Np.: ustawienie 200 jako moc nadmuchu uruchamia automat do dynamicznej regulacji nawiewu.
Jesli nie ma sensu temperatura spalin nizsza niz 100 to mozna taki warunek wykorzystac - wpisanie 122 powoduje regulacje spalin na 122.
Swoja droga jakiej temp. powinny byc spaliny?
2014-08-31 20:56 Temat: eSterownik.pl » TRK czyli mój sposób na tryb ręczny.
  uzi18 Posty: 1346
Czy to normalne ze ciepło z pieca szło powrotem przez zawor 3D na zasilaniu.
Mialem zawor roznicowy kiedys ale kilkukrotnie go zakladalem i zdejmowalem,
niestety blokowal sie i nie domykal, wiec ostatecznie wylecial.

Prosilbym o liste rzeczy do zrobienia Sprawdzanie poprawnosci wpisanych danych na razie mozemy sobie
darowac, bo z zalozenia skrypt uzywaja osoby ktore wiedza co robia.
2014-08-31 18:17 Temat: eSterownik.pl » TRK czyli mój sposób na tryb ręczny.
  uzi18 Posty: 1346
Przedwczoraj przerzucilem zawor 3D z przed pompy CO (podmieszanie) za pompe CO (rozdzielanie).
Zauwazylem ze teraz goraca woda grawitacyjnie wraca powrotem, przez zawor 3D do instalacji CO.
Zobaczymy co to bedzie. Mialem czasem problemy ze piec nie dawal sobie rady i lykal wegiel jak nieopamietany.
Pomijam juz jakosc algorytmow z Elstera - sterownik Expert PID ZZ mam porownanie do starszego Expert (tu byl inny algorytm).
Ostatni ich pomysl przekonal mnie ze trzeba cos innego uruchomic - moze tym bardziej swojego.

Stan, wiec biore bruliego, najwyzej sie go odsprzeda za jakis czas ;D
Bede pewnie potrzebowal pomocy przy ustawieniu tego aby pracowal tak jak powinien - wiec licze na to forum.

Jak sprawdzisz moje modyfikacje to wprowadz jeszcze ta zmiane z while co pisalem.
Zrob liste rzeczy do zrobienia to dopisze cos dalej - python to bardzo wygodny jezyk i latwo sie go nauczyc.
Zeby bylo smieszniej czesto firmom sluzy do testowania algorytmow bo szybko sie w nim pisze, pozniej przepisuja je na C/C++ itp. jezyki.

Czy na brulim da sie wygodnie rozpalac awaryjnie, aby pompka CWU i CO chodzila?
2014-08-31 13:53 Temat: eSterownik.pl » TRK czyli mój sposób na tryb ręczny.
  uzi18 Posty: 1346
mark3k niekoniecznie bo skoro TRK dziala ... to mozna go latwo zaimplementowac.
Druga sprawa RPi nie musi byc proteza a integralna jego czescia, moglby byc mozgiem i pomostem np. przez www.
Ma sporo pamieci i mozliwosci dzieki temu ze to mikrokomputer.

Za to proteza jest teraz gdy biblioteka obslugi sterownika, ktora dostalismy tak naprawde dziala jak panel www.
Wiec narzut obciazenia na sterownik ecoal/bruli jest bardzo duzy.
Tym bardziej ze na niektore wywolania jak czytalem nie odpowiada. Pakiety gdzies gina, ... albo oprogramowanie sie gubi.
2014-08-31 01:50 Temat: eSterownik.pl » TRK czyli mój sposób na tryb ręczny.
  uzi18 Posty: 1346
Co radzicie? Mam mozliwosci kupic uzywana koale w cenie bruliego, najpewniej juz po gwarancji.
Czy lepiej brac nowego bruliego? Czy lepiej isc w kierunku wlasnego rozwiazania hardwarowego?
Ani jedno ani drugie rozwiazanie nie blokuje mi TRK,
wystarczy ze dopisze sobie obsluge mojej ewentualnej platformy z takim samym API

Stan w tym skrypcie jeszcze wiele mozna zrobic, na pierwszy rzut oka wyglada ok.
Wprowadz moje poprawki i sprawdz czy nadal dziala tak samo.

Proponuje TRK wrzucic na github abysmy mogli go edytowac z historia zmian w kilka osob.
Zrobmy liste rzeczy do zrobienia, to moze po malu sie zacznie dopisywac funkcjonalnosci.
2014-08-30 18:40 Temat: eSterownik.pl » TRK czyli mój sposób na tryb ręczny.
  uzi18 Posty: 1346
Tylko abym mogl cos zrobic musze wydac 1100 PLN na sterownik (bo go nie posiadam), ktorego czesci sa warte moze 1/3 tej ceny.
Wolalbym zrobic sobie nowa plytke podlaczana do RPi, wrzucic tam kilka rzeczy wiecej tak na przyszlosc i na niej juz operować. Chyba ze ktos odsprzeda mi sterownik w dobrej cenie.

Zaprogramowanie TRK dla procesora Atmel jest banalne, algorytm jest bardzo prosty.
Co do bootloader-a to jestes pewien ze nie wrzucono tam czegos co kontroluje czy to jest ich oprogramowanie?

Moja modyfikacja do TRK (nie mam jak sprawdzic), teraz nie bedzie trzeba
pamietac o blokach jeden_start, jeden_normal, jeden_stop.
Po ich uruchomieniu zostana zapamietane ze byly juz uruchomione.
Linijki z - wylatuja a zamiast nich wchodza linijki z + na poczatku.

$ diff -u TRK3.62.py TRK3.63.py
--- TRK3.62.py  2014-08-30 16:29:22.514317009 +0200
+++ TRK3.63.py  2014-08-30 16:37:30.702771863 +0200
@@ -6,7 +6,7 @@
 import threading
 import time;
 #===============================================================================
-#               TRK by Stan v 0.3.62
+#               TRK by Stan v 0.3.63
 #===============================================================================
 #============ Parametry logowania do sterownika ================================
 #     wpisz nr IP sterownika , swój login i hasło
@@ -38,7 +38,7 @@
 czas_nawiewu = [20,30,60,13,20,100]
 moc_nawiewu = [46,43,40,43,40,40]
 tryb = ['start','start','jeden_normal','normal','normal','stop']       # możliwe stany to - start, stop, normal, oba, jeden_start,
-ile_razy_jeden = 1;                                                    # jeden_normal, jeden_stop,
+razy_jeden = ile_krokow * [False];                                     # jeden_normal, jeden_stop,
 
 #=========== Parametry trybu Lato ==========================================================
 
@@ -159,7 +159,6 @@
 #=================================================================================================
 praca = 0
 hist = 1
-jeden_licznik = 0
 procPStart(tempZadanaDol)
 while True:
     licznik = 0
@@ -172,7 +171,7 @@
             if (c.getTempZew()) > T_zewnętrzna_lato:
                 def trybLato(T_zewnętrzna_lato,T_dolna_CWU,przerwa_minut,przerwa_podawanie,przerwa_nawiew_czas,przerwa_nawiew_moc ):
             if (c.getTempCO()) < tempZadanaDol:
-                jeden_licznik = 0
+                razy_jeden = ile_krokow * [False];
             for licznik in range(0,ile_krokow):
                 if praca == 1:
                     if czas_podawania[licznik] > 0:
@@ -198,10 +197,10 @@
                             print ("uruchamiam blok START nr " + str(licznik))
                             print (TRYB)
                             pracaPieca(czPod,czPrz,czNaw,moNaw)
-                        if TRYB == 'jeden_start' and jeden_licznik < ile_razy_jeden:
+                        if TRYB == 'jeden_start' and razy_jeden[licznik] == False:
                             print ("uruchamiam blok JEDEN_START nr " + str(licznik))
                             print (TRYB)
-                            jeden_licznik += 1
+                            razy_jeden[licznik] = True
                             pracaPieca(czPod,czPrz,czNaw,moNaw)
                     if ((c.getTempCO()) < tempZadanaGora):
                         if ((c.getTempCO()) > tempZadanaDol):
@@ -209,20 +208,20 @@
                                 print ("uruchamiam blok NORMAL nr " + str(licznik))
                                 print (TRYB)
                                 pracaPieca(czPod,czPrz,czNaw,moNaw)
-                            if TRYB == 'jeden_normal' and jeden_licznik < ile_razy_jeden:
+                            if TRYB == 'jeden_normal' and razy_jeden[licznik] == False:
                                 print ("uruchamiam blok JEDEN_NORMAL nr " + str(licznik))
                                 print (TRYB)
-                                jeden_licznik += 1
+                                razy_jeden[licznik] = True
                                 pracaPieca(czPod,czPrz,czNaw,moNaw)
                     if ((c.getTempCO()) >= tempZadanaGora):
                         if TRYB == 'stop':
                             print ("uruchamiam blok STOP nr " + str(licznik))
                             print (TRYB)
                             pracaPieca(czPod,czPrz,czNaw,moNaw)
-                        if TRYB == 'jeden_stop' and jeden_licznik < ile_razy_jeden:
+                        if TRYB == 'jeden_stop' and razy_jeden[licznik] == False:
                             print ("uruchamiam blok JEDEN_STOP nr " + str(licznik))
                             print (TRYB)
-                            jeden_licznik += 1
+                            razy_jeden[licznik] = True
                             pracaPieca(czPod,czPrz,czNaw,moNaw)
                     if ((c.getTempCO()) >= tempZadanaGora) or ((c.getTempCO()) <= tempZadanaDol):
                         if TRYB == 'oba':

2014-08-30 04:15 Temat: eSterownik.pl » TRK czyli mój sposób na tryb ręczny.
  uzi18 Posty: 1346
To jest to tylko! Interesuje mnie jeszcze to samo miejsce po drugiej stronie płytki oraz troszke ostrzejsze zdjecie ogolne plytki jak wyzej.

dodane 2014-08-30 02:15
Stan:
W programie glownym masz wpisane nadmiarowe "def" przy wywolaniu trybLato
W definicji funkcji pracaPieca blok petli while powinnien byc o 1 tabulator w lewo,
inaczej nie bedzie mozna uruchomic podajnika bez nadmuchu.
2014-08-29 20:32 Temat: eSterownik.pl » TRK czyli mój sposób na tryb ręczny.
  uzi18 Posty: 1346
Niezbyt ostre. Interesuje mnie procesor i te kilka dziur nad nim, czy to czasem nie sa zlacza do programowania.
2014-08-29 19:29 Temat: eSterownik.pl » TRK czyli mój sposób na tryb ręczny.
  uzi18 Posty: 1346
Nie mam tego sprzetu, niestety. Myslalem o odkupieniu, za to nie wiem czy na tym
etapie jest sens wspierac ta platforme skoro mozemy zbudowac cos ciekawszego.
Gdybym mial pewnie juz bym byl na etapie wlasnego softu.
Masz mozliwosc zrobienia fotek plytki wewnatrz urzadzenia?
Pierwsza stronaPoprzednia strona38 / 39Następna stronaOstatnia strona