DRO universal basado en Arduino Nano - shDRO

Damas y caballeros, hola.

En este artículo hablaré sobre el desarrollo de un dispositivo para tomar lecturas de reglas digitales y otros sensores ubicados en máquinas de torneado y fresado.

El desarrollo aún no se ha completado y se describirá lo que se ha hecho en este momento.

A quién le importa, bienvenido al gato.

Por qué propio desarrollo, pero no un producto terminado.
Tengo dos máquinas de metal (chinas): fresado y torneado.

Periódicamente produzco productos de diversos grados de complejidad (no soy un operador de torneadoras o fresadoras, esto es solo un pasatiempo). Y, si el producto es complejo, entonces debe tomar una calculadora y calcular el progreso de la cortadora o cortadora. Y también, si la carrera del cortador / cortador resultó ser lo suficientemente grande, entonces tuvimos que considerar las revoluciones de las manijas de la pinza, que francamente molestaron. Como resultado, pensé en DRO (las pinzas digitales se compraron solo para este propósito durante mucho tiempo, pero la falta de tiempo retrasó constantemente la fabricación).

Antes de comenzar el desarrollo de mi DRO, tuve que responder dos preguntas sobre la idoneidad de mi propio desarrollo:

  • ¿Por qué no comprar el producto terminado?
  • Hay muchos proyectos DRO en la red, de diferentes niveles de dificultad, con descripciones detalladas de la fabricación de bricolaje. Entonces, ¿por qué no recoger uno de ellos?

Me respondo a mi mismo.

Sí, hay muchos productos en el mercado, tanto nacionales como extranjeros, con diferentes precios y con diferentes funcionalidades. El mismo Ali ofrece DRO confeccionado con tres líneas ópticas a un precio de aproximadamente 13,000 rublos. - Un precio muy bajo para tal dispositivo. Pero estoy interesado en el proceso de fabricación en sí, por lo que se eliminó la opción "comprado e instalado".

Respondiendo a la segunda pregunta, me puse en el lugar de una persona que él mismo ensamblará el dispositivo de acuerdo con alguna descripción y lo que debe hacer. A saber:

  • compre los componentes necesarios: procesador, indicación, botones y elementos pequeños como resistencias, condensadores, estabilizadores, etc. (sin esto, por supuesto, en ninguna parte);
  • dependiendo de la complejidad del proyecto, hacer / comprar una placa de circuito impreso;
  • luego suelde todo y actualice el procesador;
  • después, haz el trabajo sobre los errores;

Y solo después de estos pasos, obtienes un producto terminado. Cada paso lleva algo de tiempo, y dado que una persona es una criatura perezosa e impaciente (en el buen sentido de estas palabras), quiere ver el resultado del trabajo del dispositivo lo más rápido posible, incluso si es intermedio. Y, sin embargo, decidí desarrollar mi dispositivo de tal manera que una persona, incluso al comienzo del proceso de ensamblaje, vería resultados intermedios de su trabajo.

Ahora era necesario elegir un tablero para la implementación.

Elija entre Arduino basado en Atmega y STM.

Soy un programador de alto nivel, pero en el trabajo tuve que programar los microcontroladores Atmega y MSP-430, no estaba familiarizado con STM. Por lo tanto, elegí Atmega. Elegí el tablero más barato (¿o no? Acabo de tenerlos) Arduino Nano basado en el microcontrolador Atmega328.

Características de ShDRO:

(funcionalidad tachada que aún no se ha implementado)

  • Placa Arduino Nano, procesador Atmega328;
  • 12 canales / puertos Arduino independientes a los que están conectados los lectores;
  • Cada canal tiene las siguientes propiedades: Tipo (CLKin, DATAin, Ain, Bin, etc.), EI (Habilitar interrupción), IL (Nivel de interrupción), Inv (Señal inventada);
  • cantidad máxima de dispositivos conectados: 6;
  • a cada dispositivo se le puede asignar uno o más canales de los 12 disponibles;
  • soporte de protocolo: 24BIT, 21BIT , BCD7 , BIN6, señal de cuadratura, señal periódica desde el tacómetro (es posible agregar nuevos protocolos);
  • consola: permite usar el programa de terminal para configurar y probar shDRO durante el ensamblaje y la operación;
  • en modo consola, se implementa un "pseudo" analizador lógico que le permite leer los niveles de canales especificados en la consola y determinar el protocolo de intercambio. El número máximo de muestras es 256, el tiempo mínimo medido entre muestras es de 8 microsegundos. Al menos un canal bajo análisis debe estar configurado para interrumpir;

Esquema modular:



El dispositivo consta de los siguientes módulos:

  • tres estabilizadores de voltaje 5v., 3v., 1.5.v. Estabilizadores 3v. y 1.5.v. ajustable Estos niveles de voltaje se utilizan en calibradores digitales (1.5v.) Y en la línea iGAGING (3v.);
  • 4 indicadores de ocho dígitos y siete segmentos basados ​​en MAX7219, conectados en cascada al hardware SPI;
  • un teclado El teclado consta de dos matrices resistivas: 2x4 y 4x4, en este caso, el diseño de las pistas en el tablero es más simple (pero puede hacer dos matrices 3x4, para quien sea más conveniente). Cada matriz está conectada al canal ADC;

    Usar matrices resistivas es una gran desventaja para mí, porque Con el tiempo, la resistencia de los botones aumentará y los niveles de voltaje medidos por el ADC cambiarán en consecuencia. Pero la matriz "honesta" simplemente carecía de las patas / puertos de la placa (para 24 botones, se necesitan 10 puertos). En base a esto, el firmware implementa la funcionalidad de aprendizaje del teclado, el aprendizaje se puede realizar en cualquier momento y no necesita una conexión con el programa del terminal (la capacitación se escribirá a continuación).
  • un altavoz conectado a la pata de hardware del temporizador 1;
  • placa adaptadora, diseñada para coordinar niveles entre dispositivos y puertos Arduino;
  • 4 conectores DB9 hembra (para bien, necesita instalar 6 conectores, porque shDRO admite hasta 6 dispositivos, pero no agarré el futuro panel posterior de la carcasa, suponiendo que se usarán tres conectores para los ejes, y un conector se compartirá entre otros dispositivos) . Los conectores son los más simples, con patas para soldar cables. Los cables, a su vez, están soldados a la placa del adaptador;

    La elección de este tipo de conector se debe a las siguientes razones: confiabilidad (en comparación con los conectores USB y RJ-45), una gran cantidad de pines y facilidad de cableado. Y también tengo una línea óptica con este tipo de conector.

Diagrama del circuito:



En la siguiente parte, describiré la lógica de shDRO, describiré los comandos de consola disponibles actualmente y también presentaré la primera versión del firmware.

La segunda parte

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


All Articles