Outro relógio inteligente com suas próprias mãos


Inspirado há algum tempo pelo artigo "Relógios inteligentes com suas próprias mãos para 1500r". , Também decidi tentar criar um dispositivo semelhante.


Este artigo não está posicionado como um guia de ação ou instrução, mas como uma indicação dos pontos principais que eu tive que enfrentar. Talvez para alguém isso sirva como fonte de inspiração e informações úteis.


Seleção de componentes, layout de PCB, solda em condições adversas, estojo impresso em 3D e JavaScript no relógio - sob o corte. Bem vindo!


Exigências


  • Você precisa descobrir o tempo sem precisar ir para o bolso atrás do telefone
  • Deve haver um recebimento de notificações de chamadas recebidas, SMS e notificações de mensageiros instantâneos
  • A duração da bateria deve ser de pelo menos uma semana
  • Seja o mais compacto possível

Já com base nesta pequena lista de requisitos, você pode começar a selecionar os componentes e esclarecer os recursos técnicos da implementação. O orçamento do projeto para tempo e finanças não era particularmente limitado, a produção em massa não era planejada, para que você pudesse dar um passeio e não se preocupar em economizar cada centavo.


Além do plano geral, havia também puramente técnicos:


  • Criando e executando aplicativos personalizados no relógio. Como seixo . Em geral, daqui em diante, o relógio se parecerá cada vez mais com um clone do Pebble, mas por que não
  • Memória para aplicativos e seus dados
  • Controle adequado do nível de carga para que o relógio não se apague repentinamente quando a bateria estiver descarregada, mas mostra "palitos" e é avisado com antecedência
  • Acelerômetro, giroscópio e magnetômetro para rastreamento completo do movimento do usuário. Ser capaz de fazer um pedômetro ou um despertador inteligente que monitore as fases do sono pela presença de movimento

Tudo isso acabou se cristalizando em um pequeno diagrama:



O microcontrolador combina o BLE 4.x para comunicação com um smartphone, os barramentos I²C e SPI para sensores e um display com memória, controla a vibração e responde ao pressionamento de botões, tudo é alimentado por uma bateria de Li-Po.


Agora você pode iniciar o processo de seleção de chips e peças. Em termos de mão-de-obra e tempo gasto, foi o processo mais difícil e demorado, foi necessário comparar muito, pesquisar e mergulhar de cabeça para onde eu nunca havia nadado antes.


Seleção de componentes


Microcontrolador


Primeiro de tudo, você precisa escolher um controlador que será o "cérebro" do dispositivo e tudo o mais no quadro o servirá para o bem.


Para tornar o dispositivo mais compacto, é necessário usar o mínimo de componentes e módulos possível. Aqui, vários sistemas em um chip vêm em socorro, que combinam a funcionalidade de um módulo bluetooth e um microcontrolador.


O que o mercado nos oferece?

imagem
Fonte: www.argenox.com


  • ARM Cortex-M0 do núcleo Cypress PSoC BLE , BLE 4.2, 256kB FLASH, 32kB RAM, um monte de periféricos e um balun integrado, uma ampla faixa de tensão de alimentação: 1,9-5 volts
  • Instâncias do Texas CC2541 - BLE 4.0 e 8051-core, 256kB FLASH, 8kB RAM
  • Texas Instruments CC2640 - BLE 4.1, Cortex-M3, 128kB FLASH, 20kB RAM
  • Caixa de diálogo DA-14580 - Cortex-M0, BLE 4.1, 16 MHz, 42 + 8kB de RAM, 32kB OTP (memória programável única, mas é possível executar o código de um SPI FLASH externo), o chip menor e menos consumidor dos itens acima
  • SiLabs EFR32 - Cortex-M4F, 40 MHz, BLE 4.x, Bluetooth 5, até 1MB FLASH, até 256kB de RAM
  • Nordic nRF52832 - Cortex-M4F, 64MHz, BLE 4.x, Bluetooth 5, 512kB FLASH, 64kB de RAM, emulação de tags NFC, balão integrado

No monte de decisões saborosas e poucas , a escolha caiu no nRF52832 , este chip acabou sendo o mais produtivo e bastante conveniente em termos de caixa (6x6mm QFN de 48 pinos). Uma opção elegante que simplifica bastante a fiação da placa é a capacidade de atribuir programaticamente quaisquer periféricos a qualquer um dos pinos GPIO. Isso é algo que muitos microcontroladores não possuem. Graças ao suporte à NFC, você pode adicionar a funcionalidade de um emulador de NFC ao relógio e costurar todas as suas placas de passe no relógio.



A folha de dados diz que há um RTC embutido (relógio em tempo real), isso é conveniente. Mas depois descobriu-se que este não é um relógio, mas um contador em tempo real, ou seja. Este é o cronômetro mais comum, operando em quartzo de 32.768kHz, inclusive no modo de suspensão. Portanto, na próxima revisão do dispositivo, usarei um chip separado para o RTC, por exemplo, STMicroelectronics M41T62LC6F . Possui quartzo embutido em 32.768kHz e funciona na interface I²C.


A placa de depuração nRF52-DK custa muito barato , cerca de 4 mil. rublos. No Aliexpress pode ser encontrado por ~ 3tys.


By the way

Como o dispositivo não envolve produção em massa e nenhuma venda no mercado, desenhar sua própria placa e desenvolver sua solução no BLE SoC é uma tarefa fascinante, sem consequências sérias. Para quem deseja entrar rapidamente no mercado, é recomendável usar módulos pré-certificados prontos .


Há várias razões para isso e elas estão associadas ao rádio: para qualquer novo dispositivo eletrônico no mercado, é necessário obter permissão e passar a certificação de reguladores como CE e FCC .
Logotipos de reguladores, frequentemente encontrados no estojo do dispositivo


As alegrias que acompanham incluem um layout especial da placa, levando em consideração as características de propagação de sinais com uma frequência de 2,4 GHz, blindagem, medições em uma câmara anecóica, correspondência de impedâncias e outras magias de microondas. Nos módulos finalizados, todo esse trabalho já foi realizado por seus desenvolvedores, o usuário só precisa incorporar o módulo em sua solução e não há necessidade de certificar nada.


Ressonadores de quartzo


Os ressonadores de quartzo são conectados ao chip nRF52832 selecionado:


  1. A 32 MHz para sincronizar o núcleo e o rádio, é necessário
  2. A 32.768kHz para registrar o relógio e os intervalos de tempo BLE durante o modo de suspensão. Opcional, mas sua conexão reduz o consumo de energia (os intervalos de tempo podem ser reduzidos) e aumenta a precisão do relógio RTC.

Ambos os tipos de quartzo são pedidos em um suporte de montagem em superfície com o Aliexpress:


Imagem


Exibição


Para que o relógio funcione sem recarregar por pelo menos uma semana, é necessário resolver o problema de que a matriz de exibição consome muita corrente no modo de operação. Pelo que entendi, os fabricantes de relógios resolvem esse problema de duas maneiras:


  1. Ligue a tela e exiba o conteúdo somente quando ocorrer um movimento do ponteiro e a tela do relógio cair no campo de visão do usuário ou quando a atenção do usuário já tiver sido atraída, por exemplo, por uma notificação ou um despertador
  2. Exiba o conteúdo constantemente, usando monitores que praticamente não consomem corrente para exibir a imagem e consuma apenas para atualizar o conteúdo. Você não precisa ir longe para obter exemplos: tinta eletrônica , Memory LCD ou IMOD / mirasol

O que o mercado nos oferece?

Para a opção em que a tela na maioria das vezes é trabalho de Malevich, existem opções no mercado: OLED, TFT, Amoled, módulos de telefone LCD (Nokia, Siemens etc.). Resta encontrar uma tela com uma diagonal adequada.


Exemplos:


  • Pequenos displays OLED , como o Ali Express, custam um centavo.
    Um monte de desvantagens: pequena diagonal, monocromática, consumo 10-20mA, módulo volumoso. Sem uma placa de módulo - um loop amplo e um mar de cintas, que absorverão uma parte significativa da área na placa.
  • LCD TFT, por exemplo, ILI9341 . Das desvantagens: consumo, loop amplo

As telas no E-Ink desapareceram imediatamente, porque a velocidade de atualização da tela é muito lenta, o monocromático e, provavelmente, é difícil encontrar um display de E-Ink bastante pequeno no mercado aberto.


Se você olhar no Pebble , poderá ver que ele usa a tela "Sempre ligada". O Pebble Classic usa uma tela LCD monocromática SHARP Memory , a Pebble Time usa uma tela colorida (64 cores) usando uma tecnologia semelhante, mas produzida pela JDI , ela não está à venda.


Em relação ao IMOD / Mirasol, a Qualcomm não encontrou nada além de folhetos de marketing e relógios Toq da Qualcomm .


Eu queria ter uma tela colorida como o Pebble Time. O analógico mais próximo, que está à venda, foi o SHARP LS013B7DH06 ( sua folha de dados ).



Características


  • Diagonal 1,33 "
  • Resolução: 128x128, 8 cores (3 bits por pixel)
  • Dimensões: 26.82x31.3mm
  • Interface: SPI
  • Tensão de alimentação: 5V, mas níveis lógicos SPI de 2,7V

A emboscada acabou com a tensão de alimentação, uma vez que a bateria de Li-Po não recebe a tensão de 5V necessária sem conversores de impulso adicionais. Mas a corrente na tela é escassa e obter os 5V necessários é bastante simples com uma bomba de carga como a Linear LTC1754-5 :



Outro recurso foi a necessidade de alternar o estado do pino EXTCOMIN (Inversão externa do COM) pelo menos uma vez por segundo de um nível alto para um nível baixo e vice-versa, para que a carga não se acumulasse no painel da tela e a imagem não congelasse em um ponto. Para esses fins, você pode descartar o PWM (PWM) embutido do microcontrolador, ajustado para um ciclo de trabalho de 50% (onda quadrada) e uma frequência de 1Hz ou superior, ou qualquer outro gerador de onda quadrada (inclusive externo).


O monitor é conectado à placa usando um cabo pequeno, é muito conveniente usar um conector FPC de 10 pinos em incrementos de 0,5 mm, por exemplo, Hirose FH12-10S-0.5SH :



O módulo de exibição não possui luz de fundo própria e não brilha através dos LEDs como uma tela LCD comum; portanto, por enquanto não temos tempo para assistir ao relógio sem luz de fundo. Se alguém estiver familiarizado com o processo de criação de um módulo de luz de fundo para esse tipo de tela, responda.


Bateria


Eu tive que gastar algum tempo escolhendo a bateria do tamanho certo da faixa padrão de tamanhos. Eu estava procurando uma bateria de polímero de lítio com uma tensão de 3,7V e uma capacidade de aproximadamente 100mAh.


A bateria foi planejada para ser colocada embaixo da placa, sabendo o tamanho da placa, você pode facilmente pegar uma bateria que encaixe e não fique com nada.


O que o mercado oferece?

No Aliexpress, você pode solicitar um monte de baterias para praticamente qualquer tamanho, o principal é conhecer o sistema de codificação de seus nomes. E é assim: HHWWLL, onde HH é a espessura (altura) da bateria em décimos de milímetro, WW é sua largura e LL é seu comprimento em milímetros.


Exemplo: 402025 - bateria com uma espessura de 4 mm e um tamanho de 20x25 mm


302025 (3x20x25mm) baterias com capacidade de 110mAh foram selecionadas e encomendadas no Aliexpress.



Nutrição


Como as baterias de polímero de lítio fazem sentido para descarregar apenas até 3 volts, foi decidido alimentar todo o circuito a partir de 3V estabilizados e se a tensão na bateria cair abaixo de 3V, desligue o regulador de energia principal do chip de proteção ( Maxim MAX809TEUR + T ).


A tensão total de alimentação de 3V se encaixa nas faixas de potência de todos os elementos do circuito, exceto no display, que precisa de 5V. Portanto, a tela é alimentada através do conversor linear LTC1754-5 boost diretamente da bateria.


Se você observar a curva de descarga desse tipo de bateria,


pode ser visto que toda a capacidade da bateria cai na faixa de tensão de ~ 4V a 3V, portanto, um conversor de redução convencional de 3V será suficiente para fornecer ao sistema uma voltagem estável e, ao mesmo tempo, sugar efetivamente toda a energia da bateria sem deixar nada, mas sem descarregar demais .


O Texas Instruments TPS78230DRVT foi escolhido como um conversor abaixador, possui uma pequena corrente operacional de 500nA e uma corrente máxima de 150mA, o que é suficiente. O gabinete do SON-6 é compacto e bastante pagável:



Carga da bateria


Foi decidido carregar a bateria através de uma porta microUSB padrão ( Molex 47346-0001 ), mas não basta conectar a bateria diretamente ao barramento USB de 5V e carregá-la assim, é necessário garantir o processo de carregamento correto, dividido em várias fases: pré-condicionamento, corrente constante, constante tensão.


Perfil de carregamento típico para uma bateria de 180mAh


Boa explicação do processo de carregamento no EEVBlog

Uma solução popular para carregar baterias de pequena capacidade (até 500mAh) é o chip Microchip MCP73831 . A corrente de carregamento (dependendo da capacidade da bateria) é programada por um resistor; há uma saída de estado triplo ou de dreno aberto para notificá-lo do início e do fim do processo de carregamento.


Eu também escolhi outro chip - Maxim MAX1555EZK-T . Possui uma corrente de carga fixa de 100mAh e o mesmo compartimento do chip de microchip, além de exigir um mínimo de componentes externos e uma saída de dreno aberto para notificar sobre o processo de carregamento:



Imagem da folha de dados


Na próxima revisão da placa, ainda mudarei para o chip de microchip, porque a corrente de carga de 100mA para uma bateria de 110mAh provavelmente é um pouco demais.


Controlador de capacidade da bateria


Existem várias técnicas para monitorar o grau de carga da bateria que são um pouco diferentes na execução e precisão do resultado final (em fontes em inglês, isso é chamado de estado de carga):


Lista
  1. Meça o chamado tensão de circuito aberto / OCV (tensão nas placas) da bateria através do ADC e faça uma conclusão sobre a capacidade da bateria. Na maioria das vezes, é necessário transferir a faixa de tensão para uma área aceitável para a operação do ADC usando um divisor de tensão. As desvantagens dessa abordagem são que o gráfico de tensão versus capacidade das baterias de polímero de lítio é bastante plano, e as próprias leituras mudam a cada ciclo e estão sujeitas a ruído e incapacidade de medir a tensão real nas placas devido à influência da corrente de carga


  2. Outra maneira é medir a corrente que entra e sai da bateria em vez de medir a tensão nas placas. Esta é a chamada contagem de coulomb. Uma solução típica é integrar o valor da queda de tensão em um pequeno resistor de derivação de resistência (cerca de 100 mOhm). Conhecendo a capacidade da bateria, pela corrente que saiu dela por um certo período de tempo, podemos concluir quanto mais energia resta na bateria (negligenciando a autodescarga). As desvantagens dessa abordagem são que a descarga automática não é levada em consideração, além do fato de que a capacidade real da bateria muda a cada ciclo de descarga de carga. Grosso modo, menos corrente flui da bateria do que flui para ela durante o carregamento. Por esse motivo, com o tempo, um erro nas leituras inevitavelmente se acumulará.


  3. A combinação dos primeiro e segundo métodos: medição e tensão nas placas e a corrente que flui. Uma combinação competente das duas abordagens ajudará a construir um modelo que avaliará a capacidade da bateria com boa precisão. Para que essa abordagem funcione, é necessário produzir pelo menos um ciclo de carga-descarga para coletar dados sobre a dependência da tensão entre as placas na capacitância. Além disso, cada próximo ciclo precisará fazer alterações no modelo da bateria para que o erro não se acumule. Existem artigos nos quais as pessoas contam como, usando o filtro Kalman, dados de diferentes medidas foram combinados para prever a carga restante ( [1] , [2] )

O que o mercado nos oferece?
  • Maxim MAX17043 - usando um algoritmo proprietário para voltagem nas placas, constrói um modelo de bateria dentro de si. Promete precisão na medição da carga restante de 3%. Interface I²C. Corpo bonito e pequeno
  • OnSemi LC709203F - mede a interface OCV, I²C, precisão de 2,8%, há compensação de temperatura através de um termistor externo. Caro e ruim na Rússia
  • Texas Instruments BQ27621 - mede a tensão nas placas, I²C, precisão não especificada, dispendioso, pacote BGA
  • Texas Instruments BQ27421 - mede simultaneamente a tensão e o fluxo de corrente. Interface I²C, precisão não especificada, pacote BGA caro
  • LTC2941 linear - mede a corrente de fluxo, interface I²C, precisão de 1%, requer adicionalmente um resistor de derivação externo (integrado no LTC2941-1), caixa: 2x3mm DFN-6

Das opções disponíveis, o chip Linear LTC2941 foi escolhido para o menor caso, mas pagável, e um algoritmo de trabalho claro. Encomenda no Aliexpress.


Imagem da folha de dados

imagem
Fonte: Tecnologia Linear


O microcircuito usa a técnica do contador coulomb e conta a corrente fluida com uma precisão de 1%, funciona via interface I²C (SMBus) e possui uma caixa pequena mas conveniente: 2x3mm DFN-6:


Através de I²C dentro do microcircuito, você pode definir o valor da contraparte atual do medidor, bem como definir ou ler o valor do próprio contador. O contador é de 16 bits e aumenta quando a corrente entra na bateria e diminui quando a corrente sai da bateria. O valor máximo do contador (0xFFFF) pode ser considerado como uma bateria totalmente carregada e o mínimo (0x0000) como uma bateria totalmente descarregada. Com um pré-seletor de contador bem escolhido, é possível conseguir que o contador atinja seu máximo durante o carregamento e atinja zero quando a bateria estiver completamente descarregada. É possível definir o limite do valor do contador, abaixo do qual o microcircuito tocará um alarme e dará uma interrupção.


Acelerômetro


Entre o monte de opções no mercado, foi escolhido um chip bastante popular: o InvenSense MPU-9250 . Este é um sistema em um caso (SiP), combinando acelerômetro MEMS, giroscópio MEMS e chip de magnetômetro.



Características
  • Tensão de alimentação de 2.4V a 3.6V
  • Acelerômetro MEMS de três eixos e 16 bits com faixas de medição de ± 2g, ± 4g, ± 8g, ± 16g
  • Giroscópio MEMS de três eixos e 16 bits até 2000 ° / s
  • Magnetômetro de três eixos e 16 bits com faixa de medição de até ± 4800μT
  • Filtros Digitais Integrados
  • Interfaces I²C e SPI
  • Interrupções programáveis
  • Co-processador para leitura de DMP (Digital Motion Processor)

O chip é excelente, mas no final parecia um exagero e um acelerômetro simples é suficiente para uso em um relógio. Por exemplo, o ADXL362 analógico - de acordo com o fabricante, este é o acelerômetro MEMS de três eixos mais econômico.


Memória flash


Decidiu-se usar a memória SPI-FLASH externa para aplicativos e dados. Entre várias opções, o chip Winbond W25Q256FV no pacote compacto WSON-8 foi escolhido:



A quantidade de memória flash é de 256 megabytes (ou 32 megabytes), é suficiente. A memória é dividida em páginas de 256 bytes, agrupadas em setores de 4 kilobytes e blocos de 32 kilobytes. No modo ativo (leitura ou gravação), ele consome até 20mA, no modo de espera - menos de 1μA.


Como no acelerômetro, mais tarde começou a parecer que 32 megabytes também é um exagero e, em vez disso, você pode usar a memória FLASH embutida do microcontrolador, ele já possui 512 kilobytes. .



, ( Pebble, ). . , :


Wealth Metal TD-26EA :



: &


, .


Omron B3U-3000P :



.



, , .


Aliexpress , 3V (HxWxL) 3x3x12mm:


Imagem


, 100mA .



- , - . , , . , . , .


- 2.4GHz Johanson 2450AT18B100 :


Em geral, essas antenas são bastante populares, e os próprios Johanson também produzem baluns especialmente otimizados para certos fabricantes, incluindo os nórdicos. Especialmente para o nRF52, a Johanson criou um filtro harmônico Johanson 2450FM07A0029 , que substitui o filtro LC recomendado na frente da antena no design de referência.


As antenas foram encomendadas no Aliexpress com 10pcs de fita. para 214r / fita.


Todo o resto


Os componentes passivos para suspensórios e cintas são principalmente chips dos tamanhos 0402 e 0603 e encomendados na Elitan . Além dos componentes passivos, existem dois transistores e um par de diodos na placa. Eles participam no controle do motor de vibração, bem como no circuito de energia, dissociando a energia USB e a bateria .


Circuito e placa


A aparência do quadro nas capturas de tela é um pouco diferente do que foi pedido e está presente nas fotos do dispositivo. As capturas de tela do painel são uma revisão um pouco mais tarde, com pequenas alterações.


Tendo decidido tentar algo novo, desenhei o circuito e a placa não no habitual DipTrace, mas na nuvem EDA Upverter: um link para o design .


O upverter permite que você execute o projeto de ponta a ponta da placa e do circuito ao mesmo tempo, de modo que alguns dos elementos da fiação foram executados de acordo com o esquema e parte do circuito foi projetada levando em consideração os recursos da fiação.


Outro recurso matador do Upverter é uma enorme biblioteca de componentes, cuidadosamente gerada por bots e um bando de índios. Acabou sendo muito conveniente pegar a peça já desenhada e apenas verificar se tudo está mais ou menos correto, em vez de desenhar o símbolo e a pegada completamente.


Primeiro, decidi organizar os componentes, cuja posição será corrigida com precisão: botões, porta microUSB e um conector para a tela. Não fiz furos de montagem, na esperança de que a placa seja presa à caixa e nada fique pendurado.


Após a localização dos elementos fixos, siga a "regra de ouro" e criaremos o rádio primeiro. A antena do chip possui uma pequena área de descanso próxima, dentro e sob a qual não é recomendável colocar faixas e polígonos em todas as camadas, portanto a regra do bom tom é colocar a antena na borda da placa, de preferência mais perto de um dos cantos. Na verdade, a localização da antena determinava a localização do microcontrolador. Para que o comprimento do condutor da porta de saída da antena no chip até a própria antena seja o menor possível (levando em consideração os componentes correspondentes), colocamos o controlador mais próximo da borda em que a antena estará localizada.


Todos os outros componentes podem ser localizados (sem esquecer o bom senso) bastante livremente. Isso se deve ao fato de que a posição das portas dos periféricos digitais do microcontrolador nRF52 pode ser determinada programaticamente.


Na minha pouca experiência, um arranjo mútuo de componentes bem-sucedido é 90% de sucesso e determina a qualidade da fiação adicional; portanto, esse processo deve receber atenção especial.


Captura de tela do quadro (polígonos não são inundados, vista inferior)


Para maior clareza, pintei uma topologia aproximada das principais áreas:



O painel é de quatro camadas, colocar os componentes selecionados no painel e dissolver suas conexões foi uma questão de várias noites; em seguida, demorou cerca de uma semana para ficar preso no painel, procurando erros, verificando duas vezes e lendo novamente as folhas de dados para evitar surpresas repentinas.


A placa foi desenhada levando em consideração os padrões tecnológicos do fabricante da placa, que se tornou o OSHPark.com americano:


  • Condutor / autorização: 5/5 Mil
  • Vias: 10/4 mil buraco / almofada
  • Material: FR408
  • Acabamento: imersão em ouro com subcamada de níquel (ENIG)
  • Vias cegas e transições de camada interna (vias enterradas) não são suportadas. E não precisamos

Ao mesmo tempo, o preço é de US $ 10 por metro quadrado. polegadas e o número de placas na ordem - 3pcs. Como são placas-mãe de alta qualidade e baratas (para protótipos) com uma máscara roxa reconhecível, recomendo a todos que não são críticos esperar duas semanas por suas placas-mãe bilaterais ou de quatro camadas por um mês.


Screenshot da ordem


Como resultado, por três taxas, tive que pagar US $ 14 e, um mês depois, buscá-las por correio.


Fotos da placa sem componentes



Todos os componentes estão localizados na parte inferior da placa, na parte superior da placa está o módulo da tela, embaixo da qual há uma bobina NFC plana, que permite economizar vários milímetros de altura e garante um ajuste suave e firme da tela.


Acontece que um sanduíche


No lado superior da placa também há vários pontos de teste, blocos de teste, aos quais estão conectadas linhas de barramento I²C, SPI, linhas de interrupção e alguns sinais de controle. Um osciloscópio ou analisador lógico pode ser conectado a essas plataformas e esse recurso simplifica bastante a gravação de drivers e o firmware de depuração. Também no lado superior da placa está a interface de depuração JTAG (SWD) para piscar e depurar via Segger JLink, que está incluído no kit nRF52-DK, e almofadas para soldar a bobina da antena NFC.


Montagem e solda


Se você seguir todo o processo de montagem da superfície, precisará solicitar um estêncil smd (estêncil smd) e uma pasta de solda, aplicar a pasta de solda através do estêncil, organizar os componentes e enviá-los ao forno de refluxo .


Mas eu não tinha fornalha nem estêncil. E o desejo de mexer com ele e colar de solda também. Eu queria montar rapidamente um protótipo e começar a testar e escrever software. Portanto, soldados manualmente todos os componentes, dos quais os menores são chips de tamanho 0402, aplicando pasta com uma agulha, colocando os componentes em pinças a vácuo e soldando-os com um secador de cabelo.


O resultado pode ser visto na foto:



Os botões não são soldados e, em vez de várias fichas de três pernas - jumpers.
Peço desculpas pelas fotos de baixa qualidade, tiradas em um tijolo.


Foto através da lente de aumento x30


Você pode ver componentes levemente girados e em alguns lugares um excesso de solda. Isso é inevitável com a instalação manual e a aplicação da pasta.


Assim que a placa foi montada, peguei o testador em minhas mãos e comecei a tocar em tudo o que podia alcançar em busca de curtos-circuitos. Depois de se certificar de que ele não parecia curto, ele conectou um cabo USB. Não há fumaça, os chips não esquentam, a voltagem na porta USB é de 5 volts, a saída de carga é de 4,2V, a voltagem após o LDO é exatamente de três volts. Parece funcionar.


Mesmo quando totalmente energizado, o dispositivo, é claro, não mostrava absolutamente nenhum sinal de vida. Agora você precisa dar alma a ela - firmware (ou "sistema operacional", como alguns fabricantes de relógios: WatchOS, PebbleOS etc.).


A próxima etapa do teste foi conectar o depurador JLink embutido no nRF52-DK por meio da interface SWD. Conectamos a fiação, executamos o JLinkExe e vemos nosso chip! Você pode começar a escrever o firmware e testar os blocos restantes de ferro programaticamente.


"Sistema operacional" para relógios


Para trabalhos periféricos de baixo nível, a Nordic oferece seu nRF5-SDK , adequado para as séries nRF51 e 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.


, , - , .


!


P.S.: .

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


All Articles