Taula de continguts:

01 / / atch: 12 passos
01 / / atch: 12 passos

Vídeo: 01 / / atch: 12 passos

Vídeo: 01 / / atch: 12 passos
Vídeo: 1°passo de Narcóticos Anônimos 2024, Octubre
Anonim
01 / / / atch
01 / / / atch
01 / / / atch
01 / / / atch
01 / / / atch
01 / / / atch

El 01 / / / atch, perquè … "hi ha 10 tipus de persones al món, les que llegeixen binari i les que no ho fan": una línia d'etiquetes de slashdot. El 01 / / / atch és un rellotge de polsera binari amb una pantalla LED. Es pot accedir a funcions addicionals mitjançant un sistema de menú de desplaçament a la seva matriu LED de 3x4. Les funcions actuals inclouen: mesurador de tensió, comptador binari, mode club i visualització del temps. El rellotge és totalment programable. Les futures actualitzacions de microprogramari inclouran: cronòmetre / cronòmetre, alarma, velocímetre / comptaquilòmetres, registre de dades i un menú de configuració avançada. Consulteu-ho en acció: https://www.youtube.com/embed/l_tApl3JmmMA Tots els fitxers del projecte són a l'arxiu.zip d'aquesta pàgina. Esquema i PCB en format Cadsoft Eagle. Firmware a mikroBasic. El text d’aquest instructiu s’inclou com a fitxers.odt (text OO.org/open) i.pdf. L'art de PCB de capa superior (reflectit) s'inclou com a. PDF preparat per a la transferència de tòner o el procés de foto. Es copia diverses vegades en un sol full perquè he de duplicar les transparències. El 01 / / / atch es va inspirar en el Mini Dotclock i una conversa posterior a l’àrea de comentaris: https://www.instructables.com / ex / i / 47F2F12223BA1029BC6B001143E7E506 També es tracta d’un mig pas cap a un rellotge nixie de muntatge superficial en què estic treballant. El projecte 01 / / / atch és una introducció als components de muntatge superficial i a la lògica de manteniment del temps sense la complexitat afegida d’una font d’alimentació de tub nixie. (https://www.instructables.com/ex/i/2C2A7DA625911029BC6B001143E7E506/?ALLSTEPS)Un petit google va mostrar aquest rellotge binari a thinkgeek: https://www.thinkgeek.com/gadgets/watches/6a17/The 01 / / / atch es basa en un PIC16F913 / 6. Aquest PIC es va escollir originalment perquè tenia un controlador LCD de maquinari. Vaig pensar que podia convertir el controlador LCD en un multiplexor LED amb uns quants transistors. Això va resultar no ser el cas. Encara és una bona opció perquè té un munt d'espai de programació i molt pocs pins d'E / S limitats. El F913 costa aproximadament 2,00 dòlars a Mouser. PIC16F913 Detalls: https://www.microchip.com/stellent/idcplg? IdcService = SS_GET_PAGE & nodeId = 1335 & dDocName = en020199PIC16F916 Detalls (igual que 913, amb més espai al programa): https://. microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1335&dDocName=en020201PIC16F913/6 Full de dades (format PDF): https://ww1.microchip.com/downloads/en/DeviceDoc/41250E.pdf dels fitxers Eagle Board amb Eagle3D i POV ray: https://www.matwei.de/doku.php? id = ca: eagle3d: eagle3d

Pas 1: mostrar

Visualització
Visualització
Visualització
Visualització
Visualització
Visualització

La pantalla binària està formada per 12 LEDs en una matriu de 3x4. Cada columna de quatre LED representa un "nibble" de quatre bits, o mig byte. Cada columna pot mostrar 0-15 en binari (1 + 2 + 4 + 8 = 15). El temps es mostra a les tres files com a hores / desenes de minuts / minuts. Això no és veritable binari, sinó un subconjunt simplificat que facilita la lectura del rellotge. El rellotge thinkgeek, per exemple, utilitza el binari "més cert" per representar minuts amb un byte sencer. El que prefereixi, el veritable friki mostraria el temps amb l'època Unix, en binari. (https://en.wikipedia.org/wiki/Unix_timestamp)El múltiplex LED és senzill. Les files (4) es connecten als pins del PIC a través de resistències de limitació de corrent. Només s’utilitza una resistència limitadora de corrent per a cada fila perquè només s’encén un LED per fila. Els LED funcionen a 20 ma, utilitzant resistències de 56 ohms (56 ohm @ 3 volts = 20 ma). Els LED es podrien funcionar més amunt, ja que estan multiplexats, la fitxa tècnica enumerava aproximadament els 40ma. Trobo que són massa brillants amb només 20ma multiplexats. Les columnes (3) estan connectades a terra mitjançant transistors NPN. Els transistors es commuten mitjançant pins PIC mitjançant resistències de 1 Kohm. El múltiplex funciona a terra una columna de LEDs a través del transistor mentre s'encén les files LED correctes per a aquesta columna. Això es repeteix per a cada columna en breus successions, fent que la matriu sembli il·luminada contínuament. PIC Timer0 és el que impulsa el múltiplex. Compta fins a 256 i, a continuació, canvia els valors de fila i la columna a terra.

Pas 2: Selecció de LED

Selecció de LED
Selecció de LED
Selecció de LED
Selecció de LED

En aquest rellotge, es van utilitzar LEDs de mida «1206» de color groc i vermell amb una resistència de limitació de corrent de 56 ohms. Els colors es van triar per un cost baix. Els LED vermells, grocs i taronja fan aproximadament 10 cèntims d’euro, mentre que els LED blaus són de 40 cèntims o més. A més, ara el LED blau és decididament poc fresc. Si en trobeu de color porpra, feu-m'ho saber.

A la imatge es mostren els 5 tipus de LED que vaig provar. Codi fabricant de Mouser Cost del color del fabricant 859-LTST-C171KRKT Lite-On SMT LED vermell, clar 0.130 $ 859-LTST-C171KSKT Lite-On SMT LED groc, clar 0.130 $ 859-LTST-C150KFKT Lite-On SMT LED taronja, clar 0.130 $ 638- 121SURCS530A28 Everlight LED SMD Red Water Clear 0,110 $ 638-1121UYCS530A28 Everlight LED SMD Yellow Water Clear 0,110 $ Everlight vermell i groc es van utilitzar al prototip de rellotge. M’agraden millor el vermell i el taronja de Lite-On, s’utilitzaran al proper rellotge que faig.

Pas 3: Interfície / botons

Interfície / botons
Interfície / botons

Un rellotge friki necessita una interfície friki. Els sensors tàctils capacitius estan de moda ara mateix, però requereixen força components addicionals. En canvi, vaig anar amb un sensor tàctil basat en transistors de Darlington amb capçaleres de pin com a punt de contacte. Què hi ha de més friki que una capçalera de pin? Res. Vaig veure la idea per primera vegada aquí: (https://www.kpsec.freeuk.com/trancirc.htm):" Un parell de Darlington és prou sensible per respondre al petit corrent que passa la pell i es pot utilitzar per feu un commutador tàctil tal com es mostra al diagrama. Per a aquest circuit que només encén un LED, els dos transistors poden ser transistors de baixa potència per a qualsevol propòsit general. La resistència de 100 kohm protegeix els transistors si els contactes estan units amb un tros de fil. "A El transistor PNP es va afegir a aquest disseny senzill (en lloc del LED del diagrama) perquè pogués donar una sortida alta / baixa al PIC. Es va afegir una resistència desplegable entre el pin PIC i el sòl per ajudar a evitar que es pressionessin els botons. Aquest commutador és d’estat sòlid, a prova d’aigua i poca potència, amb l’afició geekieness afegida als capçals de pin. Els interruptors es reboten mitjançant Timer2 al PIC. Quan es prem un commutador, s'inicia el temporitzador 2 (temporitzador de 8 bits) amb un precalador de 16 i un postescalador de 16. En el temporitzador 2, interrompeu les comprovacions PIC per veure si els botons encara estan premuts. Després de dues interrupcions consecutives sense prémer botons, el temporitzador s’atura i els botons es configuren per a una entrada posterior. L’interruptor superior està connectat al pin d’interrupció PIC. L’entrada d’aquest pin pot treure el PIC del mode de repòs. Això ens permet utilitzar una tècnica de gestió d’energia neta: el PIC es troba en mode de baixa consum quan la pantalla no s’utilitza. L’entrada als botons desperta el PIC i es reprèn l’operació. Transistors: Darlington Transistor, SOT-23, (número Mouser 512-MMBT6427, 0,07 dòlars). Transistor PNP, SOT-23, (número Mouser 512-BCW89, 0,06 dòlars).

Pas 4: Mantenir el temps

Mantenir el temps
Mantenir el temps

La nota 582 de l’aplicació Microchip descriu els principis bàsics d’un rellotge basat en PIC de baixa potència (https://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en011057) El rellotge és senzill i elegant. Un cristall de rellotge de 32,768 kHz està connectat als pins de l’oscil·lador del temporitzador 1 del PIC. El temporitzador 1 és ideal per a això, ja que pot augmentar fins i tot mentre el PIC dorm. El temporitzador 1 està configurat per comptar fins a 65536 (2 segons a 32,768 kHz) i despertar el PIC del mode de repòs amb una interrupció. Quan el PIC es desperta, augmenta el temps dos segons. El PIC només està actiu i consumeix energia durant un breu temps cada pocs segons. Vaig utilitzar un cristall de rellotge de quars barat de Citizen. Tot i que el nom de Citizen podria donar legitimitat al meu rellotge. El CFS206 (12,5 pf) té uns +/- 1,7 minuts de precisió per any (20 ppm). Dos condensadors de 33pF completen el circuit de cristall extern. El 33pF probablement costa bastant, però estava disponible localment a un preu raonable. Es pot utilitzar un cristall millor per obtenir un temps més precís. Cristall: cristalls de gamma Citizen KHz, 32,768 KHZ 12,5pF, (número mouser 695-CFS206-327KFB, 0,30 dòlars). Condensadors: 2x33pF, 1206 SMD.

Pas 5: mesurador de tensió

Mesurador de tensió
Mesurador de tensió

Com si no ens haguéssim enfonsat a les profunditats de la geekerie amb un rellotge binari, donem un cop d’alçada a una referència de tensió i un pin d’entrada per fer un mesurador de tensió. La referència de tensió és el Microchip MCP1525. Es tracta d’una referència de 2,5 volts amb un rang de funcionament de 2,7 a 10+ volts. Al rellotge de la imatge s’utilitza el paquet TO-92, tot i que els futurs rellotges utilitzaran la versió de muntatge superficial (SOT-23). La referència s’alimenta mitjançant un pin PIC de manera que es pot apagar per estalviar energia. En aquest punt podem mesurar fins a 2,5 volts mitjançant el convertidor digital analògic del PIC. Fem un pas més enllà i afegim un divisor de tensió de resistència a l'entrada del multímetre. Utilitzant dues resistències (100K / 10K) dividim la tensió d’entrada per 11 donant un nou rang d’entrada de ~ 30 volts. Aquest és un bon punt que engloba totes les baixes tensions que probablement ens trobarem (bateries d’1,2 / 1,5 volts, piles de moneda de 3 volts, lògica de 5 volts, bateries de 9 volts i rails d’alimentació de 12 volts). Es podria substituir una resistència de 22Kohm per la resistència de 10K donant un rang més petit però una resolució més alta. El full de càlcul inclòs amb aquest instructiu us pot ajudar a triar els valors de resistència. Les sondes de terra i mesura es connecten a la capçalera de programació de la part posterior del rellotge. Detalls MCP1525: https://www.microchip.com/stellent/idcplgidcplg? IdcService = SS_GET_PAGE & nodeId = 1335 & dDocName = ca019700

Pas 6: programació de capçaleres / connexions externes

Programació de capçaleres / connexions externes
Programació de capçaleres / connexions externes
Programació de capçaleres / connexions externes
Programació de capçaleres / connexions externes

El rellotge és "programable". Una capçalera ICSP apareix al darrere perquè es pugui instal·lar un nou firmware. La capçalera és una fila de preses de femella de perfil baix que he trobat a la meva botiga d’electrònica local. El mateix es pot tenir tallant un sòcol DIP de qualitat a la meitat del camí. Connecto el meu endoll ICSP amb un "canviador de gènere" de capçalera: inseriu un tros de capçalera al sòcol i, a continuació, connecto el connector ICSP a la capçalera del pin. Necessitareu un programador ICSP per posar nou programari al rellotge. S'inclou un programador ICSP JDM2 senzill amb els fitxers Cadsoft Eagle.

Quan no s'utilitza per a la programació, la capçalera ICSP es pot utilitzar per a la recopilació de dades, el registre d'esdeveniments, etc. Tots els pins ICSP estan disponibles per al seu ús, tal com s'indica a la taula següent. El pin del mesurador de tensió (pin 1/6) està pràcticament dedicat a aquest ús a causa del divisor de tensió. Multímetre - ADC, E / S, amb divisor de resistències. (PIN2, PORTA0 / AN0) MCLR: pin només d'entrada. Entrada de disparador Schmitt per a senyals sorollosos. (PIN1, RE3) Vcc - +3 volts Vss - pin de terra Dades - Entrada / Sortida amb interrupció en canvi, desplegament feble opcional (PIN27, RB6) Rellotge - E / S amb interrupció en canvi, opció pull-up feble (PIN28, RB7)

Pas 7: Firmware

Firmware
Firmware

El microprogramari s’ha escrit mitjançant la versió gratuïta de mikroBasic. El firmware actual és v0.1. Les firmwares futures probablement s’escriuran a C. Les opcions de configuració s’estableixen al firmware. Haurien de ser els següents: MCLR - DISABLEDBODEN / BOREN - DISABLEDWDT - DISABLEDOscillator -Insc Osc, NO clock-out. //www.qsl.net/dl4yhf/winpicpr.html).v0.1 Configuració / Sistema de menú: les opcions del menú es desplacen per la pantalla i es seleccionen / avancen mitjançant els dos botons d’entrada. Hora: mostra l'hora en binari (per defecte quan es prem un botó). Klik: un comptador. De vegades, em trobo fent comptes. Comptes de trànsit, d’ocells, qualsevol cosa. El 01 / / / atch subs com a comptador binari. Mode club: el valor real de qualsevol rellotge està determinat pel seu mode "club". El 01 / / / atch utilitza un generador de números aleatoris per llampar patrons a la pantalla LED. També és possible incloure fragments de paraules mitjançant la biblioteca de fonts de matriu interna (més per venir). La velocitat es pot ajustar amb el botó 1. L'últim paquet d'actualització del club inclou un sensor de temperatura que controla la velocitat de canvi de patró. Quan l’usuari s’escalfa, els patrons canvien més ràpidament. Volt - mesurador de tensió. Actualment mostra la lectura ADC en brut en 10 bits. S’actualitzarà al valor de voltatge real a v0.2. Set - Estableix l’hora. Exit - Surt del menú, posa PIC en mode de repòs.

Pas 8: Sistema de menú de desplaçament

Sistema de menú de desplaçament
Sistema de menú de desplaçament

Sistema de menú de desplaçament: s’accedeix a les funcions a través del sistema de menú de desplaçament. Els elements del menú es carreguen com a mapes de bits en una matriu i es desplacen contínuament "cap amunt". El desplaçament es basa en un múltiple del controlador mux Timer0. El menú de desplaçament "esgota" amb un múltiple de temporitzador1 (comptador de segons) després d'uns 10 segons. Opcions del menú (utilitzant el rellotge) (s'aplica a la versió de firmware 0.1) Quan es posa una bateria nova al rellotge, es mostra el botó "SET" 'opció de menú per defecte. Toqueu el botó 2 per entrar al mode de configuració. Es mostrarà l'hora actual (12:11). Utilitzeu el botó 1 per augmentar les hores, toqueu el botó 2 per avançar a la següent unitat de temps (hores, minuts de 10, minuts). Toca el botó 2 després de configurar els minuts per estalviar temps i tornar al menú de desplaçament. Per estalviar energia, la pantalla i el PIC solen estar apagats. Toqueu el botó 1 per activar el PIC i mostrar l'hora actual durant 10 segons. Toqueu el botó 2 mentre es mostra l'hora per accedir al sistema de menú de desplaçament. Les funcions del rellotge són accessibles mitjançant el menú de desplaçament. Toqueu el botó 1 per avançar al següent element del menú, toqueu el botó 2 per triar un element del menú. Consulteu-lo en acció: https://www.youtube.com/embed/l_tApl3JmmMButton Les funcions de cada opció de menú es detallen a la taula baix. B1 i B2 són abreviatures del botó 1 i del botó 2.

Pas 9: full de ruta del firmware

Full de ruta del firmware
Full de ruta del firmware

v0.2

Un diàleg de confirmació de sortida. Configuració: amplieu les opcions de configuració per incloure: Durada puntual / Temps d’espera del menú (i un mode sempre activat). Brillantor (cicle de treball). Velocitat de desplaçament. Actualització del tipus de lletra del menú -'E 'i' B 'es veuen molt malament, utilitzeu' e ',' b '. Mou a l’oscil·lador de 1 MHz o 32.768 kHz (4 MHz a v0.1). v0.3 Cronòmetre (increment de temps cap endavant): comença a comptar segons, i després augmenta minuts i hores després del límit de visualització de les 15:59. Temporitzador / alarma (increment de temps cap enrere): un temporitzador de descrement, tots els LED parpellegen quan el temporitzador arriba a 0. -Número de dies de registre des del canvi de bateria. També: nombre d'hores amb pantalla activada. v0.4 Funcions de maquinari extern (mitjançant capçalera ICSP): registre d’esdeveniments en interrupció. Comptaquilòmetres / velocímetre de bicicleta. Visualització de la unitat ajustable (font binària o decimal).

Pas 10: PCB

PCB
PCB
PCB
PCB
PCB
PCB

PCB i circuit estan en format àguila. També vaig incloure un munt de biblioteques que feia servir per fer la pissarra que fos possible.

El PCB està dissenyat amb components de muntatge superficial. El tauler es va fer amb transparències d'injecció de tinta en un tauler amb foto positiva. Aquest va ser el meu primer tauler de muntatge superficial (tant de gravat com de muntatge). Vaig fer un tauler d’una sola cara i vaig utilitzar cables de pont per a les traces de la capa inferior. El tauler es va fer pensant en la fabricació d’Olimex, de manera que es va utilitzar el seu fitxer de comprovació de regles de 10 milions en dissenyar el tauler. Res és terriblement petit, però és certament un repte. Tot es va soldar a mà amb una planxa de 10 euros, un adhesiu i una llum brillant. No calia una lupa. El vidre es va deixar com a component de muntatge superficial. La llauna metàl·lica és un element d’aspecte distintiu i és molt més identificable que una caixa negra de muntatge superficial. El prototip de la imatge també utilitza una referència de voltatge TO-92: el PCB final indica una versió SOT-23 que (encara) no tenia a mà quan vaig fer la placa. Circuit i PCB es troben a l’arxiu del projecte (format Cadsoft Eagle - versió freeware www.cadsoft.de). La ubicació dels components es pot veure al fitxer PCB. També he creat un PDF amb la capa superior reflectida i copiada diverses vegades. Hauria d'estar preparat per a la transferència de tòner o el procés de foto. Llista de peces (forat travesser) 32,768 kHz Watch Crystal (llauna de metall 0206) Capçalera de pin -x4 Capçalera de programació - 6 pins Llista de peces (muntatge superficial) SO-300 PIC16F1206 Condensador 0.1uF 1206 Condensadors 33pf - x2 1206 LED (groc, vermell, taronja), etc) -x12 1206 Resistor - 4x56 ohms 1206 Resistor - 3x1Kohm 1206 Resistor - 3x10Kohm 1206 Resistor - 3x100Kohm SOT-23 NPN transistor (100ma or more) SOT-23 PNP transistor (general purpose) SOT-23 NPN Darlington transistor (general), hfe de ~ 10000) SOT-23 MCP1525 Voltatge de referència (2,5 volts) Bateria CR2032 3v de liti

Pas 11: Posar el rellotge

Posar el rellotge
Posar el rellotge
Posar el rellotge
Posar el rellotge
Posar el rellotge
Posar el rellotge

Posar el rellotge per fer el rellotge adequat per a l’ús quotidià necessitava una funda. Vaig visitar AFF Materials (https://www.aff-materials.com/) per comprar resina de polièster. Un noi simpàtic em va suggerir que fes servir un epoxi clar. Segons ell, la resina de polièster es redueix un 5%, cosa que podria fracturar les connexions del PCB. L'epoxi transparent només es redueix ~ 2%. També va suggerir que els gasos del polièster podrien danyar els components mentre es curava. Sense haver treballat mai amb un epoxi clar, vaig fer algunes peces de fosa. Vaig començar projectant algunes mostres en una safata de glaçons. L’oli de llavor de gira-sol, el lubricant de silicona i el lubricant de bicicletes de silicona es van provar com a agents alliberadors. Es va fer una mostra sense cap agent alliberador. Els lubricants de silicona rebordaven a la part inferior del motlle i deixaven marques de pock a l’epoxi. El control aspira al fons del motlle. L’oli funcionava força bé, però deixava un lleuger residu a l’epoxi. A continuació, necessitava saber com fer una fosa de múltiples capes amb aquest material. Normalment s’aboca una resina de polièster en capes. Es permet fixar una primera capa (uns 15 minuts) en gel. Es col·loca un objecte a la primera capa i s’aboca una segona capa de resina fresca per sobre. El temps de treball del meu epoxi és d’uns 60 minuts. Vaig abocar una primera capa i la vaig comprovar al cap de 30 minuts, encara suau. Al cap d'1 hora i 15 minuts, la primera capa s'havia endurit prou com per col·locar-hi un objecte. Per a aquesta prova, he posat la placa de prova LED que es veu al pas 2 cara avall sobre la primera capa i coberta amb una capa d’epoxi fresc. Va funcionar molt bé, els LED no van sortir del tauler. Aquí vaig concloure que, si no hi ha un motlle adequat, la superfície més clara que puc fer és la interfície aire / epoxi. La "part superior" del càsting té un error significatiu. El miscus es limita a la vora de la carcassa i s’elimina fàcilment amb una trituradora. Per a la primera prova real, necessitava un motlle de plàstic rectangular. La millor opció que vaig trobar va ser un contenidor "smeer kaas". No era perfecte, així que el vaig fer més petit amb unes quantes capes de foamcore embolicat amb cinta. Aquest no era un motlle estel·lar, però triar la part superior com a superfície de visualització em va donar una mica de marge. El motlle es va netejar lleugerament amb oli sobre una tovallola de paper. Vaig deixar el procediment d’abocament multicapa des de dalt. He soldat cables del porta-bateries de la pila de monedes al PCB. El suport de la cèl·lula estava enganxat en calent (bé, fixat enganxós) a la part inferior del PCB. El suport de la bateria estava ple d’adhesiu i la capçalera de programació estava protegida amb més adhesiu (la plastilina també funcionaria molt bé). Després es va col·locar, cap amunt, al motlle. La taca adhesiva que protegia la bateria i la capçalera es va pressionar fermament a la part inferior del motlle, ancorant el rellotge al seu lloc. Es va abocar epoxi transparent al motlle fins que va cobrir el rellotge. Les capçaleres eren encara molt llargues, però es poden tallar després que l’epoxi s’hagi assecat. El rellotge va sortir del motlle al cap d’unes 36 hores. La massilla protectora es va retirar amb un tornavís. Les vores es van suavitzar amb una broca de trituradora. El rellotge es va fer una mica gran per portar-lo com a rellotge de polsera. Puc intentar reduir-lo si puc trobar una serra de cinta. De moment, serà un rellotge de butxaca. La cinta sobre escuma va donar una textura fresca i una superfície ultra clara. La propera vegada intentaré fer tot el motlle utilitzant aquest material, alguna cosa més a prop de la mida dels rellotges de canell.

Pas 12: Millores addicionals

Més millores
Més millores

A més de les actualitzacions de programari descrites al full de ruta, hi ha diverses àrees de millora.

Maquinari Una matriu 4x5 de 0805 LED ocuparia el mateix espai que la matriu 1206 existent. Vaig comprar diversos tipus de LED 0805 per provar en futurs dissenys. El sensor de temperatura esmentat anteriorment es podria afegir per fer un paquet d'actualització avançat en "mode club". El PCB va ser dissenyat per fabricant per Olimex com a tauler de doble cara (~ 33 dòlars). Funcionen directament des de fitxers Eagle i formen panells (formen diversos taulers més petits des d’un tauler gran) de forma gratuïta. No ho he fet, però en compraria un si algú altre els fes. Programari Hi ha molt espai addicional al PIC. Es preveu un velocímetre / comptaquilòmetres. Es podrien afegir jocs.

Recomanat: