У овом упутству ћемо повезати ФЛЕКС сензор са АТМЕГА8 микроконтролером. У АТМЕГА8 користимо 10-битну АДЦ (Аналог у дигиталну конверзију) функцију да бисмо обавили овај посао. Сада АДЦ у АТМЕГА не може да прими улаз већи од + 5В.
Шта је Флек сензор?
ФЛЕКС Сензор је трансдуктор која мијења отпор када се променила облик. То је приказано на доњој слици.
Овај сензор се користи за осећање промена линеарности. Дакле, када је ФЛЕКС сензор савијен, отпор се драстично савија. Ово је приказано на доњој слици.
Сада ћемо за претварање ове промене отпора на промену напона користити коло делитеља напона. У овој отпорној мрежи имамо један стални отпор и други променљиви отпор. Као што је приказано на доњој слици, Р1 је овде стални отпор, а Р2 је ФЛЕКС сензор који делује као отпор. Средња тачка гране узима се за мерење. Када се отпор Р2 промени, Воут се с њим линеарно мења. Дакле, са овим имамо напон који се мења линеарно.
Овде је сада важно напоменути да је улаз који контролер узима за АДЦ конверзију низак од 50µАмп. Овај ефекат оптерећења дјелитеља напона заснован на отпору је важан јер струја повучена из Воут дјелитеља напона повећава проценат грешке, за сада не морамо бринути о ефекту оптерећења.
Узећемо два отпорника и формирати преградни круг тако да за 25Волтс Вин, добијемо 5Волт Воут. Дакле, све што треба да урадимо је да у програму помножимо вредност Воут са „5“ да бисмо добили стварни улазни напон.
Компоненте потребне
ОПРЕМА: АТМЕГА8, напајање (5в), АВР-ИСП ПРОГРАМЕР, ЈХД_162АЛЦД (16к2ЛЦД), кондензатор 100уФ, кондензатор 100нФ (5 комада), отпорник 100КΩ.
СОФТВЕР: Атмел студио 6.1, прогисп или фласх магија.
Шема и радно објашњење
У колу ПОРТД од АТМЕГА8 повезан је на порт за пренос података ЛЦД. На ЛЦД екрану од 16к2 има 16 пинова ако постоји позадинско светло, а ако нема позадинског светла, биће 14 пинова. Може се напајати или оставити игле задњег светла. Сада у 14 пинова постоји 8 пинова за податке (7-14 или Д0-Д7), 2 пина за напајање (1 и 2 или ВСС & ВДД или гнд & + 5в), трећи пин за контролу контраста (ВЕЕ - контролише колико дебели знакови треба да буду приказано) и 3 контролна пина (РС & РВ & Е).
У кругу можете приметити да сам узео само два контролна клина. Контрастни бит и РЕАД / ВРИТЕ се не користе често, тако да могу бити кратко спојени на масу. Ово ЛЦД поставља у највећи контраст и режим читања. Само треба да контролишемо ЕНАБЛЕ и РС пинове да би у складу са тим слали знакове и податке.
ЛЦД везе са АТмега8 су следеће:
ПИН1 или ВСС за уземљење
ПИН2 или ВДД или ВЦЦ до + 5в снаге
ПИН3 или ВЕЕ за уземљење (даје максимални контраст најбољи за почетнике)
ПИН4 или РС (Избор регистра) на ПБ0 од уЦ
ПИН5 или РВ (читање / писање) на земљу (ставља ЛЦД у режим читања олакшава комуникацију за корисника)
ПИН6 или Е (Омогући) до ПБ1 од уЦ
ПИН7 или Д0 до ПД0 од уЦ
ПИН8 или Д1 до ПД1 од уЦ
ПИН9 или Д2 до ПД2 од уЦ
ПИН10 или Д3 до ПД3 од уЦ
ПИН11 или Д4 до Д4 од уЦ
ПИН12 или Д5 до ПД5 од уЦ
ПИН13 или Д6 до ПД6 од уЦ
ПИН14 или Д7 до ПД7 од уЦ
У кругу можете видети да смо користили 8- битну комуникацију (Д0-Д7), међутим ово није обавезно, можемо користити 4-битну комуникацију (Д4-Д7), али са 4-битним комуникацијским програмом постаје помало сложен, па смо управо ишли са 8-битним комуникација. (Такође погледајте ово упутство: 16к2 ЛЦД повезивање са АВР микроконтролером)
Тако из пуког посматрања из горње табеле повезујемо 10 пинова ЛЦД-а на контролер у којем су 8 пинова пинови за податке, а 2 пина за контролу.
Напон на Р2 није потпуно линеаран; биће то бучно. Да би се филтрирао, кондензатори се постављају преко сваког отпорника у преградном колу, као што је приказано на слици.
Овде је 1К пот за подешавање тачности АДЦ-а. Сада да разговарамо о АДЦ-у АТМЕГА8.
У АТМЕГА8 можемо дати аналогни улаз на било који од ЧЕТИРИ канала ПОРТЦ-а, није битно који ћемо канал одабрати јер су сви исти, изабраћемо канал 0 или ПИН0 ПОРТЦ-а.
У АТМЕГА8, АДЦ је 10-битне резолуције, тако да контролер може да детектује минималну промену Вреф / 2 ^ 10, па ако је референтни напон 5В, добијамо дигитални прираштај излаза за сваких 5/2 ^ 10 = 5мВ. Дакле, за сваких 5мВ прираста на улазу имат ћемо прираштај од једног на дигиталном излазу.
Сада морамо да поставимо регистар АДЦ на основу следећих услова, 1. Пре свега морамо омогућити функцију АДЦ у АДЦ-у.
2. Овде ћемо добити максимални улазни напон за АДЦ конверзију од + 5В. Тако можемо подесити максималну вредност или референцу АДЦ на 5В.
3. Контролер има функцију конверзије окидача што значи да се АДЦ конверзија одвија само након спољног окидача, јер не желимо да морамо да подесимо регистре да АДЦ ради у континуираном режиму слободног рада.
4. За било који АДЦ, учесталост конверзије (аналогна вредност у дигиталну вредност) и тачност дигиталног излаза су обрнуто пропорционалне. Дакле, за бољу тачност дигиталног излаза морамо одабрати мању фреквенцију. За нормални АДЦ сат подешавамо претпродају АДЦ-а на максималну вредност (2). Будући да користимо интерни такт од 1 МХз, АДЦ ће бити (1000000/2).
Ово су једине четири ствари које морамо знати да бисмо започели са АДЦ-ом.
Све горе наведене четири карактеристике постављају два регистра:
ЦРВЕНА (АДЕН): Овај бит мора бити подешен да омогући АДЦ функцију АТМЕГА-е.
ПЛАВА (РЕФС1, РЕФС0): Ова два бита се користе за подешавање референтног напона (или максималног улазног напона који ћемо дати). Будући да желимо да имамо референтни напон 5В, табелу треба поставити РЕФС0.
ЖУТИ (АДФР): Овај бит мора бити подешен да би се АДЦ непрекидно изводио (режим слободног рада).
ПИНК (МУКС0-МУКС3): Ова четири бита служе за казивање улазног канала. Будући да ћемо користити АДЦ0 или ПИН0, не морамо постављати ниједан бит, као у табели.
СМЕЂА (АДПС0-АДПС2): ова три бита служе за подешавање предскалара за АДЦ. С обзиром да користимо прескалар 2, морамо поставити један бит.
ТАМНО ЗЕЛЕНО (АДСЦ): овај бит је постављен да АДЦ започне конверзију. Овај бит се може онемогућити у програму када треба да зауставимо конверзију.
Повезивање ФЛЕКС сензора са АТмега8 објашњено је корак по корак у Ц коду датом у наставку.