Profil użytkownika
posty użytkownika | ||||
|
||||
mecenas
|
Przetestowałem wstępnie działanie sterownika, pracuje u mnie już jakiś tydzień czasu, póki co dobrze steruje spalaniem oraz zaworem 4D.
Mam jednak problem związany z pomiarami termoparą za pomocą MAX31855K. Prawdopodobnie mam nie do końca poprawnie działającą termoparę lub MAX31855K, ponieważ pomiary są mocno zaniżone, oscylują w granicach max 80-90 stopni, natomiast inna termopara podłączona do multimetru (i przetestowana na poprawność pomiaru) wskazuje w tym momencie 150-170 stopni. Mam zamiar zaopatrzyć się w inny egzemplarz termopary/interfejsu, ale mimo wszystko dzięki zaniżaniu wskazań bieżącej termopary zauważyłem jeden fakt, mianowicie jeśli zmierzona temperatura spadnie poniżej zera, wtedy wskazania zaczynają "wariować" - skaczą od bardzo wielkich liczb ujemnych po wielkie dodatnie - aż do chwili gdy pomiary temperatury ponownie będą dodatnie. Wtedy po chwili wskazania stabilizują się. Prawdopodobnie będzie to jakaś sprawa związana z brakiem typu danych signed w którymś miejscu w kodzie. Mile widziane byłoby skorygowanie tego problemu, choć tak na prawdę to nie jest duży problem, ponieważ w normalnych warunkach nie mamy tutaj ujemnych temperatur. Jestem chętny do testów tła, przy poprzednim sterowniku miałem to ustawione i w moim przypadku pomagało. Tutaj wykres pracy sterownika (temperatura spalin ma w tej chwili ustawiony offset +25 stopni). |
|||
|
||||
mecenas
|
Nie ma mnie na miejscu, wiec cokolwiek mogę sprawdzić dopiero w poniedziałek, ale odnośnie 4D to próbowałem wpisywać różnie, zarówno T1 jak i TPOWROT, TPIEC i inne, w żadnym przypadku nie zadziałał. To TT1 zostało po prostu po jakiejś z ostatnich prób.
A czy czasami brak działania 4D nie może być spowodowany występowaniem tego alarmu od przepalonego bezpiecznika? |
|||
|
||||
mecenas
|
Dane z thermos.json:
{"thermos":[{"t": 22.3},{"t": 22.3},{"t": 22.1},{"t": 22.1},{"t": 0.0},{"t": 0.0},{"t": 0.0},{"t": 0.0},{"t": 0.0},{"t": 0.0},{"t": 0.0},{"t": 0.0},{"t": 0.0},{"t": 0.0},{"t": 0.0},{"t": 0.0}],"wen0": 40,"wen1": 40,"podcz": 36,"podczzas": 4022328879,"podczdo": 69000,"podgmin": 240,"pod": 0,"co": 0,"cwu1": 0,"cwu2": 0,"cyrk": 0,"ter": 0,"al": 256,"time":198,"ver":"0.1.0.74"} |
|||
|
||||
mecenas
|
Tak, na stronie mam wpisany adres, i dopóki config.txt jest poprawny na karcie, to wszystko hula. MAX zasiliłem poprawnie z 3v3, ale linie SCK i CS dochodzą z Mega jako 5-woltowe. Jestem w trakcie dorabiania dzielników na szynach SCK i CS żeby dostosować 5V do 3v3, ostatecznie sprawdzę analizatorem czy w ogóle istnieje komunikacja tego MAX-a z Megą.
Co do Dallasów i 85stC to możliwe że niestabilnie pracują, ale myślę, że nienajgorszym rozwiązaniem byłoby takie ich oprogramowanie, by chwilowe skoki na 85,0 stC nie powodowały załączenia ochrony podajnika, tak na wszelki wypadek. |
|||
|
||||
mecenas
|
Dzięki za szybką odpowiedź.
MAX31855 próbowałem zasilić z 3v3, ale działy się bardzo dziwne rzeczy, TSPALINY skakała losowo od -1000-2000 degC do +1000-3000 DegC, mogę pokazać wykres, ale niestety nie zrobiłem screena więc muszę procedurę powtórzyć, będę miał możliwość najwcześniej dzisiaj późnym wieczorem. Dziwne że po odpięciu modułu MAX w "locie" te dziwne wskazania nadal się utrzymywały, do czasu zresetowania Arduino. Po zresetowaniu TSPALINY pokazywała 0 do momentu podłączenia modułu MAX, po czym zaczynała szaleć. Jeśli moduł MAX był podłączony podczas załączania zasilania to te wskazania wariowały od razu. Na razie nie znam przyczyny, dlatego zacznę od dorobienia konwersji poziomów, może to powodować jakiś problem. Mój moduł MAX oprócz scalaka i kondensatora 100n na zasilaniu nie ma nic więcej, więc powinien dostawać na wejścia max 3v3, a dostaje w tej chwili 5V. Do 4D próbowałem przypisywać różne czujniki, jednak żaden nie spowodował zadziałania wyjść 4D. Po błędnym wgraniu config.txt nie mam możliwości wysłać go ze strony, ponieważ strona przestaje działać, przestają się odświeżać jakiekolwiek wskazania łącznie z wykresem, przycisk Reset itp. również nie działa. Nie podejrzewam również zbytnio gniazda SD, ponieważ kartę zdążyłem już wyciągnąć i włożyć ponownie dziesiątki razy, po każdym błędnym wgraniu config.txt. Jeszcze jedna rzecz, o której zapomniałem napisać wcześniej to Dallasy. Działają poprawnie, jednak czasem przy pierwszym uruchomieniu, podczas detekcji temperatury wskakuje na moment na 85 degC (jest to domyślna wartość dla Dallasa jeśli nie dokonał poprawnej konwersji temperatury). Po chwili temperatury wyświetlane są poprawnie, ale ten moment wystarcza aby załączyła się ochrona podajnika (wyrzut przez 5 minut). Myślę, że dobre byłoby takie rozwiązanie, że algorytm pomija chwilowy skok temperatury na 85.0 stopni, jeśli się nie powtarza i przemija. Z mojego dotychczasowego doświadczenia z Dallasami czasami zdarzały im się takie błędne odczyty, i w tym momencie odczytywał równe 85.0 degC. Co do braku detekcji 0 wyszedłem z założenia, że skoro na razie na stole nie podpinam prawdziwej dmuchawy, to nie jest mi potrzebna detekcja 0, ponieważ wentylatory DC pracują bez niej. No chyba że stosując wentylator DC istnieje potrzeba podłączenia detekcji, tylko w celu wykrycia przepalenia bezpiecznika. Sprawdzę wszystkie sugestie wieczorem i dam znać. Poniżej mój config.txt (czujnik 4D możliwe że błędnie ustawiony, ale testowałem już sporo innych ustawień): #Konfiguracja sieci: #Adres IP (dla automatycznej konfiguracji sieci piszemy: NET_IP=auto): NET_IP=192.168.1.111 #Adres MAC (w hex): NET_MAC=1A1B1C1D1E1F #Adresy pozostale NET_BRAMA=192.168.1.1 NET_MASKA=255.255.255.0 NET_DNS=192.168.1.1 Parametry dmuchawy: DM_OFFSET = 0 DM_INWERSJA_PWM = 0 DM_MODULACJA = 1 Parametry modulacji (gdy DM_MODULACJA = 1): DM_ROZRUCH_CZAS = 90 DM_ROZRUCH_MOC = 80 DM_PLUS_CZAS = 10 DM_PLUS_MOC = 10 DM_DOPALANIE_CZAS = 60 DM_DOPALANIE_MOC = 40 DM_TLO_MOC = 30 TPIEC =DALLAS[28C002A701000086] TZEW =DALLAS[281DB9B601000080] TPOWROT =DALLAS[2814B8B6010000DB] TPODAJNIK =DALLAS[2833BDB60100003A] TT1 =DALLAS[2833BDB60100003A] # mapowanie modulu termopary TSPALINY = MAX31855[0] zabezpieczenie przed cofaniem sie zaru czas wyrzutu paliwa z podajnika w przypadku przekroczenia temperatury PODAJNIK_CZAS_WYRZUTU = 5 PODAJNIK_T_MAX = 60 #czas w sekundach potrzebny do oproznienia pełnego zasobnika PODAJNIK_CZAS_DO_OPROZNIENIA = 69000 #aktualny czas pozostaly do oproznienia zasobnika w sekundach #procent ponizej ktorego ma wystapic alarm pustego zasobnika PODAJNIK_ALARM_MIN = 15 #stała zalezna od opału w g./min. PODAJNIK_PREDKOSC_PODAWANIA = 240 zabezpieczenie przed zbyt wysoka temperatura pieca PIEC_T_MAX = 90 temperatura zalaczenia pomp PIEC_T_MIN = 27 tryb pracy pieca (palnika) - zgodny z ECOAL,RR,RRM,... PIEC_ALGORYTM = RRM PIEC_ZADANA = 30 uwaga histereza pieca * 0.1deg PIEC_HISTEREZA = 2 parametry algorytmu RR, czas podtrzymania w minutach, reszta w sekundach: RR_PODTRZYMANIE_CZAS = 10 RR_PODTRZYMANIE_PODANIE = 10 RR_PODTRZYMANIE_POSTOJ = 30 RR_PODTRZYMANIE_MOC = 40 RR_PRACA_PODANIE = 6 RR_PRACA_POSTOJ = 30 RR_PRACA_MOC = 40 tryb pracy pompy co (ECOAL,BRULI,ZIMA,LATO) CO_TRYB = ZIMA algorytm pracy pomy CO (CIAGLY,CYKLICZNY) CO_ALGORYTM = CIAGLY tryb pracy pompy cwu (ECOAL,BRULI,WLACZ,WYLACZ,MIESZANIE) CWU_TRYB = WYLACZ algorytm pracy pomy cwu (CIAGLY,CYKLICZNY) CWU_ALGORYTM = CIAGLY CWU_ZADANA = 40 CWU_HISTEREZA = 0 zabezpieczenie przed zbyt wysoka t.cwu gdy CWU_T_MAX > 0 CWU_T_MAX = 0 CWU2_TRYB = WYLACZ CWU2_ALGORYTM = CIAGLY CWU2_ZADANA = 0 # praca pompki cyrkulacyjnej cwu: algorytm CIAGLY,CYKLICZNY,WYLACZONY CYRKULACJA_ALGORYTM = WYLACZONY # minimalna temperatura CWU przy ktorej bedzie dzialac cyrkulacja CYRKULACJA_TMIN = 40 # parametry dla trybu cyklicznego w minutach: CYRKULACJA_CZAS_WLACZ = 1 CYRKULACJA_CZAS_WYLACZ = 10 #harmonogram cyrkulacji #*,PO,WT,SR,CZ,PT,SO,ND #w poniedzialek 6-8 i 10-12 PROG_CYRK_PO=6:0-8:0 PROG_CYRK_PO=10:00-12:00 #we wszystkie dni tygodnia od 18:00-24:00 PROG_CYRK_*=18:00- #krzywa grzania dla 4D (uwaga min.30 max 60): KRZYWA_GRZANIA-30 =57 KRZYWA_GRZANIA-20 =54 KRZYWA_GRZANIA-10 =48 KRZYWA_GRZANIA-0 =40 KRZYWA_GRZANIA+5 =35 KRZYWA_GRZANIA+15 =30 # tryb pracy: WYLACZONY,ZADANA,KRZYWA (nastawa z krzywej grzania) ZAWOR4D-TRYB = ZADANA #jesli TRYB ZADANA - to ponizej ustawiamy wartosc ZAWOR4D-ZADANA = 30 #ZAWOR4D parametry 120s pelne otwarcie, krok 2s,pomiar co 50s: ZAWOR4D-CZAS_OTWARCIA = 120 ZAWOR4D-CZAS_KROK = 2 ZAWOR4D-CZAS_POMIARU = 50 # ktory czujnik polozony jest za zaworem i nalezy uzyc go do pomiaru ZAWOR4D-CZUJNIK = T1 # histereza na + i na - od zadanej przy ktorej ma dzialac korekcja zaworu (w 0,1deg) ZAWOR4D-HISTEREZA=2 # o ile deg. ma byc obnizona tzadana za zaworem jesli A6 zwarte do GND ZAWOR4D-OBNIZONA=1 koniec pliku |
|||
|
||||
mecenas
|
Witam
Obserwuję Wasz wątek od niedawna, widzę że temat sterownika nieźle się rozwija. Postanowiłem więc sam spróbować uruchomić taki sterownik, oraz być może posłużyć jakimś wsparciem, jeśli tylko podołam. Na dzień dzisiejszy zaopatrzyłem się w Mega 2560, W5100, AVT1679 (z podmienionym MOC3023), moduł detekcji 0 (wykonany samodzielnie), RTC DS1307. Próbowałem poskładać to wszystko w całość na stole, jednak napotkałem na pewne problemy. Podłączyłem na próbę 4szt. Dallasów, przypisałem do kilku temperatur. Po ustawieniu na tryb RRM steruje dmuchawą oraz podajnikiem, jednak w żaden sposób nie mogę zmusić zaworu 4D do działania - na wyjściach 4D nie pojawia się żaden sygnał, temperaturę zadaną ustawiałem przykładowo na 32, 40 deg. C, zawór w trybie ZADANA. W trybie KRZYWA zawór również nie reaguje. Na tą chwilę nie mam podłączonego modułu detekcji 0, sterowanie dmuchawą badam za pomocą LED-a na AVT1679, a wejście tymczasowo podpiąłem na pin 7 (PWM). Na pinie 31 (ALARM) ciągle występuje sygnał alarmu, nie umiem go skasować, nie wiem też czy istnieje możliwość podglądu jaki alarm jest zgłaszany bez podłączonego wyświetlacza (interfejs i2c na wyświetlacz oraz enkoder dopiero dojedzie). Kolejny problem to zapis konfiguracji na kartę SD. Podczas prób zapisu konfiguracji ze strony www niektóre próby kończą się powodzeniem, jednak dość często zdarza się, że tracę komunikację z www, a po włożeniu karty do PC okazuje się, że plik config.txt ma 0 bajtów. Podobnie było gdy z poziomu Banana Pro (akurat nie mam maliny a tą płytkę posiadałem) próbowałem aktualizować pliki strony www, również nie chciały się zaktualizować poprawnie. Czy napotkał się może ktoś z podobnym problemem? Zakupiłem również moduł MAX31855K, dopiero zaczynam testować, jednak widzę że będzie potrzebna konwersja 5V/3.3V, jak dorobię to się przetestuje. Pozdrawiam |