Índice:

Interface sem fio Bluetooth para compassos de calibre e indicadores Mitutoyo: 8 etapas (com imagens)
Interface sem fio Bluetooth para compassos de calibre e indicadores Mitutoyo: 8 etapas (com imagens)

Vídeo: Interface sem fio Bluetooth para compassos de calibre e indicadores Mitutoyo: 8 etapas (com imagens)

Vídeo: Interface sem fio Bluetooth para compassos de calibre e indicadores Mitutoyo: 8 etapas (com imagens)
Vídeo: NR-12 Acidente em torno 2024, Julho
Anonim
Interface sem fio Bluetooth para compassos de calibre e indicadores Mitutoyo
Interface sem fio Bluetooth para compassos de calibre e indicadores Mitutoyo
Interface sem fio Bluetooth para compassos de calibre e indicadores Mitutoyo
Interface sem fio Bluetooth para compassos de calibre e indicadores Mitutoyo
Interface sem fio Bluetooth para compassos de calibre e indicadores Mitutoyo
Interface sem fio Bluetooth para compassos de calibre e indicadores Mitutoyo
Interface sem fio Bluetooth para compassos de calibre e indicadores Mitutoyo
Interface sem fio Bluetooth para compassos de calibre e indicadores Mitutoyo

Existem milhões de compassos de calibre, micrômetros, indicadores e outros dispositivos Mitutoyo Digimatic no mundo hoje. Muitas pessoas como eu usam esses dispositivos para coletar dados diretamente em um PC. Isso elimina a necessidade de registrar e digitar, às vezes, centenas de valores, mas também apresenta alguns problemas relacionados a ter um laptop na loja, onde os laptops podem cair ou ficar danificados. Isso é especialmente verdadeiro se as medições forem feitas em grandes partes ou em situações em que o cabo de dados Mitutoyo padrão não é longo o suficiente.

Alguns anos atrás, eu construí um dispositivo semelhante baseado em módulos Bluetooth HC-05 e algumas placas de microcontrolador Arduino que me permitiriam deixar o laptop seguro em uma mesa e percorrer até 15 metros fazendo medições. Este dispositivo funcionou muito bem, mas teve vários problemas. Não houve indicação de quando a bateria do transmissor estava totalmente carregada, nenhuma indicação de status de conexão bluetooth e indicação de transmissão de dados bem-sucedida. Também era grande e desajeitado e literalmente parecia um projeto de ciências! Mesmo com essas limitações, os outros caras da loja preferiram usá-lo em vez do cabo de dados USB Mitutoyo.

Este projeto supera as limitações do dispositivo antigo, adiciona mais recursos e é um pouco mais profissional, tudo por menos de US $ 100.

Etapa 1: Como funciona:

Image
Image
Preparação
Preparação

A interface é composta por duas partes, um transmissor e um receptor. Conecte o transmissor ao medidor usando o cabo de dados permanentemente conectado a ele e conecte o receptor a um PC usando um cabo de dados micro USB.

No transmissor, deslizar a chave em direção à extremidade do cabo o liga. Na extremidade do receptor, o LED azul está piscando inicialmente indicando que não há conexão, quando uma conexão é feita o LED irá parar de piscar e ficará aceso continuamente. O transmissor e o receptor agora estão conectados.

O transmissor (dispositivo inferior na foto) se conecta ao medidor e lê o fluxo de dados brutos da Mitutoyo toda vez que o botão "dados" é pressionado. Em seguida, ele formata os dados usando informações no fluxo de dados, como localização do ponto decimal, sinal e unidades. Em seguida, ele constrói uma string ASCII a partir desses dados e a envia através do módulo HM-10 Bluetooth no transmissor para o HM-10 no lado do receptor.

No receptor (dispositivo superior da foto), o HM-10 envia os caracteres ASCII enviados do HM-10 transmissor que compõem a medição para o Arduino Pro Micro, que os envia por meio do cabo USB para o PC. Ele emula um teclado para fazer isso, então os dados são injetados no aplicativo aberto, no meu caso é o Excel. Os dados são seguidos por caracteres que fazem com que o cursor caia para a próxima linha. Uma coisa boa sobre isso é que você pode alterar isso para fazer o que quiser se precisar inserir dados em um software personalizado. O receptor então envia uma solicitação ao HM-10 no transmissor para piscar o lado azul do LED para indicar ao operador que os dados foram recebidos com sucesso. O módulo receptor também remove os caracteres do fluxo de dados de entrada associado ao controle remoto do HM-10 no receptor.

O carregamento do transmissor é feito com uma carga micro USB ou cabo conectado à entrada USB no transmissor, o LED no receptor acenderá em vermelho durante o carregamento e desligará quando o carregamento for concluído.

Existem outras funções abordadas posteriormente como processamento que podem ser feitas para garantir que todos os valores estão em unidades métricas ou padrão ou para avisar se você acidentalmente apertou o botão +/- tornando todas as medições negativas. Você pode até verificar a tensão da bateria do transmissor.

Etapa 2: Preparação:

Além dos materiais mencionados neste Instructable, existem alguns outros itens para configurar e programar os módulos HM-10 Bluetooth e microcontroladores. Você precisará de um adaptador serial UART USB para TTL para configurar os módulos Bluetooth, um Arduino para servir como o programador do microcontrolador ATTiny85 (ou programador semelhante que possa trabalhar com o IDE do Arduino) e, claro, fios de jumper para fazer a configuração e programação. O ATTiny85 neste Instructable foi programado usando um clone do Arduino Nano e um capacitor eletrolítico de 10 uf conectado entre os pinos RST e GND. Outro hardware funcionará se você o tiver, mas pode ser necessário pesquisar as alterações no procedimento necessárias para isso. Este Instructable assume que você está familiarizado com o IDE do Arduino e se sente confortável para usá-lo; caso contrário, é necessário Google e alguma paciência.

Antes de configurar os módulos Bluetooth, seria uma boa ideia ler o tutorial BLE de Martyn Currey em https://www.martyncurrey.com/hm-10-bluetooth-4ble-modules/ Este artigo contém informações sobre como saber os verdadeiros das falsificações, configurar emparelhamento, funções, modos e informações de atualização de firmware para os módulos HM-10 usados neste Instructable.

Cuidado com os HM-10s falsos no mercado. O link no BOM fornecido neste Instructable é para os reais (ou pelo menos aqueles com firmware real quando os comprei no outono passado). Conseguir os falsos não é um problema, mas se você acabar com os falsos, são necessários mais alguns passos para fazê-los funcionar conforme necessário para o Instructable, pois eles precisam ter o firmware real antes de serem configurados corretamente. Se você receber um falso, pode atualizar o firmware real nele usando o seguinte tutorial https://www.youtube.com/embed/ez3491-v8Og Existem outros tutoriais sobre como atualizar o firmware HM-10 no CC2541 módulos (fakes). As fotos neste Instructable mostram módulos falsos que tive que piscar com firmware HM-10 enquanto construí esta interface (este é o terceiro que construí). Os reais custam cerca de $ 6 por par e os falsos $ 3 por par, vale a pena os $ 3 extras para obter os reais. Eu recomendo fortemente que você compre módulos HM-10 reais!

Algumas definições não incluídas por padrão no Arduino IDE são necessárias para o microcontrolador Sparkfun Arduino Pro Micro e ATTiny85 usado neste Instructable.

Você pode adicionar suporte para essas partes ao IDE do Arduino adicionando os seguintes links ao gerenciador de placas.

Para o ATTiny85:

raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

Para o Sparkfun Arduino Pro Micro:

raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json

Separe essas duas entradas com uma vírgula, conforme mostrado na imagem.

Além disso, você precisará de uma biblioteca serial especial de pequenas dimensões para o módulo do transmissor:

SendOnlySoftwareSerial:

Etapa 3: O QUADRO

O QUADRO
O QUADRO
O QUADRO
O QUADRO
O QUADRO
O QUADRO

A placa que projetei para este Instructable pode ser encomendada da JLCPCB ou algum outro site, como Seedstudio ect, se você usar os arquivos gerber anexados a este Instructable. Eu o projetei usando easyeda.com. Aqui está um link para o conselho da easyeda. https://easyeda.com/MrFixIt87/mitutoyo-bluematic-spc-smt-mcp73831 Se houver interesse suficiente, posso fazer alguns PCBs e vendê-los baratos no ebay.

Esta placa deve ser cortada em duas placas separadas (uma para o transmissor e outra para o receptor). Os cortes seguirão os contornos brancos no centro do PCB na imagem acima e em um canto da placa do transmissor. Esses cortes seguirão as linhas vermelhas desenhadas na imagem do PCB acima. Tenha cuidado ao cortar as placas, especialmente nos entalhes nos cantos da placa do transmissor. Esses cortes ficam muito próximos de traços na placa. Um conjunto de arquivos finos é útil aqui.

A maioria dos componentes pode ser solicitada na Digi-Key ou na Mouser, etc., os números de peça da Digi-Key estão incluídos na lista de materiais para os itens que eles possuem. Alguns dos itens que comprei no eBay, Amazon ou AliExpress. Incluí links para itens nesses sites conforme necessário na lista de materiais.

O arquivo BOM.pdf é o mais fácil de ler e os URLs são links clicáveis.

Etapa 4: Configuração do módulo HM-10, Arduino Pro Micro Programming

Configuração do módulo HM-10, Arduino Pro Micro Programming
Configuração do módulo HM-10, Arduino Pro Micro Programming
Configuração do módulo HM-10, Arduino Pro Micro Programming
Configuração do módulo HM-10, Arduino Pro Micro Programming
Configuração do módulo HM-10, Arduino Pro Micro Programming
Configuração do módulo HM-10, Arduino Pro Micro Programming

É uma boa ideia obter os módulos HM-10 antes de mais nada e certifique-se de tê-los configurado corretamente e funcionando como um par, pois há muitos falsos no mercado e são necessários alguns passos extras para instalar o verdadeiro firmware nas falsificações. Somente o firmware HM-10 real permite que o receptor pisque remotamente o LED no transmissor quando o botão "dados" é pressionado. Não atualize o firmware além da V6.05.

O tutorial de Martyn Currey é muito útil para isso. Se você seguir, não terá problemas. Certifique-se também de obter módulos acastelados nus, como o do lado direito da imagem, para esta etapa. Solde-os ao PCB, se necessário, para auxiliar na fixação de fios temporários para configuração. Não solde quaisquer outros componentes em qualquer PCB até que você tenha um par de módulos BLE funcionando. Apenas os pinos 1, 2, 12-15, 21-25 precisam ser soldados.

No Tx PCB, o HM-10 precisará da seguinte configuração:

Emparelhamento: emparelhe com outro HM-10 (use um monitor serial para testar o fluxo de dados entre os módulos quando conectado)

Papel: periférico

Modo: 2

No Rx PCB, o HM-10 precisará da seguinte configuração:

Emparelhamento: Deve emparelhar com o HM-10 periférico acima

Função: central

Modo: (nenhum, apenas o periférico tem um modo)

Programe o Arduino pro micro com o esboço denominado Mitutoyo_Keyboard… acima. Certifique-se de escolher a versão de 3,3 V 8 MHz do Arduino Pro micro no gerenciador de placa do Arduino IDE ao fazer o upload para a placa. Além disso, certifique-se de ter todas as bibliotecas referenciadas instaladas. Eu usei a versão Sparkfun do pro micro (vermelho), mas há clones disponíveis no ebay que também funcionarão, apenas certifique-se de obter uma placa de 3,3V 8MHz com o microcontrolador Atmel 32U4 e NÃO um ATMega328P. Também pegue um azul que se pareça com o Sparkfun vermelho neste Instructable e não um preto, os pretos são muito largos para caber no padrão de orifícios no PCB).

Etapa 5: montagem de componentes, encaixando os PCBs nos gabinetes

Montagem de componentes, encaixando os PCBs em gabinetes
Montagem de componentes, encaixando os PCBs em gabinetes
Montagem de componentes, encaixando os PCBs em gabinetes
Montagem de componentes, encaixando os PCBs em gabinetes
Montagem de componentes, encaixando os PCBs em gabinetes
Montagem de componentes, encaixando os PCBs em gabinetes

Para o Tx PCB, solde os outros componentes no PCB. É uma boa ideia soldar o conector USB na placa BLE Tx antes dos outros componentes nesta área. Pode ser uma boa ideia soldar o cabeçalho ICSP na placa BLE Tx por último. Observe como as pontas do LED bicolor são "dobradas", originalmente a ideia era passar pela lateral do gabinete, mas depois decidi usar um gabinete translúcido para que o LED não precisasse ser dobrado embora um buraco durante a montagem. Ele também adiciona um efeito legal quando o lado azul do LED pisca após a transmissão de uma medição. Para o LED bicolor, o cabo mais curto é azul, o centro é o ânodo comum.

Nesse momento, meça a localização do switch, do conector USB e faça orifícios no gabinete para esses itens. Descobri que é melhor alimentar o cabo de dados pelo lado esquerdo (conforme ilustrado) da caixa (orifício de 0,25 centrado na largura e altura do gabinete). Teste cuidadosamente o encaixe do PCB fazendo ajustes no tamanho do orifícios até que a chave se mova livremente e o conector USB se encaixe na abertura. Instale 2 parafusos nº 2 para segurar o PCB no lugar (no entanto, se o encaixe for justo, o PCB ficará preso de qualquer maneira e realmente não precisará de parafusos).

No Rx PCB, solde o Arduino pro micro no PCB usando os dois conectores de 7 pinos. Ajuste a abertura no lado do conector USB do gabinete Rx PCB para permitir que o PCB se encaixe firmemente no interior do gabinete. Observe na foto desta montagem que o LED se estende para fora da placa. Isso serve para localizar firmemente o PCB dentro da caixa e funciona muito bem, na verdade, com o anel isolante menor. Ajuste cuidadosamente o comprimento do cabo do LED para que um ajuste confortável seja obtido após a montagem. O PCB é marcado em vermelho e azul, o fio mais curto no LED é o fio azul, o centro é o ânodo comum. Encaixe a tampa no gabinete Rx, está feito.

Etapa 6: programe o ATTiny85, solda nas conexões do cabo de dados, conecte a bateria

Programe o ATTiny85, solda nas conexões do cabo de dados, conecte a bateria
Programe o ATTiny85, solda nas conexões do cabo de dados, conecte a bateria
Programe o ATTiny85, solda nas conexões do cabo de dados, conecte a bateria
Programe o ATTiny85, solda nas conexões do cabo de dados, conecte a bateria
Programe o ATTiny85, solda nas conexões do cabo de dados, conecte a bateria
Programe o ATTiny85, solda nas conexões do cabo de dados, conecte a bateria
Programe o ATTiny85, solda nas conexões do cabo de dados, conecte a bateria
Programe o ATTiny85, solda nas conexões do cabo de dados, conecte a bateria

Agora é hora de programar o ATTiny85. Usei um clone do Arduino Nano executando o esboço de exemplo do Arduino ISP. O Nano requer um capacitor eletrolítico de 10 uF instalado entre o GND e o RST (- conduz ao GND) para programação. Os detalhes da conexão do pino estão no esboço do ISP do Arduino. O cabeçalho ICSP no PCB neste projeto tem os nomes dos pinos estampados, então as conexões devem ser diretas.

Certifique-se de ter ATTiny85, flash de 8kB e opções de relógio interno de 8 MHz selecionadas no gerenciador de placa ao fazer o upload para o ATTiny85 conforme mostrado na imagem.

Feito isso, instale o anel isolante grande. Corte o cabo de dados cerca de 8 "-10" da extremidade do instrumento e remova a capa externa revelando alguns centímetros dos fios internos. Deixe os fios de blindagem a cerca de 1/2 "da tampa listrada, conforme mostrado. Soldei a blindagem do cabo de dados ao switch para dar-lhe resistência contra arrancamento em uso, embora também haja um grande orifício no PCB neste são para isso se você quiser ir por esse caminho, solde os fios individuais no PCB como mostrado, as cores dos fios de dados são serigrafadas no PCB nos orifícios apropriados.

Conecte a bateria conforme mostrado, tenha cuidado com a polaridade, pois invertê-la queimará o chip do carregador / gerenciador LiPo no PCB em pouco tempo (não pergunte como eu sei …)

Etapa 7: Teste, Uso, Menu de Funções Avançadas

Image
Image
Teste, Uso, Menu de Funções Avançadas
Teste, Uso, Menu de Funções Avançadas
Teste, Uso, Menu de Funções Avançadas
Teste, Uso, Menu de Funções Avançadas
Teste, Uso, Menu de Funções Avançadas
Teste, Uso, Menu de Funções Avançadas

Agora instale a tampa. Você Terminou!

Todas as 4 unidades que construí até agora têm velcro para conectar o transmissor ao instrumento e o receptor na parte superior da tampa do laptop. Na prática, isso funciona muito bem. Instale o lado fuzzy (laço) do velcro na parte superior da tampa do laptop e o lado áspero (gancho) na caixa do receptor. Instale o lado difuso (laço) na caixa do transmissor e o lado áspero (gancho) na parte de trás do calibrador ou indicador. Fazer isso dessa forma permite que você armazene o transmissor e o receptor juntos quando não estiverem em uso e também tem o lado macio e fuzzy na tampa do seu laptop.

Teste o carregamento da bateria conectando um cabo micro USB ao conector USB no módulo Tx. Se a bateria não estiver totalmente carregada, o LED deve acender em vermelho. Às vezes, o LiPo está tão perto de totalmente carregado que o IC do carregador não carrega, então não se preocupe se o LED não acender inicialmente.

Agora você pode conectar o cabo de dados a um calibrador ou indicador (qualquer coisa que aceite o tipo de cabo que você usou).

Conecte a extremidade Rx a um cabo de dados micro USB (deve ser um cabo de dados e não apenas um cabo de carga) e a uma porta USB do PC. Pode ser necessário instalar o driver que permite que ele atue como um teclado, mas deve ser automático. Ligue o módulo Tx usando o switch. O LED no módulo Rx deve piscar por alguns segundos e permanecer aceso quando a conexão for estabelecida.

Teste pressionando o botão de dados no cabo que conecta a pinça ao módulo transmissor. Você deve ver a medição na tela do PC. O Arduino Pro Micro funciona como um teclado HID e insere medições de entrada diretamente onde quer que o cursor esteja em seu PC.

A programação no módulo transmissor permite opções. Você pode acessar este menu medindo 0 cinco vezes consecutivamente. Uma vez no modo de menu, para selecionar uma opção de menu, meça um valor negativo começando com o número da opção no menu, por exemplo, para converter automaticamente todas as medições em métricas, meça um valor negativo com 1 como o primeiro dígito diferente de zero. (-1, xx mm ou -0,1 polegadas, por exemplo). Para voltar ao modo normal, meça 0 cinco vezes e, em seguida, meça um valor negativo que começa com 3 como o primeiro dígito diferente de zero). É programado desta forma para evitar a configuração acidental de opções. Se estiver no modo de menu, medir 0 novamente ou qualquer valor positivo cancela automaticamente o modo de menu e retorna ao modo normal.

As opções do menu são:

  1. Converta automaticamente todas as medidas em unidades métricas (se necessário)
  2. Converter automaticamente todas as medidas em unidades padrão (se necessário)
  3. Cancelar conversão automática de unidades
  4. Rejeitar medidas negativas (imprime mensagem de aviso)
  5. Cancelar rejeição de medições negativas
  6. Meça e imprima a tensão da bateria do transmissor (não documentado no menu)

Ao entrar no modo de menu, todas as opções em vigor são impressas na parte superior como um lembrete das opções em vigor. Todas as opções são armazenadas na EEPROM e mantidas após desligar a unidade ou esgotar a bateria. A duração da bateria para as unidades que construí é de cerca de 45 horas de uso contínuo e a recarga leva cerca de 3 horas após o esgotamento total.

Um recurso não documentado é entrar no modo de menu (0 cinco vezes) e medir um valor negativo começando com 6 como o primeiro dígito diferente de zero, que o faz medir e imprimir a tensão atual da bateria, conforme mostrado no vídeo anexo.

Minha experiência com as 3 unidades que construí é que o alcance é de aproximadamente 50 pés em um ambiente de loja aberto.

Etapa 8: considerações finais - modificações potenciais / novos recursos / capacidade de hackeamento

Considerações finais - possíveis modificações / novos recursos / hackeabilidade
Considerações finais - possíveis modificações / novos recursos / hackeabilidade
Considerações finais - possíveis modificações / novos recursos / hackeabilidade
Considerações finais - possíveis modificações / novos recursos / hackeabilidade
Considerações finais - possíveis modificações / novos recursos / hackeabilidade
Considerações finais - possíveis modificações / novos recursos / hackeabilidade
Considerações finais - possíveis modificações / novos recursos / hackeabilidade
Considerações finais - possíveis modificações / novos recursos / hackeabilidade

Embora neste ponto você tenha uma interface perfeitamente utilizável que pode ser usada com milhões de dispositivos no mundo, ela não está de forma alguma concluída, no sentido de que nada mais pode ser feito. Uma das vantagens de adotar essa abordagem, em vez de comprar o Mitutoyo U-Wave, é que agora você tem um dispositivo que pode ser personalizado de várias maneiras.

Você pode usar outros cabos Mitutoyo para conectar ao transmissor em vez do que usei para este Instructable se o seu dispositivo usar um cabo diferente. As cores dos fios e sinais internos devem ser iguais em todos os cabos Mitutoyo. Apenas tenha em mente que o cabo precisaria de um botão de dados para acionar a medição ou algum outro meio teria sido criado para acionar a medição. Uma solicitação de medição pode ser enviada ao medidor conectando brevemente o par de fios verde / branco ao aterramento (o fio azul no cabo do medidor). Isso pode ser feito instalando um interruptor ou conector de áudio de 1/8 na caixa do transmissor conectada a esses fios e conectando um interruptor externo através dele. Se você tiver um indicador montado em um acessório ou não precisar tocar no medidor, abordagem de tomada de áudio seria ideal.

Se tudo o que você precisa é de dados seriais (RS232 TTL, SPI, I2C etc), isso pode ser feito por alterações de código no receptor e conectando-se diretamente aos pinos do Pro Micro que você escolheu para enviar os dados.

Controle Remoto: Outra possibilidade interessante seria conectar um transistor entre o par verde / branco e o aterramento azul do medidor com a porta conectada ao HM-10 pino 26. Em seguida, na extremidade do receptor, conecte um detector remoto IR de 38kHz com o pino de saída para o pino 7 do receptor Arduino Pro Micro, modifique o código neste microcontrolador para procurar comandos específicos de qualquer controle remoto infravermelho e acione o transistor instalado no transmissor por meio de uma chamada remota AT + PI031 / AT + PI030 semelhante a a forma como pisca o LED azul no transmissor agora. Isso daria a capacidade de acionar leituras de um local remoto que, em certas circunstâncias, poderia ser muito útil. Posso projetar outro PCB com essa funcionalidade embutida.

Tenho certeza que muitos outros recursos são possíveis, por favor, comente com sugestões, reflexões e ideias.

Agora existe um dispositivo comercial de comunicação de dados sem fio disponível na Mitutoyo, mas quando verifiquei o preço dele era cerca de US $ 800 pelo sistema. O custo total de construção deste dispositivo é de cerca de US $ 100 e pode ser menor, especialmente se você usar um Arduino Pro Micro e / ou tiver um cabo de dados Mitutoyo disponível para conectar ao medidor, pois esses são dois dos itens mais caros no BOM. Eu duvido seriamente que o Mitutoyo U-Wave seja hackeavel para adicionar recursos como este.

Espero que tenham gostado deste Instructable, é o meu primeiro!

Por favor, deixe comentários, perguntas, feedback, idéias e sugestões! Se você gostou, vote nele no concurso PCB! Obrigado!!!!

Concurso PCB
Concurso PCB
Concurso PCB
Concurso PCB

Vice-campeão no concurso PCB

Recomendado: