ADC prevodník, trimrom ovládame blikanie LED.
Predtým než začneme chcem podotknúť, že mi dlhšiu chvíľu trvalo kým som rozchodil ADC prevodník a pochopil všetku jeho konfiguráciu. V tomto článku navrhneme projekt pre ovládanie intenzity blikania LED diody.
Doporučujem dopodrobna preštudovať tutoriál priamo od MicroChipu. Ten si stiahnete tu:
Aby sme nejako začali hlavná myšlienka je tá, že chceme analogový (spojitý) signál previesť na signál diskrétny (digitálny), a ten následne spracovať. K tomu nám slúži Analogovo/Digitálny prevodník. Prevod signálu spočíva vo vzorkovaní a následne kvantovaní signálu.
Náš procesor PIC24FJ64(GA/GB)002 obsahuje 10 bitový ADC prevodník s 13-nástimi kanálmi.
Tie sú:
Porty / Piny |
|
Pre prácu snimi si je nutné ozrejmiť úlohu jednotlivých SFR registrov.
AD1PCFG – Definuje či jednotlivé piny majú byť nastavené ako analogové alebo digitálne.
AD1CON1 – Určuje, či je ADC zapnuté alebo vypnuté; výstupný formát konverzie; generátor signálu "štartová konverzia"; či ADC neustále vykonáva konverzie alebo len robí jednu sekvenciu vzoriek; a či odber vzoriek začína znova ihneď po ukončení predchádzajúcej konverzie alebo čaká na signál od používateľa. Tiež označuje, či bola ukončená posledná konverzia.
AD1CON2 – Určuje referencie napätia pre ADC (pozitívna referencia by mohla byť 3,3 V alebo VREF +, negatívna referencia by mohla byť GND alebo VREF-); či budú vstupy skenované alebo nie; či sa v striedavom režime použijú MUX A a MUX B; či je vybratý režim duálneho vyrovnávacej pamäte; a počet konverzií, ktoré sa majú vykonať pred vytvorením prerušenia.
AD1CON3 – Určuje, či je Tad generovaný z interných RC hodiniek ADC alebo hodín PB; počet cyklov Tad na odber vzorky signálu; a počet cyklov Tad povolených na konverziu každého bitu (musí byť najmenej 65 ns).
AD1CHS – Tento SFR určuje, z ktorých pinov sa budú odoberať vzorky ("pozitívne" kanály) a to, či sa budú porovnávať (VREF alebo analógový vstup 1). V režime skenovania sa piny špecifikované v tomto SFR ignorujú.
AD1CSSL – Tento SFR indikuje, ktoré analógové vstupy budú vzorkované v režime skenovania (ak sme AD1CON2 nakonfigurovali pre ADC, pre režim skenovania).
Pre príklad som vychádzal z jedného japonského článku: >>článok<<
Schéma zapojenia: SCHÉMA.
Ukážkový kód:
main.c |
|
Za pomoc pri článku sa chcem osobne poďakovať užívateľovi Mahoney z fóra: >>forum<<
Video: