Termostat na 90S2313

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
turla2
-
Posty: 6
Rejestracja: 28 cze 2006, 6:59
Lokalizacja: Rydułtowy
Kontakt:

Termostat na 90S2313

Post autor: turla2 » 26 sie 2006, 21:45

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

Awatar użytkownika
marcing
Użytkownik
Posty: 868
Rejestracja: 14 lut 2006, 14:13
Lokalizacja: z pociągu...
Kontakt:

Post autor: marcing » 26 sie 2006, 22:02

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...

tasza
Użytkownik
Posty: 1391
Rejestracja: 21 lut 2005, 15:02

Post autor: tasza » 26 sie 2006, 22:34

:arrow: Marcin, więcej dystansu do rzeczywistości.... :wink:

:arrow: turla2 (czy może Michał~88)
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

turla2
-
Posty: 6
Rejestracja: 28 cze 2006, 6:59
Lokalizacja: Rydułtowy
Kontakt:

Post autor: turla2 » 26 sie 2006, 23:05

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.

Awatar użytkownika
marcing
Użytkownik
Posty: 868
Rejestracja: 14 lut 2006, 14:13
Lokalizacja: z pociągu...
Kontakt:

Post autor: marcing » 27 sie 2006, 8:45

:arrow: Tasza - racja (dzięki ;) ), dystans by się przydał - powinienem był podejść bardziej na luzie :)

:arrow: Michał - przepraszam, że trochę ostro napisałem poprzedni post. Dziwię się jednak, że mając podane wszystko co potrzebne do napisania programu, nie zrobiłeś tego :(

Kod: Zaznacz cały

If temp < 37 then
Portd.6 = 0
If temp = 40 then
Portd.6 = 1
W przykładzie wyżej masz histerezę

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: Ps2.: O bilansie cieplnym bardzo dobrze napisał p.Piotr Górecki w jednym z rozwiązań konkursu "Co tu nie gra" - niestety, nie jestem w stanie znaleźć teraz odpowiedniego numeru EdW...

turla2
-
Posty: 6
Rejestracja: 28 cze 2006, 6:59
Lokalizacja: Rydułtowy
Kontakt:

Post autor: turla2 » 28 sie 2006, 5:41

Marcin dziękuję ślicznie za takie porady. Właśnie o takie coś mi chodzi.
Z napisaniem programu myślę że sobie poradzę, tylko nie jestem obeznany w DS18B20.
A co do bilansu cieplnego to jak dlamnie żaden problem potrafię wszystko wyliczyć.

ODPOWIEDZ