Hallå alla matematiker

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Fredrick
Inlägg: 342
Blev medlem: 9 januari 2004, 23:12:33

Inlägg av Fredrick »

Nja 4Mhz kör jag på.

Jag mäter PulsIn i 10 us, vilket ínte valbart utan det beror på klock hastigheten.

men skall inte 10us räcka?
Användarvisningsbild
RDX*
EF Sponsor
Inlägg: 1652
Blev medlem: 28 maj 2003, 22:52:04
Ort: Skåne - Lund

Inlägg av RDX* »

Om du inte håller på med något annat så kan du a vända polling för att mäta upp Tx.
Dvs. du gör en loop som bara räknar upp ett register så länge T1 är hög. På detta sätt kan du själv "ställa in" din noggrannhet.
Fredrick
Inlägg: 342
Blev medlem: 9 januari 2004, 23:12:33

Inlägg av Fredrick »

Skall det verkligen vara så svårt att läsa ut temperatueren med en PIC? finns det inget lättare sätt, annan temp sensor kanske???
danei
EF Sponsor
Inlägg: 27419
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

som det är nu så går det 6° på ett steg i T1. Du skulle behöva öka upplösnigen med en fakor 10 eller liknande.
Fredrick
Inlägg: 342
Blev medlem: 9 januari 2004, 23:12:33

Inlägg av Fredrick »

Jo visst men hur gör jag det?

PIC´en vill ju inte äns veta av tal med decimaler.


Är jag den ända här som försöker läsa ut temeraturen från en PIC?
danei
EF Sponsor
Inlägg: 27419
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

picken vill inte ens räkna med talöver 255. Allt annat får man fixa till på något sätt. Jag vet inte vilka möjligheter som finns i din kompilator. Men det går att räkna med en PIC. Och det går att mäta pulser med bra nogranhet. Det är med kompilatorn det hänger på. Jag har bara jobbat med asm och C. asm är inte att rekomendera för matten. Men kanske för avläsningen.
Användarvisningsbild
RDX*
EF Sponsor
Inlägg: 1652
Blev medlem: 28 maj 2003, 22:52:04
Ort: Skåne - Lund

Inlägg av RDX* »

Du är säker på att du har deklarerat dina variabler rätt, så att det inte finns någon som inte drar ner på noggrannheten.
Fredrick
Inlägg: 342
Blev medlem: 9 januari 2004, 23:12:33

Inlägg av Fredrick »

Nja tal under 65536 klarar PBP iallafall.
Fredrick
Inlägg: 342
Blev medlem: 9 januari 2004, 23:12:33

Inlägg av Fredrick »

Alla variabler är deklarerade som WORD i PicBasic vilket innebär tal upp till 65536.
Användarvisningsbild
RDX*
EF Sponsor
Inlägg: 1652
Blev medlem: 28 maj 2003, 22:52:04
Ort: Skåne - Lund

Inlägg av RDX* »

Om alla är word hur kan du då få fram kvoten?
Användarvisningsbild
RDX*
EF Sponsor
Inlägg: 1652
Blev medlem: 28 maj 2003, 22:52:04
Ort: Skåne - Lund

Inlägg av RDX* »

Testa deklarera kvoten som Single.
Fredrick
Inlägg: 342
Blev medlem: 9 januari 2004, 23:12:33

Inlägg av Fredrick »

Single stöds inte i PBP
Användarvisningsbild
RDX*
EF Sponsor
Inlägg: 1652
Blev medlem: 28 maj 2003, 22:52:04
Ort: Skåne - Lund

Inlägg av RDX* »

finns det någon variabel som stöder decimaltal?


Pic :doh: nä, tacka vet jag AVR :wink:
danei
EF Sponsor
Inlägg: 27419
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

Som jag sa. Det är kompilatorn det hänger på. 32bitars flytal är inget problem. Men picen klara bara 8bitar. Så över det är det många asm instruktioner för att få fram ett svar. Men din kompilator kör nog med mer än vanliga 16bits tal. Annars skulle det inte gå alls.
Användarvisningsbild
EagleSpirit
Inlägg: 1288
Blev medlem: 27 maj 2003, 23:15:48
Ort: Västerås
Kontakt:

Inlägg av EagleSpirit »

Fredrick skrev:Jo visst men hur gör jag det?

PIC´en vill ju inte äns veta av tal med decimaler.


Är jag den ända här som försöker läsa ut temeraturen från en PIC?
det finns trådar och det finns massor av personer som läser av temperaturen med PIC men med andra kretsar. Antingen med NTC motstånd eller riktiga IC kretsar som skickar ett värde med antingen parallell eller seriekommunikation. Den där varianten du använder har jag själv aldrig hört talats om.

om vi säger att det är hastighetsproblem så är det ju pga pic basic eftersom det inte blir så smidig kod.

om det är räknefel så har jag ingen aning. Kör lite debug. Skriv ut T1, T2 och temperatur på lcdn. Skriv upp värdena. Testa att hålla fingret på den eller något liknande så att temperaturen stiger. Kolla om värdena hoppar mycket eller om det ökar stabilt
Skriv svar