- Potřebné materiály:
- Práce s proudovým senzorem ACS712:
- Kruhový diagram:
- Simulace:
- Programování mikrokontroléru PIC:
- Pracovní:
Měření napětí a proudu bude vždy užitečné při vytváření nebo ladění jakéhokoli elektrického systému. V tomto projektu vyrobíme vlastní digitální ampérmetr využívající mikrokontrolér PIC16F877A a proudový senzor ACS712-5A. Tento projekt může měřit střídavý i stejnosměrný proud v rozsahu 0-30A s přesností 0,3A. S několika úpravami v kódu můžete tento obvod také použít k měření až 30A. Pojďme tedy začít !!!
Potřebné materiály:
- PIC16F877A
- Regulátor napětí 7805
- Proudový senzor ACS712
- 16 * 2 LCD displej
- Spojovací skříň a zátěž (Pouze pro testování)
- Připojovací vodiče
- Kondenzátory
- Nepájivá deska.
- Napájení - 12V
Práce s proudovým senzorem ACS712:
Než začneme stavět projekt, je velmi důležité pochopit fungování proudového senzoru ACS712, který je klíčovou součástí projektu. Měření proudu, zejména proudu střídavého, je vždy obtížný úkol kvůli šumu spojenému s nesprávným problémem s izolací atd. Ale s pomocí tohoto modulu ACS712, který byl navržen firmou Allegro, je mnohem jednodušší.
Tento modul pracuje na principu Hallova efektu, který objevil Dr. Edwin Hall. Podle jeho principu, když je vodič nesoucí proud umístěn do magnetického pole, je na jeho okrajích generováno napětí kolmé ke směrům proudu i magnetického pole. Pojďme se příliš ponořit do konceptu, ale jednoduše řečeno použijeme Hallův senzor k měření magnetického pole kolem vodiče nesoucího proud. Toto měření bude vyjádřeno v milivoltech, které jsme nazvali halovým napětím. Toto naměřené Hallovo napětí je úměrné proudu, který protékal vodičem.
Hlavní výhodou použití snímače proudu ACS712 je to, že dokáže měřit střídavý i stejnosměrný proud a také poskytuje izolaci mezi zátěží (zátěž AC / DC) a měřící jednotkou (část mikrokontroléru). Jak je znázorněno na obrázku, na modulu máme tři piny, které jsou Vcc, Vout a Ground.
2kolíková svorkovnice je místem, kde by měl procházet vodič pro vedení proudu. Modul pracuje na + 5 V, takže Vcc by měl být napájen 5 V a zem by měla být připojena k uzemnění systému. Pin Vout má offsetové napětí 2 500 mV, což znamená, že pokud vodičem neprotéká žádný proud, bude výstupní napětí 2 500 mV a pokud bude proud kladný, bude napětí větší než 2 500 mV a pokud bude proud záporný, napětí bude menší než 2 500 mV.
Budeme používat modul ADC mikrokontroléru PIC ke čtení výstupního napětí (Vout) modulu, které bude 512 (2 500 mV), když vodičem neprotéká žádný proud. Tato hodnota se sníží, když bude proud proudit v záporném směru, a bude se zvyšovat, jak bude proud proudit v kladném směru. Níže uvedená tabulka vám pomůže pochopit, jak se výstupní napětí a hodnota ADC liší podle proudu protékajícího vodičem.
Tyto hodnoty byly vypočítány na základě informací uvedených v datovém listu ACS712. Můžete je také vypočítat pomocí následujících vzorců:
Napětí Vout (mV) = (Hodnota ADC / 1023) * 5000 Proud vodičem (A) = (Vout (mv) -2500) / 185
Nyní víme, jak senzor ACS712 funguje a co od něj můžeme očekávat. Pojďme k schématu zapojení.
Kruhový diagram:
Kompletní schéma zapojení tohoto projektu digitálního ampérmetru je uvedeno na obrázku níže.
Celý obvod digitálního měřiče proudu pracuje na + 5 V, který je regulován regulátorem napětí 7805. K zobrazení hodnoty proudu jsme použili LCD 16X2. Výstupní pin aktuálního senzoru (Vout) je připojen k 7 -tého kolíku PIC, který je AN4 číst analogové napětí.
Dále je v následující tabulce uvedeno pinové připojení pro PIC
S.No: |
Číslo PIN |
Název PIN |
Připojen k |
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 |
Vout of Current Sesnor |
Tento obvod digitálního ampérmetru můžete postavit na prkénku nebo použít desku perf. Pokud jste sledovali výukové programy PIC, můžete také znovu použít hardware, který jsme použili pro učení mikrokontrolérů PIC. Zde jsme použili stejnou desku perf, kterou jsme postavili pro LED blikání s mikrokontrolérem PIC, jak je znázorněno níže:
Poznámka: Sestavení této desky není povinné, můžete jednoduše postupovat podle schématu zapojení a sestavit svůj obvod na desce s chlebem a použít jakoukoli sklápěcí soupravu k výpisu vašeho programu do mikrokontroléru PIC.
Simulace:
Tento obvod měřiče proudu lze také simulovat pomocí programu Proteus, než skutečně začnete s hardwarem. Přiřaďte hexadecimální soubor kódu uvedeného na konci tohoto tutoriálu a klikněte na tlačítko Přehrát. Měli byste být schopni si všimnout proudu na LCD displeji. Použil jsem lampu jako zátěž střídavého proudu, můžete změnit vnitřní odpor lampy kliknutím na ni, abyste změnili proud protékající lampou.
Jak vidíte na obrázku výše, ampérmetr zobrazuje skutečný proud protékající lampou, který je kolem 3,52 A, a LCD zobrazuje proud kolem 3,6A. V praktickém případě bychom však mohli dostat Chyba až 0,2A. Hodnota ADC a napětí v (mV) jsou pro lepší pochopení zobrazeny také na LCD displeji.
Programování mikrokontroléru PIC:
Jak již bylo řečeno, kompletní kód najdete na konci tohoto článku. Tento kód je vysvětlen pomocí komentářových řádků a zahrnuje pouze koncept propojení LCD s PIC mikrokontrolérem a použití modulu ADC v PIC mikrokontroléru, kterému jsme se již zabývali v našich předchozích výukových programech učení PIC mikrokontrolérů.
Hodnota načtená ze snímače nebude přesná, protože proud se střídá a je také vystaven šumu. Čteme tedy hodnotu ADC 20krát a průměrujeme ji, abychom získali příslušnou aktuální hodnotu, jak je uvedeno v níže uvedeném kódu.
Pro výpočet hodnoty napětí a proudu jsme použili stejné vzorce, které byly vysvětleny výše.
for (int i = 0; i <20; i ++) // Číst hodnotu 20krát {adc = 0; adc = ADC_Read (4); // Číst napětí ADC = adc * 4,8828; // Vypočítejte napětí if (Voltage> = 2500) // Pokud je proud kladný Amps + = ((Voltage-2500) /18,5); else if (Voltage <= 2500) // Pokud je proud záporný Amps + = ((2500-Voltage) /18,5); } Zesilovače / = 20; // Průměrná hodnota, která byla načtena 20krát
Vzhledem k tomu, že tento projekt umí také číst střídavý proud, bude proud také záporný a kladný. To je hodnota výstupního napětí bude nad a pod 2500mV. Proto, jak je znázorněno níže, měníme vzorce pro záporný a kladný proud, abychom nezískali zápornou hodnotu.
if (Voltage> = 2500) // Pokud je proud kladný Amps + = ((Voltage-2500) / 18,5); else if (Voltage <= 2500) // Pokud je proud záporný Amps + = ((2500-Voltage) /18,5);
Použití proudového senzoru 30A:
Pokud potřebujete měřit proud vyšší než 5A, můžete si jednoduše koupit modul ACS712-30A a propojit jej stejným způsobem a změnit řádek níže tak, že nahradíte 18,5 0,66, jak je uvedeno níže:
if (Voltage> = 2500) // Pokud je proud kladný Amps + = ((Voltage-2500) / 0,66); else if (Voltage <= 2500) // Pokud je proud záporný Amps + = ((2500-Voltage) /0,66);
Zkontrolujte také ampérmetr 100 mA pomocí mikrokontroléru AVR, pokud chcete měřit nízký proud.
Pracovní:
Jakmile naprogramujete mikrokontrolér PIC a připravíte hardware. Jednoduše zapněte zátěž a váš mikrokontrolér PIC, měli byste vidět proud procházející vodičem zobrazený na obrazovce LCD.
POZNÁMKA: POKUD používáte modul ASC7125A, ujistěte se, že vaše zátěž nespotřebovává více než 5A, použijte také vodiče vyššího průřezu pro vodiče nesoucí proud.
Kompletní fungování projektu ampérmetru založeného na mikrokontroléru PIC je uvedeno na videu níže. Doufám, že projekt fungoval a bavilo vás ho dělat. Pokud máte pochybnosti, můžete je napsat do sekce komentářů níže nebo zveřejnit na našem fóru.