Ebben a projektben az LDR-t összekapcsoljuk az ATMEGA8 mikrokontrollerrel, és ezzel megmérhetjük a FÉNY INTENZITÁSÁT a területen. Az ATMEGA8-ban 10 bites ADC (analóg-digitális átalakítás) funkciót fogunk használni a fényintenzitás mérésére.
Az Am LDR egy átalakító, amely megváltoztatja az ellenállását, amikor a LIGHT a felületére esik. Az LDR érzékelő különböző méretben és formában kapható.
Az LDR-ek félvezető anyagokból készülnek annak érdekében, hogy fényérzékeny tulajdonságaik legyenek. Sokféle anyagot használnak, de a népszerű a CADMIUM SULPHIDE (CdS). Ezek az LDR-ek vagy a FOTÓRÉSZLETEK a „Photo Conductivity” elvén működnek. Ez az elv azt mondja, hogy amikor a fény az LDR felületére esik (ebben az esetben), az elem vezetőképessége növekszik, vagy más szavakkal, az LDR ellenállása csökken, ha a fény az LDR felületére esik. Az ellenállás csökkenésének ezt a tulajdonságát az LDR szempontjából azért érik el, mert ez a felületen alkalmazott félvezető anyag tulajdonsága. Az LDR-t legtöbbször a fény jelenlétének kimutatására vagy a fény intenzitásának mérésére használják.
Különböző típusú LDR létezik, amint az a fenti ábrán látható, és mindegyikük eltérő specifikációval rendelkezik. Az LDR jellemzően 1MΩ-2MΩ teljes sötétségnél, 10-20KΩ 10 LUX-nál, 2-5KΩ 100 LUX-nál. Az LDR tipikus ellenállása a LUX gráffal szemben az ábrán látható.
Amint a fenti ábrán látható, az érzékelő két érintkezője közötti ellenállás a fény intenzitásával csökken, vagy az érzékelő két érintkezője közötti vezetőképesség nő.
A feszültségváltozással szembeni ellenállás változásának átalakításához feszültségosztó áramkört fogunk használni. Ebben az rezisztív hálózatban van egy állandó ellenállásunk és egy másik változó ellenállásunk. Amint az ábrán látható, R1 itt állandó ellenállás, R2 pedig FORCE érzékelő, amely ellenállásként működik.
Az elágazás középpontját mérésre vesszük. Amikor az R2 ellenállás megváltozik, a Vout lineárisan változik vele. Tehát ezzel van egy feszültségünk, amely változik a súlytól.
Most fontos megjegyezni, hogy a vezérlő által az ADC átalakításhoz bevitt bemenet akár 50µAmp. Az ellenállás alapú feszültségosztónak ez a terhelő hatása fontos, mivel a feszültségosztó Vout-jából vett áram növeli a hiba százalékos arányát, egyelőre nem kell aggódnunk a terhelési hatás miatt.
Amit itt fogunk tenni, az az, hogy két ellenállást veszünk, és kialakítunk egy elválasztó áramkört úgy, hogy egy 25 V-os Vin esetén 5 V-os Vout-ot kapjunk. Tehát csak annyit kell tennünk, hogy a programban megszorozzuk a Vout értékét az „5” -nel a valós bemeneti feszültség elérése érdekében.
Alkatrészek
Hardver: ATMEGA8, tápegység (5v), AVR-ISP PROGRAMMER, JHD_162ALCD (16 * 2LCD), 100uF kondenzátor, 100nF kondenzátor (5 darab), 10KΩ ellenállás, LDR (fényfüggő ellenállás).
Szoftver: Atmel studio 6.1, progisp vagy flash magic.
Áramkör diagram és magyarázat
Az ATMEGA8 PORTD áramkörében az LCD adatcsatlakozó csatlakozik. A 16 * 2-es LCD-képernyőn 16 érintkező van, ha van háttérvilágítás, ha nincs háttérvilágítás, akkor 14 tű lesz. A hátsó lámpa csapjai bekapcsolhatók, vagy elhagyhatók. Most a 14 csapok vannak 8 adatok csapok (7-14 vagy D0-D7), 2 tápegység csapok (1 & 2 vagy VSS & VDD vagy GND & + 5V), 3 rd pin kontraszt vezérlő (VEE-kontrollok milyen vastag a karaktereket kell lennie ábra) és 3 vezérlőcsap (RS & RW & E)
Az áramkörben megfigyelheti, hogy csak két vezérlőtűt vettem. A kontrasztbitet és a READ / WRITE-t nem használják gyakran, így testzárlat lehet. Ez az LCD-t a legnagyobb kontrasztú és olvasási módba helyezi. Csak az ENABLE és RS csapokat kell vezérelnünk, hogy a karaktereket és az adatokat ennek megfelelően küldhessük el.
Az LCD csatlakozásai az alábbiak:
PIN1 vagy VSS ------------------ föld
PIN2 vagy VDD vagy VCC ------------ + 5v teljesítmény
PIN3 vagy VEE --------------- föld (a legjobb kontrasztot nyújtja a kezdőknek)
PIN4 vagy RS (Register Selection) --------------- PB0 az uC-től
PIN5 vagy RW (olvasás / írás) ----------------- földelés (az LCD-t olvasási módba állítja, megkönnyíti a kommunikációt a felhasználó számára)
PIN6 vagy E (engedélyezés) ------------------- PB1 az uC-től
PIN7 vagy D0 ----------------------------- u0 PD0
PIN8 vagy D1 ----------------------------- u1 PD1
PIN9 vagy D2 ----------------------------- az uC PD2-je
PIN10 vagy D3 ----------------------------- u3 PD3
PIN11 vagy D4 ----------------------------- u4 PD4
PIN12 vagy D5 ----------------------------- u5 PD5
PIN13 vagy D6 ----------------------------- u6 PD6
PIN14 vagy D7 ----------------------------- u7 PD7
Az áramkörben láthatja, hogy 8 bites kommunikációt (D0-D7) használtunk, de ez nem kötelező, használhatunk 4 bites kommunikációt (D4-D7), de a 4 bites kommunikációs program kissé összetetté válik. Tehát puszta megfigyelésből a fenti táblázatból 10 érintkezős LCD-t csatlakoztatunk a vezérlőhöz, amelyben 8 érintkező adat és 2 vezérlő érintkező.
Az R2 feszültsége nem teljesen lineáris; zajos lesz. A szűrő kiszűréséhez a kondenzátorokat az elválasztó áramkör mindegyik ellenállásán helyezzük el, az ábra szerint.
Az ATMEGA8-ban analóg bemenetet adhatunk a PORTC NÉGY csatornájának bármelyikéhez, mindegy, hogy melyik csatornát választjuk, mivel mindegyik egyforma. A PORTC 0 vagy PIN0 csatornáját választjuk. Az ATMEGA8-ban az ADC 10 bites felbontású, így a vezérlő képes érzékelni a Vref / 2 ^ 10 minimális változását, így ha a referenciafeszültség 5V, akkor minden 5/2 ^ 10 = 5mV esetén digitális kimeneti növekményt kapunk. Tehát a bemenet minden 5mV-os növekményéhez egyet kell növelni a digitális kimeneten.
Most meg kell állítanunk az ADC nyilvántartását a következő feltételek alapján:
1. Először engedélyeznünk kell az ADC funkciót az ADC-ben.
2. Itt megkapjuk a maximális bemeneti feszültséget az ADC átalakításához + 5V. Tehát beállíthatjuk az ADC maximális értékét vagy referenciáját 5 V-ra.
3. A vezérlő rendelkezik egy trigger konverziós funkcióval, ami azt jelenti, hogy az ADC átalakítás csak egy külső trigger után történik meg, mivel nem akarjuk, hogy beállítsuk a regisztereket az ADC számára, hogy folyamatos szabadon futó üzemmódban működjenek.
4. Bármely ADC esetében az átalakítás gyakorisága (analóg érték digitális értékre) és a digitális kimenet pontossága fordítottan arányos. Tehát a digitális kimenet pontossága érdekében kisebb frekvenciát kell választanunk. Normál ADC óra esetén az ADC előértékét maximális értékre állítjuk (2). Mivel 1MHZ belső órát használunk, az ADC órája (1000000/2) lesz.
Ez az egyetlen négy dolog, amit tudnunk kell az ADC használatának megkezdéséhez.
A fenti négy jellemzőt két regiszter állítja be,
PIROS (ADEN): Ezt a bitet be kell állítani az ATMEGA ADC szolgáltatásának engedélyezéséhez.
KÉK (REFS1, REFS0): Ez a két bit használható a referenciafeszültség (vagy a maximális bemeneti feszültség megadására). Mivel 5V referenciafeszültséget akarunk elérni, a REFS0 értéket a táblázatnak kell beállítania.
SÁRGA (ADFR): Ezt a bitet be kell állítani, hogy az ADC folyamatosan fusson (szabadon futó mód).
PINK (MUX0-MUX3): Ez a négy bit a bemeneti csatorna megmondására szolgál. Mivel az ADC0 vagy PIN0 kódot fogjuk használni, nem kell biteket beállítanunk, mint a táblázat.
BROWN (ADPS0-ADPS2): ez a három bit az ADC preskalarjának beállítására szolgál. Mivel 2-es előskálát használunk, egy bitet kell beállítanunk.
SÖTÉT ZÖLD (ADSC): ez a bit beállítva az ADC számára az átalakítás megkezdéséhez. Ez a bit letiltható a programban, ha le kell állítanunk az átalakítást.
Tehát az LDR ellenállásával a 16x2 LCD-képernyőn a LUX grafikonhoz illeszthetjük a fényerősség eléréséhez.