- Необходими материали:
- Работа на токов сензор ACS712:
- Електрическа схема:
- Симулация:
- Програмиране на PIC микроконтролера:
- Работа:
Измерването на напрежението и тока винаги ще бъде полезно, докато правите или отстранявате грешки в която и да е електрическа система. В този проект ще направим свой собствен цифров амперметър с помощта на микроконтролер PIC16F877A и токов сензор ACS712-5A. Този проект може да измерва както променлив, така и постоянен ток с диапазон от 0-30А с точност до 0,3А. С няколко модификации на кода можете също да използвате тази схема за измерване до 30А. Така че нека започнем !!!
Необходими материали:
- PIC16F877A
- 7805 Регулатор на напрежение
- ACS712 токов сензор
- 16 * 2 LCD дисплей
- Разклонителна кутия и товар (Само за тестване)
- Свързващи проводници
- Кондензатори
- Макет.
- Захранване - 12V
Работа на токов сензор ACS712:
Преди да започнем да изграждаме проекта, за нас е много важно да разберем работата на сензора за ток ACS712, тъй като той е ключовият компонент на проекта. Измерването на ток, особено на променлив ток, винаги е трудна задача поради шума, съчетан с него, неправилен проблем с изолацията и т.н. Но с помощта на този модул ACS712, проектиран от Allegro, стана много по-лесно.
Този модул работи на принципа на Хол-ефект, който е открит от д-р Едуин Хол. Съгласно неговия принцип, когато проводникът, носещ ток, се постави в магнитно поле, се създава напрежение през ръбовете му перпендикулярно на посоките както на тока, така и на магнитното поле. Нека не навлизаме прекалено дълбоко в концепцията, а просто казано, използваме сензор на Хол за измерване на магнитното поле около токов проводник. Това измерване ще бъде изразено в миливолтове, които нарекохме като напрежение на залата. Това измерено напрежение на Хол е пропорционално на тока, който тече през проводника.
Основното предимство на използването на ACS712 токов сензор е, че може да измерва както променлив, така и постоянен ток и също така осигурява изолация между товара (AC / DC товар) и измервателния блок (част от микроконтролера). Както е показано на снимката, имаме три щифта на модула, които са съответно Vcc, Vout и Ground.
Клемният блок с 2 пина е мястото, където трябва да се премине токът, носещ проводника. Модулът работи на + 5V, така че Vcc трябва да се захранва от 5V и земята трябва да бъде свързана към земята на системата. Vout щифтът има изместено напрежение от 2500mV, което означава, че когато през проводника няма ток, тогава изходното напрежение ще бъде 2500mV и когато протичащият ток е положителен, напрежението ще бъде по-голямо от 2500mV и когато протичащият ток е отрицателен, напрежението ще бъде по-малко от 2500mV.
Ще използваме ADC модула на микроконтролера PIC, за да отчитаме изходното напрежение (Vout) на модула, което ще бъде 512 (2500mV), когато няма ток, преминаващ през проводника. Тази стойност ще намалява, докато токът протича в отрицателна посока, и ще се увеличава, докато токът тече в положителна посока. Таблицата по-долу ще ви помогне да разберете как изходното напрежение и ADC стойността варират в зависимост от тока, преминаващ през проводника.
Тези стойности бяха изчислени въз основа на информацията, дадена в листа с данни на ACS712. Можете също да ги изчислите, като използвате формулите по-долу:
Vout напрежение (mV) = (ADC стойност / 1023) * 5000 ток през проводника (A) = (Vout (mv) -2500) / 185
Сега, след като знаем как работи сензорът ACS712 и какво можем да очакваме от него. Нека да преминем към електрическата схема.
Електрическа схема:
Пълната електрическа схема на този проект за цифров амперметър е показана на изображението по-долу.
Пълната схема на цифровия токомер работи на + 5V, което се регулира от регулатор на напрежение 7805. Използвали сме 16X2 LCD за показване на стойността на тока. Изходният щифт на текущия сензор (Vout) е свързан към 7 -ия щифт на PIC, който е AN4 за отчитане на аналоговото напрежение.
По-нататък пиновата връзка за PIC е показана в таблицата по-долу
S.No: |
ПИН номер |
Име на ПИН |
Свързан с |
1 |
21. |
RD2 |
RS на LCD |
2 |
22. |
RD3 |
E на LCD |
3 |
27 |
RD4 |
D4 на LCD |
4 |
28 |
RD5 |
D5 на LCD |
5 |
29 |
RD6 |
D6 на LCD |
6 |
30 |
RD7 |
D7 на LCD |
7 |
7 |
AN4 |
Изказване на настоящия Сеснор |
Можете да изградите тази схема на цифров амперметър върху макет или да използвате перфектна дъска. Ако сте следвали уроците за PIC, можете също да използвате повторно хардуера, който използвахме за обучение на PIC микроконтролери. Тук използвахме същата перфектна платка, която сме изградили за LED мигане с PIC микроконтролер, както е показано по-долу:
Забележка: Не е задължително да изграждате тази платка, можете просто да следвате схемата на веригата и да изградите верига на дъска за хляб и да използвате всеки комплект самосвали, за да изхвърлите програмата си в PIC Microcontroller.
Симулация:
Тази верига на текущия измервателен уред също може да бъде симулирана с помощта на Proteus, преди действително да продължите с вашия хардуер. Задайте шестнадесетичния файл на кода, даден в края на този урок и кликнете върху бутона за възпроизвеждане. Трябва да можете да забележите тока на LCD дисплея. Използвах лампа като променлив ток, можете да променяте вътрешното съпротивление на лампата, като щракнете върху нея, за да промените тока, протичащ през нея.
Както можете да видите на горната снимка, амперметърът показва действителния ток, протичащ през лампата, който е около 3.52 A, а LCD дисплеят показва, че токът е около 3.6A. Въпреки това в практически случай може да получим грешка до 0,2А. Стойността на ADC и напрежението в (mV) също са показани на LCD за ваше разбиране.
Програмиране на PIC микроконтролера:
Както беше казано по-рано, пълният код може да бъде намерен в края на тази статия. Кодът се обяснява само с редове за коментари и просто включва концепцията за свързване на LCD с PIC микроконтролер и използване на ADC модул в PIC Microcontroller, което вече разгледахме в предишните ни уроци за обучение на PIC микроконтролери.
Стойността, отчетена от сензора, няма да бъде точна, тъй като токът се променя и също е подложен на шум. Следователно четем стойността на ADC за 20 пъти и я осредняваме, за да получим подходящата текуща стойност, както е показано в кода по-долу.
Използвахме същите формули, които бяха обяснени по-горе, за изчисляване на напрежението и текущата стойност.
for (int i = 0; i <20; i ++) // Прочетена стойност за 20 пъти {adc = 0; adc = ADC_Read (4); // Четене на напрежение ADC = adc * 4.8828; // Изчисляваме напрежението, ако (Voltage> = 2500) // Ако токът е положителен Amps + = ((Voltage-2500) /18.5); else if (Voltage <= 2500) // Ако токът е отрицателен Amps + = ((2500-Voltage) /18.5); } Усилватели / = 20; // Средно стойността, прочетена за 20 пъти
Тъй като този проект може да чете и променлив ток, текущият поток също ще бъде отрицателен и положителен. Това е стойността на изходното напрежение ще бъде над и под 2500mV. Следователно, както е показано по-долу, ние променяме формулите за отрицателен и положителен ток, така че да не получим отрицателна стойност.
if (Voltage> = 2500) // Ако токът е положителен Amps + = ((Voltage-2500) /18.5); else if (Voltage <= 2500) // Ако токът е отрицателен Amps + = ((2500-Voltage) /18.5);
Използване на 30A токов сензор:
Ако трябва да измерите тока над 5A, можете просто да си купите модул ACS712-30A и да го свържете по същия начин и да промените долния ред код, като замените 18,5 с 0,66, както е показано по-долу:
if (Voltage> = 2500) // Ако токът е положителен Amps + = ((Voltage-2500) /0.66); else if (Voltage <= 2500) // Ако токът е отрицателен Amps + = ((2500-Voltage) /0.66);
Също така проверете 100mA амперметър с помощта на AVR микроконтролер, ако искате да измервате слаб ток.
Работа:
След като програмирате микроконтролера PIC и подготвите своя хардуер. Просто включете товара и вашия PIC микроконтролер, трябва да можете да видите тока, преминаващ през проводника, показан на вашия LCD екран.
ЗАБЕЛЕЖКА: АКО използвате модул ASC7125A, уверете се, че вашият товар не консумира повече от 5А, използвайте и проводници с по-голям габарит за проводници за ток.
Цялостната работа на проекта за амперметър, базиран на микроконтролер, е показана във видеото по-долу. Надявам се, че сте задействали проекта и сте се радвали да го направите. Ако имате някакви съмнения, можете да ги напишете в раздела за коментари по-долу или да ги публикувате на нашите форуми.