Otro reloj inteligente con tus propias manos.


Inspirado hace algún tiempo en el artículo "Relojes inteligentes con sus propias manos para 1500r". , También decidí intentar hacer un dispositivo similar.


Este artículo no se posiciona como una guía de acción o instrucción, sino como una indicación de los puntos clave que tuve que enfrentar. Quizás para alguien sirva como fuente de inspiración e información útil.


Selección de componentes, diseño de PCB, soldadura en condiciones difíciles, carcasa impresa en 3D y JavaScript en el reloj, debajo del corte. Bienvenido!


Requisitos


  • Necesitas saber la hora sin tener que meterte en el bolsillo detrás de tu teléfono
  • Debería haber un recibo de notificaciones de llamadas entrantes, SMS y notificaciones de mensajería instantánea
  • La duración de la batería debe ser de al menos una semana.
  • Sé lo más compacto posible

Sobre la base de esta pequeña lista de requisitos, puede comenzar a seleccionar los componentes y aclarar las características técnicas de la implementación. El presupuesto del proyecto para el tiempo y las finanzas no era particularmente limitado, la producción en masa no estaba planificada, por lo que podía darse el lujo de dar un paseo y no preocuparse realmente por ahorrar cada centavo.


Además del plan general, también había otros puramente técnicos:


  • Crear y ejecutar aplicaciones personalizadas en el reloj. Como guijarro . En general, en lo sucesivo, el reloj se parecerá cada vez más a un clon de Pebble, pero ¿por qué no?
  • Memoria para aplicaciones y sus datos.
  • Control adecuado del nivel de carga para que el reloj no se apague repentinamente cuando la batería está descargada, sino que muestre "palos" y se avise con anticipación
  • Acelerómetro, giroscopio y magnetómetro para el seguimiento completo del movimiento del usuario. Para poder hacer un podómetro o un reloj despertador inteligente que monitoree las fases del sueño por la presencia de movimiento

Todo esto finalmente cristalizó en un pequeño diagrama:



El microcontrolador combina BLE 4.x para la comunicación con un teléfono inteligente, buses I²C y SPI para sensores y una pantalla con memoria, controla la vibración y responde a las pulsaciones de los botones, todo funciona con una batería Li-Po.


Ahora puede comenzar el proceso de selección de chips y piezas. En términos de insumos laborales y tiempo empleado, fue el proceso más difícil y largo, fue necesario comparar mucho, buscar y bucear de frente a donde nunca había nadado antes.


Selección de componentes


Microcontrolador


En primer lugar, debe elegir un controlador que sea el "cerebro" del dispositivo y todo lo demás en la placa le servirá para el bien.


Para hacer el dispositivo más compacto, es necesario usar la menor cantidad de componentes y módulos posibles. Aquí, varios sistemas en un chip vienen al rescate, que combinan la funcionalidad de un módulo bluetooth y un microcontrolador.


¿Qué nos ofrece el mercado?

imagen
Fuente: www.argenox.com


  • Cypress PSoC BLE core ARM Cortex-M0, BLE 4.2, 256kB FLASH, 32kB RAM, un montón de periféricos y un balun integrado, un amplio rango de voltaje de suministro: 1.9-5 voltios
  • Texas Insturments CC2541 - BLE 4.0 y 8051 núcleos, 256kB FLASH, 8kB RAM
  • Texas Instruments CC2640 - BLE 4.1, Cortex-M3, 128kB FLASH, 20kB RAM
  • Dialog DA-14580 - Cortex-M0, BLE 4.1, 16 MHz, 42 + 8kB RAM, 32kB OTP (memoria programable única, pero es posible ejecutar código desde un SPI FLASH externo), el chip más pequeño y de menor consumo del anterior
  • SiLabs EFR32 - Cortex-M4F, 40 MHz, BLE 4.x, Bluetooth 5, FLASH de hasta 1 MB, RAM de hasta 256 KB
  • Nordic nRF52832 - Cortex-M4F, 64MHz, BLE 4.x, Bluetooth 5, 512kB FLASH, 64kB RAM, emulación de etiqueta NFC, globo integrado

En el montón de decisiones sabrosas y no muy buenas , la elección recayó en el nRF52832 , este chip resultó ser el más productivo y bastante conveniente en términos de carcasa (6x6mm 48-pin QFN). También una opción elegante que simplifica enormemente el cableado de la placa es la capacidad de asignar programáticamente cualquier periférico a cualquiera de los pines GPIO. Esto es algo de lo que carecen muchos microcontroladores. Gracias al soporte NFC, puede agregar la funcionalidad de un emulador NFC al reloj y coser todas sus tarjetas de acceso en el reloj.



La hoja de datos dice que hay un RTC incorporado (reloj en tiempo real), esto es conveniente. Pero más tarde resultó que esto no es un reloj, sino un contador en tiempo real, es decir Este es el temporizador más común, que opera desde cuarzo de 32.768 kHz, incluso en modo de suspensión. Por lo tanto, en la próxima revisión del dispositivo, usaré un chip separado para RTC, por ejemplo, STMicroelectronics M41T62LC6F . Tiene cuarzo incorporado a 32.768kHz y funciona en la interfaz I²C.


La placa de depuración nRF52-DK cuesta bastante barata , alrededor de 4 mil. rublos En AliExpress se puede encontrar por ~ 3tys.


Por cierto

Dado que el dispositivo no implica la producción en masa y ninguna venta en el mercado, dibujar su propia placa y construir su solución en BLE SoC es una tarea bastante fascinante sin graves consecuencias. Para aquellos que desean ingresar rápidamente al mercado, se recomienda utilizar módulos precertificados listos para usar.


Hay varias razones para esto y están asociadas con la radio: para cualquier dispositivo electrónico nuevo en el mercado, es necesario obtener permiso y pasar la certificación de reguladores como CE y FCC .
Logotipos de reguladores, a menudo encontrados en la carcasa del dispositivo


Las alegrías que lo acompañan incluyen un diseño especial de la placa, teniendo en cuenta las características de propagación de señales con una frecuencia de 2.4 GHz, blindaje, mediciones en una cámara anecoica, adaptación de impedancia y otra magia de microondas. En los módulos terminados, todo este trabajo ya ha sido realizado por sus desarrolladores, el usuario solo necesita integrar el módulo en su solución y no hay necesidad de certificar nada.


Resonadores de cuarzo


Los resonadores de cuarzo están conectados al chip nRF52832 seleccionado:


  1. A 32MHz para marcar el núcleo y la radio, requerido
  2. A 32.768 kHz para cronometrar el temporizador del reloj y los intervalos de tiempo BLE durante el modo de suspensión. Opcional, pero su conexión reduce el consumo de energía (los intervalos de tiempo se pueden acortar) y aumenta la precisión del reloj RTC.

Ambos tipos de cuarzo se solicitan en una carcasa de montaje en superficie con Aliexpress:


Imagen


Display


Para que el reloj funcione sin recargarse durante al menos una semana, es necesario resolver el problema de que la matriz de la pantalla consume mucha corriente en el modo operativo. Según tengo entendido, los fabricantes de relojes resuelven este problema de dos maneras:


  1. Encienda la pantalla y muestre el contenido solo cuando se produce un movimiento de la mano y la pantalla del reloj cae en el campo de visión del usuario, o cuando la atención del usuario ya ha sido atraída, por ejemplo, por una notificación o un reloj despertador
  2. Muestre contenido constantemente, utilizando pantallas que prácticamente no consumen corriente para mostrar la imagen, y lo consumen solo para actualizar el contenido. No tiene que ir muy lejos por ejemplos: esto es tinta electrónica , memoria LCD o IMOD / mirasol

¿Qué nos ofrece el mercado?

Para la opción cuando la pantalla la mayor parte del tiempo es el trabajo de Malevich, existen tales opciones en el mercado: OLED, TFT, Amoled, módulos telefónicos LCD (Nokia, Siemens, etc.). Queda por encontrar una pantalla con una diagonal adecuada.


Ejemplos:


  • Pequeñas pantallas OLED , como en Ali Express cuestan un centavo.
    Un montón de desventajas: diagonal pequeña, monocromo, consumo de 10-20 mA, módulo voluminoso. Sin una placa de módulo: un bucle ancho y un mar de flejes, que absorberá una parte significativa del área en la placa.
  • TFT LCD, por ejemplo, ILI9341 . De las desventajas: consumo, bucle ancho

Las pantallas de E-Ink desaparecieron inmediatamente, porque la velocidad de actualización de la pantalla es demasiado lenta, el monocromo y, lo más probable, es difícil encontrar una pantalla de E-Ink bastante pequeña en el mercado abierto.


Si observa Pebble , puede ver que usa la pantalla "Siempre encendida". Pebble Classic usa una pantalla LCD de memoria SHARP monocromática, Pebble Time usa una pantalla a color (64 colores) usando una tecnología similar, pero producida por JDI , no está a la venta.


Con respecto a IMOD / Mirasol, Qualcomm no pudo encontrar nada más que folletos de marketing y relojes Toq de Qualcomm .


Quería tomar una pantalla a color como Pebble Time. El análogo más cercano, que está en venta abierta, fue SHARP LS013B7DH06 ( su hoja de datos ).



Caracteristicas


  • Diagonal 1.33 "
  • Resolución: 128x128, 8 colores (3 bits por píxel)
  • Dimensiones: 26.82x31.3mm
  • Interfaz: SPI
  • Tensión de alimentación: 5V, pero niveles lógicos SPI de 2.7V

La emboscada resultó con el voltaje de suministro, ya que la batería Li-Po no obtiene el voltaje de 5 V requerido sin convertidores de refuerzo adicionales. Pero la corriente en la pantalla es escasa y obtener los 5V necesarios es bastante simple usando una bomba de carga del tipo Linear LTC1754-5 :



Otra característica era la necesidad de cambiar el estado del pin EXTCOMIN (Inversión COM externa) al menos una vez por segundo de un nivel alto a un nivel bajo y viceversa, para que la carga no se acumulara en el panel de la pantalla y la imagen no se congelara en un punto. Para estos fines, puede utilizar el PWM (PWM) incorporado del microcontrolador, ajustado a un ciclo de trabajo del 50% (onda cuadrada) y una frecuencia de 1Hz o superior, o cualquier otro generador de onda cuadrada (incluido el externo).


La pantalla se conecta a la placa con un cable pequeño, es muy conveniente usar un conector FPC de 10 pines en incrementos de 0,5 mm, por ejemplo, Hirose FH12-10S-0.5SH :



El módulo de visualización no tiene su propia luz de fondo y no brilla a través de los LED como una pantalla LCD normal, por lo que por ahora no tenemos tiempo para mirar el reloj sin luz de fondo. Si alguien está familiarizado con el proceso de creación de un módulo de retroiluminación para este tipo de pantallas, responda.


Batería


Tuve que pasar algún tiempo eligiendo la batería del tamaño correcto de la gama estándar de tamaños. Estaba buscando una batería de polímero de litio con un voltaje de 3.7V y con una capacidad de aproximadamente 100mAh.


Se planeó colocar la batería debajo del tablero, sabiendo el tamaño del tablero, puede levantar fácilmente una batería que se ajuste y no sobresalga.


¿Qué ofrece el mercado?

En Aliexpress puedes pedir un montón de baterías para casi cualquier tamaño, lo principal es conocer el sistema de codificación de sus nombres. Y es así: HHWWLL, donde HH es el grosor (altura) de la batería en décimas de milímetro, WW es su ancho y LL es su longitud en milímetros.


Ejemplo: 402025 - batería con un grosor de 4 mm y un tamaño de 20x25 mm


Las baterías 302025 (3x20x25mm) con una capacidad de 110 mAh fueron seleccionadas y ordenadas en Aliexpress.



Nutrición


Dado que las baterías de polímero de litio tienen sentido para descargar solo hasta 3 voltios, se decidió alimentar todo el circuito desde 3 V estabilizados y, si el voltaje en la batería cayó por debajo de 3 V, cortar el regulador de alimentación principal para el chip de protección ( Maxim MAX809TEUR + T ).


La tensión de alimentación total de 3V se ajusta a los rangos de potencia de todos los elementos del circuito, excepto la pantalla, que necesita 5V. Por lo tanto, la pantalla se alimenta a través del convertidor de impulso Linear LTC1754-5 directamente desde la batería.


Si observa la curva de descarga de este tipo de batería,


se puede ver que toda la capacidad de la batería cae en el rango de voltaje de ~ 4V a 3V, por lo que un convertidor reductor convencional de 3V será suficiente para proporcionar al sistema un voltaje estable y al mismo tiempo absorber toda la energía de la batería sin dejar nada, pero sin descargarla en exceso .


Texas Instruments TPS78230DRVT fue elegido como un convertidor reductor , tiene una pequeña corriente de funcionamiento de 500 nA y una corriente máxima de 150 mA, que es suficiente. El estuche SON-6 es compacto y bastante pagadero:



Carga de la batería


Se decidió cargar la batería a través de un puerto microUSB estándar ( Molex 47346-0001 ), pero no es suficiente conectar la batería directamente al bus USB de 5V y cargarla de esa manera, es necesario garantizar el proceso de carga correcto, dividido en varias fases: preacondicionamiento, corriente constante, constante voltaje


Perfil de carga típico para una batería de 180 mAh


Buena explicación del proceso de carga en EEVBlog

Una solución popular para cargar baterías de pequeña capacidad (hasta 500 mAh) es el chip Microchip MCP73831 . La corriente de carga (dependiendo de la capacidad de la batería) es programada por una resistencia, hay una salida de triple estado o de drenaje abierto para notificarle el comienzo y el final del proceso de carga.


También elegí otro chip: Maxim MAX1555EZK-T . Tiene una corriente de carga fija de 100 mAh y tiene la misma carcasa que el chip de microchip, y al mismo tiempo requiere un mínimo de componentes externos y tiene una salida de drenaje abierto para notificar sobre el proceso de carga:



Imagen de hoja de datos


En la próxima revisión de la placa, todavía cambiaré al chip microchip, porque la corriente de carga de 100 mA para una batería de 110 mAh es probablemente un poco demasiado.


Controlador de capacidad de la batería


Existen varias técnicas para monitorear el grado de carga de la batería que son algo diferentes en la ejecución y precisión del resultado final (en fuentes en inglés esto se llama Estado de carga):


Lista
  1. Mide el llamado Abra el voltaje de circuito / OCV (voltaje en las placas) de la batería a través del ADC y haga una conclusión sobre la capacidad de la batería. Muy a menudo, es necesario transferir el rango de voltaje a un área que sea aceptable para la operación del ADC usando un divisor de voltaje. Las desventajas de este enfoque son que el gráfico del voltaje versus la capacidad de las baterías de polímero de litio es bastante plano, y las lecturas mismas cambian con cada ciclo y están sujetas a ruido y a la incapacidad de medir el voltaje verdadero en las placas debido a la influencia de la corriente de carga


  2. Otra forma es medir la corriente que fluye dentro y fuera de la batería en lugar de medir el voltaje a través de las placas. Este es el llamado recuento de culombios. Una solución típica es integrar el valor de la caída de voltaje en una pequeña resistencia de derivación de resistencia (aproximadamente 100 mOhm). Conociendo la capacidad de la batería, por la corriente que fluyó de ella durante un cierto período de tiempo, podemos concluir cuánta más energía queda en la batería (descuidando la autodescarga). Las desventajas de este enfoque son que la autodescarga no se tiene en cuenta, así como el hecho de que la capacidad real de la batería cambia con cada ciclo de carga y descarga. En términos generales, fluye menos corriente de la batería que la que fluye hacia ella cuando se carga. Debido a esto, con el tiempo, un error en las lecturas inevitablemente se acumulará.


  3. La combinación del primer y segundo método: medición y voltaje en las placas y la corriente que fluye. Una combinación competente de los dos enfoques ayudará a construir un modelo que evaluará la capacidad de la batería con buena precisión. Para que este enfoque funcione, es necesario producir al menos un ciclo de carga-descarga para recopilar datos sobre la dependencia del voltaje a través de las placas en la capacitancia. Además, cada próximo ciclo tendrá que hacer cambios en el modelo de batería para que el error no se acumule. Hay artículos en los que las personas cuentan cómo, utilizando el filtro de Kalman, se combinaron datos de diferentes mediciones para predecir la carga restante ( [1] , [2] )

¿Qué nos ofrece el mercado?
  • Maxim MAX17043 : utilizando un algoritmo patentado para el voltaje en las placas, construye un modelo de batería dentro de sí mismo. Promete precisión en la medición de la carga restante del 3%. Interfaz I²C. Bonito y pequeño cuerpo
  • OnSemi LC709203F - mide OCV, interfaz I²C, precisión de 2.8%, hay compensación de temperatura a través de un termistor externo. Caro y malo en Rusia
  • Texas Instruments BQ27621 - mide el voltaje en las placas, I²C, precisión no especificada, costoso, paquete BGA
  • Texas Instruments BQ27421 : mide simultáneamente el flujo de voltaje y corriente. Interfaz I²C, precisión no especificada, costosa, paquete BGA
  • Lineal LTC2941 : mide la corriente de flujo, interfaz I²C, precisión del 1%, además requiere una resistencia de derivación externa (está incorporada en LTC2941-1), carcasa: 2x3 mm DFN-6

De las opciones disponibles, se eligió el chip Linear LTC2941 para el caso más pequeño pero pagable y un algoritmo de trabajo claro. Pedido en AliExpress.


Imagen de hoja de datos

imagen
Fuente: Linear Technology


El microcircuito utiliza la técnica de contador de culombio y cuenta la corriente que fluye con una precisión del 1%, funciona a través de la interfaz I²C (SMBus) y tiene una carcasa pequeña pero conveniente: 2x3 mm DFN-6:


A través de I²C dentro del microcircuito, puede establecer el valor de la contraparte del medidor actual, así como establecer o leer el valor del contador en sí. El contador es de 16 bits y aumenta cuando la corriente fluye hacia la batería y disminuye cuando la corriente fluye desde la batería. El valor máximo del contador (0xFFFF) se puede tomar como una batería completamente cargada, y el mínimo (0x0000) como una batería completamente descargada. Con un preselector de contador bien elegido, es posible lograr que el contador alcance su máximo durante la carga y llegue a cero cuando la batería esté completamente descargada. Es posible establecer el límite del valor del contador, debajo del cual el microcircuito hará sonar una alarma y dará una interrupción.


Acelerómetro


Entre el montón de opciones en el mercado, se eligió un chip bastante popular: InvenSense MPU-9250 . Este es un sistema en un caso (SiP), que combina MEMS-Acelerómetro, MEMS-giroscopio y chip magnetómetro.



Caracteristicas
  • Tensión de alimentación de 2.4V a 3.6V
  • Acelerómetro MEMS de tres ejes y 16 bits con rangos de medición de ± 2g, ± 4g, ± 8g, ± 16g
  • Giroscopio MEMS de tres ejes y 16 bits hasta 2000 ° / seg.
  • Magnetómetro de tres ejes de 16 bits con rango de medición de hasta ± 4800 μT
  • Filtros digitales incorporados
  • Interfaces I²C y SPI
  • Interrupciones programables
  • Coprocesador para leer DMP (Procesador de movimiento digital)

El chip es excelente, pero al final parecía que era una exageración y un simple acelerómetro es suficiente para usar en un reloj. Por ejemplo, Analog ADXL362 : según el fabricante, este es el acelerómetro MEMS de tres ejes más económico.


Memoria flash


Se decidió utilizar memoria externa SPI-FLASH para aplicaciones y datos. De una variedad de opciones, se eligió el chip Winbond W25Q256FV en el paquete compacto WSON-8:



La cantidad de memoria flash es de 256 megabytes (o 32 megabytes), es suficiente. La memoria se divide en páginas de 256 bytes, agrupadas en sectores de 4 kilobytes y bloques de 32 kilobytes. En modo activo (lectura o escritura) consume hasta 20 mA, en modo de espera, menos de 1 μA.


Al igual que con el acelerómetro, más tarde comenzó a parecer que 32 megabytes también es una exageración y podría usar la memoria FLASH incorporada del microcontrolador, ya que tiene 512 kilobytes. .



, ( Pebble, ). . , :


Wealth Metal TD-26EA :



: &


, .


Omron B3U-3000P :



.



, , .


Aliexpress , 3V (HxWxL) 3x3x12mm:



, 100mA .



- , - . , , . , . , .


- 2.4GHz Johanson 2450AT18B100 :


, , Johanson , , Nordic. nRF52 Johanson Johanson 2450FM07A0029 , - LC- .


Las antenas se ordenaron en Aliexpress con cinta de 10 piezas. para 214r / cinta.


Todo lo demás


Los componentes pasivos para tirantes y flejes son principalmente chips de tamaños 0402 y 0603 y se piden en Elitan . Además de los componentes pasivos, hay dos transistores y un par de diodos en el tablero. Participan en el control del motor de vibración, así como en el circuito de alimentación, desacoplando la alimentación USB y la batería .


Circuito y placa


La apariencia del tablero en las capturas de pantalla es ligeramente diferente de lo que se ordenó y está presente en las fotos del dispositivo. Las capturas de pantalla de la placa son solo una revisión posterior con cambios menores.


Habiendo decidido probar algo nuevo, dibujé el circuito y la placa no en el DipTrace habitual, sino en la nube EDA Upverter: un enlace al diseño .


Upverter le permite llevar a cabo el diseño de extremo a extremo de la placa y el circuito al mismo tiempo, por lo que algunos de los elementos de cableado se realizaron de acuerdo con el esquema, y ​​parte del circuito se diseñó teniendo en cuenta las características del cableado.


Otra característica asesina de Upverter es una enorme biblioteca de componentes, cuidadosamente generada por bots y un grupo de indios. Resultó ser muy conveniente tomar la parte ya dibujada y simplemente verificar que todo sea más o menos correcto, en lugar de dibujar completamente el símbolo y la huella usted mismo.


Primero, decidí organizar los componentes, cuya posición se fijará con precisión: botones, puerto microUSB y un conector para la pantalla. No hice agujeros de montaje, con la esperanza de que el tablero quede sujeto por el estuche y que nada cuelgue.


Después de la ubicación de los elementos fijos, siga la "regla general" y primero reproduciremos la radio. La antena con chip tiene una pequeña área de retención cerca, dentro y debajo de la cual no se recomienda colocar pistas y polígonos en todas las capas, por lo que la regla del buen tono es colocar la antena en el borde del tablero, preferiblemente más cerca de una de las esquinas. En realidad, la ubicación de la antena dicta la ubicación del microcontrolador. Para que la longitud del conductor desde el puerto de salida de la antena en el chip hasta la antena sea lo más pequeña posible (teniendo en cuenta los componentes correspondientes), colocamos el controlador más cerca del borde en el que se ubicará la antena.


Todos los demás componentes se pueden ubicar (sin olvidar el sentido común) con bastante libertad. Esto se debe al hecho de que el software puede determinar la posición de los puertos para los periféricos digitales del microcontrolador nRF52.


En mi poca experiencia, una disposición mutua exitosa de componentes es un 90% de éxito y dicta la calidad de un cableado adicional, por lo que este proceso debe recibir atención especial.


Captura de pantalla del tablero (los polígonos no están inundados, vista inferior)


Para mayor claridad, pinté una topología aproximada de áreas clave:



El tablero es de cuatro capas, colocar los componentes seleccionados en el tablero y disolver sus conexiones fue cuestión de varias noches, y luego tardó aproximadamente una semana en atascarse en el tablero, en busca de errores, doble comprobación y relectura de hojas de datos para evitar sorpresas repentinas.


El tablero se dibujó teniendo en cuenta los estándares tecnológicos del fabricante del tablero, que se convirtió en el estadounidense OSHPark.com :


  • Conductor / Liquidación: 5/5 Mil
  • Vias: agujero de 10/4 mil / almohadilla
  • Material: FR408
  • Acabado: oro de inmersión con una subcapa de níquel (ENIG)
  • No se admiten vias ciegas y transiciones de capa interna (vias enterradas). Y no necesitamos

Al mismo tiempo, el precio es de $ 10 por metro cuadrado. pulgada y el número de tablas en el orden - 3 piezas. Estas son placas base de muy alta calidad y de bajo costo (para prototipos) con una máscara púrpura reconocible, recomiendo a todos los que no son críticos que esperen dos semanas por sus placas base bilaterales o de cuatro capas durante un mes.


Captura de pantalla de pedido


Como resultado, por tres tarifas, tuve que pagar $ 14 y un mes después las recogí por correo.


Fotos de tablero sin componentes



Todos los componentes se encuentran en la parte inferior de la placa, en la parte superior de la placa se encuentra el módulo de pantalla, debajo del cual hay una bobina NFC plana, que le permite ahorrar varios milímetros de altura y garantiza un ajuste suave y apretado de la pantalla.


Resulta un sandwich


En el lado superior de la placa también hay un montón de puntos de prueba, almohadillas de prueba, a las que se conectan líneas de bus I²C, SPI, líneas de interrupción y algunas señales de control. Se puede conectar un osciloscopio o un analizador lógico a estas plataformas y esta característica simplifica enormemente la escritura de controladores y la depuración de firmware. También en la parte superior de la placa está la interfaz de depuración JTAG (SWD) para flashear y depurar a través de Segger JLink, que se incluye en el kit nRF52-DK, y almohadillas para soldar la bobina de antena NFC.


Ensamblaje y soldadura


Si sigue todo el proceso de montaje en superficie, entonces necesita pedir una plantilla smd (plantilla smd) y pasta de soldadura, aplicar la pasta de soldadura a través de la plantilla, organizar los componentes y enviarlos al horno de reflujo .


Pero no tenía horno, ni plantilla. Y el deseo de meterse con él y pegar con soldadura también. Quería armar rápidamente un prototipo y comenzar a probar y escribir software. Por lo tanto, solde manualmente todos los componentes, el más pequeño de los cuales son chips del tamaño 0402, aplicando pasta con una aguja, colocando los componentes con pinzas de vacío y soldandolos con un secador de pelo.


El resultado se puede ver en la foto:



Los botones no están soldados y, en lugar de varios chips de tres patas, puentes.
Pido disculpas por las fotos de baja calidad, tomadas en un ladrillo.


Foto a través de la lupa x30


Puede ver componentes ligeramente rotados y en algunos lugares un exceso de soldadura. Esto es inevitable con la instalación manual y la aplicación de la pasta.


Tan pronto como se ensambló la placa, agarré el probador en mis manos y comencé a hacer sonar todo lo que podía alcanzar por cortocircuitos. Después de asegurarse de que no parecía corto, conectó un cable USB. No hay humo, los chips no se calientan, el voltaje en el puerto USB es de 5 voltios, la salida de carga es de 4.2V, el voltaje después de LDO es exactamente tres voltios. Parece funcionar


Incluso cuando está completamente alimentado, el dispositivo, por supuesto, no mostró absolutamente signos de vida. Ahora necesita respirar el alma: firmware (o "sistema operativo", como algunos fabricantes de relojes: WatchOS, PebbleOS, etc.).


El siguiente paso en la prueba fue conectar el depurador JLink integrado en el nRF52-DK a través de la interfaz SWD. ¡Conectamos el cableado, ejecutamos JLinkExe y vemos nuestro chip! Puede comenzar a escribir firmware y probar los bloques restantes de hierro mediante programación.


"Sistema operativo" para relojes


Para trabajos periféricos de bajo nivel, Nordic ofrece su nRF5-SDK , que es adecuado para las series nRF51 y nRF52.



SDK , , NFC . Makefile arm-none-eabi-gcc. , .


.hex-, nRF52-DK . nRF52-DK , Mass Storage Device (), .hex .


JLinkExe GDB- nrfjprog.


, . , , , , .


, .



, -, , .



, , - . API X-Lib . , .


:



image


, API , JavaScript (ES 5), . , .


JerryScript, , API , , . , , : Date .., JSON-, ..



JS :



API GUI, , Bluetooth, ..


( -O0):



106kB FLASH, 12.8kB RAM. 8kB RAM — (heap) JavaScript . . , FLASH nRF52832 512kB, RAM — 64kB.


FLASH (120kB) RAM BLE- SoftDevice.



— 3D- . TinkerCad 3D-. :


USB-


- 3D-, !



, . , , , . , , , .


, API- JS-, JS-, - Android. , . , , , Android- .


: https://upverter.com/EP/cdbd8b9abc72b7cd/nRF52-smart-watch/
, Github.


Al igual que el autor del artículo anterior, espero que este material empuje o inspire a alguien a sumergirse en el mundo de la electrónica y crear el dispositivo con el que ha estado soñando durante mucho tiempo.


Espero sus comentarios y preguntas!


PD: agregó una encuesta.

Source: https://habr.com/ru/post/es404737/


All Articles