У овом пројекту ћемо направити амперметар ниског домета помоћу АТМЕГА8 микроконтролера. У АТМЕГА8 користимо 10-битну АДЦ (Аналог у дигиталну конверзију) функцију да бисмо то урадили. Иако имамо неколико других начина за добијање тренутног параметра из кола, користићемо отпорну методу испуштања, јер је то најлакши и најједноставнији начин за добијање тренутног параметра.
У овој методи ћемо пропустити струју у којој је требало мерити мали отпор, чиме ћемо добити пад преко тог отпора који је повезан са струјом која кроз њега тече. Овај напон на отпору се доводи на АТМЕГА8 за АДЦ конверзију. Уз то ћемо добити струју у дигиталној вредности која ће бити приказана на ЛЦД екрану 16к2.
За то ћемо користити коло делитеља напона. Напајаћемо струју кроз комплетну грану отпора. Средња тачка гране узима се за мерење. Када се тренутне промене промене отпора падају линеарно према њему. Дакле, са овим имамо напон који се мења линеарно.
Овде је сада важно напоменути да је улаз који контролер узима за АДЦ конверзију низак од 50µАмп. Овај ефекат оптерећења дјелитеља напона заснован на отпору је важан јер струја повучена из Воут дјелитеља напона повећава проценат повећања процента грешке, за сада не морамо бринути о ефекту оптерећења.
Компоненте потребне
Хардвер: АТМЕГА8, напајање (5в), АВР-ИСП ПРОГРАМЕР, ЈХД_162АЛЦД (16 * 2ЛЦД), кондензатор 100уФ, кондензатор 100нФ (4 комада), отпорник 100Ω (7 комада) или 2,5Ω (2 комада), отпорник 100КΩ.
Софтвер: Атмел студио 6.1, прогисп или фласх магиц.
Шема и радно објашњење
Напон на Р2 и Р4 није потпуно линеаран; биће то бучно. Да би филтрирали буку, кондензатори се постављају преко сваког отпорника у преградном колу, као што је приказано на слици.
У АТМЕГА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, морамо поставити један бит.
ТАМНО ЗЕЛЕНО (АДСЦ): овај бит је постављен да АДЦ започне конверзију. Овај бит се може онемогућити у програму када треба да зауставимо конверзију.