Simulador 6DOF 360 grados

Running simulator build projects.
Please use the image gallery for your pictures, a short tutorial can be found here.
The first image in the first post will be shown in the project gallery.

Simulador 6DOF 360 grados

Postby CBRRRHRC » Mon 14. Dec 2020, 16:29

Antes del armado del resto de la estructura muestro un esquema de los circuitos eléctricos en este nivel
CBRRRHRC
 
Posts: 184
Images: 11
Joined: Thu 7. May 2020, 03:51
Has thanked: 0 time
Been thanked: 0 time

Simulador 6DOF 360 grados

Postby CBRRRHRC » Tue 15. Dec 2020, 02:03

Voy a mostrar otro armado distinto a los anteriores.
CBRRRHRC
 
Posts: 184
Images: 11
Joined: Thu 7. May 2020, 03:51
Has thanked: 0 time
Been thanked: 0 time

Simulador 6DOF 360 grados

Postby CBRRRHRC » Thu 17. Dec 2020, 02:32

Para completar la tercer pata del proyecto, voy a mostrar los elementos externos que interactúan con el simulador, su conexión con los elementos internos, básicamente el envío de datos, el software que se utiliza en cada una de las etapas. Voy a presentar mis soluciones en cuanto a extracción, transmisión y procesamiento de los datos. Esta es mi visión actual que puede no ser la mas adecuada. Mi intención es probar distintas alternativas en especial las bondades que me pueda proveer X-Sim.


Hasta el momento utilizo el simulador x-plane por lo tanto lo que mostrare a continuacion se refiere a este software.

El equipo que utilizo es:

Procesador Intel Core i7-6800k CPU
Memoria RAM 32 GB
Sistema Operativo Windows 10 64 bits
Placa de video GeForce de Nvidia

Como lo comente antes, el simulador tiene aros concéntricos que pueden girar 360 grados en forma independiente. Esto significa que no se puede conectar ningún dispositivo dentro de la estructura con ningún elemento fuera de la estructura en forma directa, porque cualquier cable se opondría al giro de estos aros, o se cortaría. También esto sucede dentro de la estructura entre los aros ya que los aros giran en forma independiente y sobre ejes distintos (x,y,z)
Otros de las cosas a tomar en cuenta: Gimbal lock, Angulos de Euler, Cuaterniones, que veremos mas adelante cuando veamos la configuración de acuerdo a los datos. La obtención de datos se basa en el protocolo Ethernet UDP de X-plane.
Primero conectamos la pc a nuestra red local Wifi.
Pieza_126.jpg
Pieza_126.jpg (14.87 KiB) Viewed 16276 times

Luego con el modulo NodeMCU ESP8266 nos conectaremos vía wifi con el x-plane para solicitarle los datos del vuelo. Para programar el modulo se utiliza el Kernel de arduino.
Ejemplo de programa para la conexión:

#include "ESP8266WiFi.h"
const char* ssid = "ssid"; //Ingresar SSID
const char* password = "password"; //Ingresar Password
void setup(void)
{
Serial.begin(115200);
// Coneccion a WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print("*");
}
Serial.println("");
Serial.println("Conectado a WiFi");
Serial.print("La dirección IP del Módulo ESP8266 es: ");
Serial.print(WiFi.localIP());// Imprime la dirección IP
}
void loop()
{
// VACIO
}
NOTA: En el código, introduce los detalles de tu Red WiFi en lugar de “ssid” y “password”.
Antes de programar, se selecciona el “Módulo genérico ESP8266” de las placas y también selecciona el puerto COM correcto.
Ahora,luego de cargar el programa, se conectará automáticamente a la red WiFi especificada y también responderá con la dirección IP.

Esto se vera en el puerto serie


Connecting to wifi-xxxx
..........
WiFi connected
IP address:
xxx.xxx.x.xx
connecting to xxxxxxxx.net:17
sending data to server
receiving from remote server
"My spelling is Wobbly. It's good spelling but it Wobbles, and the letters
get in the wrong places." A. A. Milne (1882-1958)
closing connection

Al programa que se carga en el modulo ESP2866 de le debe agregar las siguientes líneas

//Necesario para conectar con xplane
xplane.infoXplane(WiFi.localIP());

//Crear una línea por cada dataref que se quiere recibir, (frecuencia -veces por segundo-, orden, dataref)
//si se indica frecuencia 0, entonces xplane deja de enviar ese data ref.
//si alguna suscripción devuelve siempre valor 0, es posible que no se haya especificado bien el dataref, es sensible a las mayúsculas.
xplane.suscribeDataRef(1,1,"sim/cockpit2/clock_timer/zulu_time_seconds");
xplane.suscribeDataRef(1,2,"sim/cockpit2/clock_timer/zulu_time_minutes");
xplane.suscribeDataRef(1,3,"sim/cockpit2/radios/actuators/com1_standby_frequency_hz_833");
xplane.suscribeDataRef(4,4,"sim/cockpit2/gauges/indicators/airspeed_kts_pilot");
xplane.suscribeDataRef(4,5,"sim/cockpit2/gauges/indicators/compass_heading_deg_mag");

En este punto ya tenemos los parámetros que hemos seleccionado de x-plane, para procesarlos. Primero y ya que es la parte mas avanzada, nos ocuparemos del G-Seat.
CBRRRHRC
 
Posts: 184
Images: 11
Joined: Thu 7. May 2020, 03:51
Has thanked: 0 time
Been thanked: 0 time

Simulador 6DOF 360 grados

Postby CBRRRHRC » Thu 17. Dec 2020, 04:17

Como ya he mencionado el G-Seat tiene 16 servos y que son manejados por una placa a la que conectan todos los servos. Esto nos da la facilidad de mover en forma totalmente coordinada todos ellos. La placa puede ser programada en varios lenguajes. Yo particularmente voy a usar c++. El programa tendrá como entrada los datos del x-plane y como salida los comandos para mover los servos.
Entre la comunidad que tiene este hobby apasionante, los hay que los gusta usarlos sin poner mucha atención a los fundamentos del funcionamiento, otros como en mi caso, no solo me gusta usarlos, sino también saber como funcionan.
A continuación voy a mostrar mi forma de manejar los tres puntos antes mencionados. quiero aclarar que como es bastante teórico en sus conceptos, a algunos puede resultarle tedioso o poco interesante, pero como no es un producto comercial, conocer su funcionamiento permitirá customizarlo para cada situación o simplemente ir mejorando el comportamiento del simulador.

El proceso para el calculo de los movimientos de los servos se basa en Lógica Difusa. Para el que no este familiarizado con este concepto. daré una breve explicación de sus fundamentos y además orientado específicamente a su aplicación en los simuladores.
Voy a mostrar los conceptos fundamentales del control difuso, los mismos nos permitirán avanzar con el desarrollo de los sistemas de control basados en lógica difusa(LD).
Una vez revisados los temas de lógica y control difuso se detallan las características de los diferentes tipos de controladores que probare en la plataforma. Tal es el caso del controlador tipo proporcional difuso, proporcional derivativo difuso proporcional integral derivativo difuso.

La LD a diferencia de la lógica clásica, tiene la capacidad de representar aceptablemente los modos usuales de razonamiento que empleamos para resolver problemas complejos de nuestra cotidianeidad., es decir este tipo de lógica es flexible, considera que la certeza de una proposición es una cuestión de grado, por lo tanto la precisión(lógica clásica) es un caso limite. Lo atractivo de la LD es que se basa en el lenguaje habitual de las personas y es capaz de modelar problemas no lineales.
Un sistema en que las proposiciones deben ser verdaderas o falsas pero no ambas, utiliza una lógica binaria. Como consecuencia de ello lo que no es cierto es falso y viceversa. Pongamos un ejemplo. Para definir un conjunto de hombres altos por medio de la teoría de los conjuntos clásicos, denominaremos a este conjunto como P(x), donde x es la altura de una persona y llamaremos altos a todos los hombres que cumplan con la siguiente condición: x>= 176cm; esta es una aproximación brusca sobre la definición de altura. Zathe (creador de la LD), propone la inclusión de un grado de pertenencia de manera que la transición de pertenencia a la no pertenencia es gradual y no abrupta. De allí que el grado de pertenencia de todos los elementos forma un conjunto difuso.

Una variable algebraica toma numero como valores, en cambio una variable lingüística toma como valores palabras o sentencias; las palabras son menos precisas que los números, por lo una variable lingüística da un significado aproximado a las características de los fenómenos de un problema. Por ejemplo la velocidad de un automóvil es una variable lingüística donde velocidad es la etiqueta de la misma y puede tomar valores como “muy alta”, “media”, “baja”. Cada valor que toma la variable representa un conjunto difuso.
Una variable lingüística esta formada por cinco partes:
1. Etiqueta de la variable
2. Conjunto de valores lingüísticos de velocidad
3. Universo de discurso donde se definen los valores de la variable.
4. Regla sintáctica para generar los nombres de los valores de la variable.
5. Regla semántica para asociar cada valor a su significado.

Reglas difusas

Las reglas difusas tienen la siguiente forma:

SI<Proposición Difusa> ENTONCES>Proposición Difusa>

La proposición contigua a SI, se la denomina “antecedente”, la proposición contigua a ENTONCES se llama “consecuente”.
La interpretación de una regla difusa tiene dos partes:
1. Evaluación del antecedente, conocido como proceso de fusificación de las entradas
2. Aplicar el resultado de la fusificación al consecuente, conocido como proceso de implicación.

Para poder estudiar los sistemas de control difuso, primero debemos familiarizarnos con ciertos términos relacionados con el sistema de control
• Variable Controlada: Se trata de la cantidad o condición que se mide y controla. Normalmente la variable controlada será la salida(el resultado).
• Variable Manipulada: Es la cantidad o condición que el controlador modifica para afectar el valor de la variable controlada.
• Controlar: Significa medir el valor de la variable controlada del sistema y aplicar la variable manipulada al sistema para corregir o limitar una desviación en el valor medido a partir de un valor deseado
• Plantas: A cualquier objeto físico que se va a controlar
• Procesos: A cualquier operación que se va a controlar
• Sistemas: Es una combinación de componentes que actúan juntos y realizan un objetivo determinado
• Perturbaciones: Se trata de una señal que tiende a afectar negativamente el valor de la salida de un sistema
• Control Realimentado(negativo): Se refiere a una operación que, en presencia de perturbaciones impredecibles, tiende a reducir la diferencia entre la salida de un sistema y alguna entrada de referencia y lo continua haciendo con base a esta referencia.
• Sistemas de control realimentados o en Lazo Cerrado: Se trata de un sistema que mantiene una relación pre-escritaentre la salida y la entrada de referencia, comparándolas y usando la diferencia como medio de control.
• Sistema de control en Lazo Abierto: Son aquellos sistema en en los cuales la salida no afecta la acción de control. En otras palabras no se mide la salida ni se realimenta para compararla con la entrada. Por tanto, a cada entrada de referencia le corresponde una condición operativa fija; como resultado la precisión del sistema depende de la calibración. Ante la presencia de perturbaciones no realiza la tarea deseada.
CBRRRHRC
 
Posts: 184
Images: 11
Joined: Thu 7. May 2020, 03:51
Has thanked: 0 time
Been thanked: 0 time

Re: Simulador 6DOF 360 grados

Postby CBRRRHRC » Fri 18. Dec 2020, 17:07

Para implementar un control difuso en nuestra plataforma, se tiene que identificar todos los componente. En realidad nuestra plataforma tiene dos plantas, loas aros y el asiento. Cada uno tiene sus componentes propios y algunos en común(el g-seat no es independiente de la posición de los aros).
Considerando la planta al g-seat los componente identificados son:

• Señal de referencia - es la posición de las placas a la que se desea llegar.
• Variable Controlada – en nuestro caso es la posición de las placas.
• Variable manipulada – es la rotación del efector final de la plataforma
• Planta – se identifico el asiento como planta
• Sensor – La posición de los servos los da la placa de control
• Controlador difuso
• Unidad de regulación – son los 16 servomotores

Considerando la planta de los aros los componentes identificados son:

• Señal de referencia - es la posición de las aros a la que se desea llegar.
• Variable Controlada – en nuestro caso es la posición de los aros.
• Variable manipulada – es la rotación del efector final de la plataforma
• Planta – se identifico los aros como planta
• Sensor – Los rotary encoder en cada eje de la caja reductora
• Controlador difuso
• Unidad de regulación – son los conjuntos caja-motores de cada aro.


Ahora que se ha identificado cada parte del sistema de control o de los sistemas de control ya que aun no se si usar uno o dos sistemas de control. Toda los datos y metodologías son definidas como punto inicial. A medida que avancen los desarrollos y las pruebas se irán actualizando.

En principio voy a definir dos controladores totalmente independientes. Primero como había dicho nos ocuparemos del asiento. Se debe diseñar el controlador para lo cual se necesita en primer lugar identificar las variables de entrada y salida. Aun no tengo muy claro que variables me provee x-plane pero en principio las variables serian las aceleraciones la posición de los aros ya que esa posición aumentara o disminuirá la fuerza de gravedad. La composición del movimiento de los 6 grados de libertad, giro y traslación sobre los ejes x,y,z.

Para que sea mas sencillo inicialmente voy a considerar 3 variables proporcionadas por x-plane
Defino primero los subconjuntos difusos y sus valores.

El error que se obtiene entre la diferencia de la posición actual y la deseada es el subconjunto de la parte antecedente de las reglas

Definimos como Error Negativo Grande ( ENG) (-300,-300,-150, -75) esto nos daría una función tipo trapezoidal
Definimos como Error Negativo Pequeño ( ENP) (-150,-75,-75, 0) esto nos daría una función tipo triangular.
Definimos como Error Negativo Pequeño ( EC) (-75,0,0,75) esto nos daría una función tipo triangular.
Definimos como Error Positivo Pequeño ( EPP) (0,75,75,150) esto nos daría una función tipo triangular.
Definimos como Error Positivo Pequeño ( EPG) (75,150,300,300) esto nos daría una función tipo trapezoidal



El consecuente de las reglas es la corriente que se debe aplicar para obtener el resultado deseado.

Definimos como Voltaje Negativo Grande ( VNG) (-12,-12,-6,-3) esto nos daría una función tipo trapezoidal.
Definimos como Voltaje Negativo Pequeño ( VNP) (-6,-3,-3,0) esto nos daría una función tipo triangular.
Definimos como Voltaje Cero ( VC) (-3,0,0,3) esto nos daría una función tipo triangular.
Definimos como Voltaje Positivo Pequeño ( VPP) (0,3,3,6) esto nos daría una función tipo triangular.
Definimos como Voltaje Positivo Grande ( VPG) (3,6,12,12) esto nos daría una función tipo trapezoidal.



Definimos las reglas:

Si ENG entonces VNG (Si el error es negativo grande se aplica un voltaje negativo grande)
Si ENP entonces VNP (Si el error es negativo pequeño se aplica un voltaje negativo pequeño)
Si EC entonces VC (Si el error es cero el voltaje es cero)
Si EPP entonces VPP (Si el error es positivo pequeño se aplica un voltaje positivo pequeño)
Si EPG entonces VPG (si el error es positivo grande se aplica un voltaje positivo grande)
Last edited by CBRRRHRC on Sun 27. Dec 2020, 04:44, edited 6 times in total.
CBRRRHRC
 
Posts: 184
Images: 11
Joined: Thu 7. May 2020, 03:51
Has thanked: 0 time
Been thanked: 0 time

Simulador 6DOF 360 grados

Postby CBRRRHRC » Sat 19. Dec 2020, 18:08

Dejando la teoría pasemos a ver como se aplica al asiento y en particular a los servos y las placas. Tenemos un sistema de un servo que gira sobre un punto fijo del motor, unido por una pieza a una placa que pivotea también sobre un punto fijo sobre el soporte de la placa

Definimos esta posición 0 grados y la consideramos como la posición actual . Cuando el motor recibe una corriente produce un giro de x grados, que a su vez mueve la placa en x/2 grados.
Para que se obtenga esta posición de la placa, la palanca de giro de la placa debe ser el doble de la palanca del motor.
Esto implica que por cada grado que gira el motor, la placa gira medio grado.
En nuestro caso una vez determinado el ángulo que debe tener la placa que desarrollaremos mas adelante, se deberá moverla hasta alcanzar esta posición. A esta posición la llamamos posición deseada.
Un controlador difuso trata de alcanzar un estado de equilibrio, esto significa que el error entre la posición actual y la deseada es cero. El error es la diferencia entre estas dos posiciones. Como vimos anteriormente las reglas de la LD, considera en su antecedente el error y como consecuente el voltaje a aplicar para llevarlo a cero.
CBRRRHRC
 
Posts: 184
Images: 11
Joined: Thu 7. May 2020, 03:51
Has thanked: 0 time
Been thanked: 0 time

Simulador 6DOF 360 grados

Postby CBRRRHRC » Mon 21. Dec 2020, 01:28

El siguiente paso es mandarle la información al controlador. El controlador recibe mensajes del sistema de control en forma de secuencias de bytes de comunicación en serie denominados paquetes. Cada byte está codificado en serie usando codificación en serie 8N1 (8 bits de datos, sin paridad y 1 bit de parada). Para facilidad de uso y flexibilidad de operación, se proporcionan dos métodos de codificación de comandos: binario y texto. En binario la codificación es más compacta, más eficiente y más fácil de acceder mediante programación. En ASCII la codificación de texto es más detallada y menos eficiente, pero es más fácil de leer y de acceder a través de una interfaz de terminal tradicional (PC). Los métodos de codificación de texto binarios y ASCII comparten una estructura de comando idéntica y admite todo el conjunto de comandos de controlador. El controlador almacena en búfer el flujo de comandos entrante y solo tomará una acción una vez que se ha recibido el paquete completo y se ha verificado la suma de comprobación como correcto. Paquetes incompletos, paquetes con ID de placa inapropiados y paquetes con suma de comprobación incorrecta se ignoraran. Esto permite que el sistema de control envíe un comando datos en el tiempo libre sin pérdida de función. Sin embargo, el búfer de comando se borrará siempre que el controlador se reinicie o se apague / encienda.
La mayoría de los comandos no devuelven datos de resultados. Ciertos comandos, sin embargo, son diseñados para devolver información sobre el estado y las posiciones actuales del servo, así como otros ajustes de la placa.
Yo voy a utilizar la comunicación serial, pero como ya comente antes no puedo hacerlo a través de la PC por los cables. Para ello voy a utilizar la facilidad de la placa Arduino Port Serie. Se puede agregar a la placa arduino este modulo de coneccion:
y estas son las conexiones del controlador, puede verse la coneccion USB y la RS232.

Este seria el diagrama de coneccion:
RS232.png
RS232.png (5.45 KiB) Viewed 16231 times
CBRRRHRC
 
Posts: 184
Images: 11
Joined: Thu 7. May 2020, 03:51
Has thanked: 0 time
Been thanked: 0 time

Simulador 6DOF 360 grados

Postby CBRRRHRC » Tue 22. Dec 2020, 01:06

Hay decenas de comandos que tiene el controlador para manejar los servos. Según el comando, la cantidad de parámetro que necesita ira variando pero la estructura es siempre la misma. Veamos un ejemplo de un comando. Los datos mínimos son el número de placa, recordemos que se pueden tener 256 conectadas, el numero de servo y la posición entre 0 y 16283.
Quick Move Raw (Movimiento rápido crudo)
Formato Binario:
Numero de Placa = Nro_Placa%16 + 0x0F
Numero de Servo = Nro_Servo%16
Posición MSB = Pos_MSB/128; // 7 bits de la parte mas significante
Posición LSB = Pos_LSB%128; // 7 bits de la parte menos significante
Checksum = "/0" Caracter NULL.

Para mover los 16 servos, los debemos agrupar por cada placa. tenemos 4 servos por cada placa superior e inferior y se deberán mover en forma coordinada
Como las placas se mueven en forma independiente el controlador deberá recibir cuatro comandos, cada uno afectando cuatro servos.
El controlador tiene el comando Group QuickMove Raw. Provee un método de mover instantáneamente la posición de los 16 servos con un solo comando. Para este caso se moverán los cuatro servos de cada placa.

Si bien hice pruebas sencillas voy a terminar de armar el asiento para hacer pruebas verdaderas. A medida que avance publicaré alguna foto o video y resultado de las pruebas.
Mientras hago las pruebas voy a ir completando las fotos anteriores con comentarios aclaratorios, tambien ire mostrando la otra parte del simulador, los aros de movimiento.
CBRRRHRC
 
Posts: 184
Images: 11
Joined: Thu 7. May 2020, 03:51
Has thanked: 0 time
Been thanked: 0 time

Simulador 6DOF 360 grados

Postby CBRRRHRC » Thu 24. Dec 2020, 19:04

El simulador tiene para simplificar los movimientos rotatorios del Pitch Roll y Yaw controlados por 3 motores ubicados el cada uno de los aros y el asiento que tiene 4 ejes de 4 motores que controlan el movimientos de las placas, 2 para la espalda y dos para la parte inferior (trasero :oops: ) y nos proporciona los movimientos de desplazamiento arriba abajo, y izquierda derecha, adelante atrás.
Para controlar todo hay dos métodos que considero, uno es el que muestro en la descripción del simulador donde la posición se obtiene por un encoder rotativo (rotary encoder) y por la placa del controlador del asiento que nos da la posición de los servos.
Este método utiliza los ángulos de euler para calcular por medio de la matriz de rotación, la nueva posición. El método de los ángulos de Euler presenta el problema del Bloqueo de cardan(gimbal lock) ,
Gimbal_3_axes_rotation.gif
Un conjunto de tres rotantes permite tres grados de libertad: deriva, inclinación y alabeo.Cuando dos de los cardanes giran sobre el mismo eje, el sistema pierde un grado de libertad.
Gimbal_3_axes_rotation.gif (421.12 KiB) Viewed 16186 times
.
Para solucionar este problema se utilizan los cuaterniones en ves de los ángulos de Euler.
El segundo método considerado es mediante la utilización de el componente SparkFun 9DoF Razor IMU M0.
sparkfun-9dof-razor-imu-m0.jpg
sparkfun-9dof-razor-imu-m0.jpg (2.13 KiB) Viewed 16186 times
sparkfun-9dof-razor-imu-m0 (1).jpg
sparkfun-9dof-razor-imu-m0 (1).jpg (2.83 KiB) Viewed 16186 times
El SparkFun 9DoF Razor IMU M0 combina un microcontrolador SAMD21 con una unidad de medición inercial MPU-9250 de grado de libertad (9DoF) para obtener una unidad IMU pequeña, programable y de propósito general. Puede ser programado para monitorizar y registrar movimiento, enviar ángulos Euler por su puerto serial o incluso actuar como un podómetro (contador de pasos) si lo deseas.
El Razor 9DOF es una evolución de su predecesor que incluye sensores de 3 ejes: un acelerómetro, un giroscopio y un magnetómetro. éstos tres sensores le permiten medir la aceleración, velocidad de rotación angular y vector de campo magnético. El procesador principal que se encarga de gestionar los sensores es un potente ARM Cortex M0+ SAMD21 de 32-bits, que es compatible con Arduino (el equivalente al Arduino Zero) y por lo tanto se puede programar desde el IDE de Arduino.
Como este módulo proporciona todos los datos para la nueva posición del simulador, será ubicado en un lugar que este afectado por la posición actual. La ubicación debe ser paralela a la base donde se sujeta el asiento. Esta base en posición neutra es paralela al piso del lugar donde esta el simulador. En forma provisoria lo colocare en esta base. Este lugar ubicado en el aro interior, esta ubicado de acuerdo a la posición de los aros superiores y la ubicación de el mismo.
Last edited by CBRRRHRC on Sun 27. Dec 2020, 16:50, edited 2 times in total.
CBRRRHRC
 
Posts: 184
Images: 11
Joined: Thu 7. May 2020, 03:51
Has thanked: 0 time
Been thanked: 0 time

Simulador 6DOF 360 grados

Postby CBRRRHRC » Fri 25. Dec 2020, 17:01

Voy a optar por el segundo método usando Lógica Difusa. Los elementos de entrada son los ángulos alpha, beta y gama que son los ángulos de la proyección sobre los tres ejes x,y,z de la nueva posición .
El error es la diferencia entre estos ángulo y los ángulos medidos de la posición actual por el modulo, SparkFun 9DoF Razor IMU M0.
Las reglas difusas para la obtención de la corriente a aplicar en cada motor serian las del ejemplo dadas anteriormente:
Si ENG entonces VNG (Si el error es negativo grande se aplica un voltaje negativo grande)
Si ENP entonces VNP (Si el error es negativo pequeño se aplica un voltaje negativo pequeño)
Si EC entonces VC (Si el error es cero el voltaje es cero)
Si EPP entonces VPP (Si el error es positivo pequeño se aplica un voltaje positivo pequeño)
Si EPG entonces VPG (si el error es positivo grande se aplica un voltaje positivo grande)

La relación de la caja con el motor es de 50:1 significa que por cada 50 vueltas del motor el eje de la caja gira 360 grados que a su vez transmite esta misma relación al aro que girara el mismo ángulo sobre su eje. Estoy tomando solo tres valores que proporciona el módulo, aun no se como utilizar los otros datos para mejorar el sistema.

Cada aro está rígidamente unido al grupo Caja-Motor que a su vez transmite el movimiento al aro inferior. Como el aro externo no tiene otro aro para soportarlo, se utiliza un símil que ira rígidamente unido al ultimo par caja-motor que a su vez va unido rígidamente al techo.
La proyección del eje de la caja gira libremente a través de la pieza de la figura y tiene dos rulemanes.
Estos rulemanes tienen como soporte la pieza de la figura
que también soporta la proyección del eje de la caja
CBRRRHRC
 
Posts: 184
Images: 11
Joined: Thu 7. May 2020, 03:51
Has thanked: 0 time
Been thanked: 0 time

PreviousNext

Return to Motion simulator Projects in progress

Who is online

Users browsing this forum: No registered users and 3 guests