Lm35 till PIC

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Re: Lm35 till PIC

Inlägg av thepirateboy »

Verkar vara rätt kopplat om du ser den framifrån. Har du en multimeter bör du kunna mäta utspänningen.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Lm35 till PIC

Inlägg av sodjan »

> Testade koppla två motstånd från AN2.

Fullständigt komplett värdelös information utan att veta
vilka VÄRDE det är på motstånden.

*Om* du använder motstånd på ca 1-5 kohm, så borde du hamna
vid ca 512 som värde. Annars är något annat galet.

Och det är fullständigt ointressant att ens fundera på en LM35'a innan
du fixar att få ett vettigt värde från ADC'n med två motstånd !

> När jag kopplar AN2 till 5v får jag ett värde som pendlar kring 1023.
> När jag kopplar till gnd pendlar det kring 0. Låter det vettigt?

Ja.

Samma sak här. "Pendlar" är värdelös information. Om du säger att värdet
varierar med ca +/- 5 enheter (eller vad det nu var) så är det exakt den
information som är användbar. Det är i så fall även helt normalt. :-)

> Om mitt minne stämmer rör det sig om 10-15 värden åt båda hållen.

Det finns ingen som helst sådan regel eller tumregel. Det beror helt och hållet
på den aktuella kopplingen. Det *går* att få ett mätvärde från ADC'n som
ligger i princip helt stabilt med något enstaka fladder i sista biten, men det
kräver också lite insatser. Med en enkel koppling på en labbplatta och utan
bra kunskap om hur man avkopplar och stabiliserar en analog koppling,
så kan kanske +/- 5-10 kN vara ett förväntat resultat. Om det inte är
tillräckligt bra, så är det inget större problem att komma ner i +/- 3-4 bit, men
det kräver som sagt lite mer av t.ex avkopplingen än vid en ren digital lösning.

Jag har haft ett gäng med sådana här (i TO92 kapsel):
http://jescab2.dyndns.org/pub_docs/as35fn.pdf.
De ska vara LM35 kompatibla.

> Har du en multimeter bör du kunna mäta utspänningen.

Ja, om det det redan är gjort så är det bara att köra.
Jag kopplade in en av de på PDF'en ovan, och en vanlig
voltmeter fungerade utmärkt för visning av temperaturen direkt.

Men, som sagt, om man inte kan få ett värde kring 512 med en 1:1
spänningsdelare med två motstånd, så är det ointressant med sensorn.
jacobse
Inlägg: 194
Blev medlem: 25 januari 2013, 23:57:40

Re: Lm35 till PIC

Inlägg av jacobse »

Börjar tro att det är nått fel på sensorn. Finns det något sätt att testa den?

När jag kopplar:
RA2 till 5v ger 1023
RA2 till gnd ger 1
RA2 via två motstånd ett till gnd och ett till 5v ger 516.

Dessa resultat känns väl rimmliga?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Lm35 till PIC

Inlägg av sodjan »

Var det inte 160 som du fick !?
jacobse
Inlägg: 194
Blev medlem: 25 januari 2013, 23:57:40

Re: Lm35 till PIC

Inlägg av jacobse »

Har labborerat lite med koden. Hittade några fel. Den senaste versionen gav dessa värden.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Lm35 till PIC

Inlägg av sodjan »

OK.

Om en så pass fundamental uppgift plötsligt ändras så är det
väl naturligt att tala om det.

> Finns det något sätt att testa den?

Du menar förrutom den enkla metod som redan har föreslagits?
Fungerade inte den? Eller valde du bort den av någon anledning?
Elller är det så att du inte läser andras inlägg?

> Dessa resultat känns väl rimmliga?

Ja.
jacobse
Inlägg: 194
Blev medlem: 25 januari 2013, 23:57:40

Re: Lm35 till PIC

Inlägg av jacobse »

Sorry han posta mitt inlägg innan dit utförliga inlägg kom upp. Postade de nya resultaten direkt när jag fått fram dom. Läser alla inlägg noga. Utan er hjälp hade jag aldrig kommit så här långt.
jacobse
Inlägg: 194
Blev medlem: 25 januari 2013, 23:57:40

Re: Lm35 till PIC

Inlägg av jacobse »

Nu har jag mätt på sensorn med multimeter och den gav utslag. Mycket märkligt. Några förslag på vad jag ska testa?
RoPa
Inlägg: 630
Blev medlem: 13 januari 2006, 10:32:06

Re: Lm35 till PIC

Inlägg av RoPa »

Nej inte mer, men allt som skrivits, en gång till så det fungerar "samtidigt".
Finns inte så mycket mer att testa än att sammanfoga testfallen. Koppla sensorn till AN2 och mäta med multimetern på AN2 samtidigt som du kör koden. Om du i testet mäter rätt med motstånd och sensorn fungerar med multimetern så _kan_ det inte bli fel längre.

Lycka till!
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Lm35 till PIC

Inlägg av sodjan »

> Nu har jag mätt på sensorn med multimeter och den gav utslag.

Enligt spec ?
jacobse
Inlägg: 194
Blev medlem: 25 januari 2013, 23:57:40

Re: Lm35 till PIC

Inlägg av jacobse »

Sorry att jag inte svarat på länge. Har varit mycket med skolan.
Har nu köpt några potentiometrar ska testa med dom i helgen.

Sitter och läser databladet till pic16f690. Försöker lära mig hur ansel och anselh registret fungerar. Men förstår inte riktigt skillnaden?

Sen förstår jag inte riktigt den binära kodningen. Någon som har lust att förklara på ett enkelt sätt hur det fungerar? Jag skriver i mikroc.

Ser ju ut ungefär så här:
0bxxxxxxxx. Vad representerar respektive x possition?
Användarvisningsbild
lgrfbs
Inlägg: 7313
Blev medlem: 28 januari 2005, 15:48:53
Ort: X-län
Kontakt:

Re: Lm35 till PIC

Inlägg av lgrfbs »

0bxxxxxxxx = binäratalsystemet
vad varje x har för funktion kan bara databladet för PIC kretsen tala om, och det som står i databladet gäller även i microC.
Slå upp matteboken om talsystem så hittar du troligen en mycket bra förklarning på hur det fungerar.
jacobse
Inlägg: 194
Blev medlem: 25 januari 2013, 23:57:40

Re: Lm35 till PIC

Inlägg av jacobse »

Har försökt läsa databladet men får ingen ordning på det. Kollar sidan 61 för inställning av a/d portar.

Om jag tex vill ha ra0 som analog och resten som digitala. Hur blir det då?

Ansel=0b10000000?
Användarvisningsbild
lgrfbs
Inlägg: 7313
Blev medlem: 28 januari 2005, 15:48:53
Ort: X-län
Kontakt:

Re: Lm35 till PIC

Inlägg av lgrfbs »

Fick fram detta i databladet:
PIC16F690 Pin Diagram (PDIP, SOIC, SSOP)
RA0/AN0/C1IN+/ICSPDAT/ULPWU

Kod: Markera allt

©
2008 Microchip Technology Inc.
DS41262E-page 61
PIC16F631/677/685/687/689/690
REGISTER 4-3: ANSEL: ANALOG SELECT REGISTER
R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1
ANS7  ANS6  ANS5  ANS4  ANS3  ANS2  ANS1  ANS0
bit 7                                     bit 0
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
bit 7-0
ANS<7:0>
: Analog Select bits
Analog select between analog or digital function on pins AN<7:0>, respectively.
1= Analog input. Pin is assigned as analog input(1).
0= Digital I/O. Pin is assigned to port or special function.

Note 1:
Setting a pin to an analog input automatically disables the digital input circuitry, weak pull-ups and
interrupt-on-change if available. The corresponding TRIS bit must be set to Input mode in order to allow
external control of the voltage on the pin.
Som jag förstår det, har du tänkt rätt.
Har mircoC sin bit0 på samma plats?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Lm35 till PIC

Inlägg av sodjan »

> Sitter och läser databladet till pic16f690.
> Försöker lära mig hur ansel och anselh registret fungerar.
> Men förstår inte riktigt skillnaden?

Ja, det står ju i databladet. Dock ser jag att det finns ett fel
på sidan 61, du kanske har sett det. Det står :

ANS<11:8> : Analog Select bits
Analog select between analog or digital function on pins AN<7:0>, respectively.

Det ska så klart vara :

ANS<11:8> : Analog Select bits
Analog select between analog or digital function on pins AN<11:8>, respectively.

Man, vad är det på sidan 61 som du inte förstår? Förrutom det där
felet alltså?

> Sen förstår jag inte riktigt den binära kodningen.

Detta är fullständigt fundamentalt!
http://sv.wikipedia.org/wiki/Bin%C3%A4ra_talsystemet
Kolla även "Andra talsystem" på den sidan.

> 0bxxxxxxxx. Vad representerar respektive x possition?

En bit.

> Om jag tex vill ha ra0 som analog och resten som digitala. Hur blir det då?
> Ansel=0b10000000?

RA0 (själva I/O pinnen) har alltså funktionen AN0 (analog pinne nr 0).
"TABLE 5: PIC16F690 PIN SUMMARY" på sidan 5.

Biten som styr pullup för AN0 är alltså ANS0, eller hur ?
"REGISTER 4-3: ANSEL: ANALOG SELECT REGISTER" på sidan 61.

ANS0 är bit *0*i ANSEL, inte bit 7 som du har satt i din fråga ovan.
Alltså: Ansel=0b00000001

Du bör också kolla "Accessing Individual Bits Of Variables" i MikroC manualen !

Du bör kunna skriva "ANS0_bit = 1;" eller liknande. Testa!
Fördelen är att du inte behöver veta vilken bit i regsitret det är.
Just när det gäller AN0/ANS0 så var det ju enkelt, men t.ex ANS11
är bit 3 i ANSELH, och det behöver man alltså då inte kolla upp.
Skriv svar