A/D převodník pro PC
Moderátor: Moderátoři
A/D převodník pro PC
Mohl by mi prosím někdo poradit, který integrovaný obvod - převodník použít pro převod z 0-10V na cokoli čitelného v PC. Předpoklad je, že jich bude do jednoho PC víc. cca 50-100ks. Takže bych je potřeboval nějak rozlišit.
A pak, čím a jak ho naprogramovat?
Děkuji moc.
Moc tomu nerozumím. Možná se ptám nelogicky. Případně doplním info.
-
Stan3
Upravoval jsem zapojení z knihy Využití rozhraní PC pod Windows
- ZdenekHQ
- Významný člen
- Příspěvky: 25519
- Registrován: 21 črc 2006, 00:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
"Sample and hold" je obvod, který "sejme" vzorek signálu a uloží ho do paměti (většinou kondík) pro další zpracování v A/D.
EDIT : Vidíš, máš to stereo
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
V tom případě bych raději 10bit.
Rychlost snímání bych viděl tak cca 1 za sec na jednom snímači.
Prolezl jsem toho na netu už hodně a nějaké jsem i našel ale nejsem si jistý jestli je to to co potřebuji já.
Např:
http://livion.net/konstrukce/ADforPC/
nebo MCP3208-BI-SL někde jsem to viděl vč. schema ale nemůžu to najít.
nebo pro digi snímače toto
http://www.hamradio.cz/aprs/dalsi/PICfu ... /index.htm
a na tohle jsem při hledání narazil. to se mi líbí.
http://www.ivica-novakovic.from.hr/Noki ... ometar.htm
Rozlišenie si ľahko zistíš podľa toho akú presnosť potrebuješ. Ak sa jedná o teplotu napríklad v rozsahu -20 - 100C a chceš presnosť 0,5C tak 100-(-20)= rozsah 120C s presnostou 0,5C tj 120 / 0,5 = 240 vzoriek na celý rozsah pri uvedenej presnosti. Takže na celý rozsah ti postačuje 240 úrovní kde každá bude mať váhu 0,5C. Prevodník 8bit má pre celý rozsah 256 takže v praxi bude postačovať rozlíšenie 8bit tj 256.
rozsah -20 - 100C presnosť 0,1C -- 100-(-20)=120/0,1=1200 tj 11bit=2047 10bit je málo lebo má iba 1024 !!!
Prevodník má štandartne vstup 0-Uref kde Uref si môžeš zvoliť. Normálne sa používa buď 5 alebo 2,56V. Takže tvojich 10V si pomocou deliča upravíš na 0-5V. Presnosť pod 0,5C je v amatérskom prostredí zbytočná lebo samotné čidlo (LM335 a iné čidla s cenou pod 1000Sk majú nelinearitu minimálne 0,5C).
Ako prevodník by som použil jednoznačne ATMEGA8 ktorá má 6x multiplex 10bit ADC. Nieje problém každý vstup znova multiplexovať napríklad 8 kanál analog multiplex a dostaneš 6 x 8 = 48 analog vstupov. Takto sa to dá multiplexovať až do nekonečna.
Počítajme že prevod ADC trvá 260uS niečo pridajme na multiplex 40uS takže oblúženie jedného vstupu bude trvať 300uS. Ak máš 48 vstupov tak 48 * 300uS = 14,4mS. Takže v praxi ti bude každý vstup vzorkovať na frekvencii cca 70Hz.
ATMEGA má UART ktorý ľahko prevedieš na RS-232 takže to bude realtime zasielať priamo do PC. Paket by som zložil z čísla vstupu - hodnoty - nejakého flagu ukončenia prevodu.
Čo dodať. Zbasliť HW, vwdiwť dobre programovať AVR, urobiť SW do PC v nejakom C alebo Delphi. Takže prajem veľa štastia.
datam píše:Takže vnesieme tu trochu jasného svetla.
Rozlišenie si ľahko zistíš podľa toho akú presnosť potrebuješ. Ak sa jedná o teplotu napríklad v rozsahu -20 - 100C a chceš presnosť 0,5C tak 100-(-20)= rozsah 120C s presnostou 0,5C tj 120 / 0,5 = 240 vzoriek na celý rozsah pri uvedenej presnosti. Takže na celý rozsah ti postačuje 240 úrovní kde každá bude mať váhu 0,5C. Prevodník 8bit má pre celý rozsah 256 takže v praxi bude postačovať rozlíšenie 8bit tj 256.
rozsah -20 - 100C presnosť 0,1C -- 100-(-20)=120/0,1=1200 tj 11bit=2047 10bit je málo lebo má iba 1024 !!!
Prevodník má štandartne vstup 0-Uref kde Uref si môžeš zvoliť. Normálne sa používa buď 5 alebo 2,56V. Takže tvojich 10V si pomocou deliča upravíš na 0-5V. Presnosť pod 0,5C je v amatérskom prostredí zbytočná lebo samotné čidlo (LM335 a iné čidla s cenou pod 1000Sk majú
nelinearitu minimálne 0,5C).
Ako prevodník by som použil jednoznačne ATMEGA8 ktorá má 6x multiplex 10bit ADC. Nieje problém každý vstup znova multiplexovať napríklad 8 kanál analog multiplex a dostaneš 6 x 8 = 48 analog vstupov. Takto sa to dá multiplexovať až do nekonečna.
Počítajme že prevod ADC trvá 260uS niečo pridajme na multiplex 40uS takže oblúženie jedného vstupu bude trvať 300uS. Ak máš 48 vstupov tak 48 * 300uS = 14,4mS. Takže v praxi ti bude každý vstup vzorkovať na frekvencii cca 70Hz.
ATMEGA má UART ktorý ľahko prevedieš na RS-232 takže to bude realtime zasielať priamo do PC. Paket by som zložil z čísla vstupu - hodnoty - nejakého flagu ukončenia prevodu.
Čo dodať. Zbasliť HW, vwdiwť dobre programovať AVR, urobiť SW do PC v nejakom C alebo Delphi. Takže prajem veľa štastia.
Krásne napísané , len kdo to zrealizuje
Úspěch je špatný učitel. Kvůli němu si chytří lidé myslí, že nemohou prohrát. (Bill Gates)