Este artículo, describe el uso de un protocolo de comunicación universal para teclado industrial basado en un microcontrolador aplicado a una máquina de control numérico por computadora (CNC). La diferencia principal entre los fabricantes de teclados es que cada fabricante tiene su propia programación de código fuente, produciendo un protocolo de comunicación diferente, generando una interpretación inadecuada de las funciones establecidas. Lo anterior crea que los teclados comerciales industriales sean costosos e incompatibles en su conexión con diferentes máquinas. En el presente trabajo el protocolo permite conectar el teclado universal diseñado y un teclado normal de la PC al mismo tiempo, este es compatible con todas las computadoras a través de la comunicación USB, AT o PS/2, para emplearse en máquinas de CNC, con extensión a otras máquinas como robots, soplado, máquinas de inyección, entre otras. Entre las ventajas de este diseño se encuentran: la fácil reprogramación, disminución de costos, manipulación de diversas funciones de máquina y facilidad de expandir las señales de entrada y salida. Los resultados obtenidos de las pruebas de funcionamiento fueron satisfactorios, debido a que cada tecla tiene la facilidad de programarse y reprogramarse de diferentes maneras, generando distintas funciones de códigos, dependiendo de la aplicación donde se requiera utilizar.
This article describes the use of a universal communication protocol for industrial keyboard based microcontroller applied to computer numerically controlled (CNC) machine. The main difference among the keyboard manufacturers is that each manufacturer has its own programming of source code, producing a different communication protocol, generating an improper interpretation of the function established. The above results in commercial industrial keyboards which are expensive and incompatible in their connection with different machines. In the present work the protocol allows to connect the designed universal keyboard and the standard keyboard of the PC at the same time, it is compatible with all the computers through the communications USB, AT or PS/2, to use in CNC machines, with extension to other machines such as robots, blowing, injection molding machines and others. The advantages of this design include its easy reprogramming, decreased costs, manipulation of various machine functions and easy expansion of entry and exit signals. The results obtained of performance tests were satisfactory, because each key has the programmed and reprogrammed facility in different ways, generating codes for different functions, depending on the application where it is required to be used.
El teclado es uno de los elementos más importantes dentro de la automatización de maquinaria, por medio de este, el operador introduce las órdenes de trabajo que la máquina debe realizar o el usuario puede editar el programa general que controla la máquina. Sin embargo, en el mercado existe una gran variedad de fabricantes de teclados industriales, y cada uno tiene una forma diferente de comunicar sus teclados a las máquinas, en algunos casos se tienen que instalar controladores especiales al ordenador para que pueda admitirlo o reconocerlo al conectarlo y muchas veces estos teclados no son compatibles entre sí, es decir, en caso de que un teclado ya instalado falle, no se podrá remplazar por otro de diferente fabricante, ya que no suelen tener la misma configuración del protocolo de comunicación (García, 2009).
De acuerdo con los avances tecnológicos, la industria de procesos requiere sistemas con mayor cantidad de elementos o mecanismos que puedan controlarse de una forma más fácil, confiable y eficaz; por esta razón, se pensó en dispositivos más autónomos como es el uso de microcontroladores y la PC para el control. En el mercado encontramos diferentes fabricantes de teclados como son: Rafi, Schurter, Click Touch, Storm, Beltronic, Indukey, Siemens, Devlink, Ikey, Hitra, Hid y Cti; sin embargo, aunque existen algunas innovaciones y diseños nuevos de teclados en el mercado, es difícil encontrar el específico para un proceso u automatización.
Estado del arteLa evolución de los teclados a lo largo de la historia ha cambiado notablemente en las áreas didácticas e industriales (Li, 2006).
Dentro de los trabajos realizados con respecto a los teclados, encontramos algunos artículos como el caso de Varela (2002), quien realiza un teclado matricial de 70 casillas, lo que significa que superó el tamaño estándar de 64 casillas (102 teclas) con la intención de obtener teclas adicionales con funciones específicas; en su trabajo el microcontrolador PIC16F84A fue insuficiente por el número reducido de pines (Manual, 2001) según el manual del microcontrolador y decidió utilizar el microcontrolador PIC16F873A. Domínguez et al. (1991) determinaron que la forma más común para reducir el número de líneas necesarias para la conexión en un teclado es una matriz. En cuanto a protocolos de comunicación encontramos el artículo de Suárez et al. (2005) quienes desarrollaron una interfaz de comunicación con la computadora a través del puerto USB con la alternativa de hacerlo a través del puerto serie RS232 basados en el Microprocesador MSP430F155.
Por otra parte Li (2006), presentó la realización de un teclado móvil inalámbrico aplicado a la industria, muestra que se puede llevar a cabo un dispositivo móvil usando solamente una mano o un indicador como entrada de datos, pero la única desventaja es que utilizó un emisor y un receptor, por lo que su protocolo de comunicación puede funcionar solo para algunas máquinas. Navabi (2004), presenta comunicación serial de un núcleo de código (CORE) del teclado sobre el chip de Altera MAX 700 series EPM7128S PLD en VHDL (Very High Speed Integrated Circuits Hardware Description Language, lenguaje de descripción de hardware para circuitos de alta velocidad). Dogan (2006), mediante la integración de los PLD's (Programmable Logic Device, dispositivo lógico programable) en micro, presentó la realización de un decodificador para el código ASCII realizado en display alfanumérico y elaborado para visualizar los caracteres o números ingresados por el teclado, que opera como dispositivo de entrada para un CORE (decodificador de ASCII a display alfanumérico); Peng y En-Ping (2011), desarrollaron un teclado reuniendo varias letras o código de ellas en una sola tecla con el método llamado CyberSwarm.
La tabla 1 muestra una lista de fabricantes que ofrecen diferentes tipos de teclados para aplicaciones específicas, ocasionando que algunas industrias cambien su sistema de control para adecuarse a ese teclado y conexiones; generando con esto un incremento en el costo. A pesar de la diversidad de los teclados, la desventaja que se tiene radica en el requerimiento de accesorios adicionales y la interconectividad con todos los equipos. Por esta razón se desarrolla la siguiente investigación.
Características de los teclados comerciales
Nombre del teclado | Aplicación | Fabricante | Precio + Conexiones |
---|---|---|---|
FlexOhm flexible keyboards (teclado flexible a la resistencia) | Máquinas electrostáticas y generación de energía | Click Touch | $ 4,700 |
Vandal-proof keypads (teclado de banda) | Máquinas transportadoras | Schurter | $ 5,000 |
Electroluminescent lamps keyboards (teclado equipado con lámparas electro-luminiscentes) | Estudios de revelado | Devlink | $ 6,200 |
Touch Screens keyboards (teclado táctil en pantalla) | Fabricación de productos tóxicos | Indukey | $ 6,500 |
Industrial plastic keyboards (teclado industrial para plásticos) | Máquinas de inyección y soplado | Click Touch | $ 4,400 |
Force sensors keyboards (CFSK) (teclado de sensor de fuerza) | Siderurgia y fundición | Siemens | $ 5,200 |
Contact layers keyboards (teclado de contacto en capa) | Fabricación de cristales | Hid | $ 3,800 |
Lo novedoso de este proyecto es que ofrece un teclado con ciertas características o ventajas respecto a los comerciales en dos partes: interfaz con el usuario y funciones adicionales. La primera, permite la conexión directa mediante el protocolo de comunicación USB, AT o PS/2 en todos los ordenadores, sin la necesidad de instalar controladores y software especiales. La segunda, se adapta al tipo de proceso que se requiere automatizar usando funciones adicionales; esto quiere decir que si cambia o aumenta el número de herramientas o componentes en la máquina solo se necesita una sencilla reprogramación en el protocolo, logrando con esto su fácil control.
Teniendo un teclado universal se podrá aplicar en cualquier máquina automatizada, lo único que se necesita cambiar serán las funciones específicas de algunos caracteres para las diferentes actividades de cada máquina; y para su fabricación se utilizarán circuitos integrados programables (PIC) que no son costosos (entre $80 y $100) de fácil programación.
Dentro de las funciones adicionales de este proyecto se pueden programar y reprogramar las teclas para realizar movimientos especiales y generar caracteres aplicados a diferentes actividades en cada máquina. Este nuevo diseño cuenta con funciones especiales que son útiles en los procesos de maquinado para evitar que cada vez que se remplaza un teclado comercial por otro, se tenga que cambiar la configuración de los códigos que la máquina tiene programada.
DesarrolloLa figura 1 muestra el diagrama general de protocolo de comunicación universal para teclado industrial basado en microcontrolador, el microcontrolador permite la comunicación entre el teclado de la PC y el teclado industrial hacia la computadora mediante el puerto USB o PS/2 (Chung y Chih, 2007), el conector PS/2 se muestra en la figura 2 con los conectores típicos de teclados: el conector de 5-pines (AT) y el mini-dinar de 6-pines (PS/2). Ambos conectores transmiten en forma serial los datos y son por completo (eléctricamente) similares, la única diferencia práctica entre los dos es el arreglo de pernos y el tamaño; esto significa que los dos tipos de conectores se pueden cambiar fácilmente con los adaptadores hard-wired simples.
En la figura 2 se presenta el protocolo típico para transmisión de datos en teclados, donde la frecuencia del reloj es de 10 a 16.7Khz. La transmisión de un bit se realiza en la transición positiva del reloj y el dato es enviado dentro de 11 transiciones del reloj. La información se envía desde el teclado de forma serial usando 11 bits sobre la línea de datos bi-direccional, la línea de datos permanece inactiva (nivel bajo) cuando ni el teclado ni el computador envían datos. El tiempo de transición de un pulso positivo a negativo de los datos debe ser por lo menos 5μs (García, 2009), el tiempo de una transición de datos que baja, debe ser por lo menos 5μs y no mayor que 25μs. El tiempo de datos de transmisión puede inhibir la comunicación en cualquier momento usando la línea hacia abajo del reloj, por lo menos 100μs. Si una transmisión se inhibe antes de 11 pulsos del reloj, el dispositivo debe abortar la transmisión actual y prepararse para retransmitir el dato actual. Por ejemplo, si se interrumpe un teclado mientras envía el segundo paquete de 8 de un código de dos bits, necesitará retransmitir ambos octetos de ese código.
El protocolo de comunicación implementado sigue las reglas que permiten llevar a cabo la comunicación según Chung y Chih, (2007) para este dispositivo mediante el puerto físico USB, AT o PS/2 mostrado en la figura 2.
El diagrama a bloques de la figura 3 muestra el protocolo de comunicación que se realizó modificando los protocolos de comunicación existentes para teclado (estructura matricial), pero manteniendo las mismas conexiones y conectores mostrados en la figura 1. El protocolo se genera en las siguientes etapas: escáneo de teclas y convertidores serie-paralelo que se logra por medio de una señal de activación mandada desde el microcontrolador cada 20ms activando todos los circuitos integrados 74LS166 (convertidores serie-paralelo en donde las entradas son de 8 bits y el corrimiento de 1 bit), adquiriendo cada circuito las señales de 8 bits provenientes de las teclas que posteriormente con una señal de reactivación pasan los datos uno a uno en forma serial. El bloque de expansión de entradas realiza un corrimiento de forma serial sincrónico hacia el microcontrolador y hacia el protocolo de comunicación.
El módulo protocolo de comunicación permite la comunicación bi-direccional del teclado con la computadora. Este a su vez, puede estar conectado al ordenador (PC) que al mismo tiempo está conectado a un teclado normal. En el bloque control de secuencias se encuentra el microcontrolador, el cual realiza ciertas funciones de secuencia y control. Expansión de salida, este bloque se realizó por medio de los circuitos integrados 74LS199 (convertidores paralelo-serial, el corrimiento de entradas es de 1 bit y las salidas de 8 bits) en donde las salida puede ser desde 8 hasta n salidas (García, 2009). Salidas para automatización (Ramírez et al., 2011), es la última etapa digital para la automatización o para fines deseados, aquí es donde se requiere de un opto-acoplamiento si la aplicación necesita que la información sea transmitida entre dos circuitos eléctricamente aislados uno de otro. Este aislamiento se puede conseguir mediante relevadores, transformadores de aislamiento y receptores de línea. No obstante, otro dispositivo que se utiliza de manera igualmente efectiva para resolver estos problemas (Kangbin, 2008; Ramírez, 2011) es el opto-acoplador, su empleo es muy importante en aplicaciones en las que el aislamiento de ruido, alta tensión y el tamaño son características determinantes.
En la figura 4 se presenta de manera más detallada la funcionalidad del teclado implementado que consta de tres módulos de registros serie-paralelo, cada uno de 8 entradas digitales, la conexión directa bidireccional del ordenador al microcontrolador y de éste al teclado normal; un módulo para expandir entradas, otro para las salidas, y el ultimo módulo usado industrialmente para la automatización y control.
La figura 5 muestra las diferentes estructuras digitales programadas en el microcontrolador como son: un contador módulo 3, encargado de activar las líneas de selección de los multiplexores, dos multiplexores de 7 a 1 usados para dirigir los bits uno a uno hacia la base de datos, para su posterior almacenamiento, una compuerta xor que es una segunda selección de datos antes de llegar a la base de las teclas y códigos, una base de datos y código de teclas donde se unen los 8 bits en 20ms y se da el formato y código de la tecla oprimida, un búfer circular (Kangbin, 2008) donde se realiza la comparación de los paquetes de 8 bits en tres columnas, como lo muestra la tabla 2; si uno de estos paquetes cambia con relación al que se encuentra en el búfer, este entrará al búfer remplazando el anterior y se sincroniza el microcontrolador mediante máquinas de estado.
Búfer circular
Dato A | Dato B | Condición | Salida |
---|---|---|---|
Dato A[0]=dato 0 | Dato B[0]=dato 0 | Si dato A =dato B entonces | No |
Dato A[1]=dato 9 | Dato B[1]=dato 7 | Si, dato A ≠ dato B entonces | Dato B |
Dato A[2]=dato 2 | Dato B[2]=dato 2 | Si, dato A = dato B entonces | No |
Dato A[3]=dato 3 | Dato B[3]=dato 3 | Si, dato A = dato B entonces | No |
Dato A[4]=dato 9 | Dato B[4]=dato 8 | Si, dato A ≠ dato B entonces | Dato B |
Dato A[5]=dato 4 | Dato B[5]=dato 4 | Si, dato A = dato B entonces | No |
Dato A[6]=dato 5 | Dato B[6]=dato 5 | Si, dato A = dato B entonces | No |
Dato A[7]=dato 6 | Dato B[7]=dato 6 | Si, dato A = dato B entonces | No |
Dato A[8]=dato 8 | Dato B[8]=dato 8 | Si, dato A = dato B entonces | No |
Una compuerta XOR es un arreglo de tres compuertas básicas AND, OR y NOT que produce una salida ‘1’ lógico si sus entradas son diferentes, se emplea un bloque digital XOR asíncrono para verificar qué tecla(s) se ha(n) activado, para llevar este proceso se toman los valores que contienen los estados actuales y anteriores de las teclas, proporcionados por los registros Q1 y Q2, al aplicar la operación XOR se genera una bandera de activación de la tecla presionada (TPS), cabe mencionar que los datos para cada tecla son transmitidos por la línea con etiquetas Q1 y M1 generando la tecla de los datos internos (TDI).
La tabla 3 muestra el programa principal que comienza escalando el reloj para estar sincronizados los datos al realizar la transmisión o recepción de datos con una velocidad de 12 a 20khz, el arranque o reinicio de la máquina, la presencia de datos con el escáner de teclas que identifica qué tecla presiona y genera el método de envío, recepción o almacenamiento de los datos detectados.
Programa principal
Programa principal (recep, star_stop, ban_r, aux, cont, clk2, estado_proximo, rst)reducción (clk, b, rst) %genera la velocidad de trasmisión de datosIf presencia (ack, recep, sal2, clk0, tecla_auxiliar, star_stop, ban_r) thenescaneo_de_teclas (in_micro_clk, cuenta, in_micro_dato, start)if ACK_contestacion (clk2, ack_recepcion, ack_cuenta, star_ack) thenswich (ack_recepcion)caso 0 is %TransiciónControl_de_transmision (Inicio_de_trasmision, Fin_de_trasmision)Envio de datos (clk_Pc_bi, dato_Pc_bi, dato0, dato1, dato2, dato3… dato9)Caso 1 is %Recepcióncondiciones_d_recepcion (tecla, dato_0, dato_1, dato_2, dato_3, dato_4, dato_5,Envio de datos (clk_Pc_bi, dato_Pc_bi, dato0, dato1, dato2, dato3… dato9)Caso 2 is %Envíocondiciones_d_envio (tecla_auxiliar)Envio de datos (clk_Pc_bi, dato_Pc_bi, dato0, dato1, dato2, dato3… dato9)End swich;End if;End if; |
La tabla 4 muestra el programa de escaneo de teclas la cual identifica qué tipo de proceso se está llevando a cabo, recepción, transmisión o almacenamiento y generar las banderas necesarias para saber qué tipo de función se realiza, si la PC baja el reloj (cero lógico) la PC transmite y el teclado recibe, si el teclado baja el reloj (cero lógico) entonces el teclado trasmite y la PC recibe los datos.
Identificación de la tecla presionada
escaneo_de_teclas (in_micro_clk, cuenta, in_micro_dato, start)beginif (falling_edge(in_micro_clk)) then % Inicializaif cuenta==“00000” and in_micro_dato==‘0’ then %Espera bit startstart=‘1’; Inicio_de_trasmision=‘1’;%inicia todo%Habilitador1 del 74245star_stop=‘0’;end if; if start==‘1’ thenInicio_de_trasmision=‘1’;%Habilitador1 del 74245registro=in_micro_dato & registro(8 downto 1);%guarda datos(letra) enregistroif cuenta==“01000” then%límite de datos11star_stop=‘1’;dato_out =registro(8 downto 1); %manda el dato a lasalidaend if;end if;end if;end; |
La tabla 5 muestra la identificación y concatenación de la tecla que está presionada, la concatenación es el almacenamiento y el orden de los bits.
Detección de tecla presionada
%concatenación de la tecla escaneada (formato)%D10=1D9D8 D7 D6 D5 D4 D3 D2 D1 D0=0% stop paridadD7 D6 D5 D4 D3 D2 D1 D0starconcat_comercial(0)=‘0’; %bit de starconcat_comercial(8 downto 1)=dato_out(7 downto 0); %bits de datosconcat_comercial(9)=not(dato_out(0) xor dato_out(1) xor dato_out(2) xor dato_out(3) xor dato_out(4) xordato_out(5) xordato_out(6) xor dato_out(7)); %bit de paridadconcat_comercial(10)=‘1’; %bit de stoptecla_presionada_dato(tecla_auxiliar3, ack, recep, si_ban, sal, ban_r, star_stop, concat_comercial, teclaF, tecla1)begin %identificación de tecla (teclado fabricado) % Bandera de recepción,if tecla1==‘1’ then sal==“10000101100” ; % número 1aux=‘1’;Led=“11111001“; end if;if teclaF==‘1’ then sal=“11001010110” ; aux=‘1’; % tecla Fif (si_ban==‘1’) then aux=‘1’;else % espera para imprimir el primer carácteraux=‘0’;% resetea el búfer de datos a enviarend if; end if;end; |
El control de tecla se muestra en la tabla 6, y esta permite saber los tiempos que una tecla se está presionando y a su vez saber si se está enviando o recibiendo datos.
Control de la tecla
presencia (ack, recep, sal2, clk0, tecla_auxiliar, star_stop, ban_r)begin%tecla presionada fabricadoif ((sal2 /=“11111111111”) and (clk0==‘1’)) thentecla_auxiliar = sal2; if (star_stop==‘1’) then rst=‘0’; end if;%teclado comercialif (ban_r==‘1’) then rst=‘0’;end if; %teclado fabricadoif (recep==‘1’) then rst=‘0’; end if; %teclado fabricadoif (ack==‘1’) then rst=‘0’; end if;else tecla_auxiliar = tecla_auxiliar; rst=‘1’; end if;%retiene el dato a enviarend; |
La tabla 7 permite enviar los datos de manera serial por el puerto PS/2 en tiempos iguales cuando la bandera tecla_auxiliar esta activada.
La tabla 8 envía los datos, pero aquí se reconoce qué dato se envía, por medio de un contador de 11 bits y banderas activadas.
Envío de datos
%contador de 11 bits iguales (22 diferentes) para enviar 11 datosEnvio de datos (clk_Pc_bi, dato_Pc_bi, dato0, dato1…, dato10)begin swich (ban=‘1’) %existe dato para enviarsecase 0 isclk_Pc_bi=‘Z’;%alta impedancia dato_Pc_bi= ‘Z’; %bit de starclk0=‘0’; %habilitación Fin_de_transmicion=‘1’; Recepccion=‘0’;case 0 is %envía dado0, dato1.end; |
La tabla 9 recibe el dato que trasmite la computadora al teclado, si la computadora envía un error o está ocupada haciendo otro proceso, el teclado industrial le pide al búfer circular que reenvié los datos.
Recepción de datos
condiciones_d_recepcion (tecla, dato_0, dato_1, dato_2, dato_3, dato_4, dato_5, dato_6, dato_7, dato_8, dato_9, dato_10)begin %cambio de variable par enviar %ACK Stop P D7 D6 D5 D4 D3 D2 D1 D0tecla(0)=dato_0; tecla(1)=dato_1; tecla(2)=dato_2; tecla(3)=dato_3; tecla(4)=dato_4; tecla(5)=dato_5;tecla(6)=dato_6; tecla(7)=dato_7; tecla(8)=dato_8; tecla(9)=dato_9; tecla(10)=dato_10;if (tecla==“01111101101”) then tecla_aux=“11111110100”; end if;%(ACK)end; |
Cuando una computadora inicia el proceso de arranque o de reinicio, esta envía datos de reconocimiento a todos los periféricos (teclado, mouse, escáner, pantalla, entre otros); estos periféricos deben recibir los datos almacenarlos e identificarlos para después contestarle a la computadora (PC). En la tabla 10 se muestra este proceso.
Contesta los datos a la PC
ACK_contestacion (clk2, ack_recepcion, ack_cuenta, star_ack)beginif (rising_edge(clk2)) then;%ACK bandera contestaciónif ack_cuenta==“00000” and ack_recepcion=‘1’ then star_ack=‘1’ end if;if(star_ack==‘1’) then if ack_cuenta==“00010” then ack=‘1’; end if;if ack_cuenta==“00011” then ack_cuenta=“00000”;star_ack=‘0’; ack=‘0’;else ack_cuenta=ack_cuenta+1; end if;end if;end if;end; |
La tabla 11 identifica qué dispositivo está trasmitiendo o recibiendo datos mediante un detector o bandera.
La trasmisión de datos de la computadora al teclado y viceversa se realiza a una velocidad de reloj de 1 a 12khz, si no se envían estos datos a esa velocidad la computadora no podrá almacenarlos, ocasionando un error o que no reconozca el dispositivo (teclado); para esto existe un código fuente mostrado en la tabla 12 para bajar o incrementar la frecuencia de reloj dependiendo del cristal de cuarzo o la velocidad de envió del microcontrolador.
ExperimentaciónLa implementación física del prototipo de comunicación se muestra en la figura 6 y la conexión directa entre los dos teclados al mismo tiempo. Algunas pruebas se realizan con la finalidad de identificar el funcionamiento del nuevo diseño, entre las pruebas experimentales se encuentran el arranque y reinicio del ordenador para su detección y reconocimiento de los dos teclados. Por razones de seguridad hacia el proceso la prioridad total la tiene el teclado industrial; entre las funciones del teclado industrial están la de cambiar parámetros como puntos de ajuste, rangos de operación en tiempo, límites de variables, permisivos, protecciones y otras.
Las funciones principales del teclado PC son la puesta en marcha y el registro al programa (código G y M), y algunas pruebas de tecleo de botones al mismo tiempo y de forma consecutiva, como resultado se tiene un teclado universal industrial nuevo en perfectas condiciones y con pruebas satisfactorias.
Discusiones y análisisEn la figura 7 se muestran las señales obtenidas del protocolo de comunicación del teclado normal y el implementado (industrial). Las dos primeras líneas de la parte superior muestran los datos del teclado normal y las dos líneas de la parte inferior muestran los datos del teclado implementado, ambos envían el mismo dato al mismo tiempo, donde la prioridad es el teclado industrial por el botón de stop de máquina si es que hubiera un error en la máquina o humano, finalmente el teclado normal transmite su señal y esta es guardada en un búfer circular de datos y para terminar se trasmite.
En la figura 7a se envía el dato 00010001011 que corresponde a la palabra “o” (código: cuando se presiona una tecla es 0×44 y cuando se libera la tecla es 0×F0, 0×44), donde la señal se envía desde el teclado normal pasando primero por el teclado implementado hacia el ordenador.
En la figura 7a y b se trasmite el dato 00010101011 que corresponde al número “0”, siguiendo la caracterís tica de transmisión de los 11 bits de comunicación; el primero es el bit de inicio, los 8 siguientes son los datos, el penúltimo es el de paridad (indica si se están enviando o recibiendo datos), y el último es el bit del paro (stop).
En la figura 8 se presenta la señal de datos enviada al ordenador desde el teclado implementado (00010010011 correspondiente a la palabra “K”, 0×42), se puede observar que las señales transmitidas desde el microcontrolador van directamente al ordenador de la computadora sin pasar por el teclado de la PC, que tiene un protocolo de comunicación matricial, las señales enviadas son las últimas dos líneas.
Las figuras 7 y 8 muestran que la comunicación es satisfactoria e idéntica tanto del protocolo de comunicación implementado como del comercial, logrando la obtención de un teclado multifuncional y con teclas para funciones específicas.
ConclusionesSe diseñó e implementó un protocolo de bajo costo para el control de máquinas automatizadas, logrando todos los objetivos propuestos desde el prototipo de un teclado estándar con protocolo y tecnología propia (eléctrica, control y diseño físico) mostrado en la figura 6, aplicado a máquinas de control numérico y a la automatización de maquinaria, permitiendo la compatibilidad en cualquier computadora, con la finalidad de que los códigos programados en una máquina de control numérico no se vean afectados si se remplaza un teclado por otro cuando falle.
La arquitectura diseñada queda abierta a nuevas aplicaciones e innovaciones, sin necesidad de cambiar el hardware.
Citación estilo Chicago Mejia-Ugalde, Mario. Teclado con protocolo de comunicación universal aplicado a máquina de CNC. Ingeniería Investigación y Tecnología, XV, 02 (2014): 209–220.
Citación estilo ISO 690 Mejia-Ugalde M. Teclado con protocolo de comunicación universal aplicado a máquina de CNC. Ingeniería Investigación y Tecnología, volumen XV (número 2), abril-junio 2014: 209–220.
Es estudiante de doctorado y profesor en la Facultad de Ingeniería de la Universidad Autónoma de Querétaro (UAQ). Recibió la licenciatura como ingeniero electromecánico y la maestría en instrumentación y control automático por parte de la Universidad Autónoma de Querétaro. Sus intereses de investigación actuales son diseño implementación y optimización mediante software para la automatización de máquina-herramienta de fabricación.