elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Necesito ayuda con mi programa
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Necesito ayuda con mi programa  (Leído 1,678 veces)
javitrito

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Necesito ayuda con mi programa
« en: 7 Noviembre 2016, 17:20 pm »

Buenas tardes, estoy realizando un programa en C cuyo objetivo es controlar un péndulo invertido.
Las ecuaciones de mi sistema son 5 y van de delta[0] a delta[4]. Mi problema surje a la hora de poner mis condiciones iniciales (ts[0]=-2, ts [1]=0, ts [2]=0, ts [3]=0 y ts [4]=0).
Le he dado el valor antes de mis ecuaciones pero no se si está bien, ya que así me temo que influirá tambien en ts[0] = ts[0] + delta[0] y en las demás. Solo quiero que me afecte a las ecuaciones y no se como ponerlo. Si alguien me echa un cable me vendría genial. Aclarar que te son las tensiones de entrada y ts las de salida.
Un saludo

Código
  1. void procesar(double te[], double ts[])
  2. {
  3. double delta[5];
  4.  
  5. ts[0] = -2;
  6. ts[1] = 0;
  7. ts[2] = 0;
  8. ts[3] = 0;
  9. ts[4] = 0;
  10.  
  11.  
  12. delta[0] = (0.6 * ts[0] - 8 * ts[1] + 1.5 * ts[2] + 1.5 * ts[3] - 0.6 * ts[4] + te[0]) * 0.001;
  13. delta[1] = (0.5 * ts[0] - 3.8 * atan(28 * ts[1])) * 0.001;
  14. delta[2] = (-0.8 * ts[0] - 1.5 * ts[3]) * 0.001;
  15. delta[3] = (0.19 * ts[2] - 0.6 * ts[4] + te[1]) * 0.001;
  16. delta[4] = (0.9 * ts[3]) * 0.001;
  17.  
  18. ts[0] = ts[0] + delta[0];
  19. ts[1] = ts[1] + delta[1];
  20. ts[2] = ts[2] + delta[2];
  21. ts[3] = ts[3] + delta[3];
  22. ts[4] = ts[4] + delta[4];
  23.  
  24. ts[0] = -10;
  25. ts[1] = -5;
  26. ts[2] = +1;
  27. ts[3] = +5;
  28. ts[4] = +9;
  29. }

MOD: Etiqueta GeSHi.


« Última modificación: 7 Noviembre 2016, 18:52 pm por MCKSys Argentina » En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Necesito ayuda con mi programa
« Respuesta #1 en: 7 Noviembre 2016, 19:04 pm »

Explica como debe ser el algoritmo. Ten en cuenta que no sabemos nada de lo que debe hacer.


En línea

javitrito

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Necesito ayuda con mi programa
« Respuesta #2 en: 7 Noviembre 2016, 20:24 pm »

Gracias por responder. Pues mira el programa sirve para controlar un pendulo invertido. Las ecuaciones del péndulo son las que aparecen ahí pero escritas según el método de euler con los incrementos. Tengo una placa montada con dos convertidores, uno analogico-digital, que se comunica con un microcontrolador, y otro digital- analogico que recibe lo del microcontrolador. El péndulo iría conectado a mi placa. Lo único que necesito saber es como poner mis condiciones iniciales a dichas ecuaciones, para que afecte solo a las ecuaciones y no a lo demás.
Las condiciones iniciales son estas:
        
Código
  1. ts[0] = -2;
  2. ts[1] = 0;
  3. ts[2] = 0;
  4. ts[3] = 0;
  5. ts[4] = 0;

Quiero saber si poniendolo así tal y como lo puse en mi código, antes de las ecuaciones, afectaria a toda la función    void procesar(double te[], double ts[])  o como ponerlo para que mis condiciones iniciales afecte solo a mis ecuaciones, que son las siguientes:

Código
  1. delta[0] = (0.6 * ts[0] - 8 * ts[1] + 1.5 * ts[2] + 1.5 * ts[3] - 0.6 * ts[4] + te[0]) * 0.001;
  2. delta[1] = (0.5 * ts[0] - 3.8 * atan(28 * ts[1])) * 0.001;
  3. delta[2] = (-0.8 * ts[0] - 1.5 * ts[3]) * 0.001;
  4. delta[3] = (0.19 * ts[2] - 0.6 * ts[4] + te[1]) * 0.001;
  5. delta[4] = (0.9 * ts[3]) * 0.001;

Espero que haya quedado más claro, un saludo.


Mod: Los códigos deben ir en etiquetas GeSHi
« Última modificación: 7 Noviembre 2016, 21:25 pm por engel lex » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
necesito ayuda con un programa
Ingeniería Inversa
shivak 2 15,190 Último mensaje 14 Mayo 2010, 03:07 am
por yako-_-
Necesito ayuda con programa C++
Programación C/C++
dobler 0 1,239 Último mensaje 22 Enero 2013, 15:48 pm
por dobler
Necesito ayuda en un programa! « 1 2 »
Programación C/C++
Juan821 12 5,108 Último mensaje 5 Junio 2014, 05:58 am
por engel lex
Necesito ayuda con un programa
Programación General
ronyc 1 1,678 Último mensaje 2 Julio 2014, 06:02 am
por El Benjo
Necesito ayuda con un programa en c++
Programación C/C++
Allison Vanessa 2 2,424 Último mensaje 10 Junio 2018, 03:35 am
por 0xFer
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines