Përmbajtje:

Ora dixhitale Arduino e sinkronizuar nga linja e energjisë 60Hz: 8 hapa (me fotografi)
Ora dixhitale Arduino e sinkronizuar nga linja e energjisë 60Hz: 8 hapa (me fotografi)

Video: Ora dixhitale Arduino e sinkronizuar nga linja e energjisë 60Hz: 8 hapa (me fotografi)

Video: Ora dixhitale Arduino e sinkronizuar nga linja e energjisë 60Hz: 8 hapa (me fotografi)
Video: Lesson 68, Home Automation: How to control 16 Channel Relay module using Arduino control 16 AC loads 2024, Nëntor
Anonim
Ora dixhitale Arduino e sinkronizuar nga linja e energjisë 60Hz
Ora dixhitale Arduino e sinkronizuar nga linja e energjisë 60Hz

Kjo orë dixhitale e bazuar në Arduino sinkronizohet nga linja e energjisë 60Hz. Ajo ka një ekran të thjeshtë dhe të lirë të zakonshëm 4 -shifror 7 segmentesh i cili tregon orë dhe minuta. Ai përdor një detektor kryq për të zbuluar kur vala e sinusit 60Hz që kalon kalon pikën e tensionit zero dhe nxjerr një valë katrore 60 Hz.

Për periudha të shkurtra kohore, frekuenca e valës së sinusit që vjen nga linja e energjisë mund të ndryshojë shumë pak për shkak të ngarkesës, por për periudha të gjata kohore mesatarisht arrin 60Hz me shumë saktësi. Ne mund të përfitojmë nga kjo për të nxjerrë një burim kohor për të sinkronizuar orën tonë.

Hapi 1: Diagrami i Qarkut

Diagrami i Qarkut
Diagrami i Qarkut

Ekzistojnë dy versione të qarkut në varësi të faktit nëse doni të përdorni një transformator me një çezmë qendrore ose një pa, në secilin rast funksionimi i qarkut është pothuajse identik. Për këtë ndërtim kam përdorur një përshtatës muri (pa rubinet qendror) që del me rrymë 12V. Unë do të përdor këtë dizajn (Diagrami i Qarkut Digital Clock1) për përshkrimin e qarkut. Vini re se është e rëndësishme të përdorni një përshtatës muri që del 12V AC jo 12V DC në mënyrë që të mund të prekim valën sinus AC për kohën. Ju ndoshta mund të përdorni edhe një transformator që nxjerr 9V AC, hiqni R19 dhe futeni në punë gjithashtu, por 12V është shumë i zakonshëm. Kështu funksionon qarku:

120V AC në 60Hz konvertohet në 12V AC nga transformatori TR1. Kjo ushqehet në diodën D4 dhe korrigjohet në mënyrë që vetëm tensioni +ve të ushqehet dhe zbutet në përafërsisht DC me valëzim, nga kondensatori C3. Tensioni në C3 furnizohet me rregullatorin e tensionit 7805 (U6) përmes rezistencës R19. R19 përdoret për të zvogëluar tensionin në C3 i cili në rastin tim u mat në afërsisht 15VDC. Kjo mund të rregullohet nga 7805 por me këtë nivel hyrjeje 7805 duhet të bjerë afërsisht 10VDC dhe si rezultat nxehet mjaft. Duke përdorur R19 për të ulur tensionin në rreth 10VDC ne parandalojmë që U6 të nxehet shumë. Pra, kjo nuk është një teknikë efikase e konvertimit të fuqisë, por funksionon për qëllimet tona. SH NOTNIM: përdorni të paktën një rezistencë 1/2W ose më shumë këtu. Qarku tërheq rreth 55 ma, kështu që shpërndarja e energjisë në R19 është rreth 1/3W bazuar në P = I ** 2*R ose P = 55ma x 55ma x 120 ohms = 0.363W. U6 -ja tjetër nxjerr 5V DC të pastër me C4 dhe C5 në dalje për të filtruar çdo zhurmë në linjën e energjisë 5V. Ky 5V DC fuqizon të gjitha IC -të në tabelë.

Nga TR1 ne gjithashtu marrim një mostër të sinjalit AC të pafiltruar dhe e futim atë në potenciometër RV1 i cili përdoret për të rregulluar nivelin e ushqyer në detektorin kryq. R18 dhe R17 formojnë një ndarës të tensionit për të zvogëluar më tej nivelin e tensionit AC që vjen. Mbani mend se kjo vjen në 12V AC dhe ne duhet ta zvogëlojmë atë në më pak se 5 V në mënyrë që të funksionojë me detektorin tonë kryq mbi të cilin është vetëm mundësuar nga 5VDC. R15 dhe R16 sigurojnë kufizim të rrymës ndërsa D1 dhe D2 kanë për qëllim të parandalojnë mbingarkimin e op-amp U5. Në konfigurimin e treguar dalja e U5 në kunjin 1 do të alternojë midis +5V dhe 0V sa herë që vala e sinusit në hyrje ndryshon nga pozitive në negative. Kjo gjeneron një valë katrore 60 Hz e cila ushqehet me mikrokontrolluesin, U4. Programi i ngarkuar në U4 pastaj përdor këtë valë katrore 60Hz për të rritur orën çdo minutë dhe orë. Si bëhet kjo do të diskutohet në pjesën në programin e softuerit dhe në komentet e softuerit.

U7 regjistri i ndërrimit 74HC595 përdoret sepse kemi një numër të kufizuar të kunjave digjitalë në mikroprocesor, kështu që përdoret për të zgjeruar numrin e daljeve. Ne përdorim 4 kunja dixhitale në mikroprocesor, por mund të kontrollojmë 7 segmente në ekran nëpërmjet 74HC595. Kjo arrihet duke zhvendosur modelet e paracaktuara të bitëve, të ruajtura në mikrokontrollues, dhe që përfaqësojnë çdo shifër që do të shfaqet, në regjistrin e ndërrimit.

Ekrani i përdorur këtu është një anodë e zakonshme, kështu që ne duhet të përmbysim nivelet e sinjalit që dalin nga 74HC595 në mënyrë që të ndezim një segment. Kur një segment duhet të ndizet, sinjali që del nga kunja dalëse 74HC595 do të jetë në +5V, por ne kemi nevojë që kunja që po ushqen në ekran të jetë në 0V në mënyrë që të ndezim atë segment të ekranit. Pra, për ta bërë këtë ne kemi nevojë për invertorë gjashtëkëndësh U2 dhe U3. Fatkeqësisht, një IC inverter mund të trajtojë vetëm 6 përmbysje, kështu që ne kemi nevojë për dy prej tyre edhe pse në të dytin ne përdorim vetëm një nga 6 portat. Për fat të keq. Ju mund të pyesni pse të mos përdorni një ekran të zakonshëm të tipit katodë këtu dhe të eliminoni U2 dhe U3? Epo përgjigjja është që mundeni, unë thjesht kam një lloj anode të zakonshëm në furnizimin me pjesët e mia. Nëse keni ose dëshironi të përdorni një ekran të zakonshëm të tipit katodë, thjesht eliminoni U2 dhe U3 dhe rilidhni Q1 - Q4 në mënyrë që kolektorët e tranzistorit të lidhen me kunjat e ekranit dhe emetuesit e tranzistorit të jenë të lidhur me tokën. Q1 - Q4 kontrollon se cila nga katër ekranet me 7 segmente është aktive. Kjo kontrollohet nga mikrokontrolluesi, përmes kunjave të lidhur me bazën e transistorëve Q1 - Q4.

Butonat e rritjes dhe të vendosjes do të përdoren për të vendosur manualisht kohën e saktë të orës kur bëhet fjalë për përdorimin e vërtetë të orës. Kur butoni Set shtypet një herë butoni i Rritjes mund të përdoret për të kaluar orët e treguara në ekran. Kur butoni Set shtypet përsëri, butoni i rritjes mund të përdoret për të kaluar minutat e shfaqura në ekran. Kur butoni Set shtypet për herë të tretë, koha caktohet. R13 dhe R14 tërheqin kunjat e mikrokontrolluesit të lidhur me këto butona të ulët kur nuk janë në përdorim.

Vini re se këtu kemi hequr U4 (Atmega328p) nga bordi tipik i prototipit Arduino UNO dhe e kemi vendosur në tabelën prototip me pjesën tjetër të qarkut tonë. Për ta bërë këtë, ne duhet të sigurojmë së paku kristalin X1 dhe kondensatorët C1 dhe C2 për të siguruar një burim sahati për mikrokontrolluesin, lidhni pin 1, pinin e rivendosjes, të lartë dhe siguroni fuqi 5VDC.

Hapi 2: Breadboard Circuit juaj

Breadboard Qarku juaj
Breadboard Qarku juaj
Breadboard Qarku juaj
Breadboard Qarku juaj

Pavarësisht nëse po ndërtoni qarkun saktësisht siç tregohet në diagramin e qarkut ose ndoshta përdorni një transformator paksa të ndryshëm, llojin e ekranit ose përbërës të tjerë, duhet së pari të futni qarkun në mënyrë që të siguroheni se funksionon dhe që të kuptoni se si funksionon.

Në fotografi ju mund të shihni se ngrënia e të gjithë ushqimit kërkonte disa dërrasa, si dhe një dërrasë Arduino Uno. Pra, në mënyrë që të programoni mikrokontrolluesin ose të eksperimentoni ose të bëni ndryshime në softuer, fillimisht do të keni nevojë për IC -në e mikrokontrolluesit në një bord UNO, në mënyrë që të lidhni një kabllo USB me të dhe kompjuterin tuaj për të ngarkuar programin ose për të bërë ndryshime softuerike.

Sapo të merrni orën duke punuar në tryezën e bukës dhe të programoni mikrokontrolluesin tuaj, mund ta shkëputni atë nga priza dhe ta futni në prizë në orën tuaj përfundimtare të ndërtimit përfundimtar në bordin prototip. Sigurohuni që të ndiqni masat paraprake statike kur e bëni këtë. Përdorni një rrip antistatik dore gjatë trajtimit të mikroprocesorit.

Hapi 3: Ndërtimi i qarkut në Protoboard

Ndërtimi i qarkut në Protoboard
Ndërtimi i qarkut në Protoboard
Ndërtimi i qarkut në Protoboard
Ndërtimi i qarkut në Protoboard

Qarku është ndërtuar në një copë bordi prototip dhe lidhet pikë për pikë duke përdorur tela të mbështjelljes së telit #30 AWG. Ofron një rezultat të fortë dhe të besueshëm. Për shkak se transformatori që kam ka një prizë mashkullore 5 mm në fund të kabllit, unë montova enën përkatëse femërore në pjesën e pasme të bordit duke prerë, përkulur dhe shpuar një copë shirit alumini të gjerë 1/2 të gjerë për të bërë një zakon kllapa dhe më pas ngjiteni atë në tabelë me 4-40 arra dhe bulona të vegjël. Thjesht mund të ndërprisni lidhësin dhe të lidhni telat e mbetur të energjisë në tabelë dhe të kurseni veten për rreth 20 minuta punë, por unë nuk doja që transformatori të ishte i lidhur përgjithmonë te bordi.

Hapi 4: Krijimi i një fole për ekranin dhe dhënia e këmbëve

Krijimi i një fole për ekranin dhe dhënia e këmbëve
Krijimi i një fole për ekranin dhe dhënia e këmbëve
Krijimi i një fole për ekranin dhe dhënia e këmbëve
Krijimi i një fole për ekranin dhe dhënia e këmbëve
Krijimi i një fole për ekranin dhe dhënia e këmbëve
Krijimi i një fole për ekranin dhe dhënia e këmbëve

Për shkak se ekrani ka 16 kunja, 8 secila në secilën anë, me një ndarje kunjësh që është më e gjerë se një prizë standarde me 16 kunja IC, ne duhet të rregullojmë madhësinë e prizës për t'iu përshtatur ekranit. Ju mund ta bëni këtë thjesht duke përdorur një palë prerës teli për të kapur plastikën që lidh dy anët e prizës, i ndani ato dhe i bashkoni ato veçmas në tabelë me një distancë që përputhet me distancën e kunjave në ekran. Isshtë e dobishme ta bëni këtë në mënyrë që të mos keni nevojë të ngjiteni drejtpërdrejt në kunjat e ekranit dhe ta ekspozoni ekranin në nxehtësi të tepërt. Ju mund të shihni prizën që e kam bërë këtë në krye të tabelës në foton më sipër.

Në mënyrë që ekrani të ngrihet drejt, unë fiksova dy bulona 1 në dy vrimat e poshtme të qoshe të bordit prototip siç tregohet në foto për të bërë një qëndrim të thjeshtë. Kjo ishte shumë e lezetshme, kështu që nëse e bëni këtë, ju mund të duan të vënë diçka të rëndë në anën e pasme të bulonave për ta stabilizuar atë.

Hapi 5: Kontrollimi i telave të qarkut dhe përgatitja për kalibrim

Kontrollimi i telave të Qarkut dhe Përgatitja për Kalibrim
Kontrollimi i telave të Qarkut dhe Përgatitja për Kalibrim

Pasi bordi i qarkut të jetë lidhur, por para se të kyçni IC -të ose të shfaqni ose ndizni atë, është një ide e mirë të kontrolloni lidhjet e bordit me një DVM. Mund të vendosni shumicën e DVM -ve në mënyrë që të bien kur ka vazhdimësi. Vendosni DVM -në tuaj në këtë mënyrë dhe pastaj duke ndjekur diagramin tuaj të qarkut, kontrolloni sa më shumë nga lidhjet e qarkut të jetë e mundur. Kontrolloni për një qark të hapur, ose afër tij, midis pikave +5V dhe Ground. Kontrolloni vizualisht që të gjithë përbërësit janë të lidhur me kunjat e duhur.

Pastaj lidhni transformatorin tuaj me qarkun dhe ndizeni atë. Kontrolloni që keni saktësisht 5V DC në hekurudhën e energjisë 5V me një shtrirje ose DVM para se të lidhni ndonjë IC ose ekran.

Futeni në prizë VETYM IC IC Op-Amp U5 në përgatitje për hapin tjetër. Këtu do të kontrollojmë që kalimi ynë mbi qark po gjeneron një valë katrore dhe do të rregullojmë potenciometrin RV1 për një sinjal të pastër 60 Hz.

Hapi 6: Kalibrimi i qarkut

Kalibrimi i qarkut
Kalibrimi i qarkut
Kalibrimi i qarkut
Kalibrimi i qarkut

Kalibrimi i vetëm që duhet bërë është rregullimi i potenciometrit RV1 për nivelin e saktë të sinjalit që ushqen kryq mbi detektorin. Ka dy mënyra për ta bërë këtë:

1. Vendosni një sondë të shtrirjes në kunjin 1 të U5 dhe sigurohuni që të lidhni telin e tokëzimit të sondës së fushës me tokën e qarkut. Tjetra rregulloni RV1 derisa të keni një valë katrore të pastër siç tregohet në foton e mësipërme. Nëse e rregulloni RV1 shumë larg në një mënyrë ose në tjetrën ose nuk do të keni valë katrore ose një valë katrore të shtrembëruar. Sigurohuni që frekuenca e valës katrore të jetë 60 Hz. Nëse keni një shtrirje moderne, me siguri do t'ju tregojë frekuencën. Nëse keni një shtrirje të lashtë si unë, atëherë sigurohuni që periudha e valës katrore të jetë afërsisht 16.66ms ose 1/60 sekonda.

2. Duke përdorur një numërues frekuencash ose DVM në modalitetin Frekuencë matni frekuencën në Pin 1 të U5 dhe rregulloni RV1 për saktësisht 60 Hz.

Pasi të bëhet ky kalibrim, fikeni qarkun dhe futni të gjitha IC -të dhe ekranin për të përfunduar ndërtimin e qarkut.

Hapi 7: Programi Arduino

Programi komentohet plotësisht në mënyrë që të kuptoni detajet e çdo hapi. Për shkak të kompleksitetit të programit është e vështirë të përshkruhet çdo hap, por në një nivel shumë të lartë kjo është mënyra se si funksionon:

Mikroprocesori merr valën katrore 60 Hz në hyrje dhe numëron 60 cikle dhe rrit numërimin e sekondave pas çdo 60 cikleve. Pasi numërimi i sekondave arrin 60 sekonda, ose 3600 cikle, numërimi i minutave rritet dhe numërimi i sekondave rivendoset në zero. Pasi numërimi i minutave arrin 60 minuta, numri i orëve rritet dhe numërimi i minutave rivendoset në zero. numërimi i orëve rivendoset në 1 pas 13 orësh, kështu që kjo është një orë prej 12 orësh. Nëse dëshironi një orë 24 -orëshe, thjesht ndryshoni programin për të rivendosur orët në zero pas 24 orësh.

Ky është një projekt eksperimental, kështu që unë u përpoqa të përdor një lak Do-while për të shtypur kërcimin e ndërprerës në butonat Set dhe Increment. Punon mjaft mirë. Kur butoni Set shtypet një herë, butoni i Rritjes mund të përdoret për të kaluar orët e treguara në ekran. Kur butoni Set shtypet përsëri, butoni i rritjes mund të përdoret për të kaluar minutat e shfaqura në ekran. Kur butoni Set shtypet për herë të tretë, koha caktohet dhe ora fillon të funksionojë.

Modelet 0 dhe 1 që përdoren për të shfaqur çdo numër në ekranet me 7 segmente ruhen në grupin e quajtur Seven_Seg. Në varësi të kohës aktuale të orës, këto modele futen në IC 74HC595 dhe dërgohen në ekran. Cila nga 4 shifrat e ekranit ndizet në çdo kohë për të marrë këto të dhëna kontrollohet nga mikroprocesori nëpërmjet ekranit Dig 1, 2, 3, 4 kunjat. Kur qarku të ndizet, programi së pari drejton një rutinë testimi të quajtur Test_Clock e cila dërgon shifrat e sakta për të ndezur çdo ekran me një numërim nga 0 në 9. Pra, nëse e shihni këtë kur ndizeni, e dini që keni ndërtuar gjithçka në mënyrë korrekte Me

Hapi 8: Lista e Pjesëve

1 - Transformator 120VAC në 12VAC përafërsisht 100ma ose më shumë 1 - Pllakë prototipi përafërsisht 3.5 "x 3.5" 1 - ekran me 4 shifra me 7 segmente YSD -439K2B -35 ose ekuivalent (Sparkfun) 2 - Butonat e vegjël të montimit të PCB -së JO (çdo) 4 - 2N3904 Transistorë NPN8 - Rezistorë 330 ohm2 - 74LS04 Inverter Hex1 - 74HC595 serial në regjistër paralel të ndërrimit të 8 bitëve 1 - LM358 OP -AMP (Krahasues) 1 - Mikrokontrollues ATMEGA328P (Creatron) 4 - 4.7K Rezistorë7 - 10K Rezistorë1 - 1N4007 ose 1N114 diodat 1 - 120 ohm, rezistencë 1/2W ose 1W1 - PCB montues 10K potenciometër1 - 470uF 25V kondensator1 - 7805 TO220 rregullator i paketës së tensionit 1 - kondensator 10uF 10V2 - 0.1 uF 10V kondensatorë 1 - 16MHz kristal (Sparkfun) 2 - 22pF kondensatorë 1 - Foleja e fuqisë femërore (Opsionale për të vendosur prizën mashkullore nëse ka ndonjë në transformatorin tuaj të murit) 2 - 16 baza IC me baza 2 - 14 baza IC me baza 1 - 8 priza IC me 1 pin - 28 prizë IC me prizë 2 - 1 "gjatësi përafërsisht #4 ose #6 bulona dhe arra që përputhen2 - 1/ 4 bulona të gjatë #4-40 dhe arra që përputhen 1 - pjesë e 1/2 "e gjerë e rripit të sheshtë të aluminit të prerë me porosi dhe shpuar në madhësi

#30 Teli mbështjellës i telit AWG#22 Teli AWG Saldator

Recommended: