Termostat/tempgivare

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
tusse
Inlägg: 1364
Blev medlem: 19 augusti 2003, 21:56:17
Ort: Järfälla

Termostat/tempgivare

Inlägg av tusse »

Tänkte bygga en termostat med flera givare för att kunna styra fläktar och pumpar, en PIC 16F628 borde väl bli en bra början, NTC motstånd som givare.

Jag programmerar i PIC-Basic.

Tänkte först kommandot POT i PIC-Basic och koppla en kondensator/NTC-motstånd

PIC 16F628 har analoga portar, det måste väl gå att läsa dom direkt över NTC-motståndet.

Kan jag prorammera dom direkt med PIC-Basic eller har någon en färdig kod i assembler för att läsa analoga signaler.

Är nybörjare på PIC-kretsar och dess programmering.
Användarvisningsbild
rickeboy
Inlägg: 678
Blev medlem: 13 augusti 2003, 09:12:17
Ort: Göteborg / Karlskrona
Kontakt:

Inlägg av rickeboy »

Hmm... jag skulle rekommendera dig att beställa gratis samples av DS1620 från www.maxim-ic.com...
Det är 1-wire termometrar... gratis... B version har en känslighet på +-0,5grader C

Betydligt mkt mer korrekt avläsning än för det du hade tänkt använda... POT kommandot är inte jätte bra att använda för temperatur heller... blir lätt lustiga uträkningar då...

//Rille
danei
EF Sponsor
Inlägg: 27416
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

för att kunna koppla den till en A/D port måste du ha en spänningsdelning. Där det ena motståndet är givaren. Alt en konstantströmgenerator och mäta spänningen över resistorn.
Senast redigerad av danei 8 oktober 2003, 14:27:55, redigerad totalt 1 gång.
Användarvisningsbild
tusse
Inlägg: 1364
Blev medlem: 19 augusti 2003, 21:56:17
Ort: Järfälla

Inlägg av tusse »

Rickeboy:
DS1620 tycker det var lite överkurs även om den får stå som alternativ, tack för förslaget
Danei:
Det är väl OK, men programmet i PICen är problemet.
danei
EF Sponsor
Inlägg: 27416
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

Jag kan inte picbasic. Det borde nog finnas ett komando för att hämta ett värde från A/Domvandlaren.
Användarvisningsbild
rickeboy
Inlägg: 678
Blev medlem: 13 augusti 2003, 09:12:17
Ort: Göteborg / Karlskrona
Kontakt:

Inlägg av rickeboy »

Tusse: Detta borde leda dig åt rätt riktning...
http://www.rentron.com/PICX4.htm

//Rille
Användarvisningsbild
tusse
Inlägg: 1364
Blev medlem: 19 augusti 2003, 21:56:17
Ort: Järfälla

Inlägg av tusse »

Jag är lite ute simmar 16F628 har (om jag fattat rätt) endast en jämförare, ingen riktig adomvandlare, det blir nog NTC/C lösningen eftersom jag inte behöver veta gradtalet. Jag ska bara jämföra temperaturen i flera rum för att kunna flytta värmen med fläktar.

Tack för alla tips.

Bert
danei
EF Sponsor
Inlägg: 27416
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

ladda upp en kondensator genom givaren och mät tiden tills kondensator spänningen går över en spänning. Det är nog så pot komandot funkar
Användarvisningsbild
tusse
Inlägg: 1364
Blev medlem: 19 augusti 2003, 21:56:17
Ort: Järfälla

Inlägg av tusse »

OK Rille, jag har lyssnat på dig, beställt lite sampler, nu är det bara att läsa på hur dom fungerar.
Tips mottages med största möjliga glädje.

DS1626 - High-Precision 3-Wire Digital Thermometer and Thermostat
DS1726 - High-Precision 3-Wire Digital Thermometer and Thermostat
DS18S20 - 1-Wire Digital Thermometer

Trevlig kväll
Användarvisningsbild
rickeboy
Inlägg: 678
Blev medlem: 13 augusti 2003, 09:12:17
Ort: Göteborg / Karlskrona
Kontakt:

Inlägg av rickeboy »

Låter gött... tror du reder ut det mesta med hjälp av sidan jag har lagt in i tidigare inlägg... hmm... inte utan att jag själv blir lite sugen på att testa bara för det... har nämligen ett projekt på G till bilen... ska ha 3 st temp givare och en LCD. temp från slutsteg, coupe och insug hade jag tänkt... det har dock legat nere ett tag nu pga skolan... kommer nog igång igen vecka 44... (har lov då ju :D )

Om du hinner göra ngt innan så skicka ett PM eller gör ett inlägg här så att alla andra kan se hur det går vetja :)

//Rille
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

>> tusse

Gör gärna en uppföljare på den här tråden när du fått igång dina termometrar! Jag är också nyfiken på de där mojerna, speciellt om man kan beställa dem som samples :D
Användarvisningsbild
tusse
Inlägg: 1364
Blev medlem: 19 augusti 2003, 21:56:17
Ort: Järfälla

Inlägg av tusse »

Tack Maxim, delarna har kommit.

DS18S20 blev mitt första val.

Det här var kul, kan läsa av värdet på display och jämföra temperaturer och ställa villkor.
Men när jag ska jämföra det binära talet med ett decimaltal slog jag huvudet i väggen.

Problem vid programmering i Basic, så här skriver man när man vill ha ut väderna KamTe på display som är ett hämtat värde från tempgivare DS18S20.

LCDOut $fe, 1, DEC (KamTe >> 1),".",DEC(KamTe.0 * 5)," grader C"

Nu vill jag jämföra dessa värden med decimala tal, eftersom jag klarar mig på hela grader försökte jag med
If DEC (KamTe >> 1)>5 then
Low PORTB.1
EndIf

Men det gillar inte PIC-Basic

Då försökte jag att göra om värdet till en sträng.

Okand=DEC (KamTe >> 1)

Ingen lycka där heller.

Kul att leka med PIC:en

Heeelp
Användarvisningsbild
rickeboy
Inlägg: 678
Blev medlem: 13 augusti 2003, 09:12:17
Ort: Göteborg / Karlskrona
Kontakt:

Inlägg av rickeboy »

Måste du verkligen specificera vad det är för ngt då?
Du har ju med DEC...

If KamTe>5 then
Low PORTB.1
EndIf

Kanske går... ta och titta i Pic Basic manualen annars... där ska det ju iaf finns svar...

Får man se koden du har skrivit för att kommunicera med DS18S20:on? Hade verkligen uppskattat att få se allt ihop! :)

//Rille
Användarvisningsbild
tusse
Inlägg: 1364
Blev medlem: 19 augusti 2003, 21:56:17
Ort: Järfälla

Inlägg av tusse »

Rickeboy>>


Tyvärr vill inte Basic det heller.

Koden är i stort sett en kopia av den länken du gav mig, bara bytt namn på portarna.
Problemet blir när fler givare ska kopplas på samma ledning, nu har jag bara kopierat programmet 3 gånger och använder tre portar.

Bert
Användarvisningsbild
rickeboy
Inlägg: 678
Blev medlem: 13 augusti 2003, 09:12:17
Ort: Göteborg / Karlskrona
Kontakt:

Inlägg av rickeboy »

Kolla igenom manualen... där finns dessutom ganska mkt smått och gått som gör att du förstår betydligt mkt mer av koden du nu "bara" har kopierat... t ex hur man skriver IF satser... jag är hundra på att du kommer få fram svaret på din egna fråga när du börjar glo i den! :)

Manualen finns här -->> http://www.devinc.sytes.net/~rikard/pdf/pbpm502a.pdf

//Rille
Skriv svar