Taula de continguts:

Rellotge digital Arduino sincronitzat per la línia elèctrica de 60 Hz: 8 passos (amb imatges)
Rellotge digital Arduino sincronitzat per la línia elèctrica de 60 Hz: 8 passos (amb imatges)

Vídeo: Rellotge digital Arduino sincronitzat per la línia elèctrica de 60 Hz: 8 passos (amb imatges)

Vídeo: Rellotge digital Arduino sincronitzat per la línia elèctrica de 60 Hz: 8 passos (amb imatges)
Vídeo: Соединения двигателя стиральной машины для ваших простых проектов 2024, De novembre
Anonim
Rellotge digital Arduino sincronitzat per la línia elèctrica de 60 Hz
Rellotge digital Arduino sincronitzat per la línia elèctrica de 60 Hz

Aquest rellotge digital basat en Arduino està sincronitzat per la línia elèctrica de 60 Hz. Té una pantalla de 7 dígits d'ànode comú senzilla i econòmica de 7 segments que mostra hores i minuts. Utilitza un detector creuat per detectar quan l’ona sinusoïdal entrant de 60Hz creua el punt de voltatge zero i obté una ona quadrada de 60 Hz.

En períodes de temps curts, la freqüència de l’ona sinusoïdal entrant des de la línia elèctrica pot variar molt lleugerament a causa de la càrrega, però durant períodes llargs de temps, la mitjana és de 60 Hz amb molta precisió. Podem aprofitar-ho per obtenir una font de temps per sincronitzar el nostre rellotge.

Pas 1: el diagrama del circuit

El diagrama del circuit
El diagrama del circuit

Hi ha dues versions del circuit segons si voleu utilitzar un transformador amb una aixeta central o sense, en qualsevol cas, el funcionament del circuit és gairebé idèntic. Per a aquesta compilació he utilitzat un adaptador de paret (sense aixeta central) que genera 12V CA. Faré servir aquest disseny (Diagrama de circuits Digital Clock1) per a la descripció del circuit. Tingueu en compte que és important utilitzar un adaptador de paret que emeti 12V CA i no 12V DC per poder accedir a l’ona sinusoïdal CA per sincronitzar-lo. Probablement també podríeu fer servir un transformador que produeixi 9V de CA, traieu R19 i que funcioni també, però hi ha 12V de manera habitual. Així funciona el circuit:

120V CA a 60Hz es converteix a 12V CA mitjançant el transformador TR1. Això s’alimenta al díode D4 i es rectifica de manera que només s’alimenta la tensió + ve, i s’alisa fins a aproximadament CC amb ondulació, mitjançant el condensador C3. La tensió de C3 s’alimenta al regulador de tensió 7805 (U6) mitjançant la resistència R19. R19 s’utilitza per reduir la tensió a C3 que en el meu cas es mesurava a aproximadament 15VDC. Això pot ser regulat pel 7805, però amb aquest nivell d’entrada el 7805 ha de baixar aproximadament 10VDC i, com a resultat, s’escalfa força. En utilitzar R19 per baixar el voltatge a uns 10VDC, evitem que l’U6 s’escalfi massa. Per tant, aquesta no és una tècnica eficient de conversió de potència, però funciona per als nostres propòsits. NOTA: utilitzeu almenys una resistència de 1 / 2W o més aquí. El circuit consumeix uns 55 ma, de manera que la dissipació de potència en R19 és d'aproximadament 1 / 3W segons P = I ** 2 * R o P = 55ma x 55ma x 120 ohms = 0,363W. El següent U6 emet 5V CC pur amb C4 i C5 a la sortida per filtrar qualsevol soroll a la línia elèctrica de 5V. Aquest corrent continu de 5 V alimenta tots els circuits integrats del tauler.

Des de TR1 també prenem una mostra del senyal de corrent altern sense filtrar i l’alimentem al potenciòmetre RV1 que s’utilitza per ajustar el nivell alimentat al detector de creuament. R18 i R17 formen un divisor de tensió per reduir encara més el nivell de voltatge de corrent altern. Recordeu que entra a 12 V de corrent altern i que hem de reduir-lo a menys de 5 V perquè funcioni amb el nostre detector creuat que només és alimentat per 5VDC. R15 i R16 proporcionen limitació de corrent, mentre que D1 i D2 estan destinats a evitar la sobrecàrrega de l’amplificador operatiu U5. A la configuració que es mostra, la sortida d'U5 al pin 1 alternarà entre + 5V i 0V cada vegada que l'ona sinusoïdal entrant passi de positiva a negativa. Això genera una ona quadrada de 60 Hz que s’alimenta al microcontrolador U4. El programa carregat a U4 fa servir aquesta ona quadrada de 60Hz per incrementar el rellotge cada minut i hora. Com es fa això es discutirà a la secció del programa de programari i als comentaris del programari.

U7 s’utilitza el registre de desplaçament 74HC595 perquè tenim un nombre limitat de pins digitals al microprocessador, de manera que s’utilitza per ampliar el nombre de sortides. Utilitzem 4 pins digitals al microprocessador, però podem controlar 7 segments de la pantalla mitjançant el 74HC595. Això s'aconsegueix desplaçant patrons predeterminats de bits, emmagatzemats al microcontrolador, i que representen cada dígit que es mostrarà al registre de desplaçament.

La pantalla que s’utilitza aquí és un ànode comú, de manera que hem d’invertir els nivells de senyal que surten del 74HC595 per activar un segment. Quan s’ha d’engegar un segment, el senyal que surt del pin de sortida 74HC595 serà a + 5V, però necessitem que el pin que s’està alimentant a la pantalla estigui a 0V per activar aquest segment de pantalla. Per això, necessitem inversors hexagonals U2 i U3. Malauradament, un CI inversor només pot gestionar 6 inversions, de manera que en necessitem dues, tot i que a la segona només fem servir una de les 6 portes. Malgastador malauradament. Us podeu preguntar per què no utilitzeu una pantalla de tipus de càtode comú aquí i eliminar U2 i U3? Doncs bé, la resposta és que podeu, només tinc un tipus d'ànode comú en el subministrament de peces. Si teniu o voleu utilitzar una pantalla de tipus càtode comú, només heu d'eliminar U2 i U3 i torneu a connectar Q1 - Q4 perquè els col·lectors de transistors estiguin connectats als pins de visualització i els emissors de transistors estiguin connectats a terra. Q1 - Q4 controla quina de les quatre pantalles de 7 segments està activa. Això és controlat pel microcontrolador, mitjançant els pins connectats a la base dels transistors Q1 - Q4.

Els botons d’increment i configuració s’utilitzaran per definir manualment l’hora correcta del rellotge a l’hora d’utilitzar-lo realment. Quan es prem el botó Configura una vegada, es pot utilitzar el botó Increment per passar les hores que es mostren a la pantalla. Quan es torna a prémer el botó Estableix, es pot utilitzar el botó d'increment per recórrer els minuts que es mostren a la pantalla. Quan es prem el botó Estableix per tercera vegada, s'estableix l'hora. R13 i R14 estiren els pins del microcontrolador associats amb aquests botons quan no s’utilitzen.

Tingueu en compte que aquí hem tret U4 (Atmega328p) de la típica placa de prototips Arduino UNO i la hem posat a la placa de prototipus amb la resta del nostre circuit. Per fer-ho, hem de proporcionar com a mínim cristall X1 i condensadors C1 i C2 per proporcionar una font de rellotge per al microcontrolador, lligar el pin 1, el pin de restabliment, elevat i proporcionar una potència de 5VDC.

Pas 2: Taula de pa del vostre circuit

Breadboard Your Circuit
Breadboard Your Circuit
Tauler de pa El vostre circuit
Tauler de pa El vostre circuit

Independentment de si esteu construint el circuit exactament tal com es mostra al diagrama del circuit o potser utilitzeu un transformador, un tipus de pantalla o altres components lleugerament diferents, hauríeu de revisar el circuit primer per assegurar-vos que funciona i que enteneu com funciona.

A les imatges es pot veure que la taula de treball necessitava un parell de taules i una placa Arduino Uno. Per tant, per programar el microcontrolador o experimentar o fer canvis al programari, inicialment necessitareu el CI del microcontrolador en una placa UNO perquè pugueu connectar-hi un cable USB i l’ordinador per carregar el programa o fer canvis de programari.

Un cop tingueu el rellotge funcionant a la taula de programació i tingueu programat el microcontrolador, el podeu desconnectar i connectar al sòcol del rellotge permanent de construcció final al tauler prototip. Assegureu-vos de seguir les precaucions antiestàtiques quan feu això. Utilitzeu una corretja antiestàtica mentre manipuleu el microprocessador.

Pas 3: construcció del circuit a Protoboard

Construcció de circuits a Protoboard
Construcció de circuits a Protoboard
Construcció de circuits a Protoboard
Construcció de circuits a Protoboard

El circuit es construeix sobre una peça de prototip de placa i cablejat punt a punt mitjançant un filferro de filferro AWG # 30. Proporciona un resultat dur i fiable. Com que el transformador que tinc té un endoll macho de 5 mm a l'extrem del cable, he muntat el receptacle femella corresponent a la part posterior del tauler tallant, doblegant i foradant un tros de tira d'alumini plana d'1 / 2 d'ample per fer un encàrrec i fixeu-lo a la placa amb petites femelles i cargols de 4 a 40. Només podríeu tallar el connector i soldar els cables d’alimentació restants a la placa i estalviar-vos uns 20 minuts de treball, però no volia que el transformador estigués fixat permanentment a la junta.

Pas 4: crear un sòcol per a la pantalla i donar-li cames

Crear un sòcol per a la pantalla i donar-li cames
Crear un sòcol per a la pantalla i donar-li cames
Crear un sòcol per a la pantalla i donar-li cames
Crear un sòcol per a la pantalla i donar-li cames
Crear un sòcol per a la pantalla i donar-li cames
Crear un sòcol per a la pantalla i donar-li cames

Com que la pantalla té 16 pins, 8 de cada costat, amb un espaiat de pin més ampli que un sòcol IC de 16 pins estàndard, hem d’ajustar la mida del sòcol perquè s’adapti a la pantalla. Podeu fer-ho simplement amb un parell de talladores de filferro per estirar el plàstic que connecta els dos costats del sòcol, separar-los i soldar-los per separat al tauler amb un espaiat que coincideixi amb l’espaiat dels passadors de la pantalla. És avantatjós fer-ho per no haver de soldar directament als pins de la pantalla i exposar la pantalla a una calor excessiva. Podeu veure el sòcol que he fet a la part superior del tauler a la imatge superior.

Per tal que la pantalla es posés dreta, vaig fixar dos perns d'1 als dos forats de la cantonada inferiors del tauler prototip, tal com es mostra a les fotos, per fer un suport senzill. vull posar alguna cosa pesada a la part posterior dels parabolts per estabilitzar-la.

Pas 5: Comprovació del cablejat de la placa de circuit i preparació per a la calibració

Comprovació del cablejat de la placa de circuit i preparació per a la calibració
Comprovació del cablejat de la placa de circuit i preparació per a la calibració

Un cop connectada la placa de circuit però abans d’endollar els circuits integrats o visualitzar-la o encendre-la, és una bona idea comprovar les connexions de la placa amb un DVM. Podeu configurar la majoria de DVM de manera que emetin un so quan hi hagi continuïtat. Configureu el DVM en aquest mode i, seguint el diagrama del circuit, comproveu el màxim nombre de connexions de circuits possibles. Comproveu si hi ha un circuit obert o proper a aquest, entre els punts + 5V i Ground. Comproveu visualment que tots els components estan connectats als pins correctes.

A continuació, connecteu el transformador al circuit i engegueu-lo. Comproveu que tingueu exactament 5 V CC al rail d'alimentació de 5 V amb un objectiu o DVM abans d'endollar cap circuit integrat o la pantalla.

A continuació, endolleu NOMÉS l’Op-Amp U5 IC en preparació per al següent pas. Aquí comprovarem que el nostre circuit creuat genera una ona quadrada i ajustarem el potenciòmetre RV1 per obtenir un senyal net de 60 Hz.

Pas 6: Calibració del circuit

Calibració del circuit
Calibració del circuit
Calibració del circuit
Calibració del circuit

L'únic calibratge que cal fer és ajustar el potenciòmetre RV1 per obtenir el nivell correcte de senyal que alimenta el detector creuat. Hi ha dues maneres de fer-ho:

1. Col·loqueu una sonda d’objectiu al pin 1 de U5 i assegureu-vos de connectar el cable de terra de la sonda d’objectiu a la terra del circuit. A continuació, ajusteu RV1 fins que tingueu una ona quadrada neta com es mostra a la imatge superior. Si ajusteu RV1 massa d’una manera o d’una altra, no tindreu cap ona quadrada ni una ona quadrada distorsionada. Assegureu-vos que la freqüència de l’ona quadrada és de 60 Hz. Si teniu un abast modern, probablement us indicarà la freqüència. Si teniu un abast antic com jo, assegureu-vos que el període d'ona quadrada sigui d'aproximadament 16,66 ms o 1/60 segons.

2. Mitjançant un comptador de freqüència o DVM en mode de freqüència mesureu la freqüència al pin 1 de U5 i ajusteu RV1 exactament a 60 Hz.

Un cop fet aquest calibratge, apagueu el circuit i connecteu tots els circuits integrats i la pantalla per completar la construcció del circuit.

Pas 7: el programa Arduino

El programa està completament comentat perquè pugueu esbrinar els detalls de cada pas. A causa de la complexitat del programa, és difícil descriure tots els passos, però a un nivell molt alt així funciona:

El microprocessador rep l’ona quadrada de 60 Hz entrant i compta 60 cicles i augmenta el nombre de segons després de cada 60 cicles. Quan el recompte de segons arriba a 60 segons, o 3600 cicles, el recompte de minuts s'incrementa i el recompte de segons es restableix a zero. Quan el recompte de minuts arriba als 60 minuts, el recompte d'hores s'incrementa i el recompte de minuts es restableix a zero. el recompte d'hores es restableix a 1 després de 13 hores, de manera que es tracta d'un rellotge de 12 hores. Si voleu un rellotge de 24 hores, canvieu el programa per restablir les hores a zero després de 24 hores.

Aquest és un projecte experimental, de manera que he intentat utilitzar un bucle Do-While per suprimir el rebot del commutador als botons Set i Increment. Funciona raonablement bé. Quan es prem un cop el botó Configura, es pot utilitzar el botó Increment per passar les hores que es mostren a la pantalla. Quan es torna a prémer el botó Estableix, es pot utilitzar el botó d'increment per recórrer els minuts que es mostren a la pantalla. Quan es prem el botó Estableix per tercera vegada, s'estableix l'hora i el rellotge comença a funcionar.

Els patrons de 0 i 1 que s’utilitzen per mostrar tots els números a les pantalles de 7 segments s’emmagatzemen a la matriu anomenada Seven_Seg. Depenent de l’hora de rellotge actual, aquests patrons s’alimenten a l’IC 74HC595 i s’envien a la pantalla. Quin dels 4 dígits de la pantalla s’activa en qualsevol moment per rebre aquestes dades és controlat pel microprocessador mitjançant la pantalla Dig 1, 2, 3, 4 pins. Quan el circuit està engegat, el programa primer executa una rutina de prova anomenada Test_Clock que envia els dígits correctes per il·luminar cada pantalla amb un recompte de 0 a 9. Per tant, si veieu això en engegar, sabreu que ho heu construït tot correctament..

Pas 8: Llista de peces

1 - Transformador de 120 VCA a 12 V CA aproximadament 100 ma més 1 - Tauler prototip d'aproximadament 3,5 "x 3,5" 1 a 4 dígits Pantalla de 7 segments YSD-439K2B-35 o equivalent (Sparkfun) 2 - Petits botons de muntatge de PCB NO (qualsevol) 4 - 2N3904 Transistors NPN Resistències 8 - 330 ohmies 2 - 74LS04 Inversors hexagonals 1 - 74HC595 registre de desplaçament de sèrie a paral·lel de 8 bits 1 - LM358 OP-AMP (Comparador) 1 - Microcontrolador ATMEGA328P (Creatron) 4 - Resistències 4,7K Resistències 10 - 10K 1 - 1N4007 o 1N44148 diode2 diodes1 - 120 ohm, resistència 1 / 2W o 1W1 - Potenciómetre 10K muntat en PCB1 - Condensador 470uF 25V1 - Regulador de voltatge del paquet 7805 TO21 - Condensador 10uF 10V2 - Condensadors 0,1 uF 10V1 - 16MHz cristall (Sparkfun) 2 - Condensadors 22pF1 - Presa d'alimentació femenina (Opcional per adaptar-se a un endoll masculí, si n'hi ha cap, al transformador de paret) Preses IC de 2 - 16 pins2 - Preses IC de 14 pins1 - Presa IC de 8 pins1 - Presa IC de 28 pins2 - 1 "de llarg aprox # 4 o # 6 perns i femelles coincidents 4 cargols de 4 "de llarg de 4" i femelles coincidents. Peça de tira d'alumini plana d'1 / 2 "d'ample tallada a mida i foradat a mida

# 30 AWG wire wire wire # 22 AWG wireSolder

Recomanat: