A/D prevodník: Rozdiel medzi revíziami
Zo stránky SensorWiki
Riadok 16: | Riadok 16: | ||
=== Rekapitulácia === | === Rekapitulácia === | ||
<!-- | |||
Máte k dispozícii vývojovú dosku '''Acrob''' s procesorom ATmega328 ([http://ap.urpi.fei.stuba.sk/mmp/ATmega328.pdf datasheet]). | Máte k dispozícii vývojovú dosku '''Acrob''' s procesorom ATmega328 ([http://ap.urpi.fei.stuba.sk/mmp/ATmega328.pdf datasheet]). | ||
--> | |||
V tejto úlohe sa predpokladá znalosť funkcie A/D prevodníka z prednášky | V tejto úlohe sa predpokladá znalosť funkcie A/D prevodníka z prednášky. Na posledných dvoch slajdoch máte pripravené funkcie na inicializáciu a načítanie výsledku prevodu. Preto sa v tomto návode nebudeme zaoberať týmito funkciami. | ||
=== A/D prevodník === | === A/D prevodník === |
Verzia z 17:45, 14. apríl 2021
TODO: prerobit na verziu 2021:
- prekontrolovat, ci je vsetko platne a pridat nieco z tohoto:
- pridat obsluhu cez prerusenie
- sampling - pridat timer a vzorkovat v presnych casoch
- pridat Moving Average odtialto https://stackoverflow.com/questions/28820904/how-to-efficiently-compute-average-on-the-fly-moving-average aj s vyuzitim delenia 4,16 a pod. cez >>
A/D prevodník
Literatúra:
Rekapitulácia
V tejto úlohe sa predpokladá znalosť funkcie A/D prevodníka z prednášky. Na posledných dvoch slajdoch máte pripravené funkcie na inicializáciu a načítanie výsledku prevodu. Preto sa v tomto návode nebudeme zaoberať týmito funkciami.
A/D prevodník
Pre nameranú hodnotu N platí vzťah
Vstupy A/D prevodníka na Acrob doske sú zapojené takto (pozri aj obrázok Media:Connectors.png):
Kanál MUX3:0 signál -------------------------------------------------------------- ADC 0 - 3 vľavo vedľa prepojovacieho poľa ADC 4 - 5 konektor X2, hore ADC 8 1000 interný snímač teploty Vref 1110 vnútorná referencia 1,1 V GND 1111 vnútorná zem 0 V
Ako zdroj referenčného napätia použijeme priamo napájacie napätie 5V oddelené tlmivkou a filtrované paralelným kondenzátorom 100n. Zodpovedajúce bity REFS1, REFS0 v registri ADMUX sú teda 01.
Zdroj hodinového signálu pre A/D prevodník musí byť v rozsahu 50 až 200 kHz!
Príklad najjednoduchšieho SW ovládaného A/D prevodu je uvedená v tomto príklade - pozri AVR A/D example.c
Vizualizácia
Vizualizáciu dát môžeme robiť rozlične. Jeden z možných spôsobov je vypisovať po sériovej linke v pravidelných intervaloch holé data a tie potom uložiť ako maticu do Matlabu a tam nakresliť graf, priebeh, čo treba...
Iná možnosť je použiť napr. program SerialPlot, ktorý kreslí prichádzajúce data priamo ako graf.
Download: SerialPlot 0.11.0
Úlohy
- Nahrajte si knižnice pre prácu so sériovou linkou, preštudujte využitie knižnice <stdio.h> a demonštrujte.
- Doplňte program o jednoduchý A/D prevod a zobrazte hodnotu z potenciometra.
- Overte prevod A-D prevodníka meraním vnútornej referencie 1,1 V
- Upravte program pre A-D prevod tak, aby v pracoval autonómne s periódou vzorkovania 100ms.
- Oboznámte sa s programom SerialChart a zobrazte časový priebeh nameranej veličiny.