A/D převodníky a analogový komparátor

Z MAM wiki

(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(teploměr 168A)
(Čidlo teploty)
 
Řádka 7: Řádka 7:
== A/D převodník ==
== A/D převodník ==
-
Mikroprocesor ATmega88, 168 má mezi periferiemi zařazen 10-bitový A/D převodník s postupnou aproximací, na vstupu doplněný multiplexorem (dle pouzdra procesoru 6 nebo 8 vstupů, v DIL28 pouze 6) a obvodem Sample&Hold. U ATmega168A je přidán ještě (velmi nepřesný, viz datasheet, pro lepší výsledky nutno kalibrovat) teploměr. Doba převodu je 13 - 260 μs, rozsah vstupního napětí 0 V - Ucc, referenční napětí buď referenční zdroj 1,1 V, nebo analogové napájecí napětí blízké Ucc. Převodník lze spustit k provedení jedné konverze, nebo může být volně běžící, po ukončení převodu může vyvolat přerušení. Pro zvýšení přesnosti převodu lze procesor po dobu převodu uspat v Noise Canceler módu.
+
Mikroprocesor ATmega88, 168 má mezi periferiemi zařazen 10-bitový A/D převodník s postupnou aproximací, na vstupu doplněný multiplexorem (dle pouzdra procesoru 6 nebo 8 vstupů, v DIL28 pouze 6) a obvodem Sample&Hold. U ATmega168A je přidán ještě teploměr. Doba převodu je 13 - 260 μs, rozsah vstupního napětí 0 V - Ucc, referenční napětí buď referenční zdroj 1,1 V, nebo analogové napájecí napětí blízké Ucc. Převodník lze spustit k provedení jedné konverze, nebo může být volně běžící, po ukončení převodu může vyvolat přerušení. Pro zvýšení přesnosti převodu lze procesor po dobu převodu uspat v Noise Canceler módu.
-
Převod startuje zápisem log. nuly do Power Reduction ADC bitu, PRADC, a log. 1 do ADC Start Conversion bitu, ADSC. ADSC je vynulován po skončení převodu. Mimo to může být převod spouštěn automaticky vzestupnou hranou spouštěcího signálu (možnosti: volně běžící mód, analogový komparátor, externí přerušení INT0, událost na čítači/časovači 0 a 1).
+
Atmega168 pro A/D převod využívá 6 různých registrů, podrobnosti viz datasheet:
 +
{| class="wikitable" border="1"
 +
|-
 +
! Registr
 +
! Popis
 +
|-
 +
! ADMUX
 +
! ADC Multiplexer Selection Register
 +
|-
 +
! ADCSRA
 +
! ADC Control and Status Register A
 +
|-
 +
! ADCSRB
 +
! ADC Control and Status Register B
 +
|-
 +
! DIDR0
 +
! Digital Input Disable Register 0
 +
|-
 +
! ADCL
 +
! ADC Data Register – Low
 +
|-
 +
! ADCH
 +
! ADC Data Register – High
 +
|}
-
Registry s řídicími slovy nastavují zdroj referenčního napětí a vstupního signálu (ADMUX), způsob spouštění převodu, povolení přerušení a zdroj a předdělič taktovací frekvence převodu (ADCSRA – ADC Control and Status Register A), zdroj vnějšího spouštění (ADCSRB – ADC Control and Status Register B), zablokování logiky číslicových vstupů na vstupech analogového signálu (DIDR0 – Digital Input Disable Register 0). Výsledek převodu je uložen v registrech ADCL a ADCH (ADC Data Register).
+
Registry s řídicími slovy nastavují zdroj referenčního napětí a vstupního signálu (registr ADMUX), způsob spouštění převodu, povolení přerušení a zdroj a předdělič taktovací frekvence převodu (ADCSRA – ADC Control and Status Register A), zdroj vnějšího spouštění (ADCSRB – ADC Control and Status Register B), zablokování logiky číslicových vstupů na vstupech analogového signálu (DIDR0 – Digital Input Disable Register 0). Výsledek převodu je uložen v registrech ADCL a ADCH (ADC Data Register).
 +
 
 +
Převod startuje zápisem log. nuly do Power Reduction ADC bitu, PRADC, a log. 1 do ADC Start Conversion bitu, ADSC v registru ADCSRA. ADSC je vynulován po skončení převodu. Mimo to může být převod spouštěn automaticky vzestupnou hranou spouštěcího signálu (možnosti: volně běžící mód, analogový komparátor, externí přerušení INT0, událost na čítači/časovači 0 a 1). K ADC8 je připojen teplotní senzor (vyžaduje nastavit referenční napětí 1,1 V, typicky 1 mV/K, 314 mV při 25°C), bez kalibrace je velmi nepřesný, viz datasheet, chyba až 10°C, pro lepší výsledky nutno kalibrovat.  
Podobně pracuje A/D převodník u ATtiny45, má navíc možnost nastavit diferenciální vstupy a zvolit zesílení diferenciálního zesilovače mezi hodnotami 1 a 20, to při referenčním napětí 1,1 V dává napětí pro plný rozsah 55 mV, detaily viz datasheet [http://www.atmel.com/dyn/resources/prod_documents/doc2586.pdf ATtiny25/45/85 - podrobná technická dokumentace] (4,6 MB).
Podobně pracuje A/D převodník u ATtiny45, má navíc možnost nastavit diferenciální vstupy a zvolit zesílení diferenciálního zesilovače mezi hodnotami 1 a 20, to při referenčním napětí 1,1 V dává napětí pro plný rozsah 55 mV, detaily viz datasheet [http://www.atmel.com/dyn/resources/prod_documents/doc2586.pdf ATtiny25/45/85 - podrobná technická dokumentace] (4,6 MB).

Aktuální verze z 10. 4. 2014, 06:23

[editovat] Analogový komparátor

Analogový komparátor porovnává vstupní signály na invertujícím AIN1 a neinvertujícím AIN0 vstupu, výstupní hodnota Analog Comparator output, ACO, je v log. 1, je-li napětí AIN0 větší než AIN1. Výstup může sloužit jako vstup čítače/časovače 1 a jeho změna nebo zvolená hrana může vyvolat přerušení. Ke vstupům může být připojen zdroj referenčního napětí, vstupní piny, nebo vstupní signál A/D převodníku. Detaily ovládání jsou v datasheetu, sekce Analog Comparator.


[editovat] A/D převodník

Mikroprocesor ATmega88, 168 má mezi periferiemi zařazen 10-bitový A/D převodník s postupnou aproximací, na vstupu doplněný multiplexorem (dle pouzdra procesoru 6 nebo 8 vstupů, v DIL28 pouze 6) a obvodem Sample&Hold. U ATmega168A je přidán ještě teploměr. Doba převodu je 13 - 260 μs, rozsah vstupního napětí 0 V - Ucc, referenční napětí buď referenční zdroj 1,1 V, nebo analogové napájecí napětí blízké Ucc. Převodník lze spustit k provedení jedné konverze, nebo může být volně běžící, po ukončení převodu může vyvolat přerušení. Pro zvýšení přesnosti převodu lze procesor po dobu převodu uspat v Noise Canceler módu.

Atmega168 pro A/D převod využívá 6 různých registrů, podrobnosti viz datasheet:

Registr Popis
ADMUX ADC Multiplexer Selection Register
ADCSRA ADC Control and Status Register A
ADCSRB ADC Control and Status Register B
DIDR0 Digital Input Disable Register 0
ADCL ADC Data Register – Low
ADCH ADC Data Register – High

Registry s řídicími slovy nastavují zdroj referenčního napětí a vstupního signálu (registr ADMUX), způsob spouštění převodu, povolení přerušení a zdroj a předdělič taktovací frekvence převodu (ADCSRA – ADC Control and Status Register A), zdroj vnějšího spouštění (ADCSRB – ADC Control and Status Register B), zablokování logiky číslicových vstupů na vstupech analogového signálu (DIDR0 – Digital Input Disable Register 0). Výsledek převodu je uložen v registrech ADCL a ADCH (ADC Data Register).

Převod startuje zápisem log. nuly do Power Reduction ADC bitu, PRADC, a log. 1 do ADC Start Conversion bitu, ADSC v registru ADCSRA. ADSC je vynulován po skončení převodu. Mimo to může být převod spouštěn automaticky vzestupnou hranou spouštěcího signálu (možnosti: volně běžící mód, analogový komparátor, externí přerušení INT0, událost na čítači/časovači 0 a 1). K ADC8 je připojen teplotní senzor (vyžaduje nastavit referenční napětí 1,1 V, typicky 1 mV/K, 314 mV při 25°C), bez kalibrace je velmi nepřesný, viz datasheet, chyba až 10°C, pro lepší výsledky nutno kalibrovat.

Podobně pracuje A/D převodník u ATtiny45, má navíc možnost nastavit diferenciální vstupy a zvolit zesílení diferenciálního zesilovače mezi hodnotami 1 a 20, to při referenčním napětí 1,1 V dává napětí pro plný rozsah 55 mV, detaily viz datasheet ATtiny25/45/85 - podrobná technická dokumentace (4,6 MB).

Osobní nástroje