MKR1000 - DAC

Zápisník experimentátora

Hierarchy: Arduino MKR1000

Arduino/Genuino MKR1000 má jeden DAC. DAC je skratka pre digitálno-analógový prevodník. Otestujeme si tento prevodník a porovnáme ho s možnosťami prevodníka Arduino Due.

Pred pár mesiacmi som skúmal DAC prevodník na doske Arduino Due. Ten sa nesprával tak, ako by ste čakali. Najmä jeho rozsah mohol byť pre niekoho veľkým prekvapením. Nebolo možné dosiahnuť ani jednu krajnú polohu.

Mikrokontrolér ATSAMD21 používa novšiu verziu prevodníka a jeho rozsah je naozaj skoro 0-3,3 V. Nie je na samostatnom pine, ale je zdieľaný s analógovým prevodníkom na pine A0.

Zapojenie

Na otestovanie DAC stačí prepojiť piny A0 a A1. Na A0 pomocou DAC nastavujeme napätie a na A1 si ho zase meriame. Výsledok posielame na sériový port v podobe, ktorá umožňuje aj použitie programu Serial Monitor aj programu Serial Plotter.

void setup() {
  Serial.begin(9600);
  analogWriteResolution(10);
  analogReadResolution(10);
}

void loop() {
  for(int i=0;i<1024;i++) {
    analogWrite(A0,i);
    int v = analogRead(A1);
    Serial.print(i);
    Serial.print(",");
    Serial.println(v);
    delay(100);
  }
}

Zdrojový kód

Zdrojový kód programu sa nachádza na GitHub.

Výsledky

Na mojom MKR1000 bol rozdiel približne 10 jednotiek medzi nastavenou hodnotou a nameranou. To zodpovedá tomu čo ukázal multimeter. Posun o zhruba 0,14 V smerok hore. Tak to bolo na celom rozsahu, ktorý sa dal nastaviť. Toto bude pravdepodobne mierne odlišné na konkrétnom kuse MKR1000.


24.08.2016


Menu