Diseño e implementación del sistema de control para un simulador de vehículo terrestre
Texto completo
(2) TABLA D E CONTENIDO. Pág.. I.. OBJET IVO GENERAL .............................................................................................. 3. II.. OBJET IVOS ESPECÍFICOS …………………………………………….....……....... 3. III.. INT RODUCCIÓN…………………………………………………………………... 4. IV.. DESARROLLO…………………………………………………………………...... 6 1. Herramientas………………………………………………………………... 6 1.1 Tarjeta de control…………………………………………………....... 6 1.2 Software………………………………………..........…………........... 7 2. Solución………………………………………………………………..….... 9 2.1 Adaptación de los motores…………………………..……………...… 9 2.2 Instalación de los sensores………………....……………………….… 10 2.3 Instalación de los controles………………....………………………… 11 2.4 Instalación de interruptores de límite de carrera……………………… 13 2.5 Simulación de fuerzas………………....………………………............ 13 2.5.1 Modelamiento del sistema……………….....…..……….......... 15 2.5.2 Selección del método para la simulación....………....………... 16 2.6 Imp lementación del controlador………………....………………..…... 18. V.. RESULT ADOS ……………….................................………………………....…..... 26. VI.. CONCLUSIONES ...................................................................................................... 28. VII. TRABAJO FUTURO .................................................................................................. 29 VIII. REFERENCIAS................................................……………......……………....….... 30 IX.. A NEXOS………………...........................………………...............………....…..... 31 A. Planos de las piezas fabricadas........................................................................ 31 B. Código implementado en software.................................................................. 36. 2.
(3) I. OBJET IVO GENERAL. Lograr la simulación de los efectos inerciales que percibiría el tripulante de un vehiculo terrestre a través de accionamientos controlados sobre una estructura.. II. OBJET IVOS ESPECÍFICOS. -. Adaptar dos motores para lograr el movimiento adecuado de la estructura tripulada.. -. Realizar un análisis de las fuerzas que se esperarían sentir en el caso real y decidir la mejor forma de lograr su simulación a través del movimiento de la estructura.. -. Imp lementar un controlador que responda simultáneamente al estado de la estructura (posición, velocidad), así como a las órdenes generadas por el usuario a través de algún tipo de control (timón o joystick y pedales).. 3.
(4) III. INT RODUCCIÓN. Dentro de la industria del entretenimiento y específicamente en el área de los videojuegos se han podido ver muchos avances en los últimos años enfocados a generar ambientes más realistas para los jugadores. Esto a través de mejoras en la parte gráfica de los juegos, pero también en la incorporación de movimiento para generar en el jugador la sensación de que está más en una situación real que en un juego. Este proyecto está motivado por esa segunda parte: generar sensación de realismo a través de movimientos acordes a lo que el jugador está viendo y ordenando por medio de algún control. Para esto se trabajará sobre una estructura ya construida durante el segundo semestre de 2005 como resultado del proyecto de grado de Juan Manuel Vivas, egresado de ingeniería mecánica de la Universidad de los Andes.. Figura 1. Estructura. Se muestran los dos grados de libertad disponibles. 4.
(5) La estructura mencionada, consiste de varios tubos de PVC dispuestos de manera que permiten la ubicación de una silla en la cual estaría el jugador y que adicionalmente permiten un movimiento pendular tanto hacia delante y hacia atrás como hacia los lados (dos grados de libertad), para lo cual se tuvieron en cuenta los espacios adicionales para la ubicación de algún tipo de accionadores que permitan generar tales movimientos (ver fig. 1). Este documento se organiza de la siguiente forma: inicialmente se da una breve descripción de las herramientas utilizadas para el desarrollo del proyecto, como lo son la tarjeta de control y el software con el que se programan las rutinas que se explicarán más adelante. Después se presenta paso a paso la solución que se propuso para cumplir con los objetivos planteados. Finalmente se mencionan los resultados logrados y se anexa material técnico como planos y código de programación.. 5.
(6) IV. DESARROLLO. 1. Herramientas Además de los equipos y máquinas disponibles en el Laboratorio de Ingeniería Mecánica (LabMec) de la Universidad de los Andes, se hizo uso de otras dos herramientas que facilitaron la tarea de coordinar los movimientos de la estructura. 1.1 Tarjeta de control En el LabMec se adquirió hace un tiempo una tarjeta de control de la compañía Galil Motion Control de referencia DMC-1540 (ver figura 2). Aunque es una versión antigua, se adapta perfectamente a las necesidades de este trabajo ya que es capaz de manejar hasta cuatro ejes, de los cuales solo se necesitan dos para controlar los grados de libertad disponibles en la estructura. Entre las características de la tarjeta se destacan las siguientes [1]: - Imp lementa un control PID con parámetros proporcional (kp ), integral (ki ) y derivativo (kd ) completamente ajustables. - Manejo de servomotores y motores paso a paso. - Microprocesador con 256 kB de RAM para el almacenamiento de variables usadas en las rutinas de programación. - Entradas para señales provenientes de encoders (sensores de posición) y procesamiento de éstas. - Puerto RS232 para comunicación serial con un computador y programación de rutinas en la memoria del controlador. - Entradas y salidas análogas y digitales.. 6.
(7) Figura 2. Tarjeta de control de cuatro ejes DMC-1500. - Conversor análogo-digital de 12 bits que toma las entradas análogas entre -10V y 10V y las convierte a valores numéricos, con una resolución de 0.005V. Adicionalmente se dispuso de un amplificador de la misma compañía que convierte las señales de +/- 10 voltios a señales de alto voltaje para el manejo de los motores.. 1.2 Software Las rutinas ejecutadas por la tarjeta de control se programan desde un computador personal por medio del programa DMC Smart Terminal, el cual proporciona la interfaz con el usuario a través de tres ventanas (ver figura 3): una para la ejecución de comandos inmediatos (ej. dirigirse a una determinada posición a una velocidad seleccionada previamente). Otra ventana donde se pueden escribir rutinas completas compuestas de los diferentes comandos disponibles para el controlador (estos se describen en la sección 2.6 del capítulo IV). Y otra ventana en la cual se recibe información desde la tarjeta, por ejemplo si se interroga al 7.
(8) controlador por la velocidad actual del motor, se recibe la respuesta en esta ventana, así como el aviso de posibles errores al recibir algún comando del usuario.. Figura 3. Interfaz de usuario a través del DMC Smart T erminal. El programa adicionalmente provee la opción de bajar las rutinas a la memoria de la tarjeta, o subir el programa que se encuentra actualmente dentro de ésta para editarlo. También es posible grabar las rutinas en la memoria no volátil de la tarjeta para que no sean borradas cuando ésta se apague y se ejecuten automáticamente la siguiente vez que se encienda.. 8.
(9) 2. Solución 2.1 Adaptación de los motores Para mover la estructura se consideraron dos opciones. Primero se pensó en usar cilindros hidráulicos en conjunto con una bomba y válvulas en un circuito hidráulico. Sin embargo se encontraron en el LabMec dos motores DC, los cuales traen incorporado un encoder cada uno, lo cual resultó muy conveniente pues como ya se mencionó, la tarjeta de control incluye soporte para este tipo de sensores. De acuerdo a lo anterior, se buscó la forma de convertir el movimiento rotacional del eje de los motores al movimiento longitudinal necesario para empujar y halar la estructura tanto desde atrás como desde los lados. Para esto se tomaron dos tornillos de rosca cuadrada que pertenecían a una mesa de esmerilado del LabMec que estaba en desuso. Después de esto se fabricaron las siguientes piezas (se pueden ver los planos en el anexo A): - Acoples en acero 1020 para unir el eje de cada motor al extremo de un tornillo. - Segmentos de hierro con agujeros para unir por medio de tornillos las tuercas a la estructura. - Barras de acero 1020 con agujeros para fijar cada motor a la estructura. En la figura 4 se muestra un esquema de la unión de estas piezas.. 9.
(10) Como se puede ver, la idea que se pone en práctica es que a medida que el motor gira, el tornillo avanza a través de la tuerca, pero ya que tanto ésta como el motor están fijos en dos puntos de la estructura, se generan los movimientos deseados sobre los pivotes en ambos grados de libertad al halar o empujar las partes de la estructura por medio de la tuerca.. Figura 4. Esquema del ensamble. 2.2 Instalación de los sensores Los motores que se adaptaron traen cada uno un encoder rotacional de dos canales. Este tipo de sensores consiste de un par de discos con marcas que interrumpen los rayos, que van de un fotoemisor a un fotorreceptor, a un ritmo proporcional a la velocidad del eje del motor (ver figura 5).. 10.
(11) 12. Figura 5. Encoder rotacional1. Figura 6. Encoder rotacional – señales2. El efecto de tales interrupciones se puede ver en la figura 6. Se generan pulsos por dos canales los cuales están desfasados ¼ de ciclo. Este desfase permite definir la dirección de giro además de la velocidad que se obtiene de la frecuencia de los pulsos. Algunos encoders incluyen una señal ‘INDEX‘ que se genera una vez por vuelta, pero en el caso de los motores usados para este proyecto solo se dispuso de los canales A y B, los cuales se conectaron a los puertos indicados en la tarjeta de control, además de las señales de alimentación VCC (5 voltios) y tierra.. 2.3 Instalación de los controles Para que el usuario del simulador pueda darle ordenes al controlador pero desde el punto de vista de un juego, se instalaron un timón y dos pedales diseñados para videojuegos. Ya que éstos generan las señales análogas a la rotación del timón y la presión sobre los pedales a través de potenciómetros (resistencias variables), fue sencillo adaptarlos a la tarjeta de control por medio de un circuito divisor de 1 2. Recuperado el 24 de abril de 2007 de: http://mechatronics.mech.northwestern.edu/design_ref/sensors/encoders.html IDEM. 11.
(12) voltaje como el que se muestra en la figura 7. Como se puede ver, al alimentar el circuito con 5 voltios se puede obtener a la salida de éste un voltaje variable entre 0V y 5V dependiendo del valor del potenciómetro. Es decir que se convierte el giro del timón (o la presión de cada pedal) a voltajes que se pueden introducir a la tarjeta de control a través de las entradas análogas de ésta. La cual a su vez los convierte a valores numéricos por medio del conversor análogo-digital (ADC),. con los cuales se pueden hacer procesamientos dentro de las rutinas de programación. Por ejemplo, se guarda en una variable el valor numérico resultante de la transducción del ángulo de giro del timón y de acuerdo a la magnitud de ésta se le da la orden al motor lateral para que empuje o hale la estructura a una posición determinada. El divisor de voltaje de cada pedal arroja 4V cuando no hay presión aplicada y desciende proporcionalmente hasta 0V con el pedal a fondo. Mientras que el divisor de voltaje del timón arroja 0.25V cuando está centrado, 0V si se encuentra en el máximo ángulo girando hacia la izquierda y 0.44V en el máximo a la. 12.
(13) derecha. Aunque estos cambios de voltaje que se lograron no son simétricos (0.25V a la izquierda y 0.19V a la derecha), esto se puede manejar fácilmente desde software. Por otro lado se puede ver que la resolución de 0.005V del ADC es suficiente para las dos entradas.. 2.4 Instalación de interruptores de límite de carrera Como parte final de la adecuación mecánica y electrónica de la estructura se adquirieron dos interruptores que se ajustaron a la tuerca, o más precisamente a la unión entre ésta y la estructura, de forma que cuando el tornillo llega al final de la sección roscada se genera una señal que sirve para indicarle al controlador que no se puede continuar el movimiento en esa dirección. Como se explicará más adelante, estos interruptores se utilizan en la rutina de arranque del controlador para que independientemente de la posición en la que se encuentren los tornillos al mo mento de encender el simulador, se pueda determinar automáticamente un punto base para definir cualquier otra posición de la tuerca sobre el tornillo.. 2.5 Simulación de fuerzas En el caso real, dentro de un vehículo en movimiento el conductor siente una combinación de fuerzas inerciales en tres sentidos: - Hacia adelante y hacia atrás como resultado de la aceleración o el frenado del vehículo.. 13.
(14) - Hacia los lados como resultado de la fuerza centrípeta generada durante los giros del vehículo. - Adicionalmente, según el estado del camino por el que transita el vehículo, es posible que se generen fuerzas hacia arriba y hacia abajo que el conductor siente como vibraciones. En la sección 2.6 se explicará el diseño de la rutina de control para la simulación, para la cual fue necesario definir de qué forma se simularían cada una de estas fuerzas a través de movimientos de la estructura. De acuerdo a lo anterior, lo primero que se hizo fue identificar las fuentes de fuerzas disponibles sobre la estructura: - Componente del peso: Disponible a través de inclinaciones de la estructura a distintos ángulos, proporcionales a la intensidad de la fuerza que se desee simular. - Componente inercial: Disponible debido a la posibilidad de definir la magnitud de las aceleraciones de los motores para cada movimiento. - Componente de vibración: Se puede obtener a nivel de programación permit iendo oscilaciones de los motores alrededor de un punto en vez de dejarlos fijos. Con la combinación de estas fuentes es posible simular las fuerzas del caso real. Pero para esto es necesario tener un modelo del sistema, el cual se describe a continuación.. 14.
(15) 2.5.1 Modelamiento del sistema Vo lviendo a la figura 1, se representará la estructura de una manera simplificada a través del marco de la figura 8.. Figura 8. Representación simplificada de la estructura. En la figura 9 se pueden ver los ejes de rotación para los dos grados de libertad. Estas rotaciones se van a nombrar como φ 1 y φ2 :. φ2 φ1 Figura 9. Grados de libertad de la estructura. Inicialmente las rotaciones φ 1 y φ 2 se pueden relacionar directamente con la rotación del timón que se denominará U1 y la diferencia entre la presión en el acelerador y la presión en el freno que se denominará U2 , esto se puede ver en la figura 10. 15.
(16) U1. Timón. φ1. U2. φ2. Pedales Figura 10. Relación entre entradas y salidas. En cuanto a las salidas del sistema, los ángulos (φ1 y φ2 ) se traducen a conteos de la posición del encoder y en cuanto a las entradas (U1 y U2 ), los voltajes se traducen a valores numéricos generados por el conversor análogo digital. Ya teniendo definido este modelo se puede continuar con la escogencia de un método para simular las fuerzas.. 2.5.2 Selección del método para la simulación Como idea inicial se propuso la siguiente relación entre las entradas y las salidas: φ 1 = K1 •U1 φ 2 = K2 •U2 Donde K1 y K2 son constantes. 16.
(17) Es decir que la inclinación lateral de la estructura sería directamente proporcional al ángulo de giro del timón, mientras que la inclinación sobre el otro eje sería directamente proporcional a la entrada de los pedales. Tal método es muy simple pero se presenta un problema. Si el usuario girara el timón cuando el vehiculo está en reposo se esperaría que no se generara ninguna fuerza, pero ya que el giro lateral solamente depende de la entrada del timón, esa rotación sería inevitable. Por lo tanto se debe pensar en alguna forma de acoplar las dos entradas para generar la salida φ1 . La solución propuesta es la siguiente: φ 1 = K1 •U1 •U2. si U2 ≥ 0. φ 1 = K1 •U1. si U2 < 0. φ 2 = K2 •U2 Según lo anterior, mientras que la salida φ2 se mantiene como se había indicado inicialmente, la salida φ 1 se divide en dos partes: - Si el vehículo está acelerando, el giro lateral de la estructura es directamente proporcional al producto de las dos entradas. Ya que en este punto no se tiene información de la velocidad real del vehículo (la cual se debería obtener del juego), se toma como una indicación de ésta el nivel de la entrada de los pedales U2 . Siguiendo esta idea lo que se propone es que la fuerza que se sienta por los lados sea proporcional a la velocidad que lleva el vehículo, lo cual es más aproximado al caso real de la fuerza centrípeta.. 17.
(18) - Si el vehículo está frenando, no se toma en cuenta la entrada de los pedales y por lo tanto se vuelve al caso inicial donde la fuerza lateral solamente es proporcional a la entrada del timón. Con este método para la simulación en mente, se procedió al diseño de la rutina de control sobre la tarjeta Galil, que además de implementar las relaciones escogidas entre entradas y salidas, debe también manejar otros aspectos como los interruptores de límite de carrera.. 2.6 Implementación del controlador Se diseñó un controlador que presenta como características principales lo siguiente: - Al encenderse, el sistema no realiza ninguna acción y permanece así (en stand by) hasta recibir la indicación del usuario. - Si el usuario da la indicación por medio de un botón, la primera acción del controlador es la de hacer girar los motores a un ritmo moderado en busca de los interruptores de límite de carrera de cada uno de los ejes. Éste es un proceso de calibración en el cual se define como punto base el inicio de la rosca del tornillo de manera que se puedan establecer posiciones absolutas con respecto a esa referencia. - Inmediatamente después del establecimiento de las referencias el controlador hace girar la estructura hasta la posición que más facilita la entrada del usuario a ésta para sentarse. Cuando se encuentra en tal posición de nuevo se queda en stand by para permit ir que el usuario se acomode y espera hasta la próxima indicación de éste.. 18.
(19) - La siguiente indicación del usuario señala el comienzo del juego y por lo tanto de la rutina de simulación de fuerzas. La figura 11 corresponde al diagrama de flujo de la rutina completa (incluyendo los pasos que se acaban de mencionar).. INICIO no. Def inir posiciones actuales como base (0). IG = 0 ? si G irar el motor trasero. no. G irar el motor lateral hasta ¾ del recorrido total posición cómoda para entrar. Espera. IMT = 0 ? si Detener el motor trasero. no si. IG = 0 ? si. G irar el motor lateral. no. Convenciones: ANtim: Conversión digital de l a entrada del timón U1 ANped : Conversión digital de la entrada de los pedales U2 IG: Interruptor general IML: Interruptor motor lateral IMT: Interruptor motor trasero NOTA 1 : Los interruptores valen ‘1’ cuando no est án activos y ‘0’ cuando se activan. NOTA 2: Las constantes k1 y k2 , escalan los movimientos de los motores para que las tuercas recorran desde la posición base hasta l a longitud máxima de los tornillos.. Leer AN ped y AN tim. AN ped > 0 ?. φ 1=k1• AN ped •AN tim φ 2=k2• AN ped. φ 1=k1• AN tim φ 2=k2• AN ped. G irar los motores hasta las posiciones indicadas por φ 1 y φ 2. IML = 0 ? si Detener el motor lateral. Figura 11. Diagrama de flujo de la rutina programada. 19. no.
(20) La rutina de simulación de fuerzas consiste en leer los valores numéricos arrojados por el ADC como resultado de la transducción del ángulo de giro del timón y de la presión sobre los pedales. Por medio de software se hace que la posición central del timón signifique ANtim = 0, y por lo tanto al girar a la izquierda este valor se haga negativo y hacia la derecha se haga positivo, lo cual genera el cambio de sentido en la rotación del eje del motor. También se hace que cuando la diferencia entre la presión del acelerador y la del freno sea cero, se reciba ANped = 0, entonces si hay más presión en el acelerador este valor se vuelve positivo y si por el contrario hay más presión en el freno se vuelve negativo. En el diagrama de flujo se puede ver que se toma una decisión preguntando: ANped > 0 ? Si la respuesta es afirmativa se asume que el vehículo lleva una velocidad alta en el juego, y de acuerdo a esto la fuerza centrípeta simulada por medio de la inclinación lateral φ 1 se calcula como: φ1 = k 1• ANped • ANtim Este valor es mayor al que se calcula cuando la respuesta es negativa y se asume que el vehículo va a una velocidad baja, ya que en este caso φ1 se obtiene como: φ1 = k 1• ANtim La salida φ 2 correspondiente a la inclinación hacia el frente o hacia atrás, ya que solo depende de la presión sobre lo pedales, en los dos casos se obtiene como: φ2 = k 2• ANped. 20.
(21) Con las salidas φ 1 y φ2 ya definidas se le da la orden a los motores para que se muevan de acuerdo a éstas y cuando termina el proceso se leen los nuevos valores de las entradas para actualizar las salidas. En cuanto a la vibración, a través de las pruebas realizadas tripulando la estructura se pudo notar que por el mis mo sistema de tornillo y tuerca se generan ciertas oscilaciones, que sobre el asiento el jugador las recibe como vibraciones que hacen más realista la simulación y debido a esto no es necesario implementar algo adicional en el software para lograr tal efecto. En el anexo B se puede ver el código con el que se implementó la rutina descrita arriba. El controlador responde a aproximadamente 140 comandos diferentes por medio de los cuales se generan los programas. A continuación se da una breve explicación de los comandos que se utilizaron en este trabajo [2]: NOT A: El controlador maneja hasta cuatro ejes que identifica como X, Y, Z y W, de los cuales en este trabajo se hizo uso únicamente del Z y el W.. AC: (Acceleration) Permite definir la aceleración de cada eje, en unidades de conteos/s 2 , con la cual se van a realizar movimientos ordenados con los comandos JG o PA (que se explicarán más adelante). Funcionamiento: ACW 10000: aceleración del eje W es 10000 conteos/s2. AI: (After Input) Con éste se puede detener la ejecución del programa hasta que cierta entrada digital (escogida entre ocho posibles) cambie.. 21.
(22) Este comando es útil para esperar que el usuario dé una orden por medio de un botón, o durante el proceso de calibración para que los motores se mantengan girando hasta que activen los interruptores de límite de carrera que se encuentran cableados a las entradas digitales. Funcionamiento: AI 6: esperar hasta que la entrada digital 6 sea ‘1’ AI -7: esperar hasta que la entrada digital 7 sea ‘0’. AM: (After Move) Cada vez que se ordena el movimiento de algún eje (ej. a través de una posición absoluta) se debe usar este comando para que el programa no siga corriendo hasta que se haya completado tal movimiento, de lo contrario se pueden presentar problemas. Por ejemplo se podría intentar ejecutar algún comando considerado inválido durante el movimiento de los ejes, lo cual genera un error en el controlador y se deja de correr el programa por completo. Funcionamiento: AM Z: esperar hasta que se complete el movimiento del eje Z AM WZ: esperar hasta que se complete el movimiento de los ejes W y Z. BG: (Begin) Después de especificar algún movimiento, para que este se haga efectivo es necesario señalarle el comienzo de éste con el comando BG. Funcionamiento: BG Z: iniciar el movimiento del eje Z BG WZ: iniciar el movimiento de los ejes W y Z. DC: (Deceleration) Funciona de la misma forma que AC sólo que para especificar las deceleraciones de los ejes si se desea que sean diferentes a las aceleraciones.. 22.
(23) DP: (Define Position) Estando los ejes en estado de reposo se puede usar este comando para especificar el número de conteos (en forma absoluta) que se desean para tal posición. En este caso se utilizó para definir como la posición con cero conteos justo donde se activan los interruptores de fin de carrera, es decir cuando la tuerca está en el comienzo de la parte roscada de cada tornillo. Funcionamiento: DPZ 0: definir la posición actual del eje Z con cero conteos DP , , 0,0: definir las posiciones actuales de los ejes W y Z con cero conteos. JG: (Jog) Con este comando se puede especificar una velocidad para algún eje y en el momento en que se dé el comando BG, el eje acelera y se mantiene en movimiento a tal velocidad hasta que por medio de otro comando se le ordene detenerse. Funcionamiento: JGW 1000: definir la velocidad de ‘jog’ del eje W como 1000 conteos/s. JP: (Jump) Se usa para hacer ‘saltos’ entre las líneas de código. Por ejemp lo se pueden armar ciclos (loops) haciendo uso de este comando. Los saltos pueden ser inmediatos o condicionados. Funcionamiento: JP #A: saltar a la línea marcada con el label #A de forma inmediata. JP #B, V1 > 5: saltar a la línea marcada con el label #B si la variable V1 es mayor a 5.. 23.
(24) KD, KI, KP: (Derivative Constant, Integrator Constant, Proportional Constant) Puede ser necesario ajustar estos parámetros del controlador para que los motores se muevan adecuadamente. En este proyecto el motor lateral es de un fabricante diferente al del motor trasero, y mientras que el primero funciona adecuadamente con las constantes que vienen por defecto (KD = 64, KI =0 , KP = 6), para el motor trasero es necesario ajustarla a los valores que se muestran en el ejemplo de funcionamiento a continuación. Funcionamiento: KDZ 10: Constante derivativa para el eje Z igual a 10 KIZ 0: Constante del integrador para el eje Z igual a 0 KPZ 1: Constante proporcional para el eje Z igual a 1. PA: (Position Absolute) Se define una posición absoluta con respecto al cero (positiva o negativa) para que los ejes se dirijan a ésta después del comando BG. Funcionamiento: PAW 3000: mover el eje W a la posición de 3000 conteos. SP: (Speed) Funciona igual que AC y DC pero para definir las velocidades con las que se van a completar los movimientos. ST: (Stop) Detiene el movimiento de los ejes. Por ejemplo se da esta orden cuando se activan los interruptores de límite de carrera, para que los ejes queden en reposo y se puedan definir las posiciones base con el comando DP. Funcionamiento: ST W: detener el eje W. 24.
(25) TL: (Torque Limit) Con este comando se puede limitar la salida del controlador hacia los motores para que no vaya de 0 a 10V sino hasta el valor especificado. Se usa como medida de seguridad para los motores por si encuentran un obstáculo, para que no sufran daños. Funcionamiento: TLW 5: límite de salida del controlador para el eje W igual a 5V. 25.
(26) V. RESULT ADOS. A continuación se resumen los resultados logrados a través del desarrollo del presente proyecto: - Se fabricaron piezas para la adecuación mecánica de la estructura (tornillos, tuercas, motores, etc.) - Se instalaron sobre la estructura dos tornillos de rosca cuadrada con su respectivas tuercas. - Se fijaron dos servo motores, uno en la parte de atrás y otro en la parte derecha de la estructura. - Se realizaron pruebas iniciales con las que se logró tener certeza de la capacidad de los motores para mover la estructura tripulada con velocidades moderadas que permiten una simulación realista. - A pesar de que se presenta un juego notable entre los tornillos y las tuercas, no se produce ningún aspecto desfavorable para la simulación, de hecho se traduce en vibraciones de la estructura a medida que la velocidad de los movimientos aumenta, lo cual ayuda a dar realismo a la simulación ya que la sensación es la de estar efectivamente en un vehículo en movimiento. - Se hizo una adecuación eléctrica para obtener señales análogas de voltaje desde el timón y los pedales con rangos adecuados para usarlos como entradas análogas para el controlador.. 26.
(27) - Adicionalmente se realizó un cableado cuidadoso de forma que no interfiera con los movimientos amplios de la estructura, lo cual sería inseguro ya que por ejemplo una señal de uno de los interruptores de límite de carrera desconectada podría generar esfuerzos en los motores capaces de dañarlos. - Se definió un modelo para el sistema que relaciona las entradas con las salidas de forma que se logre la simulación mas realista posible frente a la limitación de no poder obtener variables reales, como la velocidad del vehículo, directamente del juego. - Con base en este modelo se ideó una rutina de simulación que incluye una subrutina de arranque en la que se tienen en cuenta las ordenes del usuario y se realiza un proceso de calibración haciendo uso de los interruptores de límite de carrera instalados para cada motor. - La rutina fue programada a través del programa DMC Smart Terminal y se realizaron varias pruebas para depurar el código hasta que quedó completamente funcional y sin errores durante la simulación. - Se entregan planos de las piezas fabricadas y el código implementado en software.. 27.
(28) VI. CONCLUSIONES. - Se pudo ver que aunque el software es muy adecuado para lograr el movimiento controlado de motores, resulta muy limitante para la aplicación que se desarrolló en el presente proyecto. Esto debido a la necesidad de detener la ejecución del programa mientras que se completa el movimiento de los ejes.. - Las pruebas realizadas con el simulador tripulado dejaron ver que el conjunto tornillo tuerca efectivamente es una parte principal para lograr una buena simulación. En este caso el juego existente entre estos generó vibraciones cuya magnitud se hacía inaceptable durante los movimientos más rápidos, por lo tanto se debe prestar especial atención a este aspecto en versiones futuras.. - Se considera que a pesar de las limitaciones encontradas, se logró una buena solución con la que se cumple el objetivo de recrear los efectos inerciales del caso real de un vehículo terrestre.. 28.
(29) VII.. TRABAJO FUTURO. En esta sección se presentan brevemente algunas recomendaciones para el trabajo en versiones futuras del simulador, fundamentadas en la experiencia obtenida a través del desarrollo del proyecto. -. Si es posible comenzar desde cero, se debería pensar en una estructura que cumpla con los siguientes aspectos en los que se considera que falló la utilizada hasta ahora: •. Debe ser más compacta.. •. Debe ser más firme ya que la actual se deja afectar mucho por las vibraciones de los accionadores.. -. •. Se debe pensar en facilitar el acceso al usuario.. •. Facilitar la instalación de los controles (timón y pedales).. Aunque el desarrollo realizado permitió ver que es factible el uso del conjunto tornillo, tuerca y motor para la aplicación, también es claro que en una versión futura se deben escoger mejor estas partes para que se obtengan mejores resultados.. -. Al momento de escoger los controles debe quedar claro en que forma se van a introducir las señales al juego que se instale posteriormente.. -. Sería bueno desarrollar la nueva versión con la co-asesoría o acompañamiento del departamento de ingeniería de sistemas, en el cual ya se han desarrollado soluciones para el uso de entradas análogas en juegos y la realimentación de la información del mismo, lo cual se ajusta muy bien a las necesidades de esta aplicación.. 29.
(30) VIII. REFERENCIAS [1] DMC-1500 User Manual (Manual Rev. 2.0xf).By Galil Motion Control. Disponible: http://www.galilmc.com/support/manuals/man1500.pdf [2] DMC-1000, DMC-1500 Command Reference (Manual Rev. 1.0g). By Galil Motion Control. Disponible: http://www.galilmc.com/support/manuals/manc1000.pdf. 30.
(31) IX. A NEXOS A. Planos de las piezas fabricadas En las próximas páginas se pueden encontrar los planos de las siguientes piezas: - Acople motor-tornillo - Unión tuerca estructura - Unión motor estructura. - Tuerca. 31.
(32) 32.
(33) 33.
(34) 34.
(35) 35.
(36) B. Código implementado en software A continuación se presenta el código que implementa la rutina mostrada en la figura 11 haciendo uso de los comandos descritos en la sección 2.6 del capítulo IV. Se incluyen comentarios en paréntesis para facilitar el entendimiento del código. NOT A: Eje Z → motor atrás ; Eje W → motor lateral #AUTO ST KP,,1,1 KD,,10,10 MT,,1,-1 SH AI 7 AI -7 AI 7 JG 0,0,0,0 BG. (label de la rutina completa) (detener todos los ejes por seguridad) (se define como 1 la constante proporcional de los ejes Z y W) (se define como 10 la constante proporcional de los ejes Z y W ) (fue necesario cambiarle la polaridad a la señal del eje W, ya que... ... de lo contrario el motor correspondiente se desbocaba) (habilita el paso de la señal de los amplificadores a los motores correspondientes) (detiene la rutina hasta que se presione... ... y se suelte el interruptor general que se... ... encuentra conectado a la entrada digital 7) (se establece 0 conteos/s como la velocidad para todos loe ejes) (se inicia el movimiento –a velocidad 0-). JG,,20000 AI -8 STZ AMZ. (se cambia la velocidad de mov. del eje Z a 20,000 conteos/s) (se espera en este punto hasta que se active el interruptor de limite de carrera) (se detiene el movimiento del eje Z) (esperar a que se detenga por completo el eje Z). JG,,,-20000 AI -6 STW AMW. (se cambia la velocidad de mov. del eje W a -20,000 conteos/s) (se espera en este punto hasta que se active el interruptor de limite de carrera) (se detiene el movimiento del eje W) (esperar a que se detenga por completo el eje W). DP,,0,0 SP,,0,40000 PA,,,400000 BGW AMW. (se definen con 0 conteos las posiciones actuales de los ejes W y Z) (velocidad eje Z: 0 conteos/s ; velocidad eje W: 40,000 conteos/s) (siguiente posición del eje W: 400,000 conteos) (comenzar el movimiento del eje W) (esperar a que se complete el movimiento y se detenga el eje). AI -7 AI 7. (de nuevo se espera hasta que se presione y... se suelte el interruptor general). SP,,30000,25000 PA,,-110000,230000 BG AM ZW. (velocidad eje Z: 30,000 conteos/s ; velocidad eje W: 25,000 conteos/s) (siguiente posición del eje W: -110,000 conteos ; siguiente posición del eje Z: 230,000 conteos) (comenzar el movimiento de ambos ejes) (esperar a que se completen los movimientos y se detengan ambos ejes). DM VZ[5] DM VW[5] VZ[2]=24500 VW[2]=50000. (se define un vector de 5 variables con nombre VZ) (se define un vector de 5 variables con nombre VW) (esta variabl e es la constante K2 del modelo de simulación) (esta variabl e es la constante K1 del modelo de simulación). 36.
(37) DP,,0,0 AC,,80000,60000 DC,,80000,60000 SP,,60000,45000 TL,,8,8. (se definen con 0 conteos las posiciones actuales de los ejes W y Z) (aceleración eje Z: 80,000 conteos/s ; aceleración eje W: 60,000 conteos/s) (deceleración eje Z: 80,000 conteos/s ; deceleración eje W: 60,000 conteos/s) (velocidad eje Z: 60,000 conteos/s ; velocidad eje W: 45,000 conteos/s) (limite de torque de ambos ejes : 8). #LOOP JP #AUTO,@IN[7]=0. (label de la rutina de simulación) (saltar al comienzo del program a si s encuentra presionado el interruptor general). VZ[3]=1.2 VZ[1]=@AN[7]-@AN[6]. (otra constante para el movimiento del eje Z) (se obtiene el valor análogo de la entrada de los pedales -acelerador – freno-). VW[3]=-1.2 VW[0]=@AN[4] VW[1]=VW[0]-0.43. (otra constante para el movimiento del eje W) (se obtiene el valor análogo de la entrada el timón) (se ajusta la entrada del timón para que el centro de este signifique 0). JP#PPOS,VZ[1]<0. (saltar a la rutina #PPOS si la entrada de los pedales es positiva). JS#SR1,VW[1]>0 (saltar a la SUBrutina #SR1 si la entrada del timón es positiva) PA,,(VZ[1])*VZ[2]*VZ[3],VW[1]*VW[2]*VW[3] (se definen las siguientes posiciones de los ejes como el... producto de las entradas por las constantes correspondientes. En este caso se obtienen las salidas por separado) BG (comenzar el movimiento de ambos ejes) AM ZW (esperar a que se completen los movimientos y se detengan ambos ejes) JP #LOOP (volver a iniciar el ciclo) #PPOS (inicio de la rutina #PPOS) JS#SR1,VW[1]>0 (saltar a la SUBrutina #SR1 si la entrada del timón es positiva) PA,,(VZ[1])*VZ[2]*VZ[3],VW[1]*VW[2]*VW[3]*2.1*VZ[1] (s e definen las siguientes posiciones de los ejes como el producto de las entradas por las constantes correspondientes. En este caso se acoplan las entradas para obtener la salida del motor lateral) BG (comenzar el movimiento de ambos ejes) AM ZW (esperar a que se completen los movimientos y se detengan ambos ejes) JP #LOOP (volver a iniciar el ciclo) #SR1 VW[3]=-2 EN. (inicio de la rutina #SR1) (se cambia la variabl e VW[3] para ajustar la asimetría de las señales del timón hacia la izquierda y hacia la derecha) (volver de la SUBrutina). 37.
(38)
Documento similar
que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el
dente: algunas decían que doña Leonor, "con muy grand rescelo e miedo que avía del rey don Pedro que nueva- mente regnaba, e de la reyna doña María, su madre del dicho rey,
Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun
o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la
Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de
Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y
Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..
La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de