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...
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ć?
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ę...
1. (pomiar > temp+histereza) -> wyłącz 2. (pomiar < temp-histereza) -> włącz Albert
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)...
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...
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...
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...
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...
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...
Bo fusing robi stringa proszę szanownego kolegi:) To nie tędy droga...PS może nie zaokrąglanie a histereza?:)
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...
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ść....
JmL ja bym dorzucił histerezę:)
Po wymianie grzałki problem samoistnie ustąpił
Sprawdziłem to dla sportu bo taki prosty kodzik od czasu do czasu to jak zjedzenie cukierka :D i to nawet działa. Oświetlone słońcem czy tam nawet żarówką LED`ową się nie wzbudza a przy zbliżeniu i owszem. Tiny85 ma juz wbudowany wzmacniacz dla ADC i tam mozna więcej nawet zadzaiałać, ale Tiny13 nie ma więc dla czułości użyłem wewnętrznego napięcia...
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,...
usunąłem tą linijkę z histerezą ale nadal odświeża
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ś...
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ą.
Hmm zaskakujące że pytasz ale temat znany (bascom) - Jako koniki do Karocy zaprzęgnięte zostały timery.
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ę
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 .
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...
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 :)
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...
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 :)
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.
Osobiście uważam, że jeśli to ma być zwykły termostat, to nie ma nad czym się zastanawiać. Szczególnie w BASCOMie gdzie są gotowe wszystkie potrzebne rzeczy jak obsługa LCD i 1-Wire. Pamiętaj tylko o histerezie mierzonej temperatury.
histereza bascom histereza wentylator bascom bascom histereza termostat
lucas performer mruga dioda zasilacz renault laguna schemat radio
knights głośnik ariston hotpoint zmywarka
Koszt wymiany zasilacza w telewizorze Samsung 65 cali Opel Corsa C - słabe hamowanie tylne lewe koło