Histereza jest zadeklarowana jako Single. Zmień to na Integer bo szkoda miejsca. Po tym ustaw Histereza = 20 i powinno jakoś działać. Temperatura 60st.C to u Ciebie I1 = 600 a przecinek jest dorysowywany funkcją Format. Dlatego różnica stopnia to różnica równa 10 a nie jeden.
Przetestuj ten. Tak go poopisywałem, że aż mi się nie podoba :D [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize = 32 '# wyświetlacz Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Cls '# timer ' 8000000Hz(8MHz)/256(Prescaler)=...
http://obrazki.elektroda.pl/3089511800_1... Witam, dziś prezentuje swój bezprzewodowy termometr pracujący na częstotliwości 433 MHz. Urządzenie składa się z nadajnika i odbiornika. Nadajnik odczytuje temperaturę pieca C.O. i wysyła ją do odbiornika. W odbiorniku mamy możliwość ustalenia górnego i dolnego progu załączenia alarmu, który...
1. (pomiar > temp+histereza) -> wyłącz 2. (pomiar < temp-histereza) -> włącz Albert
Witam Piszę do was bo nie mogę rozpracować histerezy w poniższym kodzie programu. Program działa prawidłowo ale jest mały problem. Histereza zawsze działa, a raczej jej brak (załączanie i wyłączanie) działa równo przy 30 stopniach. Potrzebuję aby histereza była ustawiona na 5 stopni. Proszę pomóżcie mi wyeliminować ten problem. Program musi mieć funkcję...
Efekt jaki chcę uzyskać w sterowniku: Po przekroczeniu zadanej temperatury (Temp_pow_zad) ma się włączyć dmuchawa, natomiast wyłączyć się ma o histerezę. Np. Włączenie 50° Histereza 5° Wyłączenie 45° Temp_pow - temperatura powietrza Temp_pow_zad - temperatura powietrza zadana Histereza_pow - histereza powietrza Jak to zmodyfikować?
Nie wiem czy temat jeszcze aktualny, jeżeli tak to takie rozwiązanie powinno pomóc: Temp_hist = Temperatura_dmuchawy - Histereza If T >= Temperatura_dmuchawy Then Dmuchawa=1 'wyłączona Elseif T <= Temp_hist Then Dmuchawa=0 'załączona End If Pozdrawiam
Dim Histereza As Single Możesz mi powiedzieć po co rezerwujesz aż 4 bajty dla zmiennej "histereza"? Wystarczy jeden, a tak przy okazji to nie twój kod...
Bo fusing robi stringa proszę szanownego kolegi:) To nie tędy droga...PS może nie zaokrąglanie a histereza?:)
temperatura początkowwa na jakom jest ustawiony termostst czyta swicze Widzę że kolega ma problem z pisaniem w języku polskim ale do rzeczy... 1wr ma być call 1wr . Założę się że program nie jest twój... Patrząc dalej: If Tust1 > Tust Then Portb.2 = 1 znowu nie zadziała... Co do histerezy to lepiej zrealizuj ją tak: Temp = Temperatura(1)...
To akurat nieprawda. Tutaj to taka histereza bo nie porównujemy czy jest mniejsze czy nie, tylko do dwóch różnych wartości . (W Zajete oblicza Prog_gorny a w Wolne na odwrót) Niestety ten zapis jest jednak nieefektywny bo za każdym IF`em zmienna musi być ponownie załadowana do rejestrów celem porównania. Jeśli jest to ta sama zmienna to efektywniej...
Jeszcze pytanie, co to jest ta histereza i jak ją zastosować? To jest dopuszczalny spadek temperatury, który jest akceptowalny przed ponownym włączeniem termostatu. Przykładowo termostat jest ustawiony na 40 stopni, a histereza na 2 stopnie. Gdy temperatura osiągnie 40 stopni grzałka przestanie grzać. A zacznie grzać dopiero gdy spadnie poniżej (40°-2°)...
Wszędzie (czyli podwójnie) gdzie pisze : "If Plus = 0 Then" napisz "If Plus = 1 Then" "If Minus = 0 Then" napisz "If Minus = 1 Then" "If Histereza = 0" napisz "If Histereza = 1" i... "odswierzanie" napisz "odswieżanie" :D powinno pomóc Życzę miłego dnia
Witam. Od paru dni uczę się programować w języku bascom. Trafiłem na błąd podczas kompilacji którego nie rozumiem. O to kod [syntax=basic4gl][/syntax] $regfile = "m8adef.dat" $crystal = 16000000 Config Portc = Output Config Portb = Output Config Portd.0 = Input Config Portd.1 = Input Config Portd.3 = Input Config Portd.4 = Input Pind.4 = 1 Pind.1 =...
http://obrazki.elektroda.net/87_12220249... Witam wszystkich, Zawsze interesowałem się mikrokontrolerami, jednak wcześniej nie próbowałem ich wykorzystywać, ponieważ o pisaniu programów nie miałem pojęcia więc postanowiłem się trochę douczyć. Wybrałem język BASCOM bo na początek wydawał mi się najprostszy. Wiadomo chyba jak każdy zacząłem...
robię sterownik solarny z LCD i dopracowuję go potrzebuje właśnie takich rozwiązań http://obrazki.elektroda.net/83_12702911... 22 - temperatura na solar 24 - temperatura na zasobniku 28 - temperatura zadana - ustawialna -2 histereza do wyłączenia pompy - ustawialna +4 histereza do załączenia pompy - ustawialna T - czy pompa ma być załączana...
Nad logowaniem myślałem, ale jeszcze nie wiem jak to się robi. Będę musiał to opanować bo potrzebowałbym taki "loger" w samochodzie, jak tam się uda to w regulatorze też zrobię. Zrobiłem malutką poprawkę która dużo dała, wszystkie człony dziele przez 5 (można by i nawet przez 10 ) i daje wyjściowo 5 razy większe współczynniki. Teraz dając odpowiednio...
Tok rozumowania nie jest prawidłowy. Jesteś przywiązany do idei że jeden procesor sobie z tym nie poradzi. Być może nie- ale na tym etapie założenie to jest niesłuszne. Co do debounce- w przypadku czujników indukcyjnych czytających z koła z zębami to w zasadzie nie występuje. Tam nie ma styków i jest histereza z natury czujnika. Jęśli optyczne- to zależy...
Config Portb.0 = Output to mi się nie podoba... dlaczego Bascom pozwolił na skompilowanie tego? Nie jestem geniuszem, ale tam chyba powinno być config pinb.0 = output Bo taki jest Bascom .... Racja, a dokładniej : ..... Syntax CONFIG PORTx = state CONFIG PINx.y = state ...... You can also set a single port pin with the CONFIG PIN = state, statement....
'------------- Testy progow temperatury -------------- ' test niskiej temperatury His = Temp_buf - 3 ' histereza +4 stopnie If Temp_buf > Tlo Then Set P3.5 ' wlacz pompe powyzej zadanej temp Elseif Temp_buf < His Then Reset P3.5 ' wylacz pompe z histerezą End If Ten drugi warunek wygląda podejrzanie, BO porównujesz wartość temp_buf z his (temp_buf-3),...
Witam.Pan Mirley napisał mi program do prostego termostatu.2 diody led (czerwona się świeci jak grzałka grzeje,a zielona się świeci jak grzałka nie grzeje).Temperatura załączania grzałki jest ustawiana w programie (w kodzie w bascomnie) o raz histereza 2C.Przekaźnik podczepiony pod port scalaka.Tak samo DS18b20.Mój problem polega na tym, że mi to nie...
Witam, mam następujący problem z poniższym programem. Prosiłbym bardziej obeznanych kolegów o sprawdzenie, układ powinien działać tak: ustawiam temperaturę plus regulacja histerezy, gdy temperatura jest niższa układ załącza przekaźnik do czasu wyrównania temperatury, problem polega na tym że program załącza przekaźnik (grzanie) tylko na moment po czym...
A może by tak od teorii przejść do konkretów. Nie wiem o co chodzi w logice rozmytej ale wiem jak pracuje typowy sterownik kotła CO z dmuchawą i wiem jakie ma wady. U mnie dmuchawa jest ustawiona na 15 procent bo wolniej się nie dało. Sterownik włącza dmuchawę gdy temperatura spadnie o 2 stopnie poniżej temperatury zadanej i wyłącza ją gdy temperatura...
Przerobiłem program na Atmega328. Teraz ma tylko odbierać dane z master na Atega1284p i wysyłać do Domoticz. [syntax=vbnet] $regfile = "m328pdef.dat" $crystal = 8000000 $hwstack = 100 ' rozmiar stosu sprzętowego $swstack = 100 ' rozmiar stosu programowego $framesize = 128 $baud = 19200 '************ Uart 0 Config Serialin0 = Buffered , Size = 150 ,...
Witam Mam Atmega32A + PCF8563 + PCF8574 + RFM12 + DS18B20 +DHT11. Port danych LCD to Port.A, ControlPort to Port.C. I2C standardowo na Portc.0 Portc.1. Niestety jest problem z obsługą I2C, tzn. zegar PCF8563 nie działa w ogóle ( na LCD puste pole ) , a klawiatura na PCF8574 - tylko jeden klawisz i to nie ten, który jest przypisany w kodzie ( działa...
Zaraz wrzucę to do programu, ale czy to normalne że ds18b20 zaniża mi temeraturę o 2-2,5 stopnia? Kupiłem nowy za 10zł i to samo. Wrzucę cały program do wglądu. Wiem, że może być coś nie tak napisane, ale działa tak jak chciałem ;) Dodano po 3 Edit: Jest jeszcze jeden problem. Co jakiś czas temperatura podskakuje o 10 stopni a czasami nawet do 200 podskoczyło...
Witam. Zrobiłem sterownik do swojego obrotowego kolektora słonecznego. Bascom, Atmega8, lcd 4X20 znaków-tryb 4 bit. Problem jest następujący: sterownik za pomocą przekaźników steruje siłownikiem z silnikiem DC lewo - prawo. Miałem problem z zakłóceniami, reset procesora, krzaki na LCD. Działo się to przy rozłączaniu przekaźników. Okazało się że trafko...
Witam, proszę o pomoc: buduje sterownik na zasadzie włącz/wyłącz, to akurat nie jest w tym momencie ważne :), ale przejdźmy do szczegółów - ma pobierać dane z 4 czujników DS18B20, sam odczyt działa poprawnie, problem zaczyna się w menu, do kroku "2.2" czasem "2.3" wszystko działa poprawnie, lecz z "2.2" i naciśnięciu 'dalej' (lub "2.3") przeskakuje...
JmL ja bym dorzucił histerezę:)
Po wymianie grzałki problem samoistnie ustąpił
teraz mi lcd miga a chciałbym ograniczyć odświeżanie do momentu gdy temperatura się zmieni. Dodano po 1 w case 0 mi wyświetla aktualna temperaturę, w case 1 jest nastawa temperatury a w case 2 nastawa histerezy
Nie wiem czy chcesz się nauczyć czy potrzebujesz program. Na początek te uwagi: 1. Nie wiem co tam robi dyrektywa $eeprom. Jest niepotrzebna w tym kodzie 2. Zmienna Ds jest zwiększana w przerwaniu niezależnie od tego czy jesteś w Menu czy nie. Tak więc po powrocie z Menu już na pewno nie zdążysz załapać się na warunek If Ds = 2 i wyzerować jej wartość....
No to chyba jest tak proste. Przydałaby się jakaś mała histereza i może ustawić ADC na wewnętrzne 1.1V
Komunikacja bez problemu. Trzeba tylko znacznie spowolnić komunikację do kilkuset zmian na liniach na sekundę. HD44780 nie stwarza tutaj problemów co do maksymalnego czasu. Problemem mogą być zakłócenia indukujące się na tak długich przewodach. Ale w tym celu interfejs można wykonać w wersji prądowej z odpowiednią histerezą.
O matko, Freddy. A co to ma wspólnego z histerezą? Spróbuj tak: If I+2 < J Then J = I End If If I > J+2 Then J = I End If LCD J
Jasne, że się da :) np tak: If Pind.1 = 1 And Pind.2 = 1 Then Waitms 500 'oczekiwanie żeby odrazu nie wyjść z pętli Do 'nieskończona pętla Lowerline 'ustawienie kursora Lcd "Histereza:" ; H ; Chr(0) ; "C" 'wyświetlenie histerezy If Pind.1 = 1 Then 'jeśli guzik wciśnięty to zwiększ H = H + 1 Waitms 200 'odczekaj chwile,...
Ta rozdzielczość nie ma tutaj aż takiego znaczenia, ale faktem jest że powiedzmy chcesz osiągnąć 2000 rpm , nominalnie silnik się kręci 6000 rpm to przy 8 bitach zwiększenie PWM o 1 powoduje wzrost obrotów o 23. Przy 10 bitach o 5,8 . Pytanie czy to musi być dokładnie 2000 rpm, może dodaj jakąś histerezę.
Musisz mieć 2 zmienne. Jedna zmienna przechowuję informacje o temperaturze zczytanej z czujnika a druga zmienna przechowuje temperaturę zadaną. i robisz prosty warunek if zmienna1>zmienna2 then set porta.0 end if if zmienna1< zmienna2 then reset porta.0 end if ewentualnie możesz jeszcze dołączyć histerezę
Jest to łatanie, ale już powinno działać. Czy należy to zrobić lepiej? Nie wiem. Mam pomysł ale czy on będzie lepszy to nie wiadomo. Ja bym przefiltrował wyniki średnią ruchową i wprowadził histerezę. Powiedzmy sumujesz 64 próbki i jak średnia przekroczy 40 to uznajesz że przycisk jest wciśnięty a jak spadnie poniżej 30 to że jest puszczony. Tyle że...
Tak, jak już pisałem, nie tędy droga. Trzeba zrozumieć, ze Menu czyli interfejs programu z człowiekiem powinno być tylko jego nakładką graficzną. Nie może być tak, że kiedy jesteś w Menu to program zaniedbuje cały system, na przykład nie pilnuje zadanych temperatur. Pomyśl co by było gdyby termostat sterował grzałką w akwarium a Ty sobie radośnie wszedłeś...
Hmm zaskakujące że pytasz ale temat znany (bascom) - Jako koniki do Karocy zaprzęgnięte zostały timery.
Popełniłem kiedyś coś takiego na AT 8535. Była też programowana z klawiatury histereza. Ale gdzie to mam... Musiałbym mocno poszukać...
Dziękuje za odpowiedź. Z tym, że nie nie można użyć zmiennej typu Bit doszedłem w nocy przeglądając help'a odnośnie Byval i Byref. Wstawiłem to trochę z automatu, bo te dane będą wysłane przez RFM12, a w ramach oszczędności zmienna bit stanu czujnika wysyłam jako bajt i mieści mi się osiem czujników w jednym zamiast ośmiu. Do Admina: Trochę popuściłem...
No i pojawia się problem, przy histerezie 30 jest wartością min, kiedy led świeci się na zielono. Niestety program nie reaguje nawet na zmianę kondensatora.. Troche dziwne.... W zasadzie twój code pokrywa się z przykładem podanym przez "kimmi" w : http://www.mcselec.com/index2.php?option... (login to see...
Witam . Więc tak . 1) Mikroprocesor AT90S2313 , DS1820 , wyświetlacz LCD , przekaźnik . 2) Mikroprocesor ATtiny26 , LM35 , wyświetlacz LCD , przekaźnik . W drugim przypadku zamiast ATtiny26 może być jakikolwiek inny byle był z przetwornikiem A/C np. ATmega8 . Do kompletu BASCOM + HELP żeby napisać program sterujący .
Dziękuje za pomoc ale podejrzewam że jeszcze się tu dzisiaj zgłoszę. Mianowicie ten program co zamieściłem jest częścią tylko programu który muszę napisać. Generalnie ma być to sterownik centralnego ogrzewania czyli temperatura pieca i bojlera. Standardowo histereza + wł/wył pompę bojlera. Więc chyba w miarę dobrze zacząłem :)
Dziękuję za pomoc. W edytorze zmieniłem temperaturę ($0000DE) oraz histerezę ($0000E1) i sterownik działa. Szkoda tylko, że bascom 8051 nie działa już prawidłowo dla tych procesorów. Muszę w przyszłości zmienić sterownik tak aby był programowany po ISP będzie łatwiej :)
Dla Twojego systemu automatycznej regulacji wymaga się aby utrzymywana była stała temperatura. Załóżmy, że zastosujesz prostą regulację włącz/wyłącz gdy temperatura spadnie/wzrośnie w stosunku do wymaganej temperatury. Może się tak stać, że temperatura otoczenia wahać się na będzie na granicy temperatury referencyjnej - spowoduje to, że układ wielokrotnie...
Jeśli uwziąłeś się na PID to ok ale termostat z przekaźnikiem to sterowanie ON OFF. Sprawdzasz więc czy temp. jest mniejsza od zadanej to załączasz, jeśli większa to wyłączasz uwzględniając histerezę. Programów w sieci termostat jest wiele.
Pytanie co chcesz zrobić bo teraz kombinujesz jak koń pod górkę. To co chcesz teraz zrobić (te przesuwania sinusoid i mierzenie ich ADCkiem) jest dobre do zabawy czy nauki. Ale to dużo roboty a efekty będą kiepskie. A wszystko przez to że taki pomiar będzie wrażliwy na amplitudę tych sinusów. Jeżeli naprawdę chcesz mierzyć tylko przesunięcia, a nie...
bascom histereza histereza wentylator bascom bascom histereza termostat
moduł komfortu mazda awaria modułu tip35c zamiennik
suszarka babyliss lusterka zewnętrzne
Unifon TK6 – podłączenie 4 żyły, schemat 3+1, konfiguracja zworek, testy Obsługiwane formaty wideo Smart TV: MP4, MKV, H.264, HEVC, AV1, DTS, Dolby Vision, HDR