Operácie

Metódy zvýšenie presnosti A/D prevodu

Zo stránky SensorWiki

Záverečný projekt predmetu MIPS / LS2025 - René Roger


Zadanie

Porovnáme dve možnosti ako spresniť výsledok A/D prevodu v mikroprocesore. Výsledky porovnáme v tabuľke pre 3 rozličné vstupné napätia (0,2.5 a Vcc) pri jednom meraní, priemere zo 64 meraní a pri meraní s uspatými perifériami procesora. Meranie zopakujeme 100x a vyhodnotíme štatisticky.

Arduino NANO

Literatúra:


Analýza a opis riešenia

Opíšte sem čo a ako ste spravili, ak treba, doplňte obrázkami...


Celkový pohľad na zariadenie.

Zdroj Z2 sluzi na nastavenie meraneho napatia (na pine A7). Napatie z presneho (linearneho) zdroja je navyse filtrovane cez RC clen s casovou konstantou 0.7s, teda napatie je v case velmi stabilne. Ako napajanie je zvoleny zdroj Z1 a to z dovodu, ze napatie dodavane z USB portu moze vyrazne kolisat, s cim by kolisalo aj referencne napatie pre A/D prevodnik. Po pripojeni externeho zdroju napatia na pin VIN ide toto napatie do linearnecho regulatoru napatia pritomneho na doske Arduino NANO. Arduino NANO si v pripade, ze su pritomne 2 zdroje napatia (USB a VIN) zvoli vzdy VIN. Cela doska je teda napajana z linearneho regulatoru, ktory ma podstatne stabilnejsie napatie.

Schéma zapojenia.

Po zapojeni napajacieho napatia (Z1, U=9V) som zmeral napatie VREF (= napatie na 5V pine). Toto zvysuje presnost merania. Nasledne som nastavil napatie na zdroji Z2 podla zadania a pockal na jeho ustalenie. Ustalene napatie som tiez zadal mikroprocesoru. Program automaticky zoberie potrebne mnozstvo vzoriek z kazdej meracej metody a aj vykona statisticke vyhodnotenie.

Tabuľka s hlavnými a podriadenými názvami riadkov a 6 stĺpcami
Hlavný názov Podriadený názov Stĺpec 3 Stĺpec 4 Stĺpec 5 Stĺpec 6
Hlavný názov 1 Podriadený názov 1a Obsah 1a, stĺpec 3 Obsah 1a, stĺpec 4 Obsah 1a, stĺpec 5 Obsah 1a, stĺpec 6
Podriadený názov 1b Obsah 1b, stĺpec 3 Obsah 1b, stĺpec 4 Obsah 1b, stĺpec 5 Obsah 1b, stĺpec 6
Podriadený názov 1c Obsah 1c, stĺpec 3 Obsah 1c, stĺpec 4 Obsah 1c, stĺpec 5 Obsah 1c, stĺpec 6
Hlavný názov 2 Podriadený názov 2a Obsah 2a, stĺpec 3 Obsah 2a, stĺpec 4 Obsah 2a, stĺpec 5 Obsah 2a, stĺpec 6
Podriadený názov 2b Obsah 2b, stĺpec 3 Obsah 2b, stĺpec 4 Obsah 2b, stĺpec 5 Obsah 2b, stĺpec 6
Podriadený názov 2c Obsah 2c, stĺpec 3 Obsah 2c, stĺpec 4 Obsah 2c, stĺpec 5 Obsah 2c, stĺpec 6
Hlavný názov 3 Podriadený názov 3a Obsah 3a, stĺpec 3 Obsah 3a, stĺpec 4 Obsah 3a, stĺpec 5 Obsah 3a, stĺpec 6
Podriadený názov 3b Obsah 3b, stĺpec 3 Obsah 3b, stĺpec 4 Obsah 3b, stĺpec 5 Obsah 3b, stĺpec 6
Podriadený názov 3c Obsah 3c, stĺpec 3 Obsah 3c, stĺpec 4 Obsah 3c, stĺpec 5 Obsah 3c, stĺpec 6

Algoritmus a program

Algoritmus programu využíva toto a toto, základné funkcie sú takéto a voláma ich tuto... Výpis kódu je nižšie...


#include <avr/io.h>

int main(void)
{
  unsigned int measuredValue;

  while (1)
  {
    /*  relax  */  
  }

  return(0);
}
#include <avr/io.h>

void adc_init(void);                                   // A/D converter initialization

unsigned int adc_read(char a_pin);

Pridajte sem aj zbalený kompletný projekt, napríklad takto (použite jednoznačné pomenovanie, nemôžeme mať na serveri 10x zdrojaky.zip:

Zdrojový kód: zdrojaky.zip

Overenie

Ako ste overili funkciu, napríklad... Na používanie našej aplikácie stačia dve tlačítka a postup používania je opísaný v sekcii popis riešenia. Na konci uvádzame fotku hotového zariadenia.

Aplikácia.

Video:



Kľúčové slová 'Category', ktoré sú na konci stránky nemeňte.