Problem sa vrednostima u bascomu

Rasprava o AVR mikrokontrolerima, AVR projekti i drugo vezano za AVR...

Moderators: pedja089, stojke369, trax, InTheStillOfTheNight

mojalovaa
Napredujem
Napredujem
Posts: 135
Joined: 29-03-2013, 19:28

Problem sa vrednostima u bascomu

Post by mojalovaa »

Pozdrav svima
Evo pošto sam novi da vas prije svega pohvalim , odlicni ste svi .
Imam problem , koristim AT89S8252 i A/D konverter PCF8591 , s njima ocitavam temperaturu do 255 stepeni , jedan bajt jedan stupanj , ali desava mi se sljedece , da mi kako temperatura raste tako mi procesor na displayu pokazuje u odredjenim postotcima manju temperaturu , pa tako ako je prikazana temperatura 30C , stvarna je 2% veca , ako je prikazana 50 stvarna je 4% veca , 80 je 6% veca , 110 je 8% veca , 150 je 10% veca a 180 je 12% veca

Evo dio koda koji to ocitava pa ako moze nekakav savjet kako to rjesiti.

Sub Read_pcf8591(kanal As Byte)
Dim Kanal1 As Byte
I2cstart ' I2C start
I2cwbyte Write_ad ' Upis adrese PCF8591
Kanal1 = 64 '&B01000000
I2cwbyte Kanal1 ' Kanał
I2cstart
I2cwbyte Read_ad ' Odczyt adresu PCF8591
I2crbyte Mem , Ack ' Odczyt kilku bajtów
I2crbyte Mem , Nack ' Odczyt ostatniego bajtu
I2cstop
Mem1 = Mem


Moja ideja je bila da napravim sljedece

If mem > 50 Then
mem1 = mem*104
mem1 = mem1 / 100
Elseif mem >80 Then
mem1 = mem*106
mem1 = mem1/100

i tako redom da dobijem ocitanu vrednost uvecanu za taj postotak ako je ocitana vrednost presla recimo 50 ili neku drugu , ali mi to u praksi ne radi ok , jer mi opet procesor vidi a i prikazuje istu vrednost kao i prije toga.
Ovo mi je zaista hito pa vas molim ako netko ima ideju ili zna kako to rjesiti da mi pomogne oko toga , hvala.
User avatar
bob4
Stariji član
Stariji član
Posts: 2572
Joined: 31-01-2010, 16:12
Location: Kutina

Re: Problem sa vrednostima u bascomu

Post by bob4 »

1. Koji senzor koristiš; i u kojoj konfiguraciji ?
2. Referentni napon je OK ?
mojalovaa
Napredujem
Napredujem
Posts: 135
Joined: 29-03-2013, 19:28

Re: Problem sa vrednostima u bascomu

Post by mojalovaa »

Koristim termocuple K-Type , sa operacionim pojacalom gdje izlaz dovodim na A/D konverter , referentne napone sam svakako pokusavao da nastelam i uvjek mi je to tu u postotku .

http://www.stavi-sliku.info/image/Ye8
Tu je shema da vidis kako je spojeno.
User avatar
bob4
Stariji član
Stariji član
Posts: 2572
Joined: 31-01-2010, 16:12
Location: Kutina

Re: Problem sa vrednostima u bascomu

Post by bob4 »

1. referentni napon se obično radi (recimo) s TL431
2. To operacijsko pojačalo koje pojačava mali napon termopara mora imati trimere za podešavanje nule i maksimuma mjerene vrijednosti (ali to ne vidim na toj shemi)
mojalovaa
Napredujem
Napredujem
Posts: 135
Joined: 29-03-2013, 19:28

Re: Problem sa vrednostima u bascomu

Post by mojalovaa »

To imam na operacionom pojacalu za TK , on nije na shem , tu je samo uP + A/D

http://www.stavi-sliku.info/image/Yeg

shema TC pojacala
Last edited by mojalovaa on 29-03-2013, 21:11, edited 1 time in total.
User avatar
bob4
Stariji član
Stariji član
Posts: 2572
Joined: 31-01-2010, 16:12
Location: Kutina

Re: Problem sa vrednostima u bascomu

Post by bob4 »

To znači da nisi kvalitetno umjerio pojačanje OPP
User avatar
Kukinjos
Pravi forumaš
Pravi forumaš
Posts: 1724
Joined: 28-03-2012, 18:01
Location: Split

Re: Problem sa vrednostima u bascomu

Post by Kukinjos »

Kao što je Bob4 spomenuo, moraš imat trimere na anlognom dijelu za podesit nulu i max. vrijednost, kad to podesiš nećeš imat više odstupanja, jedino ako ti je sustav nelinearan. Ali ne vidim analogni dio u shemi. Imaš li kompenzaciju okolne temperature?
Cezare, star sam i nemoćan, ali poslušaj moj savjet ....
mojalovaa
Napredujem
Napredujem
Posts: 135
Joined: 29-03-2013, 19:28

Re: Problem sa vrednostima u bascomu

Post by mojalovaa »

Shemu mi je radio kolega iz zagreba , ja sam htio napraviti standardno OP ali on mi rekao da ne bi dobro radilo , jer mora biti ova dioda 1n4148 koja spusta napon za 2mV za svaki stepen ili tako nesto , nisam ga bas skontao , sta vi mislite o toj shemi , daj molim vas da mi objasnite kako da ga umjerim.
User avatar
Kukinjos
Pravi forumaš
Pravi forumaš
Posts: 1724
Joined: 28-03-2012, 18:01
Location: Split

Re: Problem sa vrednostima u bascomu

Post by Kukinjos »

Oprosti ali još uvijek ne vidim analogni dio ni tu diodu 1n4148.

EDIT:
:ohno: Osvanula je shema
Last edited by Kukinjos on 29-03-2013, 21:26, edited 1 time in total.
Cezare, star sam i nemoćan, ali poslušaj moj savjet ....
User avatar
Kukinjos
Pravi forumaš
Pravi forumaš
Posts: 1724
Joined: 28-03-2012, 18:01
Location: Split

Re: Problem sa vrednostima u bascomu

Post by Kukinjos »

Shema mi izgleda u redu. Dioda služi za kompenzaciju vanjske temperature, a termo članak se nalazi u mostu kojeg čine ta dioda, R8, R9 i druga grana R7, R6 i R5. Sve skupa se pojačava preko IC1A, čije se pojačanje određuje trimerom R2 - 10K, a IC1B je samo izlazni buffer, da ne bi A/D konverter teretio mjerno pojačalo IC1A i unosio grešku u mjerenje.
Nakon teorije i malo prakse, ne znam s čim umjeravaš uređaj? Imaš li generator napona za umjeravanje (čisto sumnjam) ili koristiš grijanje i mjerenje temperature s vanjskim termometrom? Pretpostavljam da je ovo drugo u pitanju, dakle temperaturu moraš postavit na 255 stupnjeva (ne pitaj me kako) i onda s trimerom R2 podesit prikazivanje na display-u na 255, nakon toga bi ti sve trebalo bit u redu. Možeš to radit i na nižoj temperaturi, ali tu se već javlja greška, što si bliže gornjoj granici kod podešavanja, to će ti i greška bit manja.
Cezare, star sam i nemoćan, ali poslušaj moj savjet ....
mojalovaa
Napredujem
Napredujem
Posts: 135
Joined: 29-03-2013, 19:28

Re: Problem sa vrednostima u bascomu

Post by mojalovaa »

To sam isto pokusavao , samo mi onda laze na nizoj temperaturi , na recimo 30 stepeni laze 4 stepena , i ako pise na podatcima za TK da po stepenu celziusu ima linearno i rast napona , meni se to u praksi ne pokazuje tako , sto se tice usporedbe , imam digitalni unimjer koji moze da mjeri do 1000 stepeni tako da koliko on laze ne znam ali je veoma blizu zadanih parametara , mene muci sto ne laze linearno.
Evo primjer izmjerene i stvarne temperature kod mjerenja ,ide prvo izmjerena pa stvarna.
29 =30 , 48=50 , 57=60 , 95=100 , 122=130 , 138=150 , 147=160 , 162=180 , 176=200 , 184=210 , 202=230 , 217=250 , 221 =255

Nego na ovoj shemi koju sam gore stavio imaju dva potenciometra jedan je referentni a ova drugi ako se ne varam , s njim bi bas trebao moci da stelam tu toleranciju , odnosno napon sto ide prema GND.

http://www.stavi-sliku.info/image/Ye8
User avatar
bob4
Stariji član
Stariji član
Posts: 2572
Joined: 31-01-2010, 16:12
Location: Kutina

Re: Problem sa vrednostima u bascomu

Post by bob4 »

Taj R7 nešto softverski radi ; daje napon na četvrti analogni ulaz.
Zašto se koriste druga dva kanala; ako se jedan ulaz spaja na izlaz bafera ?
mojalovaa
Napredujem
Napredujem
Posts: 135
Joined: 29-03-2013, 19:28

Re: Problem sa vrednostima u bascomu

Post by mojalovaa »

Volio bi da mi netko objasni taj rad ad konvertera i sljedece , recimo ako ja prema ovoj mojoj gore navedenoj shemi stavim da mi je VREF = 2.55 V koliko mi treba onda biti ovaj drugi referentni napon sto ide na A0 , a da mi recimo svakih 5 mV bude jedan bajt na ad konverteru , po mom misljenju bi trebalo biti 256 * 5mV , ili 1.28V.
Onda bi trebao da na ovom analognom djelu nastelam da kada mi je 255 stepeni da na izlazu OP bude 2.55V , sada ako sam dobro razumio mislim da bi tako trebalo da to radi , a ako nisam volio bi da mi netko objasni kako to radi tako da znam i ja a i drugi koji ne znaju a zeljeli bi da znaju.
mojalovaa
Napredujem
Napredujem
Posts: 135
Joined: 29-03-2013, 19:28

Re: Problem sa vrednostima u bascomu

Post by mojalovaa »

Druga dva su izvan rada , ostavljena su tako da imaju za neke buduce ideje , odnosno za 3 sonde ili diferencijalni termostat.
Koristi se samo AIN2
User avatar
bob4
Stariji član
Stariji član
Posts: 2572
Joined: 31-01-2010, 16:12
Location: Kutina

Re: Problem sa vrednostima u bascomu

Post by bob4 »

AIN0 je također ulaz i negdje u softveru se koristi taj podatak (za tko zna što).
Edit: Evo na stranici 6 upute, jedna od opcija; najvjerojatnije je uključena...

Kukinjus i ja smo malo stariji, pa nastavljamo sutra... :D
mojalovaa
Napredujem
Napredujem
Posts: 135
Joined: 29-03-2013, 19:28

Re: Problem sa vrednostima u bascomu

Post by mojalovaa »

Svakako vam se zahvaljujem i za ovoliko , vazi , nema nikakvih problema.
mojalovaa
Napredujem
Napredujem
Posts: 135
Joined: 29-03-2013, 19:28

Re: Problem sa vrednostima u bascomu

Post by mojalovaa »

Imali novih ideja kako da rjesim ovaj moj problem , jos jedna stvar sa onom diodom 1N4148 u shemi OP , ona mi je ugradjena zajedno sa svom elektronikom u jednu kutiju u kojoj su i triaci koji se malo giju u radu , dali to moze da znatnije utjece na vrednost koju mjeri A/D konverter.


http://www.stavi-sliku.info/image/Yeg
User avatar
Kukinjos
Pravi forumaš
Pravi forumaš
Posts: 1724
Joined: 28-03-2012, 18:01
Location: Split

Re: Problem sa vrednostima u bascomu

Post by Kukinjos »

Bob4 i ja smo malo razgovarali o tvom problemu, naravno, nakon ipak prospavane noći :), pa se pojavilo par novih razmišljanja. Kao prvo moje pitanje je zašto ti treba tolika preciznost na sobnoj temperaturi, kod pećnice za SMD to baš nema nekog smisla, jer tek iznad 100 C treba bit relativno precizna kada dolazi do aktivacije flux-a. Mala digresija, popravljao sam zubarsku peć za izradu mostova, gdje je umjeravaju sa srebrnom žicom, koja se mora iskrivit na točno postignutoj temperaturi, ima 16bitni A/D konverter, a temperaturu na sobnih 24C pokazuje oko 32C, iako ima i kompenzaciju hladnog kraja s LM35. Ti koristiš 8bitni A/D konverter, dalje ulazno operacijsko pojačalo LM358 ima tipično 2mV offset, a K-type termo član ti daje 0,4mV napona za promjenu od 10C! Dakle svaka preciznost na malim razlikama temperature pada u vodu, tj. u šum i drift operacijskog pojačala. Za zubariju su koristili LT1250 kao ulazni OP, samo neke karakteristike: Low Noise 0,75uVpp (manji šum nego OP07), offset max. 10uV, max. drift 50nV/C.

Opet filozofiram :lol: . E sad da bi bar pokušao svoje želje dovest u neke granice možeš napravit slijedeće, na analognom dijelu, umjesto otpornika R6 od 1,2K stavit višeokretni trimer od 2K, kojim ćeš mijenjat nulu ili temperaturu hladnog kraja. Podešavanje ide ovim postupkom, prvo namjestiš pojačanje s R2 (10K) na malo manje od maksimuma, zatim skineš termočlan i kratko spojiš ulaz, tada s ovim novim trimerom podesiš pokazivanje temperature na sobnu temperaturu, zatim priključiš termočlan koji je zagrijan recimo na 220C i s R2 podešavaš ovu temperaturu. A onda opet u krug, kratko spojiš ulaz i s trimerom od 2K fino podesiš sobnu temp. i opet vratiš termočlan, pa s R2 opet popraviš pokazivanje na 220C, i tako u krug, dok ne budeš zadovoljan rezultatom. Izgleda gnjavaža, ali kad uhvatiš ruku, ide to brzo.

Na kraju ove litanije ti moram reći, kako će to sve skupa najvjerojatnije "plesat" zbog komponenti koje koristiš. Ali ćeš bar naučit i vidjet probleme koji se kod mjerenja javljaju i nosit se s tim, jer ipak je to samo lemljenje, stupanj gori - doli, baš i ne znači puno.

Pitao si za diodu, ona treba bit postavljena kraj samih priključaka za termočlan, jer je to "hladni kraj". Naravno da nije uopće dobro to što se pojačalo nalazi zajedno s trijacima, to svakako treba izbjeći i pomaknut ga što je moguće dalje od energetskog dijela i dijelova koji se griju.
Cezare, star sam i nemoćan, ali poslušaj moj savjet ....
mojalovaa
Napredujem
Napredujem
Posts: 135
Joined: 29-03-2013, 19:28

Re: Problem sa vrednostima u bascomu

Post by mojalovaa »

Odmaknuto mi je to sve nekih 13 cm od trijaka , a dioda je 2 cm od hladnog kraja , ma vjerovatno cu napraviti po vasem predlogu , postici max temperaturu i postelati da to prikazuje dobro i zdravo a sada na sobnoj ako laze i tako nema veze jer tu nema nikakve svrhe , nista se na toj temperaturi ne desava , sada bi samo volio da mi potvrdite dali sam dobro shvatio ovo stelanje trimera na A/D konverteru , gore sam napisao pa ako vam nije problem da se vratite jedno 5 postova nazad da vidim dali sam to dobro shvatio , tako da to postelam i da radim nesto pametno.

Mene je bilo zanimalo u programskom djelu dali mi onaj sistem koji sam ja bio zamislio moze da korigira stvarno stanje sa prikazanim stanjem na displeju,

If mem >150 Then
mem1 = mem * 108
mem1 = mem1 / 100

Tako da mi sada procesor vidi za 8% vece stanje od onog koje ocitava konverter
.
Post Reply