MMP Cvičenie 8: Rozdiel medzi revíziami
Z SensorWiki
(→Download) |
|||
(6 medziľahlých úprav od rovnakého používateľa nie je zobrazených.) | |||
Riadok 3: | Riadok 3: | ||
Literatúra: | Literatúra: | ||
− | * [http://www.atmel.com/dyn/resources/prod_documents/DOC2559.PDF] | + | * [http://www.atmel.com/dyn/resources/prod_documents/DOC2559.PDF AVR120: Characterization and Calibration of the ADC on an AVR] |
* [http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=56429 Newbie's Guide to AVR A/D Converter] | * [http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=56429 Newbie's Guide to AVR A/D Converter] | ||
Riadok 9: | Riadok 9: | ||
=== Rekapitulácia === | === Rekapitulácia === | ||
− | Máte k dispozícii vývojovú dosku ''' | + | 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 (datasheet, str. | + | V tejto úlohe sa predpokladá znalosť funkcie A/D prevodníka z prednášky (datasheet, str. 251 -- 267). Procesor je nakonfigurovaný na prácu s externým kryštálovým oscilátorom 16,00 MHz. |
− | Procesor je nakonfigurovaný na prácu s externým kryštálovým oscilátorom | ||
− | |||
=== A/D prevodník === | === A/D prevodník === | ||
+ | |||
+ | Pozri aj obrázok [[Obrázok:AVR_ADC.png|300px]] | ||
+ | |||
Pre nameranú hodnotu N platí vzťah | Pre nameranú hodnotu N platí vzťah | ||
Riadok 24: | Riadok 25: | ||
</math> | </math> | ||
− | Vstupy A/D prevodníka na | + | Vstupy A/D prevodníka na Acrob doske sú zapojené takto (pozri aj obrázok [[:Media:Connectors.png]]): |
Kanál MUX3:0 signál | Kanál MUX3:0 signál | ||
-------------------------------------------------------------- | -------------------------------------------------------------- | ||
− | ADC 0 - 3 | + | ADC 0 - 3 vľavo vedľa prepojovacieho poľa |
− | ADC 4 | + | ADC 4 - 5 konektor X2, hore |
− | ADC | + | ADC 8 1000 interný snímač teploty |
− | |||
Vref 1110 vnútorná referencia 1,1 V | Vref 1110 vnútorná referencia 1,1 V | ||
GND 1111 vnútorná zem 0 V | GND 1111 vnútorná zem 0 V | ||
Riadok 38: | Riadok 38: | ||
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. | 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 | + | 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]] | Príklad najjednoduchšieho SW ovládaného A/D prevodu je uvedená v tomto príklade - pozri [[AVR A/D example.c]] | ||
Riadok 56: | Riadok 56: | ||
Príklad: [[AVR StampPlotExample.c]] | Príklad: [[AVR StampPlotExample.c]] | ||
Manual: [[Stamp Plot Manual]] | Manual: [[Stamp Plot Manual]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Riadok 77: | Riadok 61: | ||
=== Úlohy === | === Úlohy === | ||
− | |||
# Nahrajte si knižnice pre prácu so sériovou linkou, preštudujte využitie knižnice <stdio.h> a demonštrujte. | # 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 | + | # 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 | # 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. | # Upravte program pre A-D prevod tak, aby v pracoval autonómne s periódou vzorkovania 100ms. | ||
− | # Oboznámte sa s programom StampPlot a zobrazte časový priebeh | + | # Oboznámte sa s programom StampPlot a zobrazte časový priebeh nameranej veličiny. |
− | |||
+ | === Download === | ||
− | |||
− | |||
[[Obrázok:Icon_Terminal.png]] [http://braypp.googlepages.com/Terminal20080315.zip Terminal 1.9b] | [[Obrázok:Icon_Terminal.png]] [http://braypp.googlepages.com/Terminal20080315.zip Terminal 1.9b] | ||
− | [[Obrázok:Icon_StampPlotLite.png]] [http://www. | + | [[Obrázok:Icon_StampPlotLite.png]] [http://www.parallax.com/Portals/0/Downloads/sw/spl.zip StampPlot Lite 1.7] |
Aktuálna revízia z 09:02, 26. november 2010
A/D prevodník
Literatúra:
Rekapitulácia
Máte k dispozícii vývojovú dosku Acrob s procesorom ATmega328 (datasheet).
V tejto úlohe sa predpokladá znalosť funkcie A/D prevodníka z prednášky (datasheet, str. 251 -- 267). Procesor je nakonfigurovaný na prácu s externým kryštálovým oscilátorom 16,00 MHz.
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 StampPlot, ktorý kreslí prichádzajúce data priamo ako graf, s výnimkou reťazcov, ktoré začínajú znakom '!', tie považuje za konfiguračné príkazy.
Download: StampPlotLite1.7
Príklad: AVR StampPlotExample.c Manual: Stamp Plot Manual
Ú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 StampPlot a zobrazte časový priebeh nameranej veličiny.
Download