Tabla de contenido:
- Paso 1: cómo funciona:
- Paso 2: preparación:
- Paso 3: EL TABLERO
- Paso 4: Configuración del módulo HM-10, Microprogramación Arduino Pro
- Paso 5: Ensamblaje de componentes, instalación de PCB en gabinetes
- Paso 6: programe el ATTiny85, suelde en las conexiones del cable de datos, conecte la batería
- Paso 7: Prueba, uso, menú de funciones avanzadas
- Paso 8: Pensamientos finales - Posibles modificaciones / Nuevas funciones / Hackabilidad
Video: Interfaz inalámbrica Bluetooth para calibradores e indicadores Mitutoyo: 8 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
Hay millones de calibradores, micrómetros, indicadores y otros dispositivos Mitutoyo Digimatic en el mundo de hoy. Muchas personas como yo usan esos dispositivos para recopilar datos directamente en una PC. Esto elimina tener que iniciar sesión y escribir en ocasiones cientos de valores, pero también presenta algunos problemas relacionados con tener una computadora portátil en la tienda donde las computadoras portátiles pueden caerse o dañarse. Esto es especialmente cierto si las medidas se toman en partes grandes o en situaciones en las que el cable de datos estándar de Mitutoyo no es lo suficientemente largo.
Hace unos años construí un dispositivo similar basado en módulos Bluetooth HC-05 y algunas placas de microcontroladores Arduino que me permitirían dejar la computadora portátil a salvo en una mesa y recorrer hasta 50 pies tomando medidas. Este dispositivo funcionó muy bien pero tuvo varios problemas. No hubo indicación de cuándo la batería del transmisor estaba completamente cargada, no hubo indicación del estado de la conexión bluetooth ni indicación de transmisión de datos exitosa. ¡También era grande y torpe y literalmente parecía un proyecto de ciencia! Incluso con estas limitaciones, los otros chicos de la tienda prefirieron usarlo en lugar del cable de datos USB Mitutoyo.
Este proyecto supera las limitaciones del dispositivo anterior, agrega más funciones y es un poco más profesional, todo por menos de $ 100.
Paso 1: cómo funciona:
La interfaz se compone de dos partes, un transmisor y un receptor. Conecte el transmisor al medidor usando el cable de datos conectado permanentemente y conecte el receptor a una PC usando un cable de datos micro USB.
En el transmisor, deslizar el interruptor hacia el extremo del cable lo enciende. En el extremo del receptor, el LED azul parpadea inicialmente para indicar que no hay conexión, cuando se realiza una conexión, el LED dejará de parpadear y estará encendido continuamente. El transmisor y el receptor ahora están conectados.
El transmisor (dispositivo inferior en la foto) se conecta al medidor y lee el flujo de datos sin procesar de Mitutoyo cada vez que se presiona el botón "datos". Luego, formatea los datos utilizando información en el flujo de datos, como la ubicación del punto decimal, el signo y las unidades. Luego construye una cadena ASCII a partir de estos datos y la envía a través del módulo Bluetooth HM-10 en el transmisor al HM-10 en el lado del receptor.
En el receptor (dispositivo superior en la foto), el HM-10 envía los caracteres ASCII enviados desde el HM-10 transmisor que comprende la medición al Arduino Pro Micro que luego los envía a través del cable USB a la PC. Emula un teclado para hacer esto y luego los datos se inyectan en la aplicación abierta, en mi caso es Excel. Los datos van seguidos de caracteres que hacen que el cursor caiga a la siguiente línea. Lo bueno de esto es que puede cambiar esto para hacer lo que quiera si necesita ingresar datos en un software personalizado. Luego, el receptor envía una solicitud al HM-10 en el transmisor para que parpadee el lado azul del LED para indicar al operador que los datos se recibieron correctamente. El módulo receptor también elimina los caracteres del flujo de datos entrantes asociado con el control remoto del HM-10 en el receptor.
La carga del transmisor se realiza con una carga micro USB o un cable conectado a la toma USB del transmisor, el LED del receptor se iluminará en rojo durante la carga y se apagará cuando la carga esté completa.
Hay otras funciones cubiertas más adelante en cuanto al procesamiento que se pueden hacer para asegurar que todos los valores estén en unidades métricas o estándar o para advertir si accidentalmente presionó el botón +/- haciendo que todas las mediciones sean negativas. Incluso puede comprobar el voltaje de la batería del transmisor.
Paso 2: preparación:
Además de los materiales mencionados en este Instructable, hay algunos otros elementos para configurar y programar los módulos y microcontroladores Bluetooth HM-10. Necesitará un adaptador serial USB a TTL UART para configurar los módulos Bluetooth, un Arduino que sirva como programador para el microcontrolador ATTiny85 (o programador similar que pueda trabajar con el IDE de Arduino) y por supuesto, cables de puente para hacer la configuración y programación. El ATTiny85 en este Instructable fue programado usando un clon Arduino Nano y un capacitor electrolítico de 10 uf conectado entre los pines RST y GND. Otro hardware funcionará si lo tiene, pero es posible que deba investigar los cambios en el procedimiento necesarios para eso. Este Instructable asume que está familiarizado con el IDE de Arduino y se siente algo cómodo usándolo; de lo contrario, se necesita Google y algo de paciencia.
Antes de configurar los módulos Bluetooth, sería una buena idea leer el tutorial BLE de Martyn Currey en https://www.martyncurrey.com/hm-10-bluetooth-4ble-modules/ Este artículo contiene información sobre cómo distinguir los reales de las falsificaciones, configure emparejamiento, roles, modos e información de actualización de firmware para los módulos HM-10 utilizados en este Instructable.
Tenga cuidado con los HM-10 falsos en el mercado. El enlace en la lista de materiales proporcionada en este Instructable es a los reales (o al menos a los que tienen firmware real cuando los compré el otoño pasado). Obtener los falsos no es un factor decisivo, pero si terminas con falsificaciones, se necesitan algunos pasos más para que funcionen según sea necesario para Instructable, ya que deben tener el firmware real antes de que se puedan configurar correctamente. Si obtiene una falsificación, puede actualizar el firmware real utilizando el siguiente tutorial https://www.youtube.com/embed/ez3491-v8Og Hay otros tutoriales sobre cómo actualizar el firmware HM-10 en CC2541 módulos (falsificaciones). Las fotos en este Instructable muestran módulos falsos que tuve que flashear con el firmware HM-10 mientras construía esta interfaz (esta es la tercera que construí). Los reales cuestan alrededor de $ 6 por par y los falsos cuestan $ 3 por par, vale la pena los $ 3 adicionales para obtener los reales. ¡Le recomiendo encarecidamente que compre módulos HM-10 reales!
Se necesitan un par de definiciones no incluidas de forma predeterminada en el IDE de Arduino para el microcontrolador Sparkfun Arduino Pro Micro y ATTiny85 utilizado en este Instructable.
Puede agregar soporte para estas partes al IDE de Arduino agregando los siguientes enlaces a su administrador de tableros.
Para el ATTiny85:
raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
Para Sparkfun Arduino Pro Micro:
raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json
Separe estas dos entradas con una coma como se muestra en la imagen.
También necesitará una biblioteca en serie especial de tamaño reducido para el módulo transmisor:
SendOnlySoftwareSerial:
Paso 3: EL TABLERO
La placa que diseñé para este Instructable se puede pedir a JLCPCB o algún otro sitio como Seedstudio ect si usa los archivos gerber adjuntos a este Instructable. Lo diseñé usando easyeda.com. Aquí hay un enlace al tablero en easyeda. https://easyeda.com/MrFixIt87/mitutoyo-bluematic-spc-smt-mcp73831 Si hay suficiente interés, puede que haga algunos PCB y los venda baratos en eBay.
Esta placa debe cortarse en dos placas separadas (una para el transmisor y otra para el receptor). Los cortes seguirán los contornos blancos en el centro de la PCB en la imagen de arriba y una esquina de la placa del transmisor. Estos cortes seguirán las líneas rojas dibujadas en la imagen de la PCB de arriba. Tenga cuidado al cortar las placas, especialmente en las muescas en las esquinas de la placa del transmisor. Estos cortes se acercan mucho a las huellas en el tablero. Un conjunto de archivos finos es útil aquí.
La mayoría de los componentes se pueden pedir a Digi-Key o Mouser, etc. Los números de pieza de Digi-Key se incluyen en la lista de materiales para los artículos que tienen. Algunos de los artículos que compré en eBay, Amazon o AliExpress. He incluido enlaces a elementos en esos sitios según sea necesario en la lista de materiales.
El archivo BOM.pdf es el más fácil de leer y las URL son enlaces en los que se puede hacer clic.
Paso 4: Configuración del módulo HM-10, Microprogramación Arduino Pro
Es una buena idea obtener los módulos HM-10 antes que nada y asegurarse de configurarlos correctamente y de que funcionen como un par, ya que hay muchos falsos en el mercado y requiere un par de pasos adicionales para instalar los reales. firmware en las falsificaciones. Solo el firmware real del HM-10 permite que el receptor haga parpadear de forma remota el LED del transmisor cuando se presiona el botón "datos". No actualice el firmware más allá de V6.05.
El tutorial de Martyn Currey es muy útil para esto. Si lo sigues, no tendrás problemas. También asegúrese de obtener módulos castellados desnudos como el del lado derecho en la imagen para este paso. Sueldelos a la PCB si es necesario para ayudar a conectar cables temporales para la configuración. No suelde ningún otro componente en ninguno de los PCB hasta que tenga un par de módulos BLE que funcionen. Solo es necesario soldar los pines 1, 2, 12-15, 21-25.
En la PCB Tx, el HM-10 necesitará la siguiente configuración:
Emparejamiento: empareje con otro HM-10 (use un monitor en serie para probar el flujo de datos entre los módulos cuando esté conectado)
Rol: periférico
Modo: 2
En la PCB Rx, el HM-10 necesitará la siguiente configuración:
Emparejamiento: debe emparejarse con el periférico HM-10 anterior
Rol: central
Modo: (ninguno, solo el periférico tiene un modo)
Programe el Arduino pro micro con el boceto llamado Mitutoyo_Keyboard… arriba. Asegúrese de elegir la versión de 3.3V 8MHz del Arduino Pro micro en el administrador de la placa del Arduino IDE cuando lo cargue en la placa. También asegúrese de tener instaladas todas las bibliotecas a las que se hace referencia. Usé la versión Sparkfun del pro micro (rojo) pero hay clones disponibles en ebay que también funcionarán, solo asegúrese de obtener una placa de 3.3V 8MHz con el microcontrolador Atmel 32U4 y NO un ATMega328P. También obtenga uno azul que se parezca al rojo Sparkfun en este Instructable y no uno negro, los negros son demasiado anchos para ajustarse al patrón de agujeros en la PCB).
Paso 5: Ensamblaje de componentes, instalación de PCB en gabinetes
Para la PCB Tx, suelde los otros componentes en la PCB. Es una buena idea soldar el conector USB en la placa BLE Tx primero antes que los otros componentes en esta área. Podría ser una buena idea soldar el encabezado ICSP a la placa BLE Tx al final. Observe cómo los cables en el LED bicolor están "doblados", originalmente la idea era que esto pasara por el costado del gabinete, pero luego decidí usar un gabinete translúcido para que el LED no tuviera que moverse. a través de un agujero mientras se ensambla. También agrega un efecto agradable cuando el lado azul del LED parpadea después de que se ha transmitido una medición. Para el LED bicolor, el cable más corto es el azul, el centro es el ánodo común.
En este momento, mida la ubicación del interruptor, el conector USB y haga agujeros en la caja para estos elementos. He descubierto que es mejor sacar el cable de datos del lado izquierdo (como se muestra en la imagen) de la caja (orificio de 0.25 centrado en el ancho y alto del gabinete). Pruebe cuidadosamente el ajuste de la PCB haciendo ajustes al tamaño del agujeros hasta que el interruptor se mueva libremente y el conector USB encaje en la abertura. Instale 2 tornillos # 2 para mantener la PCB en su lugar (sin embargo, si el ajuste es ajustado, la PCB quedará cautiva de todos modos y realmente no necesitará tornillos).
En la PCB Rx, suelde el Arduino pro micro en la PCB usando los dos cabezales de 7 pines. Ajuste la abertura en el lado del conector USB del gabinete del PCB Rx para permitir que el PCB se asiente firmemente contra el interior del gabinete. Observe en la imagen de este ensamblaje que el LED se aleja de la placa. Esto es para ubicar firmemente la PCB dentro de la caja y funciona bastante bien con el ojal más pequeño. Ajuste con cuidado la longitud del cable del LED de modo que se obtenga un ajuste perfecto después del montaje. La PCB está marcada en rojo y azul, el cable más corto del LED es el cable azul, el centro es el ánodo común. Coloque la tapa en el gabinete de Rx, listo.
Paso 6: programe el ATTiny85, suelde en las conexiones del cable de datos, conecte la batería
Ahora es el momento de programar el ATTiny85. Usé un clon de Arduino Nano ejecutando el boceto de ejemplo de Arduino ISP. El Nano requiere un condensador electrolítico de 10 uf instalado entre GND y RST (- conductor a GND) para la programación. Los detalles de la conexión de los pines se encuentran en el boceto del ISP de Arduino. El encabezado ICSP en la PCB en este proyecto tiene los nombres de los pines estampados, por lo que las conexiones deben ser sencillas.
Asegúrese de tener ATTiny85, flash de 8kB y las opciones de reloj interno de 8MHz seleccionadas en el administrador de la placa cuando cargue en el ATTiny85 como se muestra en la imagen.
Una vez hecho esto, instale el ojal grande. Corte el cable de datos a unas 8 "-10" del extremo del instrumento y retire la cubierta exterior que revela un par de pulgadas de los cables interiores. Deje las hebras de blindaje a aproximadamente 1/2 "de la cubierta rayada como se muestra. Soldé el blindaje del cable de datos al interruptor para darle resistencia contra la extracción en uso, aunque también hay un gran agujero en la PCB en esto es para eso Si desea seguir esa ruta, suelde los cables individuales a la PCB como se muestra, los colores de los cables de datos están serigrafiados en la PCB en los orificios correspondientes.
Conecte la batería como se muestra, tenga cuidado con la polaridad ya que invertirla quemará el chip del cargador / administrador de LiPo en la PCB en poco tiempo (no pregunte cómo lo sé …)
Paso 7: Prueba, uso, menú de funciones avanzadas
Ahora instale la cubierta. ¡Listo!
Las 4 unidades que he construido hasta ahora tienen velcro para sujetar el transmisor al instrumento y el receptor a la parte superior de la tapa del portátil. En la práctica, esto funciona muy bien. Instale el lado de velcro difuso (bucle) en la parte superior de la tapa de la computadora portátil, el lado áspero (gancho) en la carcasa del receptor. Instale el lado difuso (bucle) en la carcasa del transmisor y el lado áspero (gancho) en la parte posterior de la pinza o indicador. Hacerlo de esta manera le permite almacenar el transmisor y el receptor juntos cuando no están en uso y también tiene el lado difuso suave en la tapa de su computadora portátil.
Pruebe la carga de la batería conectando un cable micro USB al conector USB en el módulo Tx, si la batería no está completamente cargada, el LED debería encenderse en rojo. A veces, el LiPo está tan cerca de estar completamente cargado que el cargador IC no lo cargará, así que no se preocupe si el LED no se enciende inicialmente.
Ahora puede conectar el cable de datos a una pinza o indicador (cualquier cosa que tenga el tipo de cable que utilizó).
Conecte el extremo Rx a un cable de datos micro USB (debe ser un cable de datos y no solo un cable de carga) y a un puerto USB de su PC. Puede que tenga que instalar el controlador que le permite actuar como un teclado, pero debería ser automático. Encienda el módulo Tx usando el interruptor. El LED del módulo Rx debe parpadear durante unos segundos y luego permanecer encendido cuando se establece una conexión.
Pruebe presionando el botón de datos en el cable que conecta la pinza al módulo transmisor. Debería ver la medida en la pantalla de la PC. El Arduino Pro Micro funciona como un teclado HID e insertará las mediciones entrantes directamente donde sea que esté el cursor en su PC.
La programación en el módulo transmisor permite opciones. Puede acceder a este menú midiendo 0 cinco veces consecutivas. Una vez en el modo de menú, para seleccionar una opción de menú, mida un valor negativo que comience con el número de opción en el menú, por ejemplo, para convertir automáticamente todas las medidas en métricas, mida un valor negativo con un 1 como primer dígito distinto de cero. (-1.xx mm o -0.1 pulgadas, por ejemplo). Para volver al modo normal, mida 0 cinco veces y luego mida un valor negativo que comience con un 3 como primer dígito distinto de cero). Está programado de esta manera para evitar la configuración accidental de opciones. Si en el modo de menú se vuelve a medir 0 o cualquier valor positivo, se cancela automáticamente el modo de menú y se vuelve al modo normal.
Las opciones del menú son:
- Convierta automáticamente todas las medidas a unidades métricas (si es necesario)
- Convierta automáticamente todas las medidas a unidades estándar (si es necesario)
- Cancelar la conversión automática de unidades
- Rechazar medidas negativas (imprime mensaje de advertencia)
- Cancelar el rechazo de medidas negativas
- Mida e imprima el voltaje de la batería del transmisor (no documentado en el menú)
Al ingresar al modo de menú, las opciones vigentes se imprimen en la parte superior como recordatorio de las opciones vigentes. Todas las opciones se almacenan en EEPROM y se conservan después de apagar la unidad o de que se agote la batería. La duración de la batería de las unidades que he construido es de unas 45 horas de uso continuo y la recarga tarda unas 3 horas desde que se agotan por completo.
Una característica no documentada es ingresar al modo de menú (0 cinco veces) y luego medir un valor negativo comenzando con 6 como el primer dígito distinto de cero, lo que hace que mida e imprima el voltaje actual de la batería como se muestra en el video adjunto.
Mi experiencia con las 3 unidades que he construido es que el alcance es de aproximadamente 50 pies en un entorno de taller abierto.
Paso 8: Pensamientos finales - Posibles modificaciones / Nuevas funciones / Hackabilidad
Aunque en este punto tendrá una interfaz perfectamente utilizable que se puede utilizar con millones de dispositivos en el mundo, de ninguna manera está terminada en el sentido de que no se puede hacer nada más. Una de las ventajas de adoptar este enfoque en lugar de comprar el Mitutoyo U-Wave es que ahora tiene un dispositivo que se puede personalizar de muchas maneras.
Puede usar otros cables Mitutoyo para conectarse al transmisor en lugar del que usé para este Instructable si su dispositivo usa un cable diferente. Los colores de los cables internos y las señales deben ser los mismos en todos los cables Mitutoyo. Solo tenga en cuenta que el cable necesitaría un botón de datos para activar la medición o se habría ideado algún otro medio para activar la medición. Se puede enviar una solicitud de medición al medidor conectando brevemente el par de cables verde / blanco a tierra (el cable azul en el cable del medidor). Esto se puede hacer instalando un interruptor o un conector de audio de 1/8 en la caja del transmisor conectado a esos cables y conectando un interruptor externo a través de él. Si tiene un indicador montado en un accesorio o no necesita tener que tocar el medidor, El enfoque del conector de audio sería ideal.
Si todo lo que necesita son datos en serie (RS232 TTL, SPI, I2C, etc.), eso se puede lograr mediante cambios de código en el receptor y conectándose directamente a los pines del Pro Micro que elija usar para enviar los datos.
Control remoto: Otra posibilidad interesante sería conectar un transistor entre el par verde / blanco y la tierra azul del medidor con la puerta conectada al pin 26 del HM-10. Luego, en el extremo del receptor, conecte un detector remoto IR de 38 kHz con el pin de salida al receptor Arduino Pro Micro pin 7. luego modifique el código en este microcontrolador para buscar comandos específicos desde cualquier control remoto infrarrojo y luego active el transistor instalado en el transmisor a través de una llamada remota AT + PI031 / AT + PI030 similar a la forma en que parpadea el LED azul en el transmisor ahora. Esto daría la capacidad de disparar lecturas desde una ubicación remota que en ciertas circunstancias podría ser muy útil. Puedo diseñar otro PCB con esta funcionalidad incorporada.
Estoy seguro de que hay muchas otras características que son posibles, comente con sugerencias, pensamientos e ideas.
Ahora hay un dispositivo de comunicación de datos inalámbrico comercial disponible en Mitutoyo, pero cuando verifiqué el precio del sistema era de aproximadamente $ 800. El costo total de construir este dispositivo es de aproximadamente $ 100 y puede ser menor, especialmente si usa un Arduino Pro Micro o tiene un cable de datos Mitutoyo para usar para conectarse al medidor, ya que esos son dos de los elementos más costosos en el BOM. Dudo seriamente que Mitutoyo U-Wave sea hackeable para agregar funciones como esta.
Espero que hayas disfrutado de este Instructable, ¡es mi primero!
¡Deje comentarios, preguntas, comentarios, ideas y sugerencias! Si te gusta, ¡vota por él en el concurso de PCB! ¡¡¡¡Gracias!!!!
Finalista en el Concurso de PCB
Recomendado:
Introducción a la interfaz del sensor I2C - Interfaz de su MMA8451 usando ESP32s: 8 pasos
Introducción a la interfaz del sensor I2C - Interfaz de su MMA8451 usando ESP32s: en este tutorial, aprenderá todo sobre cómo iniciar, conectar y hacer que el dispositivo I2C (acelerómetro) funcione con el controlador (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
Indicadores de nivel de agua / alimento: 10 pasos (con imágenes)
Indicadores de nivel de agua / alimentación: en este instructivo, le mostraré cómo hice un indicador de nivel de agua sin el uso de microprocesadores, microcontroladores, Raspberry Pi, Arduino, etc. Cuando se trata de electrónica, soy un " completo maniquí ''. Yo sí uso algún componente electrónico
Indicadores de coche OLED ESP32 habilitados para wifi: 3 pasos (con imágenes)
Indicadores de automóvil OLED ESP32 habilitados para Wi-Fi: Introducciones primero … Construyo indicadores de automóvil como una especie de pasatiempo de encendido una y otra vez. Consulte https: //www.instructables.com/id/Remote-Car-Monit … y https: //www.instructables.com/id/Remote-Car-Monit … para ver dos ejemplos más recientes. Me gusta especialmente
Calibradores Wifi: 6 pasos
Calibradores de wifi: este instructable es un complemento de los calibradores digitales comunes que los habilita para wifi con un servidor web integrado.La idea se inspiró en la interfaz wifi instructable por Jonathan Mackey https://www.instructables.com/id/ Caliper-Data-Inte … Fe
Soporte de madera para teléfono con carga inalámbrica de Google Home para automóvil: 7 pasos (con imágenes)
Soporte para teléfono de madera con carga inalámbrica de Google Home para automóvil: ¡Bienvenido! ¿Alguna vez ha querido hacerle una pregunta a Google mientras conduce sin abrir su teléfono? El Asistente de Google es una gran aplicación con funciones interesantes, pero requiere que tengas el teléfono desbloqueado y la aplicación abierta, o que mantengas pulsado el botón de tu casa