Witam.
Nurtuje mnie pytanie czy da się zrobić termostat na 90S2313 przy wykorzystaniu DS18B20.
Chodzi mi by wysterować grzałak 200W tak by utrzymywała się temp. ok 40 oC.
Co do szczegułów to ma to być ogrzewana wodo o pojemności ok 5 litrów.
Napisałem taki program .
Config 1wire = Portd.5 : Dim Odczyt(2) As Byte , A As Byte ,
Dim Z As Byte , T As Integer
Do
1wreset : 1wwrite &HCC : 1wwrite &HBE 'odczyt z DS1820
Odczyt(1) = 1wread(2) 'odczytaj dwa pierwsze bajty - temperaturę
Z = 120
If T.z = 120 Then 'Testowanie bitu z DS18B20 jeżeli 40oC
Portd.6 = 0 ' to przełączy przekażnik
Else
Portd.6 = 1 ' jezeli nie to zostanie w spoczynku
End If
1wreset ' dopiero teraz daj polecenie konwersji:
1wwrite &HCC 'polecenie SKIP ROM, bo pojedyncza kostka
1wwrite &H44 ' dokonaj konwersji - zmierz temperaturę
Waitms 700 'po cyklu pracy poczekaj
Loop
Termostat na 90S2313
Zastanawiam się, czy odpowiedzi udzielone Tobie przez Taszę w TYM temacie są niewystarczające...
Tu Tasza napisała by Tobie dokładnie to samo (moze w inny sposób)...
Aha - mimo tego, że masz różne nick'i, sposób opisania problemu jest dokładnie taki sam...
Co do pytania - tak, można. Pytanie, czy wiesz co to jest bilans cieplny, jaka jest bezwładność grzałki oraz ogrzewanej cieczy? Bez tego nawet najlepszy program nie pomoże...
Tu Tasza napisała by Tobie dokładnie to samo (moze w inny sposób)...
Aha - mimo tego, że masz różne nick'i, sposób opisania problemu jest dokładnie taki sam...
Co do pytania - tak, można. Pytanie, czy wiesz co to jest bilans cieplny, jaka jest bezwładność grzałki oraz ogrzewanej cieczy? Bez tego nawet najlepszy program nie pomoże...
ja troszkę nie łapię w czym tak naprawdę problem...
chcesz sterować grzałką, stabilizować temperaturę, no ok.
masz napisany kawałek programu (tak naprawdę to dzięki postowi Jacu$-a) i....
i co?
to w ogóle nie działa? czy może źle działa?
a może właśnie działa dobrze, tylko jednak nie tak jak potrzebujesz?
a nie uważasz, że naturalnym byłoby teraz skompilować ten kod,
wgrać wsad do procesora i sprawdzić.... ?
niekoniecznie z grzałką...możesz sobie zapalać diodkę na porcie,
a temperaturę zadawać dolewając do szklanki na zmianę zimną i ciepłą wodę
i mierząc temperaturę płynu jakimkolwiek termometrem...
tasza
Po pierwsze Marcin nie jest nigdzie powiedziane że nie mogę pisać na różnych forach!!
I apropo "Pytanie, czy wiesz co to jest bilans cieplny, jaka jest bezwładność grzałki oraz ogrzewanej cieczy? " dlaczego się mądrzyć nie lepiej doradzić.
A co do Taszy to sprawdziłem układ właśnie na diodzie i nie działa.
I jeszcze jedno Jacus nie pomógł mi napisać programu sam go napisałem.
Mi potrzebne są wskazówki.
I apropo "Pytanie, czy wiesz co to jest bilans cieplny, jaka jest bezwładność grzałki oraz ogrzewanej cieczy? " dlaczego się mądrzyć nie lepiej doradzić.
A co do Taszy to sprawdziłem układ właśnie na diodzie i nie działa.
I jeszcze jedno Jacus nie pomógł mi napisać programu sam go napisałem.
Mi potrzebne są wskazówki.
Kod: Zaznacz cały
If temp < 37 then
Portd.6 = 0
If temp = 40 then
Portd.6 = 1
Co do Twojego programu - testujesz bit (T.z), ale w operacji porównania używasz bajtu. Nie wydaje się to lekko nielogiczne? w końcu wartość jednego bitu nigdy nie będzie równa 120...
Najlepiej odczytać wartość temperatury z DS-a, porównać z zadaną (jak w moim przykładzie) - i dopiero potem podejmować decyzję (za niska, za wysoka)...
Programu za Ciebie nie napiszę, myślę że sobie poradzisz... Jeżeli masz pytania, to oczywiście możesz pytać na każdym forum związanym z tematem
Pozdrawiam!
Ps.: A, i jak wstawiasz kod używaj "["Code"] i ["/Code"]" - wytnij tylko cudzysłowy - ja wstawiłem, bo wyszłoby:
Kod: Zaznacz cały