Taula de continguts:

L'últim rellotge binari: 12 passos (amb imatges)
L'últim rellotge binari: 12 passos (amb imatges)

Vídeo: L'últim rellotge binari: 12 passos (amb imatges)

Vídeo: L'últim rellotge binari: 12 passos (amb imatges)
Vídeo: Основные ошибки при возведении перегородок из газобетона #5 2024, Juliol
Anonim
L’últim rellotge binari
L’últim rellotge binari
L’últim rellotge binari
L’últim rellotge binari
L’últim rellotge binari
L’últim rellotge binari

Recentment em van introduir el concepte de rellotges binaris i vaig començar a investigar per veure si en podia construir un. Tot i això, no he pogut trobar un disseny existent que fos alhora funcional i elegant. Per tant, vaig decidir crear el meu propi disseny completament des de zero!

Subministraments

Tots els fitxers d'aquest projecte:

Les biblioteques del codi Arduino es poden descarregar des de GitHub aquí:

Biblioteca M41T62 RTC

Biblioteca FastLED

Biblioteca LowPower

Pas 1: la idea

Fa poc vaig trobar el següent vídeo:

Rellotge de polsera binari de bricolatge

El vídeo anterior mostra un rellotge binari casolà bàsic. No tenia ni idea que existís tal cosa, però després d’haver investigat més sobre el tema dels rellotges binaris em vaig adonar ràpidament que hi havia un munt de dissenys diferents. Volia construir-ne un per a mi, però no vaig poder trobar un disseny que m’agradés. Als rellotges binaris que he trobat els faltava moltes funcions i no semblaven especialment bons. Per tant, vaig decidir dissenyar el meu propi completament des de zero!

El primer pas va ser establir els criteris per al meu disseny. Això és el que vaig pensar:

  • Interfície RGB binària
  • Visualització de l'hora (amb cronometratge molt precís)
  • Visualització de la data
  • Funcionalitat de cronòmetre
  • Funcionalitat d'alarma
  • Durada de la bateria de 2 setmanes com a mínim
  • Càrrega USB
  • Programari fàcilment personalitzable per l'usuari
  • Un disseny net i senzill

Aquests criteris es van convertir en la base de tot el projecte. El següent pas va ser esbrinar com volia que funcionés el rellotge.

Pas 2: Alguna teoria de la vigilància binària

Alguna teoria de la vigilància binària
Alguna teoria de la vigilància binària

El pla era senzill. El rellotge binari funcionaria com un rellotge normal, tret que la interfície seria binària, concretament, BCD (decimal codificat binari). BCD és un tipus de codificació binària on cada dígit decimal està representat per un nombre fix de bits. Necessito 4 bits per poder representar un dígit del 0 al 9. I per a un estàndard

hh: mm

format d’hora, necessito 4 d’aquests dígits. Això vol dir que necessito un total de 16 bits que estaran representats per 16 LED.

Llegir l’hora a BCD és bastant fàcil un cop us hi acostumeu. La fila de la part inferior del rellotge representa el bit menys significatiu (1) i la fila de la part superior és el bit més significatiu (8). Cada columna representa un dígit al fitxer

hh: mm

format d’hora. Si un LED està encès, compteu aquest valor. Si un LED està apagat, l’ignoreu.

Per llegir el primer dígit, només cal que sumeu tots els valors corresponents LEDs activats a la primera columna (més a l'esquerra). Feu el mateix amb els altres dígits d’esquerra a dreta. Ja heu llegit l'hora a BCD.

Aquest principi serà el mateix per a la resta de funcions del rellotge. L'ús de LED RGB ajudarà a distingir entre diferents funcions i modes mitjançant diferents colors. Els colors són escollits per l'usuari i es poden ajustar fàcilment a la paleta de colors que prefereixin. Això permet a l'usuari navegar fàcilment per les funcions sense confondre's.

El següent pas va ser crear un diagrama de blocs.

Pas 3: començar a treballar

Com arribar a la feina
Com arribar a la feina

Com qualsevol projecte electrònic típic, un diagrama de blocs és una part essencial en la fase inicial del disseny. Utilitzant els criteris, vaig aconseguir reunir el diagrama de blocs anterior. Cada bloc del diagrama representa una funció del circuit i les fletxes mostren la relació de les funcions. El diagrama de blocs en la seva totalitat proporciona una bona visió general de com funcionarà el circuit.

El següent pas va ser començar a prendre decisions sobre components individuals per a cada bloc del diagrama de blocs.

Pas 4: triar components

Va resultar que hi havia força components en aquest circuit. A continuació, he triat alguns dels més essencials juntament amb una explicació de per què els he escollit.

Els LED

Per a la interfície binària, l’elecció va ser força senzilla. Sabia que volia utilitzar LEDs per a la pantalla i em vaig adonar que en necessitava 16 (en una quadrícula 4 × 4) per mostrar tanta informació com sigui possible. Durant la meva investigació sobre el LED perfecte, l’APA102 no parava de sortir. És un LED adreçable molt petit (2 mm x 2 mm) amb una àmplia gamma de colors i és bastant econòmic. Tot i que mai no havia treballat amb ells, semblaven ser l’adequat per a aquest projecte, així que vaig decidir utilitzar-los.

El microcontrolador

L’elecció d’un microcontrolador també va ser força senzilla. He tingut molta experiència utilitzant l'Atmega328P-AU en aplicacions independents i coneixia molt bé les seves funcions. Aquest és el mateix microcontrolador que s’utilitza a les plaques Arduino Nano. Sóc conscient que probablement hi hauria un microcontrolador més econòmic que podria haver utilitzat, però saber que l'Atmega328 tindria un suport complet per a totes les biblioteques Arduino va ser un factor important a l'hora de triar-lo per a aquest projecte.

El RTC (rellotge en temps real)

El requisit principal del RTC era la precisió. Sabia que el rellotge no tindria cap connectivitat a Internet i, per tant, no seria capaç de recalibrar-se mitjançant una connexió a Internet; l’usuari hauria de tornar-lo a calibrar manualment. Per tant, volia fer que el cronometratge fos el més precís possible. El M41T62 RTC té una de les màximes precisions que he pogut trobar (± 2 ppm, que equival a ± 5 segons al mes). La combinació de l’alta precisió amb la compatibilitat I2C i el baix consum de corrent d’última hora van fer d’aquest RTC una bona opció per a aquest projecte.

Convertidor DC-DC Boost

L’elecció del convertidor d’alimentació CC-CC es va fer simplement mirant el circuit i esbrinant quines tensions i corrents eren necessaris. Executar el circuit a baixa tensió disminuiria el consum de corrent, però no podria baixar de 4,5 V (la tensió mínima del microcontrolador al rellotge de 16 MHz) i no podria superar els 4,5 V (la tensió màxima del RTC). Això volia dir que havia de fer funcionar el circuit a 4,5 V precisament per fer funcionar els components dins de les seves especificacions recomanades. He calculat que el corrent màxim del circuit no superaria els 250 mA. Per tant, vaig començar a buscar un convertidor d’impulsió que pogués complir els requisits i vaig ensopegar ràpidament amb el TPS61220. El TPS61220 requeria components externs mínims, era bastant econòmic i era capaç de satisfer els requisits de corrent i tensió.

La bateria

El requisit principal de la bateria era la mida. La bateria havia de ser prou petita perquè pogués cabre dins de la carcassa del rellotge sense que resultés voluminosa. Vaig pensar que la bateria no podia superar els 20 mm × 35 mm × 10 mm. Amb aquestes limitacions de mida i el requisit actual de 250 mA, la meva elecció de bateries es va limitar a les bateries LiPo. Vaig trobar una bateria "Turnigy nano-tech 300mAh 1S" a Hobbyking que vaig decidir utilitzar.

L'IC de càrrega

No hi havia cap requisit particular per al controlador de càrrega, tret que fos necessari que fos compatible amb una bateria LiPo 1S. He trobat l’MCP73831T, que és un controlador de càrrega totalment integrat dissenyat per a aplicacions de càrrega d’una sola cel·la. Una de les seves característiques és la possibilitat d’ajustar el corrent de càrrega a través d’una resistència externa que em va semblar força útil en aquesta aplicació.

Protecció LiPo

Volia incloure el control de tensió i corrent per protegir la bateria de qualsevol perillosa sobrecàrrega i sobrecàrrega. Hi havia una quantitat limitada d'IC que proporcionaven aquestes funcions i una de les opcions més econòmiques era l'IC BQ29700. Requeria una quantitat mínima de components externs i incloïa tota la protecció necessària per a una bateria LiPo d’una sola cel·la.

Ara que es van triar els components, era hora de crear l'esquema.

Pas 5: l’esquema

L’Esquema
L’Esquema

Mitjançant Altium Designer, vaig poder reunir l’esquema anterior utilitzant recomanacions de cadascun dels fulls de dades del component. L’esquema es divideix en diferents blocs per fer-lo més llegible. També he afegit algunes notes amb informació important per si algú volgués recrear aquest disseny.

El següent pas va ser establir l’esquema en un PCB.

Pas 6: Disseny de PCB

Disseny de PCB
Disseny de PCB
Disseny de PCB
Disseny de PCB
Disseny de PCB
Disseny de PCB
Disseny de PCB
Disseny de PCB

El disseny del PCB va resultar ser la part més difícil d’aquest projecte. Vaig optar per utilitzar un PCB de dues capes per reduir al mínim els costos de fabricació del PCB. Vaig optar per utilitzar una mida de rellotge estàndard de 36 mm perquè semblava que s’adaptava bastant bé als LED. He afegit uns forats de cargol d'1 mm per assegurar la placa PCB al quadre del rellotge. L’objectiu era mantenir un disseny net i de bon aspecte col·locant tots els components (excepte els LED, per descomptat) a la capa inferior. També volia fer servir el nombre mínim absolut de vias per evitar tenir visibles a la capa superior. Això volia dir que havia d’encaminar totes les traces en una sola capa mentre m’assegurava de mantenir les parts “sorolloses” del circuit allunyades de les traces de senyal sensibles. També em vaig assegurar de mantenir totes les petjades el més curtes possible, col·locant els condensadors de derivació a prop de la càrrega, fent servir traços més gruixuts per a components d’alta potència i, en cas contrari, seguia totes les bones pràctiques habituals del disseny de PCB. L’encaminament va trigar força temps, però crec que va sortir molt bé.

El següent pas va ser crear un model 3D per al recinte del rellotge.

Pas 7: disseny 3D

Disseny 3D
Disseny 3D
Disseny 3D
Disseny 3D
Disseny 3D
Disseny 3D

La carcassa del rellotge es va dissenyar després d’un disseny de rellotge clàssic i convencional amb Fusion 360. Vaig fer servir un espaiat estàndard de 18 mm per a la corretja del rellotge per fer que el rellotge fos compatible amb una gran varietat d’altres corretges. El tall per al PCB es va dissenyar 0, 4 mm més gran que el mateix PCB per adaptar-se a qualsevol inexactitud de fabricació. Vaig incloure alguns pals de cargol per muntar el PCB i una vora petita per col·locar-lo. Em vaig assegurar de recessir el PCB a uns mil·límetres fem de la part superior per evitar que les vores esmolades dels LED quedessin enganxades a la roba. L’alçada del recinte estava determinada únicament pel gruix de la bateria. La resta del recinte es va dissenyar per tenir un aspecte senzill, amb vores arrodonides i cantonades polides. Vaig haver de mantenir el disseny imprès en 3D de manera que pogués imprimir-lo 3D a casa sense cap material de suport.

Ara que el maquinari estava acabat, era hora de començar a treballar amb el programari.

Pas 8: el codi

El codi
El codi

Vaig començar el codi incloent totes les biblioteques necessàries. Això inclou la biblioteca per comunicar-se amb el RTC i per conduir els LED. Després d'això, he creat funcions separades per a cadascun dels modes. Quan l'usuari canvia de mode prement un botó, el programa fa servir la funció corresponent a aquest mode. Si l'usuari no prem un botó en un període de temps especificat, el rellotge es queda en repòs.

El mode de repòs s’indica si tots els LED s’esvaeixen fins que s’apaguen completament. L’ús del mode de repòs augmenta considerablement la durada de la bateria i manté els LED apagats quan no s’utilitzen. L'usuari pot despertar el rellotge prement el botó superior. Quan es desperti, el rellotge comprovarà el nivell de la bateria per assegurar-se que no necessita carregar-se. Si cal carregar-se, els LED parpellejaran en vermell unes quantes vegades abans de mostrar l'hora. Si la bateria està per sota del nivell crític, no s’encendrà gens.

La resta del temps de programació es va dedicar a fer els altres modes el més intuïtius possible. Vaig pensar que tenir el mateix botó responsable de la mateixa funcionalitat en tots els modes seria el més intuïtiu. Després de fer algunes proves, aquesta és la configuració del botó que he creat:

  • Premeu el botó superior: despertar / cicle entre els modes "Temps de visualització", "Data de visualització", "Cronòmetre" i "Alarma".
  • Manteniment del botó superior: introduïu el mode "Establir hora", "Establir data", "Iniciar el cronòmetre" o "Establir alarma".
  • Premeu el botó inferior: augmenta la brillantor.
  • Mantenir premut el botó inferior: introduïu el mode "Tria color".

El botó inferior sempre és responsable dels ajustos de brillantor i color, independentment del mode en què es trobi. Quan l’usuari accedeix al mode "Tria color", els LED comencen a recórrer tots els colors RGB possibles. L'usuari pot posar en pausa l'animació i triar el color que prefereixi per a aquest mode específic (Visualització de l'hora en vermell, Data de visualització en blau, etc.). Els colors han de ser fàcilment personalitzables per l'usuari per ajudar-lo a distingir entre els diferents modes.

Ara que el codi s'ha acabat, era hora de penjar-lo al microcontrolador.

Pas 9: programació

Programació
Programació

Ja era hora de soldar i muntar, però abans havia de programar el microcontrolador. He seguit aquest tutorial

Graveu el carregador d’arrencada a un ATmega328P-AU SMD

sobre com gravar un carregador d'arrencada i programar el microcontrolador utilitzant un Arduino Uno com a programador.

El primer pas va ser convertir l'Arduino Uno en un ISP carregant el codi d'exemple "ArduinoISP". He utilitzat una taula de treball juntament amb un sòcol de programació i he connectat l’esquema del tutorial. Després d'això, he pogut gravar el carregador d'arrencada al microcontrolador només prement "Crear carregador d'arrencada" a l'IDE Arduino.

Un cop el microcontrolador tenia un carregador d’arrencada, simplement he eliminat el microcontrolador existent de l’Arduino Uno i he utilitzat la placa Arduino Uno com a adaptador USB a sèrie per carregar el codi al microcontrolador a la presa de programació. Un cop finalitzada la càrrega, podria començar el procés de soldadura.

El següent pas va ser reunir tots els components i soldar-los.

Pas 10: soldar

Soldadura
Soldadura
Soldadura
Soldadura
Soldadura
Soldadura
Soldadura
Soldadura

El procés de soldadura es va dividir en dues parts. Primer cal soldar la capa inferior i després la capa superior.

Vaig assegurar el PCB del rellotge entre un parell de taules prototipus amb cinta adhesiva. Això va assegurar que el PCB no es mogués durant la soldadura, cosa que és molt important. Després vaig col·locar la plantilla de soldadura sobre el PCB i vaig utilitzar una gran quantitat de pasta de soldadura per cobrir totes les pastilles de soldadura. Vaig procedir a utilitzar un prim parell de pinces per col·locar tots els components a les seves coixinetes corresponents. Després vaig utilitzar una pistola de calor per tornar a soldar tots els components al seu lloc.

Quan es va soldar la capa inferior, li vaig fer una inspecció visual ràpida per assegurar-me que la soldadura va tenir èxit. Aleshores vaig donar la volta al tauler i vaig repetir el procés de soldadura a l’altra banda, aquesta vegada amb tots els LED. Era molt important no escalfar massa la placa quan es soldava la capa superior, ja que tots els components de la part inferior corren el risc de caure. Afortunadament, tots els components es van mantenir al seu lloc i després de soldar els botons al seu lloc mitjançant un soldador normal, el PCB ja estava acabat.

Ara era el moment de l'assemblea final!

Pas 11: Muntatge

muntatge
muntatge

El muntatge va ser molt senzill. Vaig connectar la bateria al PCB i vaig col·locar la bateria i el PCB dins del recinte imprès en 3D. Vaig procedir a cargolar els quatre cargols dels forats de muntatge de cada cantonada del PCB. Després, vaig fixar les corretges del rellotge amb les barres de ressort de 18 mm i el rellotge estava complet.

Pas 12: Conclusió i millores

Conclusió i millores
Conclusió i millores
Conclusió i millores
Conclusió i millores

El rellotge funciona com s’esperava i estic molt content de com va resultar. No he tingut cap problema fins ara i la bateria continua gairebé carregada després de tota una setmana d’ús.

Podria afegir altres funcions al rellotge en el futur. Com que el port USB està connectat al microcontrolador, el firmware es pot actualitzar en qualsevol moment amb noves funcions. Ara per ara, continuaré utilitzant aquesta versió del rellotge i veuré com es manté després d’un ús prolongat.

Si teniu alguna idea, comentari o pregunta sobre aquest projecte, deixeu-los a continuació. També els podeu enviar a [email protected].

Concurs de rellotges
Concurs de rellotges
Concurs de rellotges
Concurs de rellotges

Primer premi del concurs de rellotges

Recomanat: