- Szükséges alkatrészek:
- Munka magyarázat:
- Áramkör magyarázat:
- Programozási magyarázat:
- Áramkör és NYÁK tervezés az EasyEDA segítségével:
- PCB-k kiszámítása és megrendelése online:
Gyakran látjuk az otthoni áramellátás feszültségingadozásait, amelyek meghibásodást okozhatnak otthoni váltóáramú készülékeinkben. Ma egy alacsony költségű magas és alacsony feszültségű védelmi áramkört építünk, amely magas vagy alacsony feszültség esetén megszakítja a készülékek áramellátását. Ez egy figyelmeztető üzenetet is megjelenít a 16x2 LCD-n. Ebben a projektben a PIC mikrovezérlőt használtuk a bemeneti feszültség és a referenciafeszültség összehasonlítására, és ennek megfelelően megtettük a műveletet.
Ezt az áramkört PCB-re készítettük, és ugyanarra a célra egy további áramkört is felvettünk a NYÁK-ra, de ezúttal az LM358 op-amp (mikrovezérlő nélkül) használatával. Bemutatás céljából az alacsony feszültség határértékét 150 V-nak, a nagy feszültség határát pedig 200 V-nak választottuk. Ebben a projektben nem használtunk egyetlen relét sem a levágáshoz, hanem csak az LCD segítségével mutattuk be. Ellenőrizze a cikk végén található videót. De a felhasználó csatlakoztathat egy relét ehhez az áramkörhöz, és csatlakoztathatja a PIC GPIO-jához.
További PCB-projektjeinket itt ellenőrizheti.
Szükséges alkatrészek:
- PIC PIC18F2520 mikrokontroller
- NYÁK (az EasyEDA-tól rendelve)
- IC LM358
- 3 tűs csatlakozó csatlakozó (opcionális)
- 16x2 LCD
- BC547 tranzisztor
- 1k ellenállás
- 2k2-es ellenállás
- 30K ellenállás SMD
- 10k SMD
- Kondenzátorok - 0,1uf, 10uF, 1000uF
- 28 tűs IC alap
- Férfi / nő pálcika
- 7805 Feszültségszabályozók - 7805, 7812
- Pickit2 programozó
- VEZETTE
- Zener dióda - 5,1v, 7,5v, 9,2v
- Transzformátor 12-0-12
- 12MHz kristály
- 33pF kondenzátor
- Feszültségszabályozó (ventilátor fordulatszám-szabályozó)
Munka magyarázat:
Ebben a magas és alacsony feszültségű áramkörben leolvastuk az AC feszültséget a PIC mikrovezérlő használatával transzformátor, hídirányító és feszültségosztó áramkör segítségével, és 16x2 LCD-n keresztül jelenítettük meg. Ezután összehasonlítottuk az AC feszültséget az előre meghatározott határokkal, és ennek megfelelően jelenítettük meg a riasztási üzenetet az LCD-n. Például, ha a feszültség 150v alatt van, akkor megmutattuk az „Alacsony feszültséget”, és ha a feszültség meghaladja a 200v értéket, akkor a „Nagyfeszültség” szöveget mutattuk az LCD-n. Megváltoztathatjuk ezeket a korlátokat a projekt végén megadott PIC-kódban. Itt a Fan Regulator-t használtuk a bejövő feszültség növelésére és csökkentésére demonstrációs célból a Videóban.
Ebben az áramkörben egy egyszerű alul- és túlfeszültség-védelmi áramkört is felvettünk mikrovezérlő használata nélkül. Ebben az egyszerű áramkörben az LM358 összehasonlítót használtuk a bemeneti és a referenciafeszültség összehasonlítására. Tehát itt három lehetőségünk van ebben a projektben:
- Mérje meg és hasonlítsa össze az AC feszültséget transzformátor, hídirányító, feszültségosztó áramkör és PIC mikrovezérlő segítségével.
- Túl- és alulfeszültség detektálása az LM358 segítségével transzformátor, egyenirányító és összehasonlító LM358 segítségével (mikrokontroller nélkül)
- Az LM358 komparátor segítségével érzékelje a feszültség alatti és túlfeszültséget, és kimenetét táplálja a PIC mikrovezérlőbe, hogy kód szerint cselekedjen.
Itt bemutattuk a projekt első lehetőségét. Amelyben csökkentettük a váltóáramú bemeneti feszültséget, majd átalakítottuk azt egyenárammá egy híd egyenirányító segítségével, majd ismét feltérképeztük ezt az egyenfeszültséget 5 V-ra, majd végül ezt a feszültséget tápláltuk a PIC mikrovezérlőhöz összehasonlítás és megjelenítés céljából.
A PIC mikrovezérlőben leolvastuk ezt a leképezett egyenfeszültséget, és a leképezett érték alapján kiszámítottuk a bejövő váltakozó feszültséget a következő képlet segítségével:
volt = ((adcValue * 240) / 1023)
ahol az adcValue ekvivalens egyenáramú bemeneti feszültségérték a PIC vezérlő ADC tűjénél és volt az alkalmazott váltakozó feszültség. Itt 240 V-ot vettünk maximális bemeneti feszültségnek.
vagy alternatív megoldásként használhatunk adott módszert egyenértékű DC bemeneti érték feltérképezésére.
volt = térkép (adcVlaue, 530, 895, 100, 240)
ahol az adcValue egyenértékű egyenáramú bemeneti feszültségérték a PIC vezérlő ADC lábánál , az 530 a minimális egyenfeszültség egyenértéke és a 895 a maximális egyenfeszültség egyenértékének értéke. A 100v pedig a minimális feltérképezési feszültség, a 240v pedig a maximális feltérképezési feszültség.
Azt jelenti, hogy a 10 mV DC bemenet a PIC ADC tűnél egyenlő 2,046 ADC egyenértékű értékkel. Tehát itt 530-at választottunk minimális értékként, a PIC ADC-érintkezőjének feszültsége a következő lesz:
(((530 / 2,046) * 10) / 1000) Volt
2.6v, amely feltérképezi a minimális 100VAC értéket
(Ugyanez a számítás a maximális határértékre).
Ellenőrizze, hogy a térkép funkció a PIC programkódban található-e. Tudjon meg többet a feszültségosztó áramkörről és a feszültségek feltérképezéséről az ADC segítségével itt.
A projekt kidolgozása egyszerű. Ebben a projektben váltakozó feszültségű ventilátor szabályozót alkalmaztunk annak bemutatására. A transzformátor bemenetéhez ventilátorszabályozót csatlakoztattunk. Ezután az ellenállás növelésével vagy csökkentésével megkapjuk a kívánt feszültség kimenetet.
A kódban rögzítettük a maximális és a minimális feszültségértékeket a magas feszültség és az alacsony feszültség érzékeléséhez. 200 V-ot rögzítettünk túlfeszültség-határként és 150 V-ot alsó feszültséghatárként. Az áramkör bekapcsolása után láthatjuk az AC bemeneti feszültségét az LCD-n. Amikor a bemeneti feszültség növekszik, láthatjuk a feszültségváltozásokat az LCD felett, és ha a feszültség meghaladja a feszültséghatárt, akkor az LCD „HIGH Voltage Alert” jelzéssel értesít minket, és ha a feszültség alacsonyabb lesz, mint a feszültséghatár alatt, akkor az LCD a „ LOW Voltage Alert ”üzenet. Így elektronikus megszakítóként is használható.
Továbbá hozzáadhatunk egy relét bármilyen váltóáramú készülék csatlakoztatásához az alacsony vagy magas feszültség automatikus lekapcsolásához. Csak hozzá kell adnunk egy kódsort a készülék kikapcsolásához, a kódot megjelenítő LCD figyelmeztető üzenet alatt. Ellenőrizze itt, hogy használja-e a relét AC készülékekkel.
Áramkör magyarázat:
A magas és alacsony feszültségű védelmi áramkörben egy LM358 op-amp-ot használtunk, amelynek két kimenete van összekötve a PIC mikrovezérlő 2 és 3 számú érintkezőjével. És egy feszültségosztót használnak a feszültség felosztásához, és a kimenetét a PIC mikrovezérlő 4. számú tűjéhez köti. Az LCD-t a PIC portjához csatlakoztatják 4 bites módban. Az RS és az EN közvetlenül csatlakozik a B0 és B1 pontokhoz, az LCD D4, D5, D6 és D7 adatcsapjai pedig a B2, B3, B4 és B5 pontokhoz vannak csatlakoztatva. Ebben a projektben két feszültségszabályozót használtunk: 7805-et a mikrovezérlő tápellátásához és 7812-et az LM358 áramkörhöz. És a váltóáramú feszültség csökkentésére 12v-0-12v transzformátort is használnak. A többi alkatrészt az alábbi kapcsolási rajz mutatja.
Programozási magyarázat:
A projekt egy részének programozása egyszerű. Ebben a kódban csak ki kell számolnunk az AC feszültséget a feszültségosztó áramkörből érkező leképezett 0-5v feszültség felhasználásával, majd össze kell hasonlítanunk az előre meghatározott értékekkel. A projekt után ellenőrizheti a teljes PIC-kódot.
Először a kódba felvettünk egy fejlécet, és konfiguráltuk a PIC mikrokontroller konfigurációs bitjeit. Ha még nem ismeri a PIC kódolást, akkor itt ismerje meg a PIC mikrokontrollert és annak konfigurációs bitjeit.
Ezután néhány funkciót használtunk az LCD vezetéséhez, például void lcdbegin () az LCD inicializálásához, void lcdcmd (char ch) parancs küldéséhez az LCD-hez, void lcdwrite (char ch) adatok küldéséhez az LCD-hez és void lcdprint (char * str) a karakterlánc LCD-re küldéséhez. Ellenőrizze az alábbi kód összes funkcióját.
Az adott függvény alatt az értékek leképezésére szolgál:
hosszú térkép (hosszú x, hosszú in_min, hosszú in_max, long out_min, long out_max) {return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; }
Adott int analRead (int ch) függvényt használunk az ADC inicializálásához és olvasásához:
int analRead (int ch) {int adcData = 0; ha (ch == 0) ADCON0 = 0x03; // adc csatorna 0 else if (ch == 1) ADCON0 = 0x0b; // válasszon egy másik adc csatornát if (ch == 2) ADCON0 = 0x0b; // 2. ADC-csatorna kiválasztása ADCON1 = 0b00001100; // válassza ki az ADC analóg i / p 0,1 és 2 csatornáját ADCON2 = 0b10001010; // ekvizíciós idő megtartva a felső határt, miközben (GODONE == 1); // konverzió megkezdése adc érték adcData = (ADRESL) + (ADRESH << 8); // 10 bites kimenet tárolása ADON = 0; // adc off return adcData; }
A megadott vonalakat használjuk az ADC minták megszerzéséhez, és számítsuk ki azok átlagát, majd számítsuk ki a feszültséget:
míg (1) {hosszú adcValue = 0; int volt = 0; for (int i = 0; i <100; i ++) // mintavétel {adcValue + = analogRead (2); késés (1); } adcValue / = 100; #if módszer == 1 volt = (((float) adcValue * 240,0) / 1023,0); #else volt = térkép (adcValue, 530, 895, 100, 240); #endif sprintf (eredmény, "% d", volt);
És végül az adott funkciót használják az eredményezett műveletek végrehajtására:
if (volt> 200) {lcdcmd (1); lcdprint ("nagyfeszültség"); lcdcmd (192); lcdprint ("Figyelmeztetés"); késés (1000); } else if (volt <150) {lcdcmd (1); lcdprint ("alacsony feszültség"); lcdcmd (192); lcdprint ("Figyelmeztetés"); késés (1000); }
Áramkör és NYÁK tervezés az EasyEDA segítségével:
Ennek a MAGAS és ALACSONY Feszültségérzékelő áramkörnek a tervezéséhez az online EDA eszközt választottuk az EasyEDA néven. Korábban sokszor használtuk az EasyEDA-t, és nagyon kényelmesnek találtuk a használatát a többi NYÁK-gyártóval összehasonlítva. Ellenőrizze itt az összes NYÁK-projektünket. Az EasyEDA nem csak egyablakos megoldás a sematikus rögzítéshez, az áramkör-szimulációhoz és a NYÁK-tervezéshez, hanem olcsó PCB-prototípus és alkatrész-beszerzési szolgáltatást is kínál. Nemrégiben elindították alkatrész-beszerzési szolgáltatásukat, ahol nagy mennyiségű elektronikus alkatrész áll rendelkezésükre, és a felhasználók megrendelhetik a szükséges alkatrészeiket a NYÁK-rendeléssel együtt.
Az áramkörök és a NYÁK-k tervezése közben az áramköri és a NYÁK-terveket is nyilvánossá teheti, hogy más felhasználók másolhassák vagy szerkeszthessék azokat, és kihasználhassák az előnyeiket, emellett a teljes áramkör- és NYÁK-elrendezésünket is nyilvánossá tettük erre a magas és alacsony feszültségre. Védelmi áramkör, ellenőrizze az alábbi linket:
easyeda.com/circuitdigest/HIGH_LOW_Voltage_Detector-4dc240b0fde140719c2401096e2410e6
Az alábbiakban bemutatjuk az EasyEDA PCB elrendezésének felső rétegének pillanatképét. Megtekintheti a NYÁK bármely rétegét (felső, alsó, Topsilk, alsó tej stb.), Ha kiválasztja a réteget a „Rétegek” ablakból.
Az EasyEDA használatával is kiválaszthatja a NYÁK Fotó nézetét:
PCB-k kiszámítása és megrendelése online:
A NYÁK tervezésének befejezése után rákattinthat a fenti Gyártás kimenet ikonra. Ezután hozzáférhet az oldal nyomtatott áramköri lapjához, hogy letöltse a Gerber fájlokat a PCB-ről, és elküldje azokat bármelyik gyártónak. Sokkal könnyebb (és olcsóbb) megrendelni közvetlenül az EasyEDA-ban. Itt kiválaszthatja a megrendelni kívánt NYÁK-k számát, hány rézrétegre van szüksége, a NYÁK vastagságát, a réz súlyát és még a NYÁK színét is. Miután kiválasztotta az összes lehetőséget, kattintson a „Mentés a kosárba” gombra, és teljesítse megrendelését, majd néhány nappal később megkapja a NYÁK-kat. A felhasználó a helyi NYÁK-gyártókkal is együtt fordulhat a NYÁK-k készítéséhez a Gerber fájl segítségével.
Az EasyEDA szállítása nagyon gyors, és néhány napos PCB-k megrendelése után megkaptam a NYÁK-mintákat:
Az alábbiakban láthatók a képek az alkatrészek forrasztása után a NYÁK-on:
Így könnyen megépíthetjük otthonunk alacsony-nagyfeszültségű védelmi áramkörét. Ezenkívül csak hozzá kell adnia egy relét az AC eszközök csatlakoztatásához, hogy megvédje a feszültségingadozásoktól. Csak csatlakoztassa a relét bármely általános célú PIC MCU tűhöz, és írja be a kódot, hogy az a tű magas és alacsony legyen, valamint az LCD figyelmeztető üzenet kódja.