Tartalomjegyzék:
- 1. lépés: Az áramkör diagramja
- 2. lépés: Breadboard az áramkörön
- 3. lépés: Áramkörépítés a Protoboardon
- 4. lépés: Hozzon létre egy aljzatot a kijelzőhöz és adjon hozzá lábakat
- 5. lépés: Az áramköri lap huzalozásának ellenőrzése és a kalibrálás előkészítése
- 6. lépés: Áramkör kalibrálása
- 7. lépés: Az Arduino program
- 8. lépés: Alkatrészlista
Videó: Arduino digitális óra a 60 Hz -es tápvezetékkel szinkronizálva: 8 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Ezt az Arduino -alapú digitális órát a 60 Hz -es tápvezeték szinkronizálja. Egyszerű és olcsó közös anód 4 számjegyű 7 szegmenses kijelzővel rendelkezik, amely órákat és perceket mutat. Keresztezési érzékelőt használ annak érzékelésére, hogy a bejövő 60 Hz -es szinuszhullám keresztezi -e a nulla feszültségpontot, és 60 Hz -es négyzethullámot vezet le.
Rövid időn keresztül a tápvezetékről érkező szinuszhullám frekvenciája nagyon kismértékben változhat a terhelés hatására, de hosszú időn keresztül nagyon pontosan átlagol 60 Hz -ig. Ezt kihasználva előhívhatjuk az időzítési forrást az óra szinkronizálásához.
1. lépés: Az áramkör diagramja
Az áramkörnek két változata van, attól függően, hogy egy középső csappal ellátott transzformátort vagy anélkül szeretne használni, mindkét esetben az áramkör működése majdnem azonos. Ehhez az építéshez egy fali adaptert használtam (nincs középső csap), amely 12V AC -t ad ki. Ezt a kialakítást (Digitális óra1 áramkör diagram) fogom használni az áramkör leírásához. Ne feledje, hogy fontos, hogy olyan fali adaptert használjon, amely 12 V, nem 12 V egyenáramot ad ki, hogy az időzítéshez bekapcsolhassuk az AC szinuszhullámot. Valószínűleg használhat olyan transzformátort is, amely 9V AC -t ad le, távolítsa el az R19 -et és működésbe hozza, de a 12V nagyon gyakran elérhető. Az áramkör így működik:
A 60 V -os 120 V -os váltóáramot a TR1 transzformátor 12 V -ra váltja. Ezt a D4 dióda táplálja és kiegyenlíti, hogy a C3 kondenzátor csak +ve feszültséget vezessen be, és hullámzással közelítse egyenletesre. A C3 feszültségét a 7805 feszültségszabályozó (U6) táplálja az R19 ellenálláson keresztül. Az R19 a C3 feszültségének csökkentésére szolgál, amelyet az én esetemben körülbelül 15VDC -on mértem. Ezt a 7805 szabályozhatja, de ezzel a bemeneti szinttel a 7805 -nek körülbelül 10 VDC -t kell esnie, és ennek következtében nagyon felmelegszik. Ha az R19 segítségével csökkenti a feszültséget körülbelül 10 V egyenáramra, megakadályozzuk az U6 túlmelegedését. Ez tehát nem hatékony teljesítményátalakítási technika, de a mi céljainknak megfelel. MEGJEGYZÉS: itt legalább 1/2W ellenállást használjon. Az áramkör körülbelül 55 ma -t vesz fel, így az R19 teljesítményvesztesége körülbelül 1/3W P = I ** 2*R vagy P = 55ma x 55ma x 120 ohms = 0,363W alapján. A következő U6 tiszta 5 V egyenáramú kimenetet bocsát ki C4 és C5 kimeneten, hogy kiszűrje a zajt az 5 V -os tápvezetéken. Ez az 5 V DC táplálja az összes IC -t a táblán.
A TR1 -ből mintát veszünk a szűretlen váltóáramú jelből is, és betápláljuk az RV1 potenciométerbe, amely a kereszteződés -érzékelőbe táplált szint beállítására szolgál. Az R18 és R17 feszültségmegosztót képez, hogy tovább csökkentse a bejövő váltakozó feszültséget. Ne feledje, hogy ez 12 V váltakozó áramú tápfeszültségnél jön be, és ezt 5 V alá kell csökkentenünk, hogy működjön a keresztező érzékelővel, amely csak 5VDC táplálja. Az R15 és R16 áramkorlátozást biztosít, míg a D1 és D2 az op-amp U5 túlhajtását hivatott megakadályozni. A bemutatott konfigurációban az U5 kimenete az 1. érintkezőn +5V és 0V között váltakozik minden alkalommal, amikor a bejövő szinuszhullám pozitívról negatívra változik. Ez 60 Hz -es négyzethullámot generál, amelyet az U4 mikrokontroller táplál. Az U4 -re betöltött program ezt a 60 Hz -es négyzethullámot használja, hogy percenként és óránként növelje az órát. Ennek módjáról a szoftverprogramról szóló részben és a szoftver megjegyzéseiben lesz szó.
U7 a 74HC595 váltásregisztert használják, mert korlátozott számú digitális tüske van a mikroprocesszoron, így a kimenetek számának bővítésére szolgál. A mikroprocesszoron 4 digitális tűt használunk, de a 74HC595 segítségével 7 szegmenst vezérelhetünk a kijelzőn. Ez úgy valósítható meg, hogy a mikrovezérlőben tárolt, és minden megjelenítendő számjegyet jelző bitek előre meghatározott mintáit eltolja a shift regiszterbe.
Az itt használt kijelző közös anód, ezért a szegmens bekapcsolásához meg kell fordítanunk a 74HC595 -ből érkező jelszintet. Amikor egy szegmenst be kell kapcsolni, a 74HC595 kimeneti tűből érkező jel +5 V lesz, de szükségünk van arra, hogy a kijelzőről táplált csap 0 V legyen, hogy bekapcsoljuk a kijelző szegmenst. Ehhez szükségünk van U2 és U3 hexa inverterekre. Sajnos egy inverter IC csak 6 inverziót képes kezelni, így kettőre van szükségünk, bár a másodiknál csak a 6 kapu egyikét használjuk. Pazarló sajnos. Megkérdezheti, hogy miért nem használ itt egy közös katód típusú kijelzőt, és nem szünteti meg az U2 és U3 -at? Nos, a válasz az, hogy lehet, csak véletlenül van egy közös anódtípusom az alkatrész -kínálatomban. Ha közös katód típusú kijelzővel rendelkezik, vagy azt szeretné használni, csak szüntesse meg az U2 és U3 csatlakozásokat, és kösse újra a Q1 - Q4 kábeleket, hogy a tranzisztoros kollektorok a kijelző érintkezőihez, a tranzisztoros kibocsátók pedig a földhöz legyenek csatlakoztatva. Q1 - Q4 szabályozza, hogy a négy 7 szegmenses kijelző közül melyik aktív. Ezt a mikrokontroller vezérli, a Q1 - Q4 tranzisztorok bázisához csatlakoztatott csapokon keresztül.
A növekmény és a beállítás gombokkal manuálisan állíthatja be a pontos órát, amikor az órát ténylegesen használja. Ha a Set gombot egyszer megnyomja, a Növelés gomb segítségével lépkedhet a kijelzőn megjelenő órák között. A Set gomb ismételt megnyomásakor a növekmény gomb segítségével lépkedhet a kijelzőn megjelenő percekben. Amikor a Set gombot harmadszor is megnyomja, beállítja az időt. Az R13 és R14 használaton kívül lehúzza a gombokhoz tartozó mikrovezérlő csapokat.
Vegye figyelembe, hogy itt levettük az U4 -et (Atmega328p) a tipikus Arduino UNO prototípus tábláról, és az áramkörünk többi részével a prototípus táblára tettük. Ehhez legalább biztosítani kell az X1 kristályt és a C1 és C2 kondenzátorokat, hogy órajelet biztosítsanak a mikrovezérlőnek, az 1 -es rögzítőcsapot, a visszaállító csapot magasnak, és 5VDC tápellátást biztosítsanak.
2. lépés: Breadboard az áramkörön
Függetlenül attól, hogy az áramkört pontosan a kapcsolási rajzon látható módon építi fel, vagy esetleg egy kissé eltérő transzformátort, kijelzőtípust vagy más alkatrészeket használ, először az áramkört kell lefednie annak biztosítása érdekében, hogy működik, és megértse, hogyan működik.
A képeken látható, hogy a kenyérsütéshez az egészhez szükség volt pár deszka, valamint egy Arduino Uno tábla. Tehát a mikrokontroller programozásához vagy kísérletezéshez vagy a szoftver módosításához először szüksége lesz egy mikrokontroller IC -re egy UNO táblán, hogy USB -kábelt csatlakoztathasson hozzá és a számítógépéhez a program feltöltéséhez vagy a szoftver módosításához.
Miután beállította az órát a kenyértáblán, és beprogramozta a mikrokontrollert, húzza ki a konnektorból, és csatlakoztassa a prototípus -táblán lévő végleges állandó óra aljzatához. Feltétlenül kövesse az antisztatikus óvintézkedéseket. A mikroprocesszor kezelése közben használjon antisztatikus csuklópántot.
3. lépés: Áramkörépítés a Protoboardon
Az áramkör egy prototípuslapra van felépítve, és pontról pontra huzalozva #30 AWG huzalköteg -huzal segítségével. Kemény és megbízható eredményt nyújt. Mivel a nálam lévő transzformátornak van egy 5 mm -es dugója a kábel végén, a megfelelő hüvelyes aljzatot a tábla hátoldalára szereltem fel egy 1/2 széles, lapos alumínium csík darabolásával, hajlításával és fúrásával. konzolt, majd csavarozva a táblához kis 4-40 anyával és csavarral. Csak levághatja a csatlakozót, és forraszthatja a fennmaradó tápvezetékeket a táblához, és megmentheti magát körülbelül 20 perces munkától, de nem akartam, hogy a transzformátor tartósan rögzítve legyen a táblához.
4. lépés: Hozzon létre egy aljzatot a kijelzőhöz és adjon hozzá lábakat
Mivel a kijelző 16 tűvel rendelkezik, mindkét oldalon 8 db, és a tűk közötti távolság szélesebb, mint a szabványos 16 tűs IC aljzat, ezért a foglalat méretét úgy kell beállítani, hogy illeszkedjen a kijelzőhöz. Ezt úgy teheti meg, hogy egyszerűen használ egy pár drótvágót a foglalat két oldalát összekötő műanyag levágásához, szétválasztásához és külön forrasztásához a táblához, olyan távolsággal, amely megfelel a kijelzőn lévő csapok távolságának. Előnyös ezt úgy tenni, hogy ne kelljen közvetlenül a kijelző csapjaihoz forrasztani, és ne tegye ki a kijelzőt túlzott hőnek. A fenti képen a tábla tetején látható az aljzat, amellyel ezt megtettem.
Annak érdekében, hogy a kijelző megfelelően felálljon, két 1 -os csavart csavaroztam a prototípus tábla alsó két saroklyukába, amint a képeken látható, hogy egy egyszerű állványt készítsünk. Ez elég ütős volt, ezért ha ezt megteszi, valami nehéz dolgot szeretne tenni a csavarok hátuljára, hogy stabilizálja.
5. lépés: Az áramköri lap huzalozásának ellenőrzése és a kalibrálás előkészítése
Az áramköri lap bekötése után, de mielőtt az IC -ket vagy a kijelzőt csatlakoztatná, vagy bekapcsolná, jó ötlet ellenőrizni a kártya csatlakozásait egy DVM -el. A legtöbb DVM -et beállíthatja úgy, hogy sípoljanak, ha van folyamatosság. Állítsa a DVM -et ebbe az üzemmódba, majd kövesse a kapcsolási rajzot, és ellenőrizze a lehető legtöbb áramköri csatlakozást. Ellenőrizze, hogy nincs -e megszakadt áramkör, vagy annak közelében a +5V és a földelési pontok között. Szemrevételezéssel ellenőrizze, hogy minden alkatrész a megfelelő csapokhoz van -e csatlakoztatva.
Ezután csatlakoztassa a transzformátort az áramkörhöz, és kapcsolja be. Mielőtt bármilyen IC -t vagy a kijelzőt csatlakoztatna, ellenőrizze, hogy pontosan 5V DC van -e az 5V -os tápkábelben, hatókörrel vagy DVM -el.
Következő lépésként CSAK az Op-Amp U5 IC-t csatlakoztassa a következő lépés előkészítéséhez. Itt ellenőrizni fogjuk, hogy a keresztező áramkörünk négyzethullámot generál, és az RV1 potenciométert tiszta 60 Hz -es jelre állítjuk be.
6. lépés: Áramkör kalibrálása
Az egyetlen kalibrálás, amelyet el kell végezni, az RV1 potenciométer beállítása a keresztirányú érzékelőt tápláló jel megfelelő szintjéhez. Ennek két módja van:
1. Helyezzen egy szondát az U5 1. tűjére, és győződjön meg arról, hogy a szonda földelővezetékét az áramkör testéhez csatlakoztatta. Ezután állítsa be az RV1 értéket, amíg tiszta négyzethullámot nem kap, amint az a fenti képen látható. Ha az RV1 -et túl messzire állítja, akkor vagy nincs négyzethullám, vagy torz négyzethullám. Győződjön meg arról, hogy a négyzethullám frekvenciája 60 Hz. Ha modern hatókörrel rendelkezik, akkor valószínűleg meg fogja mondani a frekvenciát. Ha olyan ősi hatókörrel rendelkezik, mint én, akkor győződjön meg arról, hogy a négyzethullám időtartama körülbelül 16,66 ms vagy 1/60 másodperc.
2. Frekvencia üzemmódban frekvenciaszámláló vagy DVM használatával mérje meg a frekvenciát az U5 1. tűjén, és állítsa be az RV1 -et pontosan 60 Hz -re.
A kalibrálás befejezése után kapcsolja ki az áramkört, és csatlakoztassa az összes IC -t és a kijelzőt az áramkör felépítésének befejezéséhez.
7. lépés: Az Arduino program
A program teljes mértékben kommentált, így minden lépés részleteit kitalálhatja. A program összetettsége miatt nehéz minden lépést leírni, de nagyon magas szinten ez így működik:
A mikroprocesszor fogadja a bejövő 60 Hz -es négyzethullámot, és 60 ciklust számlál, és minden 60 ciklus után növeli a másodpercek számát. Amint a másodpercek száma eléri a 60 másodpercet vagy 3600 ciklust, a percek számát növelik, és a másodpercek száma nullázódik. Amint a percek száma eléri a 60 percet, az órák száma növekszik, és a percszámláló nullázódik. az óraszám 13 óra után visszaáll 1 -re, tehát ez 12 órás óra. Ha 24 órás órát szeretne, csak módosítsa a programot, hogy 24 óra után nullára állítsa az órákat.
Ez egy kísérleti projekt, ezért megpróbáltam egy Do-while ciklus segítségével elnyomni a kapcsoló ugrálását a Set és a Increment gombokon. Viszonylag jól működik. Ha a Set gombot egyszer megnyomja, a Növelés gomb segítségével lépkedhet a kijelzőn megjelenő órák között. A Set gomb ismételt megnyomásakor a növekmény gomb segítségével lépkedhet a kijelzőn megjelenő percekben. Amikor a Set gombot harmadszor is megnyomja, beállítja az időt, és az óra futni kezd.
A 0 és 1 minták, amelyek a 7 szegmenses kijelzőkön minden szám megjelenítésére szolgálnak, a Seven_Seg nevű tömbben kerülnek tárolásra. Az aktuális órától függően ezeket a mintákat a 74HC595 IC táplálja és elküldi a kijelzőre. A kijelző 4 számjegye közül melyiket kapcsolja be egyszerre az adatok fogadásához, a mikroprocesszor vezérli a Dig 1, 2, 3, 4 pin kijelzőn keresztül. Amikor az áramkör be van kapcsolva, a program először futtat egy tesztrutinot Test_Clock néven, amely elküldi a megfelelő számjegyeket, hogy minden kijelző megvilágítson 0 és 9 közötti számmal. Tehát ha ezt látja, amikor bekapcsol, akkor tudja, hogy mindent helyesen épített fel.
8. lépés: Alkatrészlista
1 - Transzformátor 120VAC - 12VAC kb. 100mA vagy több NPN tranzisztorok 8 - 330 ohmos ellenállások 2 - 74LS04 Hex inverterek 1 - 74HC595 soros és párhuzamos 8 bites eltolásregiszter 1 - LM358 OP -AMP (összehasonlító) 1 - ATMEGA328P mikrokontroller (Creatron) 4 - 4,7 K ellenállás 7 - 10K ellenállás 1 - 1N4007 vagy 1N400114 dióda diódák 1 - 120 ohm, 1/2W vagy 1 W ellenállás 1 - PCB -re szerelt 10K potenciométer 1 - 470uF 25 V kondenzátor 1 - 7805 TO220 csomag feszültségszabályozó 1 - 10uF 10 V kondenzátor 2 - 0,1 uF 10 V kondenzátorok 1 - 16 MHz -es kristály (Sparkfun) 2 - 22 pF kondenzátorok 1 - Női tápcsatlakozó (Opcionálisan felszerelhető dugó, ha van a fali transzformátoron) 4 "hosszú #4-40 csavarok és megfelelő anyák1 - darab 1/2" széles, lapos alumínium szalag egyedi vágással és méretre fúrták
#30 AWG huzaltekercselő huzal#22 AWG huzal
Ajánlott:
Analóg óra és digitális óra készítése LED csíkkal az Arduino használatával: 3 lépés
Hogyan készítsünk analóg órát és digitális órát LED csíkkal az Arduino használatával: Ma analóg órát készítünk & Digitális óra LED szalaggal és MAX7219 Dot modul Arduino -val. Ez korrigálja az időt a helyi időzónával. Az analóg óra hosszabb LED csíkot használhat, így a falra akasztva műalkotássá válhat
Digitális óra, de mikrokontroller nélkül [Hardcore Electronics]: 13 lépés (képekkel)
Digitális óra, de mikrokontroller nélkül [Hardcore Electronics]: Elég könnyű áramköröket építeni mikrokontrollerrel, de teljesen elfelejtjük azt a rengeteg munkát, amelyet egy mikrokontrollernek kellett elvégeznie egy egyszerű feladat elvégzéséhez (még egy led villogásához is). Szóval milyen nehéz lenne egy komplett digitális órát készíteni
Digitális óra mikrokontroller használatával (AT89S52 RTC áramkör nélkül): 4 lépés (képekkel)
Digitális óra mikrokontroller használatával (AT89S52 RTC áramkör nélkül): Leírjuk az órát … "Az óra olyan eszköz, amely számolja és mutatja az időt (relatív)"! . MEGJEGYZÉS: 2-3 percet vesz igénybe az olvasás, kérjük, olvassa el az egész projektet, különben nem fogom
ESP8266 Hálózati óra RTC nélkül - Nodemcu NTP óra Nem RTC - INTERNET ÓRA PROJEKT: 4 lépés
ESP8266 Hálózati óra RTC nélkül | Nodemcu NTP óra Nem RTC | INTERNET ÓRA PROJEKT: A projektben óra projektet készítenek RTC nélkül, időbe telik az internet az wifi használatával, és megjeleníti az st7735 kijelzőn
Arduino digitális óra riasztási funkcióval (egyedi NYÁK): 6 lépés (képekkel)
Arduino digitális óra ébresztési funkcióval (egyedi PCB): Ebben a DIY útmutatóban megmutatom, hogyan lehet saját digitális óráját létrehozni ezzel az ébresztési funkcióval. Ebben a projektben úgy döntöttem, hogy saját PCB -t készítek, amely Arduino UNO mikrovezérlőn - Atmega328p -n alapul. Az alábbiakban megtalálja az elektronikus vázlatot a PCB l