Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pomoc oko projekta

[es] :: Elektronika :: Mikrokontroleri :: Pomoc oko projekta

[ Pregleda: 5028 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Azzrael
Dejan Citakovic
Beograd

Član broj: 52100
Poruke: 244
*.bvcom.net.

ICQ: 248047022
Sajt: www.arpel.rs


+9 Profil

icon Pomoc oko projekta21.02.2006. u 20:32 - pre 206 meseci
Pozdrav svima.
Imam jedan problem pa bih vam ga voleo izneti, mozda se neko i zainteresuje.
Napravio sam projekat jednog uredjaja i prakticno ga realizovao. Stvar je stala kod programiranja.
U pitanju je Data Logger. Sastoji se iz dva dela. Jedan deo na sebi ima PIC, Flash, Real Time Clock i digitalne senzore vlaznosti temperature i pritiska, kao i WRX i WTX. Druga jedinica je LED Display od 45x7 LED-ova takodje sa WRX-om. Prvi deo bi trebalo da servisira senzore i RTC svaki minut, obradi i spakuje vrednosti u par bajtova i posalje u etar. Takodje bi svaki 60. odbirak (na svaki sat) pakovao u Flash. Display bi to trebalo da prima i ispisuje u vidu poruke: Datum, Pritsak, Vlaznost, Temperatura. Display sam isprogramirao (Asembler) i on fercera, ali sam se zakopao kod senzora. Oni imaju malo kompleksniju jednacinu sa korekciju greske tako da bi se to moralo raditi u C-u jer bi isto u asembleru bilo ravno samoubistvu. Za taj deo mi je potrebna saradnja sa nekim od vas, pa ko voli nek izvoli, napravili bismo valjda neku kombinaciju. Sam tesko da cu izaci iz ovoga :-(

Unapred zahvalan.
Pozz
Dejan Citakovic
Arpel Automation
www.arpel.rs
 
Odgovor na temu

lord Vader

Član broj: 57936
Poruke: 757
217.65.192.*



+9 Profil

icon Re: Pomoc oko projekta23.02.2006. u 21:57 - pre 206 meseci
Koji su senzori u pitanju. Daj da vidim.
2 sxy 4 ma shirt
 
Odgovor na temu

Azzrael
Dejan Citakovic
Beograd

Član broj: 52100
Poruke: 244
*.bvcom.net.

ICQ: 248047022
Sajt: www.arpel.rs


+9 Profil

icon Re: Pomoc oko projekta23.02.2006. u 22:27 - pre 206 meseci
SHT11 je dig sensor vlaznosti i temp, a MS5534 je za pritisak i temp
Pozz
Dejan Citakovic
Arpel Automation
www.arpel.rs
 
Odgovor na temu

lord Vader

Član broj: 57936
Poruke: 757
217.65.192.*



+9 Profil

icon Re: Pomoc oko projekta19.03.2006. u 00:49 - pre 205 meseci
Ja se izvinjavam što se nisam ranije javio ali izletela mi je tema iz liste pa sam zaboravio na tebe.
Ja sam uspeo da pročitam taj senzor SHT11 ali problem je ono prebacivanje u celziuse i procenat vlažnosti. To je malo komplikovanije i tražio sam kako da to uradim. Imaju neke rutine za množenje softverski na microchipiovom sajtu ali je se ne razumem u matematiku. Znači ako ima onih koji mogu objasniti kao pomnožiti recimo 2,3 sa 1,5*10 na -3 neka se javi.

Pomozite.
2 sxy 4 ma shirt
 
Odgovor na temu

_str_

Član broj: 53798
Poruke: 878
*.254.eunet.yu.



+10 Profil

icon Re: Pomoc oko projekta19.03.2006. u 08:31 - pre 205 meseci
Citat:
lord Vader: Ja se izvinjavam što se nisam ranije javio ali izletela mi je tema iz liste pa sam zaboravio na tebe.
Ja sam uspeo da pročitam taj senzor SHT11 ali problem je ono prebacivanje u celziuse i procenat vlažnosti. To je malo komplikovanije i tražio sam kako da to uradim. Imaju neke rutine za množenje softverski na microchipiovom sajtu ali je se ne razumem u matematiku. Znači ako ima onih koji mogu objasniti kao pomnožiti recimo 2,3 sa 1,5*10 na -3 neka se javi.

Pomozite.


Kao prvo moraš prebaciti brojeve u cele. Posle množenja napišeš rutinu koja će služit npr za ispis na displej, jedan byte za ceo broj i jedan za <1. Množenje sa 2 se radi tako što šiftuješ byte (word) u levu stranu za po jedno mesto, stim da u bit najniže vrednosti uvek dolazi 0 (svaki broj pomnožen sa 2 je paran). Isto tako (X=Y), X*3=(X lsl)+Y ; (lsl= Logical Shift Left (AVR)). Mada postoji i elegantnija komanda, mul (Multiply)
__*__
*___*
 
Odgovor na temu

lord Vader

Član broj: 57936
Poruke: 757
217.65.192.*



+9 Profil

icon Re: Pomoc oko projekta21.03.2006. u 02:26 - pre 205 meseci
_str_

ajde daj neki primer. Na taj način ako treba da pomnožim recimo 0.0450 i 2,2 *10 na -6 trebaju mi operandi od 5 bajtova, znači rezultat dobijam u 10 bajtova!!!? Da li sam u pravu. Tu je problem i skaliranja tako da množim sa dva jer je samo to jednostavno, ne znam kako bi množio sa brojem koji nema osnovu 2. Takvo množenje se ne svodi na šiftovanje.

Možeš li malo konkretnije?
2 sxy 4 ma shirt
 
Odgovor na temu

_str_

Član broj: 53798
Poruke: 878
*.200.EUnet.yu.



+10 Profil

icon Re: Pomoc oko projekta21.03.2006. u 22:32 - pre 205 meseci
Citat:
lord Vader: _str_

ajde daj neki primer. Na taj način ako treba da pomnožim recimo 0.0450 i 2,2 *10 na -6 trebaju mi operandi od 5 bajtova, znači rezultat dobijam u 10 bajtova!!!? Da li sam u pravu. Tu je problem i skaliranja tako da množim sa dva jer je samo to jednostavno, ne znam kako bi množio sa brojem koji nema osnovu 2. Takvo množenje se ne svodi na šiftovanje.

Možeš li malo konkretnije?


Ovde pričam o realnim stvarima a ne o fantaziranju tipa "2.2 *10^-6". Kakav je to projekat koji zahteva ovoliku tačnost ili možda praviš kalkukator? U čemu je problem uzeti byte ili word za celobrojnu vrednost a ono iza zareza, zavisno od potrebe, isto tako byte ili word. U ovim slučajevima ćeš imati max vrednosti 255.99, 255.9999, 65535.99 i 65535.9999. Osnovne operacije sa binarnim brojevima (+-*/) bi trbalo da si učio u osnovnoj školi, predmet -matematika. Šiftovanjem broja u levo vrši se množenje u koracima 2,4,8,16,32,64,128 (1 byte).
Evo ti primera:
25*11=275
(byte1) (byte0)
00011001*00001011=00000001,00010011

manipulaciju radiš sa većim brojem, u ovom slučaju 25
Code:
x=25, y=25
        
        lsl x     ; x*2    (x=00000000,00110010)(50)
        lsl x     ; x*4    (x=00000000,01100100)(100)
        lsl x     ; x*8    (x=00000000,11001000)(200)
        add x,y   ; x+25   (x=00000000,11100001)(225)
        add x,y   ; x+25   (x=00000000,11111010)(250)
        add x,y   ; x+25   (x=00000001,00010011)(275)


Tvoje pitanje je bilo 0.0450 * 2.2*10^-6 ili 0.0450*0.000022. Da bi pomnožio ova dva broja logično bi bilo da oba broja iza zareza imaju 3 bajta. Tako bi imao x.9999999 ili 0.0450000 i 0.0000220. Dali ti predstavlja problem da sada pomnožiš 450000 i 220. Kod šiftovanja (množenja) sa više bajtova podrazumeva se da vodiš računa o carry flag-u u statusnom registru.
Ako ti opet nije jasno, razmisli o prelasku na C ili BASIC.

PS
Nemoj da mešaš . i , .
__*__
*___*
 
Odgovor na temu

Azzrael
Dejan Citakovic
Beograd

Član broj: 52100
Poruke: 244
*.BVCOM.NET.

ICQ: 248047022
Sajt: www.arpel.rs


+9 Profil

icon Re: Pomoc oko projekta22.03.2006. u 08:13 - pre 205 meseci
@str
Nije u pitanju raketna tehnika niti kalkulatori! Procitaj pdf-ove senzora koje koristim u loggeru i sve ce ti biti jasno. Ja sam pitao da li ko ima vremena da mi pomogne u tome (za cash naravno) upravo zbog toga sto je to blago receno neizvodljivo u asembleru a za c i basic trenutno nemam vremena...
Pozz
Dejan Citakovic
Arpel Automation
www.arpel.rs
 
Odgovor na temu

_str_

Član broj: 53798
Poruke: 878
*.114.eunet.yu.



+10 Profil

icon Re: Pomoc oko projekta22.03.2006. u 11:07 - pre 205 meseci
Ako je to neizvodljivo u asembleru onda 100% nije ni u C i BASIC-u! (po tvome)

Druga stvar je što koristiš PIC pa ti ne mogu pomoći nekim primerom u asm.

[Ovu poruku je menjao _str_ dana 22.03.2006. u 12:15 GMT+1]
__*__
*___*
 
Odgovor na temu

lord Vader

Član broj: 57936
Poruke: 757
217.65.192.*



+9 Profil

icon Re: Pomoc oko projekta25.03.2006. u 14:08 - pre 205 meseci
@_str_

Komplikovane su formule u tom senzoru bez ikakve potrebe. Mogli su lepo ko dalas da naprave jednostavno očitavanje,a kome treba velika preciznost, postoji način da se ona izračuna. Ovako formule za SHT11 senzor su

Za vlažnost u procenbtima = -4+0.0405*X-2.8*10(-6)*X(2) ; na -6 i na kvadrat
Za temperaturu u celziusima = -40+0.01*X

X je dvobajtna vrednost koju senzor očita. Dvobajtna neoznačena!!!!!

Shvatio sam šta si ti rekao i slažem se sa time. Postoje na majkročipovom sajtu aplikejšn nots o množenbu i deljenu dva broja, ali se projevi prikazuju kao mantisa i stepen.

Jesi li nekada radio sa time?

@Azzrael

Ja upravo radim sa ovim senzorom i moram da napravim ove formule. Na kom PIC-u radiš. Ja na 18F4520, ali uradiću sve softverski da bi moglo da radi i na drugim.

Šta tebi treba kao izlazni podatak? Ja prebacujem u ASCII ali verovatno ću imati međukorak gde u jednom bajtu čuvam deo ispred zareza, a u drugom iza zareza.
2 sxy 4 ma shirt
 
Odgovor na temu

Azzrael
Dejan Citakovic
Beograd

Član broj: 52100
Poruke: 244
*.bvcom.net.

ICQ: 248047022
Sajt: www.arpel.rs


+9 Profil

icon Re: Pomoc oko projekta27.03.2006. u 00:34 - pre 205 meseci
I ja sam tako zamislio. Konkretno, ovaj projekat sam zapoceo sa 16f628. Sada sam odlucio da ga zamenim sa 18f252 jer su pin2pin. Pic na svaki minut servisira senzore i obradjuje podatak konvertujuci ga u neku razumnu vrednost. Kao takvu salje ga u etar a svaki 60. podatak (na svaki sat) smesta u flash da bi se kasnije ovaj mogao baciti u excel i dobiti grafik klimatskih promena u proteklih par meseci. Ako imas kakvu ideju kontaktiraj me pa da resimo to nekako, dve su glave pametnije n'o jedna.
Pozz
Dejan Citakovic
Arpel Automation
www.arpel.rs
 
Odgovor na temu

lord Vader

Član broj: 57936
Poruke: 757
217.65.192.*



+9 Profil

icon Re: Pomoc oko projekta27.03.2006. u 08:40 - pre 205 meseci
Citat:
Azzrael: I ja sam tako zamislio. Konkretno, ovaj projekat sam zapoceo sa 16f628. Sada sam odlucio da ga zamenim sa 18f252 jer su pin2pin. Pic na svaki minut servisira senzore i obradjuje podatak konvertujuci ga u neku razumnu vrednost. Kao takvu salje ga u etar a svaki 60. podatak (na svaki sat) smesta u flash da bi se kasnije ovaj mogao baciti u excel i dobiti grafik klimatskih promena u proteklih par meseci. Ako imas kakvu ideju kontaktiraj me pa da resimo to nekako, dve su glave pametnije n'o jedna.
Pozz


PIC16F628 nije pin2pin kompatibilan sa PIC18F252. 452 ima 28 pina, a 628-ca ima 18 pinova. PIC18F252 je slabija verzija ovog sa kojim ja radim. Uradio sam množenje recimo 1A56x028F5C i dobijem 436B80E8 i sada to treba da podelim sa 1000000, što u suštini znači 16 mesta u desno pomeranje. Znači rezultat je 43 što je u dekadnom sistemu 67. Ovo je dobro sve, ali kako da dobijem deo iza zareza.
Znači kako da od 6B80E8 dobijem broj iza zareza. Kada koristim windowsov kalkulator moram oba broja da prebacim u dekadni sistem pa onda daih podelim da bi video ostatak. Kako se to razdvajanje radi na mikrokontroleru.
Razdvajam ceo broj na 5 cifara, tri su ispred zareza, a dve su iza.

Ja ne znam ovo da odradim.
Ima li neko ideju kako se ovo radi.

P.S. Azzrael ja radim merenje na svakih 5 sekundi. Zar ti niej to malo neprecizno, mislim retko, na ceo minut. Za šta treba taj uređaj da služi, mislim gde pratiš promene tih parametara? Šta koristiš kao primopredajnike?
2 sxy 4 ma shirt
 
Odgovor na temu

Azzrael
Dejan Citakovic
Beograd

Član broj: 52100
Poruke: 244
*.BVCOM.NET.

ICQ: 248047022
Sajt: www.arpel.rs


+9 Profil

icon Re: Pomoc oko projekta27.03.2006. u 14:46 - pre 205 meseci
Izvinjavam se, greska u kucanju. Projektovao sam za PIC16F876, a on je pdip28. Jedan minut je vise nego dovoljno jer je to klimatska stanica, podatak koji se na svaki minut salje u etar prihvata led display koji ispisuje poruke sa tacnim vremenom, temperaturom, pritiskom i vlaznosti vazduha. Klimatska slika je sporo promenljiva vrednost, tako da je osvezavanje svakog minuta cak i previse, ali kad je bal nek' je maskenbal. Wrx i Wtx se vrsi pomocu RWS434 i TWS434. Imas na netu pa izgooglaj.
Pozz
Dejan Citakovic
Arpel Automation
www.arpel.rs
 
Odgovor na temu

veselinovic
Jovan Veselinovic
Ist. Sarajevo

Moderator
Član broj: 7761
Poruke: 3739
ppp-68-16.teol.net.



+308 Profil

icon Re: Pomoc oko projekta18.04.2006. u 16:12 - pre 204 meseci
Citat:
lord Vader: PIC16F628 nije pin2pin kompatibilan sa PIC18F252. 452 ima 28 pina, a 628-ca ima 18 pinova. PIC18F252 je slabija verzija ovog sa kojim ja radim. Uradio sam množenje recimo 1A56x028F5C i dobijem 436B80E8 i sada to treba da podelim sa 1000000, što u suštini znači 16 mesta u desno pomeranje. Znači rezultat je 43 što je u dekadnom sistemu 67. Ovo je dobro sve, ali kako da dobijem deo iza zareza.
Znači kako da od 6B80E8 dobijem broj iza zareza. Kada koristim windowsov kalkulator moram oba broja da prebacim u dekadni sistem pa onda daih podelim da bi video ostatak. Kako se to razdvajanje radi na mikrokontroleru.
Razdvajam ceo broj na 5 cifara, tri su ispred zareza, a dve su iza.

Ja ne znam ovo da odradim.
Ima li neko ideju kako se ovo radi.

P.S. Azzrael ja radim merenje na svakih 5 sekundi. Zar ti niej to malo neprecizno, mislim retko, na ceo minut. Za šta treba taj uređaj da služi, mislim gde pratiš promene tih parametara? Šta koristiš kao primopredajnike?



Pobogu Lorde sto tri puta?
 
Odgovor na temu

Mozak

Član broj: 14690
Poruke: 11
77.46.204.*



Profil

icon Re: Pomoc oko projekta23.09.2007. u 17:58 - pre 187 meseci
f=-4+0.0405*X-2.8*10^(-6)*X^(2) (ovo je u brojnom sistemu sa osnovom deset)
f=-4+0.0A5E353F7D...*X-0.00002EF9E88ECA32BE99...*X*X (ovo je u brojnom sistemu sa osnovom sesnaest,preglednije od binarnog)
da vidimo:ako je X dvobajtni neoznaceni ceo broj =>
f~=-4+A5E353F8*10^(-9)*X-2EF9E88F*10^(-C)*X*X (ovo je jos uvek u hexadekadnom sistemu :) narocito 10^ )

= -4 ovaj broj zauzima 4bita levo od zareza i 0bita desno od zareza
+ (A5E353F8)*(X)*(10^-9) ovaj broj zauzima 12bita levo od zareza i 36bita desno od zareza
- (2EF9E88F)*X*X*(10^-C) ovaj broj zauzima 16bita levo od zareza i 48bita desno od zareza
-----------------------------
prilikom sabiranja ne moras bajtove (naj)nizih vrednosti,tj. mozes ih zanemariti;
ali posto imas dovoljno vremena (3sec),mozes :)
otprilike ovo je sustina,ostalo su nijanse...
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 616
*.dynamic.sbb.co.yu.



+7 Profil

icon Re: Pomoc oko projekta27.09.2007. u 11:10 - pre 187 meseci
Aman, ljudi, procedure za aritmetiku u pokretnom zarezu nisu komplikovane, napises ih jednom i vise nemas problema. Zasto ih izbegavate, one nisu bauk.
Ako mislite da je to pravo resenje (a ja mislim da jeste) rado cu pomoci, jer ih nisam pisao za PIC, vec za druge mikrokontrolere (MC908 i AVR), ali je algoritam isti.

Pozdrav.
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: Pomoc oko projekta

[ Pregleda: 5028 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.