www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

ADC driver MCP3002
Pojdi na stran Prejšnja  1, 2
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Elektronika za začetnike
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
tonko
Član
Član



Pridružen-a: Sob 25 Jun 2005 13:45
Prispevkov: 541
Aktiv.: 2.28
Kraj: Črnomelj

PrispevekObjavljeno: Pet Okt 11, 2013 7:22 am    Naslov sporočila:   Odgovori s citatom

Glede na to da imaš na vhod priključen potenciometer, ki nima hitrih sprememb analogne vrednosti je najenostavneje če povprečiš meritve npr. 10 , 50 ali 100 AD pretvorb.
Probaj, mora biti precej boljše.

Z zunanjim ADC-jem bodo verjetno podobni rezultati, ker je v MCP3002 uporabljen SAR ADC 200ksps, podoben kot v PIC-u.
Če želiš stabilne meritve mora biti ADC počasen, npr. Dual slope ali Delta sigma.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mucek
Član
Član



Pridružen-a: Tor 01 Avg 2006 10:47
Prispevkov: 5538
Aktiv.: 24.02
Kraj: Domzale

PrispevekObjavljeno: Pet Okt 11, 2013 8:49 am    Naslov sporočila:   Odgovori s citatom

NUJNO!
Poleg C1 (pri U1) dodaj obvezno še en večji keramični/tantal/elko (po možnosti kak low esr) kondenzator. Ko se ti LEDice prižigajo, nimajo s kje jemati "zaloge" in ti delajo svinjarijo ...

LP, g

p.s. Če kaj proti LJ hodiš, prileti mimo Trzina, pa prinesi s sabo in bomo že nalotali kondenzatorje, da bo delalo Smile

_________________
...lahko pa se tudi motim ...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
petkomatej
Član
Član



Pridružen-a: Sob 07 Sep 2013 23:05
Prispevkov: 30
Aktiv.: 0.21
Kraj: Litija

PrispevekObjavljeno: Pet Okt 11, 2013 9:32 am    Naslov sporočila:   Odgovori s citatom

hvala tonko, ravno s povprecjem se trenutno igram. sporočim rezultate Smile

mucek je napisal/a:
Poleg C1 (pri U1) dodaj obvezno še en večji keramični/tantal/elko (po možnosti kak low esr)

mi lahko daš konkreten kondenzator. torej ga dam vzporedno k C1?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mucek
Član
Član



Pridružen-a: Tor 01 Avg 2006 10:47
Prispevkov: 5538
Aktiv.: 24.02
Kraj: Domzale

PrispevekObjavljeno: Pet Okt 11, 2013 9:53 am    Naslov sporočila:   Odgovori s citatom

Daj kakih 220 uF ali 470.
_________________
...lahko pa se tudi motim ...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
petkomatej
Član
Član



Pridružen-a: Sob 07 Sep 2013 23:05
Prispevkov: 30
Aktiv.: 0.21
Kraj: Litija

PrispevekObjavljeno: Pet Okt 11, 2013 10:08 am    Naslov sporočila:   Odgovori s citatom

nazadnje si predlagal 22uF. na farnellu najde samo en kondenzator 220uF (večje vrednosti pa sploh ni)??

http://si.farnell.com/ceramic-multilayer-mlcc-capacitors-smd
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
petkomatej
Član
Član



Pridružen-a: Sob 07 Sep 2013 23:05
Prispevkov: 30
Aktiv.: 0.21
Kraj: Litija

PrispevekObjavljeno: Pet Okt 11, 2013 11:42 am    Naslov sporočila:   Odgovori s citatom

Mi lahko kdo pomaga kako napisat funkcijo ki mi najprej 10x prebere ADC vrednosti in nato izračuna povprečje.

uporabljam compiler od mikroelektronike (mikroc)

v main funkciji berem vrednosti

Koda:
adc_vrednost = ~(Adc_Read(1) >> 2) + 256;


v prekinitveni rutini ki se izvede vsake 2ms pa bi rad izračunal povprečje in vrnil to vrednost.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
.
Neznanec
Neznanec



Pridružen-a: Pet 01 Okt 2004 1:17
Prispevkov: 1
Aktiv.: 0.00

PrispevekObjavljeno: Pet Okt 11, 2013 12:08 pm    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
petkomatej
Član
Član



Pridružen-a: Sob 07 Sep 2013 23:05
Prispevkov: 30
Aktiv.: 0.21
Kraj: Litija

PrispevekObjavljeno: Pet Okt 11, 2013 12:20 pm    Naslov sporočila:   Odgovori s citatom

hvala, bom vse poizkusil v ponedeljek ko dobim komponente. še vedno ne vem če je mucek mislil 22uF ali 220uF? ta čas bom pa poizkusil zadevo rešit v firmware.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mucek
Član
Član



Pridružen-a: Tor 01 Avg 2006 10:47
Prispevkov: 5538
Aktiv.: 24.02
Kraj: Domzale

PrispevekObjavljeno: Pet Okt 11, 2013 1:03 pm    Naslov sporočila:   Odgovori s citatom

220uF elko
22 uF keramika
100 nF keramika

Izogibaj se "inženirskih" problemov (slabo blokiranje motenj, neustrezna izvedba napajanja ...) reševati programsko (čeprav se pogosto da), ker na dolgi rok to ne pripelje do ustreznih rezultatov!

LP, g

_________________
...lahko pa se tudi motim ...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
petkomatej
Član
Član



Pridružen-a: Sob 07 Sep 2013 23:05
Prispevkov: 30
Aktiv.: 0.21
Kraj: Litija

PrispevekObjavljeno: Pet Okt 11, 2013 1:29 pm    Naslov sporočila:   Odgovori s citatom

Hvala!

sporočim rezultate v ponedeljek. se vedno pa se mucim s softwareom in povprečjem vseh prebranih vrednosti
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
tonko
Član
Član



Pridružen-a: Sob 25 Jun 2005 13:45
Prispevkov: 541
Aktiv.: 2.28
Kraj: Črnomelj

PrispevekObjavljeno: Pet Okt 11, 2013 1:42 pm    Naslov sporočila:   Odgovori s citatom

Ne poznam Mikroc-ja, v 'C'-ju bi moralo delovati tole:

Koda:

 {
   unsigned char i;
   unsigned int tmp = 0;
   for(i = 0; i < 10; i++)             //NAREDI 10 MERITEV NA ADC VHODU
      {     
        tmp += Adc_Read(1);      //SESTEVAJ VREDNOSTI POSAMEZNIH AD PRETVORB
      }
    adc_vrednost = tmp / 10;   //SESTEVEK DESETIH MERITEV DELI Z 10
 }
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
petkomatej
Član
Član



Pridružen-a: Sob 07 Sep 2013 23:05
Prispevkov: 30
Aktiv.: 0.21
Kraj: Litija

PrispevekObjavljeno: Pet Okt 11, 2013 1:46 pm    Naslov sporočila:   Odgovori s citatom

Točno tako imam, pa nekaj ne štima. Mogoče ga matra pretvorba iz double v int, tam kjer delim vrednost z 10?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
tonko
Član
Član



Pridružen-a: Sob 25 Jun 2005 13:45
Prispevkov: 541
Aktiv.: 2.28
Kraj: Črnomelj

PrispevekObjavljeno: Pet Okt 11, 2013 2:08 pm    Naslov sporočila:   Odgovori s citatom

Kakšen double ?
double = double precision floating-point type - tega nimaš kaj rabit v tvojem primeru

Tukaj rabiš samo unsigned int in nič drugega.

unsigned int adc_vrednost;
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
petkomatej
Član
Član



Pridružen-a: Sob 07 Sep 2013 23:05
Prispevkov: 30
Aktiv.: 0.21
Kraj: Litija

PrispevekObjavljeno: Pet Okt 11, 2013 2:08 pm    Naslov sporočila:   Odgovori s citatom

eh smotan sem... ob vsakem izračunanem povprečju sem pozabil resetirati vrednost na 0, zato se mi je skos povečevala oziroma seštevala Smile
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
petkomatej
Član
Član



Pridružen-a: Sob 07 Sep 2013 23:05
Prispevkov: 30
Aktiv.: 0.21
Kraj: Litija

PrispevekObjavljeno: Pet Okt 11, 2013 2:32 pm    Naslov sporočila:   Odgovori s citatom

hmmm tale rešitev v firmware je pomagala. uporabim kar povprečje prvih 50 pretvorb. vsekakor pa bom poiskal rešitev drugje kot ste predlagali. se slišimo v ponedeljek

hvala vsem pa lep vikend Cool
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Elektronika za začetnike Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2
Stran 2 od 2

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 10 dni


Powered by phpBB © 2001, 2005 phpBB Group