» Poradna » Hardware

Vzorkování signálu 12kHz mikroprocesorem PIC

 | 

Zdravím,

Potřebuji měřit měnící se amplitudu signálu 12kHz. Signál přivádím na AD převodník mikrokontroleru PIC18F452.
Pokud nastavím maximální dobu vzorkování, pořád nebudu měřit amplitudu, ale náhodný vzorek signálu, je to tak?

Měl bych tedy asi paralelně k AD převodníku připojit kondenzátor, který se bude nabíjet na maximální napětí signálu.
Jaký kondenzátor mám ale zvolit?
Napětí bude MAX 5V.

Děkuji za rady

Mohlo by vás také zajímat

Odpovědi na otázku

 |   | 

todle bych asi měl vědět.. ta škola fakt nic nenaučí

jinak myslím, že každý vzorek bude odpovídat hodnotě v ten daný okamžik...

jinak něco o vzorkovacích obvodech je tu:

http://www.horevaj.com/horevaj/K2_files/K2_47.pdf...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Neznamena maximalna doba vzorkovania, ze tych zoriek za urcity cas bude menej?
Jaky pouzivas vzorkovaciu frekf.?
Digitalne meraky pouzivaju napr. 20 merani za sekundu.
V tvojom pripade by si potreboval pouzit vz.frekf.min. 24000Hz, co su dva vzorky na periodu.
To sa moze byt pre niektore aplikacie malo, zvlast ked mas bipolarny signal.
Skus pouzit 10 vzoriek na periodu.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | 

ty seš komik, 10Sa na periodu? to by znamenalo 120kHz vzorkování, na PIC mikrokontroleru ani náhodou

co potřebuje je nejdřív jednocestně usměrnit ten signál, předpokládám, že je bez stejnosměrné složky, a pak teprv filtrovat tím kondíkem. teprv pak půjde do AD převodníku. problém bude ale díky tý diodě a té filtraci s linearitou převodu, takže bude stejně potřebovat nějakou kalibraci, a asi přes nějakou tabulku, pak převézt na skutečné hodnoty amplitudy signálu.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

No tak West má pravdu, dle Shannon-Kotelnikova teorému (který se praxi normálně používá), je vzorkovací frekvence min. 2x vyšší, než max. frekv. signálu, kterou chceme vzorkovat. Ale minimálně, nakreslením si sinusovky a vynesením bodů do ní je to jasné...přinejlepším při max. frekv. to bude rovnoramenný trojúhelník.

A on chce měřit 12kHz, což je minimálně 24kHz vzorkovací kmitočet. A třeba u PIC18F248 je dle datasheetu "For correct A/D conversions, the A/D conversion clock
(TAD) must be selected to ensure a minimum TAD time
of 1.6 µs.", čili 625kHz. A pak nevíme, jestli potřebuje měřit stejnosměrný signál nebo střídavý signál a znát i jeho polaritu. Pak je mu usměrněni na nic.

A další věc, tím kondíkem (a odporem, RC článek, samotný kondík ničevo) se běžně filtrují pomalé děje, kromě stínění atd. je to jeden ze způsobů eliminace rušení. Ale 12kHz není zrovna pomalý děj. Ono by by chtělo znát, co vůbec měří, co si může dovolit filtrovat (co analogově tím RC článkem, co může jinak digitálně)...
a pak dle požadované přesnosti započítat nelinearitu diod (+operačních zesilovačů, když už, on diodový můstek není pro měřící účely zrovna good, že).

No to je fuck, prostě min. vzorkovací kmitočet je 2xFmax, lze si jasně nakreslit onen hrozný průběh (pily až tebn rovnoramenný trojúhelík, záleží jak se ty vzorky trefí) atd. A to PICy zvládnou. A je pravda, že to měří okamžitou hodnotu signálu, ať je vzorkovací kmitočet jaký chce...už z principu, další věci už...jdu spát, už mám vokno

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Sorry, ten TAD jsou hodiny, takže při deseti bitech 16us (a dle datashetu je převodní čas max. 12us), takže nějakých 62,5kHz by to mělo zvládnout.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | 

SK teorém samozřejmě platí pro rekonstruování signálu Ovšem pokud se měří periodické signály o jednom kmitočtu, můžeš mít i mnohem nižší vzorkovací kmitočet a přesto zjistíš jak ten signál asi vypadá.
viz google např. "sampling periodic signals"

Pokud jsem to správně pochopil, chce zjišťovat jen amplitudu toho signálu, a zřejmě má jít jen o nějaké low-cost řešení, proto jsem ani neuvažoval o složitějším vstupu s OZ apod. nevíme ani jestli je to čistý harmonický signál, nebo obdélník, trojúhelník, tím by se řešení mohlo ještě zjednodušit.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | 

Můj JELLY mi rozumí!

Nejde mi o rekonstrukci signálu. Nepotřebuji ani znát přesné napětí.
Chci jenom zjišťovat amplitudu signálu (střídavý bez stejnosměrné složky), která se mění. Výsledek AD převodu bude reprezentován jenom jakýmsi bargrafem.
Takže jak říkáš, budu muset na přijímací straně zapojit usměrňovací diodu, kondenzátor, který se bude nabíjet na max. hodnotu a pak ještě nějaký IO nastavitelný zesilovač, u kterého nastavím zesílení tak, že při maximální úrovni signálu mi přijde na AD převodník 5V (na bargrafu 100%)
Je to tak?
A teď jaké konkrétní součástky tam mám zapojit? Nemám zkušenosti a nevím jak je spočítat.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

No to právě závisí na rychlosti dějě, který budeš měřit. Jedna věc je frekvence, druhá věc je, jak rychle (jak často) předpokládáš, že se bude ta amplituda měnit a jak si můžeš dovolit rychlé děje filtrovat. Kdyby byla možnost, že se bude měnit amplituda v každé peridodě, a ty budeš potřebovat zachytit i tuto změnu, tak bych to nefiltroval a vzorkoval min. 24kHz, ale tedy víc, protože 2xFmax bys neměl zaručené, že zachytíš max. amplitudu.

Pokud to bude pomalá děj a amplituda se bude měnit třeba co max. sekundu, tak to můžeš filtrovat (integrovat) integračním zesilovačem. Jen kondík je málo.
Zapojil bych za sebe:

1)Dioda (asi schottky, má mensí úbytek), jedna, pokud můžeš zanedbat druhou půlvnu. Jinak bych volil precizní usměrňovač s operákem (aby to mohlo mít spol. zem s měřeným zařízením, s můstkem by spol. zem nešla, ale možná by ti to nevadilo. Nevím co chceš měřit, možná by ti vyhovoval i ten můstek.).

2)Sledovač napětí (kvůli impedančnímu oddělení integračního zesilovače, aby nebyl ovlivněný výstupním odporem měřeného zařízení)

3)Integrační zesilovač

4)a třeba neinvertující zesilovač. Ale možná spíš dělič (odporový, trimr, nejlépe 10ti otáčkový, nebo jej pak nahradit přesnými odpory-zkalibrovat si to...), pokud tvé napětí leze až do 5V, tak PIC má vstupní napětí na ADC tuším max. 5V (podle nastavení myslím), takže to ještě zesilovat je hloupost. Asi spíš si nastavit v PICu menší rozsah a dát tam dělič.

Schemata a vzorce zde:
http://cs.wikipedia.org/wiki/Zapojen%C3%AD_s_oper... ...

Ten integrační zesilovač nemusíš počítat tím inegrálem, zhruba to stačí spočítat podle
http://cs.wikipedia.org/wiki/Doln%C3%AD_propus%C5%A5...
Zvol si frekvenci (třeba 1Hz nebo podle toho, jak je ten děj rychlý), zvol kondenzátor a dopočítej odpor, ten pak zvol nejbližší z řady (podle dostupných hodnot na www.gme.cz)

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | 

Podle úplně původní otázky bych to chápal tak, že máš signál o kmitočtu 12kHz (nosná) na který je amplitudově namodulován nějaký další signál a ty chceš pomocí mikrokontroléru měřit ten namodulovaný signál. Postup by mohl být následující:
1. demodulace signálu, tj. v tomto případě jednocestné usměrnění pomocí diody.
2. odfiltrovat kondenzátorem nosnou, hodnota kondenzátoru pro 12kHz se bude odvíjet buď podle impedance signálu nebo impedance AD vstupu mikrokontroléru (vstupní proud je +- 500 nA)
3. zapojit a nakonfigurovat mikrokontrolér - ADCON1, ADCON0 atd....

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

No ja myslim, ze by mohol prezradit o co sa snazi, lebo inak to vyzera ako domaca uloha...
A na tu dostal velmi dobru odpoved hned v prvom poste.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | 

Můžu prozradit
Dělám detektor kovu. Úroveň signálu se bude měnit podle toho, zda je v blízkosti cívky kov, nebo ne. Z toho vyplývá to, že nepotřebuji zaznamenat změnu amplitudy v jednotlivých periodách. Bohatě asi bude stačit změřit průměrnou amplitudu cca každých 0,25 sekund.

Pozitron:
Děkuju za radu. Takže zapojím za přijímací cívku můstek http://www.gme.cz/cz/index.php... následně 2x OZ http://www.gme.cz/cz/index.php... jednou v zapojení sledovače, pak integrační zesilovač podle vzorce 4=1/(2piRC) (C=68nF a R=560K) a mám vyhráno?

Ještě nevím jak velké napětí se bude indukovat na cívce v případě nálezu. Proto bych asi místo sledovače zapojil neinvertující zesilovač s nastavitelným zesílením. Potenciometrem se pak detektor zkalibruje.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

No snad...ale jak je řešená ta "příjmací cívka"? Je to potlačený rezonanční obvod (na tom principu pracují indukčnostní snímače kovu, které se používají v průmyslu), jsou to dva oscilátory (pevný a rozlaďovaný kovem) s fázovým závěsem...to bys vyhodnocoval záznějě (frekvenci)? Určitě 5V na té cívce bude? Nevím jestli bych za prostý LC rezonananční obvod zapojil přímo můstek, nebo jak to máš řešené. Tu část bych řešil z větší části analogově. Ale budiž, nějak to máš řešené, dejme tomu že ten výstupní signál je už za nějakým tranzistorem nebo operákem a chcdeš prostě jen měřit tu změnu amplitudy (asi to máš na principu toho potl. rez. obvodu). Pak bych to řešil, jak píšeš (nepočítal jsem to, ale snad jo).

Ale zase píšeš "Ještě nevím jak velké napětí se bude indukovat na cívce v případě nálezu", tak nevím. Máš tam jen cívku? Nebo jen LC nebo RLC obvod? On detektor kovu (příp. to indukčnostní čidlo, což je co do fce totéž) je trochu složitější. To opravdu jen s cívkou, kondíkem jakožto LC obvodem zapojeným na 5V, za to můstek atd. co jsem tu popsal, tak to opravdu nepůjde. A navíc, na cívce SE NEBUDE NIC INDUKOVAT V PŘÍPADĚ PŘÍTOMNOSTI KOVU! Jen se změní indukčost cívky, změní se rezonanční freknevce toho LC obvodu, změní se frekvence oscilací oscilátoru, jehož součástí je ten LC obvod, to se sečtě (přes PLL) s pevným oscilátorem, vzniknou zázněje a z toho se odvodí přítomnost kovu. Nebo se díky změně indukčnosti té cívky změní amplituda ocsilací (ten potl. rez. obvod, indukčonstní čidla), ale to je taky relativně složitý analogový obvod...Jen s LC obvodem a PICem to opravdu nepůjde...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Máš tam snad něco takového? To je opravdu jen princip snímačů, použitelný, ale se součástkama okolo, to jen s můstekm za tímto obvodem neklapne.
http://web.umel.feec.vutbr.cz/~adamek/uceb/DATA/s_5_4.htm...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | 

Jedná se o "detektor s vyváženou indukcí" http://www.zetex.cz/index.php... takže bych měl vystačit s pouhým vyhodnocením změny amplitudy. Složitější přístroje vyhodnocují i změnu fáze a podobně, aby zjistily o jaký kov se jedná, ale to já nepotřebuju.
Na vysílací cívce bude 10V-šš, takže na přijímací 5V neočekávám. Na 5V jsem to chtěl zesílit tím neinvertujícím zesilovačem.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Jo taak, tak to by mohlo jít.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | 

UF! To se mi ulevilo
Tak díky moc za pomoc.
Přeju vše nejlepší do nového roku

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | 

Omlouvám se že píšu zase sem, ale v novém topicu bych musel zase vysvětlovat princip detektoru.

Měl bych ještě jeden dotaz:
Tento krát se jedná o vysílací část. Bude stačit zapojit tento oscilátor http://hellweb.loose.cz/school/elt_plus/SINUS_sou... ...
, za něj hodit IO koncový zesilovač TDA2822M http://www.gme.cz/cz/index.php... a jeho výstup přímo na vysílací cívku?

Oscilátor bude kmitat na cca 12kHz, zdroj napětí jsou dvě 9V baterie. Přijde mi divný že budu napájet obvod oscilátoru symetricky a TDA nesymetricky, ale nikde jsem nenašel jiný IO koncový zesilovač se symetrickým napájením.

Děkuji za radu

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Kondenzátor, Maximální napětí, Vzorek