Arduino Due - DAC

Zápisník experimentátora

Hierarchy: Arduino Due

V tomto článku sa pozriema na DAC. DAC je skratka pre digitálno-analógový prevodník. Arduino Due má dva takéto prevodníky vďaka mikrokontroléru ATSAM3X8E. Otestujeme si čo dokážu a zistíme, kde sú ich limity.

Ak používate Arduino Due a jeho digitálny prevodník, musíte si uvedomiť niekoľko podstatných faktov:

  • ATSAM3X8E používa napájanie 3,3V.
  • O analógovom výstupe dokumentácia v niektorých bodoch taktne mlčí. Iba na fóre sa dozviete, že nemáte k dispozícii plný rozsah 0 - 3,3V ale 1/6*3,3V - 5/6*3,3V.
  • Piny poskytujúce DAC nedokážu dodávať väčšie prúdy a je ľahké ich zničiť, pokiaľ nepoužívate pomocný operačný zosilňovač. Ťažko vydolovaná informácia hovorí, že záťaž môže byť maximálne 4000-5000 ohmov.

Kde si ho zaobstarať

Arduino Due mám z Aliexpresu, ale dnes je najvýhodnejšia cena asi na Banggood.

DAC

Práca s digitálno-analógovým prevodníkom je jednoduchá. Ovláda sa pomocou funkcie analogWrite. Čiže tou istou funkciou, ktorou sa ovláda aj PWM. Vhodné je ešte použiť funkciu analogWriteResolution, ktorou sa dá zvýšiť rozlíšenie z 8 na 12 bitov. Potom je možné používať na výstupe hodnoty 0-4095.

Programovanie

Na otestovanie DAC vlastností som napísal nasledovný program:

  • Pomocou sériového portu možno nastavovať oba kanály.
  • Rozlíšenie DAC je prepnuté na 12 bitov.
  • Oba DAC výstupy sú pripojené na ADC vstupy a Arduino samo meria nastavené napätie.

Program je len na pár riadkov, zaujímavé je iba to, akým spôsobom sa nastavujú jednotlivé kanály. Robí sa to tak, že sa parsuje zaslaný text, ktorý by mal byť vo formáte kanál,hodnota. Čiže text 0,0 nastaví výstup prvého kanála na minimálnu hodnotu a text 0,4095 nastaví výstup prvého kanálu na maximálnu hodnotu.

Arduino Due má dostatok pamäte, takže sa vôbec netreba báť používať reálne čísla na výpočty.



Download

16.10.2015


Menu