V tomto projekte sa chystáme prepojiť LDR s mikrokontrolérom ATMEGA8 a pomocou toho môžeme merať SVETELNÚ INTENZITU v tejto oblasti. V ATMEGA8 použijeme na meranie intenzity svetla funkciu 10bit ADC (Analog to Digital Conversion).
Am LDR je prevodník, ktorý mení svoj odpor, keď na jeho povrch dopadá SVETLO. Senzor LDR je k dispozícii v rôznych veľkostiach a tvaroch.
LDR sú vyrobené z polovodičových materiálov, aby mali svoje vlastnosti citlivé na svetlo. Existuje veľa druhov použitých materiálov, ale populárnym je SÍRUS KADMIČITÝ (CdS). Tieto LDR alebo FOTO REISTORY fungujú na princípe „ fotovodivosti “. Tento princíp teraz hovorí, že kedykoľvek dopadne svetlo na povrch LDR (v tomto prípade), zvýši sa vodivosť prvku alebo inými slovami, odpor LDR sa zníži, keď svetlo dopadne na povrch LDR. Táto vlastnosť poklesu odporu pre LDR sa dosahuje, pretože je to vlastnosť polovodičového materiálu použitého na povrchu. LDR sa používajú najčastejšie na zisťovanie prítomnosti svetla alebo na meranie intenzity svetla.
Existujú rôzne typy LDR, ako je znázornené na obrázku vyššie, a každá z nich má odlišné technické parametre. Typicky bude mať LDR 1MΩ-2MΩ pri úplnej tme, 10-20KΩ pri 10 LUX, 2-5KΩ pri 100 LUX. Typický graf odolnosti proti LUX pre LDR je znázornený na obrázku.
Ako je znázornené na obrázku vyššie, odpor medzi dvoma kontaktmi snímača klesá s intenzitou svetla alebo sa zvyšuje vodivosť medzi dvoma kontaktmi snímača.
Teraz na premenu tejto zmeny odporu na zmenu napätia použijeme obvod rozdeľovača napätia. V tejto odporovej sieti máme jeden konštantný odpor a druhý premenný odpor. Ako je znázornené na obrázku, R1 je tu konštantný odpor a R2 je snímač FORCE, ktorý funguje ako odpor.
Stred vetvy sa prevedie na meranie. Keď sa zmení odpor R2, Vout sa s ním zmení lineárne. Takže s týmto máme napätie, ktoré sa mení s hmotnosťou.
Teraz je dôležité poznamenať, že vstup, ktorý prijme radič na prevod ADC, je len 50µAmp. Tento zaťažovací efekt odporového deliča napätia je dôležitý, pretože prúd odoberaný z Vout deliča napätia zvyšuje zvyšovanie percentuálneho podielu chyby, zatiaľ sa nemusíme starať o zaťažovací efekt.
To, čo tu urobíme, je to, že si vezmeme dva odpory a vytvoríme oddeľovací obvod tak, aby sme pre Vin s 25 V dostali 5Volt Vout. Všetko, čo musíme urobiť, je vynásobiť hodnotu Vout programom „5“, aby sme získali skutočné vstupné napätie.
Komponenty
Hardvér: ATMEGA8, napájací zdroj (5 V), AVR-ISP PROGRAMÁTOR, JHD_162ALCD (16 * 2LCD), kondenzátor 100 uF, kondenzátor 100 nF (5 kusov), odpor 10 KΩ, LDR (rezistor závislý od svetla).
Softvér: Atmel studio 6.1, progisp alebo flash magic.
Schéma zapojenia a pracovné vysvetlenie
V obvode PORTD z ATMEGA8 je pripojený k dátovému portu LCD. Na 16 * 2 LCD displeji je 16 pinov, ak je podsvietenie, ak nie je podsvietenie, bude 14 pinov. Jeden môže napájať alebo nechať kolíky podsvietenia. Teraz v 14 kolíkoch je 8 dátových kolíkov (7-14 alebo D0-D7), 2 kolíky napájacieho zdroja (1 a 2 alebo VSS & VDD alebo gnd & + 5v), 3. kolík na kontrolu kontrastu (VEE - určuje, aké silné by mali byť znaky) a 3 ovládacie kolíky (RS & RW & E)
V obvode môžete pozorovať, že som vzal iba dva ovládacie piny. Kontrastný bit a READ / WRITE sa často nepoužívajú, aby ich bolo možné skratovať na zem. Toto nastavuje LCD do najvyššieho kontrastu a režimu čítania. Potrebujeme iba ovládať piny ENABLE a RS, aby sme mohli zodpovedajúcim spôsobom odosielať znaky a údaje.
K pripojenie k LCD, sú uvedené nižšie:
PIN1 alebo VSS ------------------ zem
PIN2 alebo VDD alebo VCC ------------ + 5V napájanie
PIN3 alebo VEE --------------- zem (poskytuje maximálny kontrast najlepšie pre začiatočníkov)
PIN4 alebo RS (výber registra) --------------- PB0 uC
PIN5 alebo RW (čítanie / zápis) ----------------- zem (prepnutie LCD do režimu čítania uľahčuje komunikáciu pre používateľa)
PIN6 alebo E (povoliť) ------------------- PB1 uC
PIN7 alebo D0 ----------------------------- PD0 uC
PIN8 alebo D1 ----------------------------- PD1 uC
PIN9 alebo D2 ----------------------------- PD2 uC
PIN10 alebo D3 ----------------------------- PD3 uC
PIN11 alebo D4 ----------------------------- PD4 uC
PIN12 alebo D5 ----------------------------- PD5 uC
PIN13 alebo D6 ----------------------------- PD6 uC
PIN14 alebo D7 ----------------------------- PD7 uC
V obvode vidíte, že sme použili 8-bitovú komunikáciu (D0-D7), nie je to však povinné, môžeme použiť 4-bitovú komunikáciu (D4-D7), ale so 4-bitovým komunikačným programom sa stáva trochu zložitejšou. Takže iba z pozorovania z vyššie uvedenej tabuľky pripájame 10 pinov LCD k radiču, v ktorých 8 pinov sú dátové piny a 2 piny pre riadenie.
Napätie na R2 nie je úplne lineárne; bude to hlučný. Na odfiltrovanie šumu sú kondenzátory umiestnené cez každý odpor v obvode rozdeľovača, ako je to znázornené na obrázku.
V ATMEGA8 môžeme dať analógový vstup na ktorýkoľvek zo ŠTYROCH kanálov PORTC, nezáleží na tom, ktorý kanál si vyberieme, pretože všetky sú rovnaké. Vyberieme kanál 0 alebo PIN0 PORTC. V ATMEGA8 má ADC 10 bitové rozlíšenie, takže radič dokáže detekovať minimálnu zmenu Vref / 2 ^ 10, takže ak je referenčné napätie 5 V, dostaneme prírastok digitálneho výstupu pre každých 5/2 ^ 10 = 5mV. Takže pre každý prírastok 5mV na vstupe budeme mať prírastok jedného na digitálnom výstupe.
Teraz musíme nastaviť register ADC na základe nasledujúcich podmienok:
1. Najprv musíme povoliť funkciu ADC v ADC.
2. Tu získate maximálne vstupné napätie pre prevod ADC je + 5V. Môžeme teda nastaviť maximálnu hodnotu alebo referenciu ADC na 5V.
3. Kontrolér má funkciu prevodu spúšťača, čo znamená, že prevod ADC sa uskutoční až po externom spúšťači, pretože nechceme, aby sme museli nastavovať registre, aby ADC bežal v režime nepretržitého voľného chodu.
4. Pre akýkoľvek ADC je frekvencia prevodu (analógová hodnota na digitálnu hodnotu) a presnosť digitálneho výstupu nepriamo úmerná. Pre lepšiu presnosť digitálneho výstupu teda musíme zvoliť menšiu frekvenciu. Pre bežné hodiny ADC nastavujeme predpredaj ADC na maximálnu hodnotu (2). Pretože používame interné hodiny 1MHZ, hodiny ADC budú (10 000 000/2).
To sú jediné štyri veci, ktoré musíme vedieť, aby sme mohli začať s ADC.
Všetky vyššie uvedené štyri funkcie sú nastavené dvoma registrami,
ČERVENÁ (ADEN): Tento bit musí byť nastavený pre povolenie funkcie ADC v ATMEGA.
MODRÁ (REFS1, REFS0): Tieto dva bity sa používajú na nastavenie referenčného napätia (alebo maximálneho vstupného napätia, ktoré dáme). Pretože chceme mať referenčné napätie 5V, mala by byť tabuľka nastavená na REFS0.
ŽLTÁ (ADFR): Tento bit musí byť nastavený, aby ADC bežal nepretržite (režim voľného chodu).
PINK (MUX0-MUX3): Tieto štyri bity slúžia na rozpoznanie vstupného kanálu. Pretože budeme používať ADC0 alebo PIN0, nemusíme nastavovať žiadne bity ako v tabuľke.
BROWN (ADPS0-ADPS2): tieto tri bity slúžia na nastavenie predskaláru pre ADC. Pretože používame prescalar 2, musíme nastaviť jeden bit.
DARK GREEN (ADSC): tento bit nastavený pre ADC na začatie konverzie. Tento bit je možné v programe deaktivovať, keď potrebujeme zastaviť prevod.
Takže s odporom LDR na obrazovke 16x2 LCD ho môžeme porovnať s grafom LUX na získanie intenzity svetla.