- Nepieciešamie materiāli:
- Strāvas sensora ACS712 darbība:
- Ķēdes shēma:
- Modelēšana:
- PIC mikrokontrollera programmēšana:
- Darbs:
Sprieguma un strāvas mērīšana vienmēr būs noderīga, veicot vai atkļūdojot jebkuru elektrisko sistēmu. Šajā projektā mēs gatavosim izveidot savu digitālo ampermetru, izmantojot PIC16F877A mikrokontrolleru un strāvas sensoru ACS712-5A. Šis projekts var izmērīt gan maiņstrāvu, gan līdzstrāvu ar diapazonu 0-30A ar precizitāti 0,3A. Ar nelielu koda modifikāciju jūs varat arī izmantot šo ķēdi, lai mērītu līdz 30A. Tāpēc ļaujiet mums sākt darbu !!!
Nepieciešamie materiāli:
- PIC16F877A
- 7805 Sprieguma regulators
- ACS712 strāvas sensors
- 16 * 2 LCD displejs
- Sadales kārba un slodze (tikai testēšanai)
- Savienojošie vadi
- Kondensatori
- Maizes dēlis.
- Barošana - 12V
Strāvas sensora ACS712 darbība:
Pirms mēs sākam būvēt projektu, mums ir ļoti svarīgi saprast ACS712 strāvas sensora darbību, jo tas ir galvenā projekta sastāvdaļa. Pašreizējās strāvas mērīšana, īpaši maiņstrāvas strāva, vienmēr ir grūts uzdevums, jo troksnis ir saistīts ar nepareizu izolācijas problēmu utt. Bet, izmantojot šo Allegro lietojumprogrammas ACS712 moduli, ir kļuvis daudz vieglāk.
Šis modulis darbojas pēc Hall-efekta principa, kuru atklāja doktors Edvīns Hols. Saskaņā ar viņa principu, kad strāvas nesējs tiek ievietots magnētiskajā laukā, tā malās rodas spriegums, kas ir perpendikulārs gan strāvas, gan magnētiskā lauka virzieniem. Neiedziļināsimies jēdzienā, bet, vienkārši sakot, mēs izmantojam zāles sensoru, lai izmērītu magnētisko lauku ap strāvas vadītāju. Šis mērījums tiks izteikts milivoltos, kurus mēs saucām par zāles spriegumu. Šis izmērītais zāles spriegums ir proporcionāls strāvai, kas plūda caur vadītāju.
Galvenā ACS712 strāvas sensora izmantošanas priekšrocība ir tā, ka tā var izmērīt gan maiņstrāvu, gan līdzstrāvu, kā arī nodrošina izolāciju starp slodzi (maiņstrāvas / līdzstrāvas slodzi) un mērvienību (mikrokontrollera daļu). Kā parādīts attēlā, modulī ir trīs tapas, kas ir attiecīgi Vcc, Vout un Ground.
2 kontaktu spaiļu bloks ir vieta, kur jāiet caur strāvas vadu. Modulis darbojas ar + 5 V, tāpēc Vcc vajadzētu darbināt ar 5 V, un zemei jābūt savienotai ar sistēmas Zemi. Vout tapas nobīdes spriegums ir 2500mV, tas nozīmē, ja caur vadu neplūst strāva, tad izejas spriegums būs 2500mV un, ja plūstošā strāva ir pozitīva, spriegums būs lielāks par 2500mV un, kad plūstošā strāva ir negatīva, spriegums būs mazāks par 2500mV.
Mēs izmantosim PIC mikrokontrollera ADC moduli, lai nolasītu moduļa izejas spriegumu (Vout), kas būs 512 (2500mV), ja caur vadu neplūst strāva. Šī vērtība samazināsies, strāvai plūstot negatīvā virzienā, un palielināsies, strāvai plūstot pozitīvā virzienā. Zemāk esošā tabula palīdzēs jums saprast, kā izejas spriegums un ADC vērtība mainās atkarībā no strāvas, kas plūst caur vadu.
Šīs vērtības tika aprēķinātas, pamatojoties uz ACS712 datu lapā sniegto informāciju. Varat arī tos aprēķināt, izmantojot šādas formulas:
Vout spriegums (mV) = (ADC vērtība / 1023) * 5000 strāva caur vadu (A) = (Vout (mv) -2500) / 185
Tagad, kad mēs zinām, kā darbojas ACS712 sensors un ko mēs no tā varētu sagaidīt. Pārejam uz ķēdes shēmu.
Ķēdes shēma:
Pilna šī digitālā ampērmetra projekta shēma ir parādīta zemāk esošajā attēlā.
Pilnīga digitālā strāvas mērītāja ķēde darbojas ar + 5V, ko regulē 7805 sprieguma regulators. Mēs esam izmantojuši 16X2 LCD, lai parādītu strāvas vērtību. Izejas pin no strāvas sensora (Vout) ir savienots ar 7. th pin no PIC, kas ir AN4 lasīt Analog spriegumu.
Tālāk tabulā parādīts PIC kontaktu savienojums
S.Nē: |
PIN kods |
Piespraudes nosaukums |
Savienots ar |
1 |
21 |
RD2 |
LCD LCD |
2 |
22 |
RD3 |
LCD ekrāns |
3 |
27 |
RD4 |
LCD D4 |
4 |
28 |
RD5 |
LCD D5 |
5 |
29 |
RD6 |
LCD D6 |
6 |
30 |
RD7 |
LCD D7 |
7 |
7 |
AN4 |
Vout of Current Sesnor |
Jūs varat izveidot šo digitālo ampērmetru ķēdi uz maizes dēļa vai izmantot perfu dēli. Ja esat sekojis PIC apmācībām, varat arī atkārtoti izmantot aparatūru, kuru izmantojām PIC mikrokontrolleru apgūšanai. Šeit mēs izmantojām to pašu perf Board, kuru esam uzbūvējuši LED mirgošanai ar PIC mikrokontrolleru, kā parādīts zemāk:
Piezīme. Jums nav obligāti jāveido šī dēlis, vienkārši ievērojiet shēmu un izveidojiet ķēdi uz maizes dēļa un izmantojiet jebkuru pašizgāzēju komplektu, lai savu programmu ievietotu PIC mikrokontrollerī.
Modelēšana:
Šo strāvas skaitītāja ķēdi var arī simulēt, izmantojot Proteus, pirms jūs faktiski turpināt aparatūru. Piešķiriet šīs apmācības beigās norādītā koda hex failu un noklikšķiniet uz atskaņošanas pogas. Jums vajadzētu būt iespējai pamanīt strāvu LCD displejā. Esmu izmantojis lampu kā maiņstrāvas slodzi. Varat mainīt lampas iekšējo pretestību, noklikšķinot uz tās, lai mainītu caur to plūstošo strāvu.
Kā redzams iepriekš redzamajā attēlā, ampērmetrs parāda faktisko strāvu, kas plūst caur lampu, kas ir aptuveni 3,52 A, un LCD parāda strāvu aptuveni 3,6 A. Tomēr praktiskā gadījumā mēs varam iegūt kļūdu līdz 0,2A. ADC vērtība un spriegums (mV) tiek arī parādīti LCD, lai jūs saprastu.
PIC mikrokontrollera programmēšana:
Kā stāstīts iepriekš, pilns kods ir atrodams šī raksta beigās. Kods ir pats izskaidrots ar komentāru rindiņām, un tas vienkārši ietver LCD saskarnes un PIC mikrokontrollera saskarnes jēdzienu un ADC moduļa izmantošanu PIC mikrokontrollerī, kuru mēs jau esam aplūkojuši mūsu iepriekšējās PIC mikrokontrolleru apguves pamācībās.
No sensora nolasītā vērtība nebūs precīza, jo strāva mainās un ir pakļauta arī troksnim. Tādējādi mēs lasījām ADC vērtību 20 reizes un vidēji to, lai iegūtu atbilstošu pašreizējo vērtību, kā parādīts zemāk esošajā kodā.
Mēs izmantojām tās pašas formulas, kas tika paskaidrotas iepriekš, lai aprēķinātu spriegumu un strāvas vērtību.
for (int i = 0; i <20; i ++) // 20 reizes nolasītā vērtība {adc = 0; adc = ADC_Read (4); // Lasīt ADC spriegumu = adc * 4,8828; // Aprēķiniet spriegumu, ja (Spriegums> = 2500) // Ja strāva ir pozitīva Ampri + = ((Spriegums-2500) / 18,5); cits, ja (Spriegums <= 2500) // Ja strāva ir negatīva Amps + = ((2500 spriegums) / 18,5); } Ampēri / = 20; // Vidējā vērtība, kas tika lasīta 20 reizes
Tā kā šis projekts var nolasīt arī maiņstrāvu, pašreizējā plūsma būs arī negatīva un pozitīva. Tā ir izejas sprieguma vērtība virs un zem 2500mV. Tādējādi, kā parādīts zemāk, mēs mainām negatīvās un pozitīvās strāvas formulas, lai mēs negūtu negatīvu vērtību.
ja (Spriegums> = 2500) // Ja strāva ir pozitīva Amps + = ((Spriegums-2500) / 18,5); cits, ja (Spriegums <= 2500) // Ja strāva ir negatīva Amps + = ((2500 spriegums) / 18,5);
Izmantojot 30A strāvas sensoru:
Ja jums jāmēra strāva vairāk nekā 5A, jūs varat vienkārši iegādāties ACS712-30A moduli un saskarni tajā pašā veidā un mainīt zemāk esošo koda rindiņu, aizstājot 18.5 ar 0.66, kā parādīts zemāk:
ja (spriegums> = 2500) // Ja strāva ir pozitīva ampēri + = ((spriegums-2500) / 0,66); cits, ja (Spriegums <= 2500) // Ja strāva ir negatīva Amps + = (((2500-Spriegums) /0,66);
Pārbaudiet arī 100mA ampērmetru, izmantojot AVR mikrokontrolleru, ja vēlaties izmērīt zemu strāvu.
Darbs:
Kad esat ieprogrammējis PIC mikrokontrolleru un padarījis aparatūru gatavu. Vienkārši ieslēdziet slodzi un PIC mikrokontrolleru, un jums vajadzētu redzēt strāvu, kas iet caur LCD ekrānā redzamo vadu.
PIEZĪME. Ja izmantojat moduli ASC7125A, pārliecinieties, ka slodze patērē ne vairāk kā 5A, strāvas pārnēsāšanas vadītājiem izmantojiet arī augstāka mēroga vadus.
PIK mikrokontrolleru bāzes ampermetru projekta pilnīga darbība ir parādīta zemāk esošajā video. Ceru, ka jūs projektā strādājāt un jums patika to darīt. Ja jums ir kādas šaubas, varat tos ierakstīt komentāru sadaļā zemāk vai ievietot mūsu forumos.