Sadržaj:
- Korak 1: Dijagram kruga
- Korak 2: Upravljačka ploča vašeg kruga
- Korak 3: Konstrukcija kruga na Protoboardu
- Korak 4: Stvaranje utičnice za zaslon i davanje nogu
- Korak 5: Provjerite ožičenje tiskane ploče i pripremite se za kalibraciju
- Korak 6: Kalibracija kruga
- Korak 7: Arduino program
- Korak 8: Popis dijelova
Video: Arduino digitalni sat sinkroniziran mrežnim naponom od 60Hz: 8 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Ovaj digitalni sat baziran na Arduinu sinkroniziran je mrežnim naponom od 60Hz. Ima jednostavan i jeftin zajednički anodni 4 -znamenkasti 7 -segmentni zaslon koji prikazuje sate i minute. Koristi detektor križanja za otkrivanje kada dolazni sinusni val od 60Hz prelazi nultu točku napona i izvodi kvadratni val od 60 Hz.
U kratkim vremenskim razdobljima učestalost dolaznog sinusnog vala s dalekovoda može se vrlo malo razlikovati zbog opterećenja, ali tijekom dugih vremenskih razdoblja u prosjeku je vrlo precizno do 60Hz. To možemo iskoristiti za izvođenje vremenskog izvora za sinkronizaciju našeg sata.
Korak 1: Dijagram kruga
Postoje dvije verzije kruga, ovisno o tome želite li koristiti transformator sa središnjom slavinom ili onu bez, u oba slučaja rad kruga je gotovo identičan. Za ovu sam konstrukciju koristio zidni adapter (bez središnje slavine) koji izlazi 12V AC. Koristit ću ovaj dizajn (digitalni dijagram sata 1) za opis kruga. Imajte na umu da je važno upotrijebiti zidni adapter koji izlazi 12V AC, a ne 12V DC kako bismo mogli uključiti izmjenični sinusni val radi mjerenja vremena. Vjerojatno biste mogli koristiti i transformator koji emitira 9V AC, uklanja R19 i također radi, ali 12V je vrlo često dostupno. Ovako krug funkcionira:
120V AC na 60Hz pretvara se u 12V AC transformatorom TR1. To se napaja na diodu D4 i ispravlja tako da se samo +ve napon dovodi na kondenzator C3 i izravnava na približno istosmjernu struju s valovanjem. Napon na C3 dovodi se u regulator napona 7805 (U6) preko otpornika R19. R19 se koristi za smanjenje napona na C3 koji je u mom slučaju izmjeren na približno 15VDC. To se može regulirati pomoću 7805, ali s ovom razinom ulaza 7805 mora pasti za približno 10VDC i kao rezultat toga postaje prilično vruće. Upotrebom R19 za pad napona na oko 10VDC sprječavamo da se U6 previše zagrije. Dakle, ovo nije učinkovita tehnika pretvaranja energije, ali radi u naše svrhe. NAPOMENA: ovdje upotrijebite najmanje 1/2 otpornika ili više. Krug troši oko 55 ma, pa je rasipanje snage u R19 oko 1/3W na temelju P = I ** 2*R ili P = 55ma x 55ma x 120 ohma = 0,363 W. Sljedeći U6 daje čisti 5V DC s C4 i C5 na izlazu za filtriranje bilo kakve buke na 5V dalekovodu. Ovaj 5V DC napaja sve IC -ove na ploči.
Iz TR1 također uzimamo uzorak nefiltriranog izmjeničnog signala i unosimo ga u potenciometar RV1 koji se koristi za podešavanje razine koja se dovodi na detektor križanja. R18 i R17 tvore razdjelnik napona kako bi dodatno smanjili stupanj ulaznog izmjeničnog napona. Zapamtite da ovo dolazi na 12 V AC i moramo ga smanjiti na manje od 5 V kako bi radio s našim detektorom križanja koji je samo napaja 5VDC. R15 i R16 osiguravaju ograničavanje struje, dok su D1 i D2 namijenjeni sprječavanju prenapona op-amp U5. U prikazanoj konfiguraciji izlaz U5 na pinu 1 izmjenjivat će se između +5V i 0V svaki put kad se dolazni sinusni val promijeni iz pozitivnog u negativan. Time se stvara kvadratni val od 60 Hz koji se dovodi do mikrokontrolera, U4. Program učitan na U4 tada koristi ovaj kvadratni val od 60Hz za povećanje sata svake minute i sata. Kako se to radi bit će raspravljeno u odjeljku o softverskom programu i komentarima na softver.
U7 koristi se registar pomaka 74HC595 jer imamo ograničen broj digitalnih pinova na mikroprocesoru, pa se koristi za proširenje broja izlaza. Na mikroprocesoru koristimo 4 digitalna pina, ali možemo kontrolirati 7 segmenata na zaslonu putem 74HC595. To se postiže prebacivanjem unaprijed određenih uzoraka bitova, pohranjenih u mikrokontroleru, a koji predstavljaju svaku znamenku za prikaz, u registar pomaka.
Zaslon koji se ovdje koristi je uobičajena anoda, pa moramo uključiti razine signala koji izlaze iz 74HC595 kako bismo uključili segment. Kad bi segment trebao biti uključen, signal koji izlazi iz 74HC595 izlaznog pina bit će na +5V, ali trebamo da pin koji se napaja na zaslonu bude na 0V kako bismo uključili taj segment zaslona. Dakle, za to su nam potrebni šesterokutni pretvarači U2 i U3. Nažalost, jedan IC pretvarač može podnijeti samo 6 inverzija pa su nam potrebne dvije od njih iako na drugom koristimo samo jedno od 6 vrata. Nažalost rasipnički. Možda ćete se upitati zašto ovdje ne biste koristili uobičajeni prikaz tipa katode i uklonili U2 i U3? Pa odgovor je da možete, slučajno imam zajedničku vrstu anode u opskrbi dijelovima. Ako imate ili želite koristiti zaslon uobičajene katode, uklonite U2 i U3 i ponovno spojite Q1 - Q4 tako da su tranzistorski kolektori spojeni na pinove zaslona, a odašiljači tranzistora na masu. Q1 - Q4 kontrolira koji je od četiri 7 -segmentna zaslona aktivan. Time upravlja mikrokontroler, preko pinova spojenih na bazu tranzistora Q1 - Q4.
Gumbi za povećanje i podešavanje koristit će se za ručno postavljanje ispravnog vremena sata kada je u pitanju stvarno korištenje sata. Kad jednom pritisnete gumb Set, gumb Increment se može koristiti za korake kroz sate prikazane na zaslonu. Kad se gumb Set ponovno pritisne, gumb za povećanje može se koristiti za korake kroz minute prikazane na zaslonu. Kada se tipka Set pritisne treći put, vrijeme se postavlja. R13 i R14 povlače pinove mikrokontrolera povezane s ovim gumbima nisko kada se ne koriste.
Imajte na umu da smo ovdje skinuli U4 (Atmega328p) sa tipične Arduino UNO prototipne ploče i stavili je na prototipnu ploču s ostatkom našeg kruga. Da bismo to učinili, moramo u najmanju ruku osigurati kristal X1 i kondenzatore C1 i C2 kako bismo osigurali izvor takta za mikrokontroler, vezni pin 1, pin za resetiranje, visoki i osigurali snagu 5VDC.
Korak 2: Upravljačka ploča vašeg kruga
Bez obzira na to sastavljate li krug točno onako kako je prikazano na dijagramu kruga ili možda koristite nešto drugačiji transformator, vrstu zaslona ili druge komponente, prvo biste trebali postaviti krug na krug kako biste bili sigurni da radi i da razumijete kako radi.
Na slikama možete vidjeti da je za izradu cijele stvari potrebno nekoliko ploča, kao i Arduino Uno ploča. Dakle, da biste programirali mikrokontroler ili eksperimentirali ili izvršili izmjene u softveru, u početku će vam trebati IC mikrokontrolera na UNO ploči, tako da možete spojiti USB kabel na njega i vaše računalo za prijenos programa ili izmjene softvera.
Jednom kad sat počne raditi na ploči i programirate mikrokontroler, možete ga isključiti iz utičnice i priključiti u utičnicu na završnoj ploči stalnog sata na prototipnoj ploči. Pri tome obavezno slijedite antistatičke mjere opreza. Prilikom rukovanja mikroprocesorom koristite antistatičku narukvicu.
Korak 3: Konstrukcija kruga na Protoboardu
Krug je izgrađen na komadu prototipne ploče i ožičen od točke do točke pomoću žice za omatanje #30 AWG. Omogućuje čvrst i pouzdan rezultat. Budući da transformator koji imam ima muški utikač od 5 mm na kraju kabela, montirao sam odgovarajuću žensku utičnicu na stražnju stranu ploče rezanjem, savijanjem i bušenjem komada 1/2 široke aluminijske trake široke po mjeri držač i zatim ga pričvrstite na ploču s malim 4-40 matica i vijaka. Mogli ste samo odrezati konektor i lemiti preostale žice za napajanje na ploču i uštedjeti oko 20 minuta rada, ali nisam želio da transformator bude trajno pričvršćen na ploču.
Korak 4: Stvaranje utičnice za zaslon i davanje nogu
Budući da zaslon ima 16 pinova, po 8 sa svake strane, s razmakom između pinova širim od standardne 16 -polne IC utičnice, moramo prilagoditi veličinu utičnice kako bi odgovarala zaslonu. To možete učiniti jednostavno pomoću para rezača žice da biste odrezali plastiku koja spaja dvije strane utičnice, odvojili ih i zasebno lemili na ploču s razmakom koji odgovara razmaku pinova na zaslonu. To je poželjno učiniti tako da ne morate lemiti izravno na igle zaslona i izlagati zaslon prekomjernoj toplini. Na gornjoj ploči na gornjoj slici možete vidjeti utičnicu na koju sam to učinio.
Kako bi se zaslon ispravno uspravio, pričvrstio sam dva vijka od 1 na donje dvije kutne rupe prototipne ploče, kao što je prikazano na fotografijama, kako bih napravio jednostavno postolje. Ovo je bilo prilično nepodnošljivo, pa ako to učinite, možda ćete želite staviti nešto teško na stražnju stranu vijaka kako bi se stabiliziralo.
Korak 5: Provjerite ožičenje tiskane ploče i pripremite se za kalibraciju
Nakon što je ploča spojena, ali prije uključivanja IC -ova ili zaslona ili uključivanja, dobro je provjeriti veze ploče s DVM -om. Većinu DVM -ova možete postaviti tako da pišu kad postoji kontinuitet. Postavite svoj DVM u ovaj način rada, a zatim slijedite dijagram kruga i provjerite što je moguće više spojeva kruga. Provjerite postoji li prekid strujnog kruga ili blizu njega između +5V i uzemljenja. Vizualno provjerite jesu li sve komponente spojene na ispravne pinove.
Zatim spojite transformator na strujno kolo i uključite ga. Prije priključivanja bilo kojih IC -ova ili zaslona provjerite imate li točno 5V DC na 5V naponskoj vodilici s opsegom ili DVM -om.
Sljedeće uključite SAMO Op-Amp U5 IC u pripremi za sljedeći korak. Ovdje ćemo provjeriti generira li naš križni krug kvadratni val i podesiti potenciometar RV1 za čisti signal od 60 Hz.
Korak 6: Kalibracija kruga
Jedino kalibriranje koje je potrebno izvršiti je podešavanje potenciometra RV1 za ispravnu razinu signala koji napaja detektor križanja. Postoje dva načina za to:
1. Stavite sondu opsega na pin 1 U5 i spojite žicu uzemljenja sonde opsega na masu kruga. Zatim namjestite RV1 dok ne dobijete čisti kvadratni val kao što je prikazano na gornjoj slici. Ako na ovaj ili onaj način previše podesite RV1, nećete imati kvadratni val ili izobličen kvadratni val. Uvjerite se da je frekvencija kvadratnog vala 60 Hz. Ako imate moderan opseg, vjerojatno će vam reći učestalost. Ako imate drevni opseg poput mene, pobrinite se da razdoblje kvadratnog vala bude približno 16,66 ms ili 1/60 sekundi.
2. Pomoću brojača frekvencija ili DVM -a u Frequency modu izmjerite frekvenciju na Pin 1 U5 i podesite RV1 za točno 60 Hz.
Nakon što je kalibracija izvršena, isključite krug i priključite sve IC -ove i zaslon kako biste dovršili izgradnju kruga.
Korak 7: Arduino program
Program je potpuno komentiran tako da možete shvatiti pojedinosti svakog koraka. Zbog složenosti programa teško je opisati svaki korak, ali ovako funkcionira na vrlo visokoj razini:
Mikroprocesor prima dolazni kvadratni val od 60 Hz i broji 60 ciklusa te povećava broj sekundi nakon svakih 60 ciklusa. Kad broj sekundi dosegne 60 sekundi ili 3600 ciklusa, broj minuta se povećava, a broj sekundi se vraća na nulu. Kad broj minuta dosegne 60 minuta, broj sati se povećava, a minute se vraća na nulu. odbrojavanje sati se vraća na 1 nakon 13 sati, tako da je ovo sat od 12 sati. Ako želite 24 -satni sat, samo promijenite program tako da nakon 24 sata radno vrijeme vratite na nulu.
Ovo je eksperimentalni projekt, pa sam pokušao upotrijebiti petlju Do-While za suzbijanje odbijanja prekidača na tipkama Set i Increment. Radi relativno dobro. Kad jednom pritisnete gumb Set, gumb Increment se može koristiti za korake kroz sate prikazane na zaslonu. Kad se gumb Set ponovno pritisne, gumb za povećanje može se koristiti za korake kroz minute prikazane na zaslonu. Kad se tipka Set pritisne treći put, vrijeme se postavlja i sat počinje raditi.
Uzorci 0 i 1 koji se koriste za prikaz svakog broja na 7-segmentnim zaslonima pohranjeni su u nizu pod nazivom Seven_Seg. Ovisno o trenutnom vremenu takta, ti uzorci se šalju na IC 74HC595 i šalju na zaslon. Koja je od 4 znamenke zaslona uključena u bilo kojem trenutku za primanje ovih podataka, mikroprocesor kontrolira preko zaslona Dig 1, 2, 3, 4 pinova. Kad se krug uključi, program prvo pokreće testnu rutinu pod nazivom Test_Clock koja šalje ispravne znamenke kako bi osvijetlile svaki zaslon s brojem od 0 do 9. Dakle, ako vidite ovo kada se uključite, znate da ste sve izgradili ispravno.
Korak 8: Popis dijelova
1 - Transformator 120VAC do 12VAC približno 100 mA ili više 1 - Prototipna ploča približno 3,5 "x 3,5" 1 - 4 -znamenkasti 7 -segmentni zaslon YSD -439K2B -35 ili ekvivalent (Sparkfun) 2 - Mali gumbi za postavljanje na PCB NO (bilo koji) 4 - 2N3904 NPN tranzistori 8 - 330 ohmski otpornici 2 - 74LS04 Šesterokutni pretvarači 1 - 74HC595 serijski prema paralelnom 8 -bitni registar pomaka 1 - LM358 OP -AMP (komparator) 1 - ATMEGA328P mikrokontroler (Creatron) 4 - 4,7K otpornici 7 - 10K otpornici 1 - 1N4007 ili 1N4001 dioda diode1 - 120 ohma, otpornik 1/2W ili 1W1 - 10K potenciometar za montažu na PCB1 - 470uF 25V kondenzator1 - 7805 TO220 regulator napona paketa1 - 10uF 10V kondenzator2 - 0,1 uF 10V kondenzatori1 - 16MHz kristal (Sparkfun) 2 - 22pF kondenzatori1 - ženski priključak Opcionalno za ugradnju muškog utikača ako postoji na vaš zidni transformator) 2 - 16 -polne IC utičnice2 - 14 -polne IC utičnice1 - 8 -polna IC utičnica1 - 28 -polna IC utičnica2 - 1 "dugačka oko #4 ili #6 vijka i odgovarajuće matice2 - 1/ 4 "dugački vijci #4-40 i odgovarajuće matice1 - komad ravne aluminijske trake široke 1/2", prilagođeni rez i izbušene prema veličini
#30 AWG žica za omatanje#22 AWG žicaSpajkanje
Preporučeni:
Božićni svjetlosni show sinkroniziran s glazbom!: 4 koraka
Božićni svjetlosni show sinkroniziran s glazbom!: U ovom uputstvu pokazat ću vam kako napraviti božićni svjetlosni show sinkroniziran s božićnom glazbom pomoću RGB piksela. Neka vas to ime ne plaši! Nije teško naučiti kako to učiniti. Upozorit ću vas da ovo može biti prilično
Kako napraviti analogni sat i digitalni sat sa LED trakom pomoću Arduina: 3 koraka
Kako napraviti analogni sat i digitalni sat sa LED trakom pomoću Arduina: Danas ćemo napraviti analogni sat & Digitalni sat sa Led Stripom i MAX7219 Dot modulom s Arduinom. Popravit će vrijeme s lokalnom vremenskom zonom. Analogni sat može koristiti dužu LED traku pa se može objesiti na zid kako bi postao umjetničko djelo
Naučite kako dizajnirati prilagođenu PCB s EasyEDA mrežnim alatima: 12 koraka (sa slikama)
Naučite dizajnirati PCB po mjeri s EasyEDA mrežnim alatima: Oduvijek sam želio dizajnirati prilagođenu PCB, a s mrežnim alatima i jeftinim prototipovanjem PCB -a nikad nije bilo lakše nego sada! Moguće je čak i jeftino i jednostavno sastaviti komponente za površinsko montiranje u malim količinama kako bi se spasio težak sol
Napajanje istosmjernim naponom s podesivim naponom pomoću regulatora napona LM317: 10 koraka
Napajanje istosmjernim naponom s podesivim naponom pomoću regulatora napona LM317: U ovom projektu osmislio sam jednostavno napajanje istosmjernom strujom s podesivim naponom koristeći LM317 IC sa shemom napajanja LM317. Budući da ovaj krug ima ugrađeni ispravljač mosta, možemo izravno spojiti 220V/110V AC napajanje na ulaz
Napajanje negativnim naponom: 10 koraka (sa slikama)
Napajanje negativnim naponom: Većina onih koji se igraju s elektronikom naišli bi na audio sklop koji koristi napajanje za dvoboj. Prvi put kad sam naišao na ovo potpuno me zbunio - kako mogu izbaciti negativni naboj iz napajanja? Nije li jedan pozitivan i