arduino + matlab_simulink_ controlador pid

19
6/4/2014 Arduino + Matlab/Simulink: controlador PID http://wechoosethemoon.es/2011/07/21/arduino-matlab-simulink-controlador-pid/ 1/19 We choose the Moon Ingeniería aplicada incluso a cosas a las que probablemente no debería aplicarse. Acerca de Bio El equipo “Engineers like to solve problems. If there are no problems handily available, they will create their own problems.” ~ Scott Adams Arduino + Matlab/Simulink: controlador PID Jorge García Tíscar Jueves, 21 de julio de 2011 Nuestro principal proyecto con Arduino ! En este caso, empleando el sistema de comunicación serie, vamos a programar un controlador PID (un controlador que actúa proporcionalmente al valor del error, al de su derivada, y al de su integral) en Simulink, el programa de dibujar esquemas más caro de la historia. El objetivo es controlar la posición de un sistema muy simple (podría ser llamado “helicóptero de un grado de libertad” por alguien extremadamente idealista y “balancín a hélice” por alguien que lo fuera menos) y gradualmente ir complicado el sistema.

Upload: cblanquiv7186

Post on 29-Dec-2015

1.127 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Arduino + Matlab_Simulink_ Controlador PID

6/4/2014 Arduino + Matlab/Simulink: controlador PID

http://wechoosethemoon.es/2011/07/21/arduino-matlab-simulink-controlador-pid/ 1/19

We choose the Moon

Ingeniería aplicada incluso a cosas a las queprobablemente no debería aplicarse.

Acerca de

BioEl equipo

“Engineers like to solve problems. If there are noproblems handily available, they will create theirown problems.”

~ Scott Adams

Arduino + Matlab/Simulink: controlador PID

Jorge García Tíscar

Jueves, 21 de julio de 2011

Nuestro principal proyecto con Arduino! En este caso, empleando el sistema de comunicación serie, vamos a

programar un controlador PID (un controlador que actúa proporcionalmente al valor del error, al de su

derivada, y al de su integral) en Simulink, el programa de dibujar esquemas más caro de la historia. El

objetivo es controlar la posición de un sistema muy simple (podría ser llamado “helicóptero de un grado de

libertad” por alguien extremadamente idealista y “balancín a hélice” por alguien que lo fuera menos) y

gradualmente ir complicado el sistema.

Page 2: Arduino + Matlab_Simulink_ Controlador PID

6/4/2014 Arduino + Matlab/Simulink: controlador PID

http://wechoosethemoon.es/2011/07/21/arduino-matlab-simulink-controlador-pid/ 2/19

Como se observa, se trata de un brazo articulado con un motor en un extremo, unido a una hélice queproporciona más o menos sustentación en función del voltaje suministrado al motor. En la articulación del ejehay un potenciómetro solidario a él, que devuelve un voltaje entre 0V y 5V, en función del ángulo . El

esquema del sistema de control es el siguiente:

De esta manera tenemos definida la variable de salida (posición del eje: voltaje transmitido por el

potenciómetro) y la variable de control (sustentación de la hélice: voltaje proporcionado al motor). Nosfalta pues un bucle de control (que programaremos en Simulink), una variable de entrada y una interfaz

física.

Interfaz física: Arduino + circuito de potencia PWM

Tal y como se explica en una entrada anterior, el Arduinoes incapaz por sí mismo de aportar el amperaje que necesita el motor, por lo que emplearemos un circuito de

Page 3: Arduino + Matlab_Simulink_ Controlador PID

6/4/2014 Arduino + Matlab/Simulink: controlador PID

http://wechoosethemoon.es/2011/07/21/arduino-matlab-simulink-controlador-pid/ 3/19

potencia consistente en un transistor MOSFET.

El microcontrolador enviará a la puerta del transistor una señal PWM, y por tanto esta misma señal PWMpero de potencia será la que reciba el motor. La representación de este montaje será la siguente:

Esta es toda la parte física del problema: la planta que vamos a controlar, la variable de salida (ángulo deleje), la variable de control (potencia al motor) y el montaje que hemos realizado con el Arduino. A

continuación la parte de código, tanto de Arduino como de Simulink/Matlab.

Arduino: lectura y escritura de variables físicas

En primer lugar, el código del Arduino debe ser capaz de (1) leer del potenciómetro, (2) enviarlo

como dato a través del puerto serie, (3) recibir el dato de potencia necesaria al motor y (4) escribir dichodato en la salida analógica como señal PWM. Hay que tener en cuenta que el conversor devuelve un valor

entre 0 y 1024, que mapeamos a 0 y 255 para poder enviarlo como un solo bit unsigned.

123456789101112131415161718192021222324

int out = 0;byte in = 0;byte pinOut = 10; void setup() { // inicializar puerto serie Serial.begin(9600); // preparar output pinMode(pinOut, OUTPUT);} void loop() { // leer del pin A0 como out = analogRead(A0); // escalar para obtener formato uint8 out = map(out, 0, 1023, 0, 255); // enviar en base 10 en ASCII Serial.write(out); // leer del serie si hay datos if(Serial.available()){ in = Serial.read(); // escribir en el pin 10 analogWrite(pinOut, in); }

Page 4: Arduino + Matlab_Simulink_ Controlador PID

6/4/2014 Arduino + Matlab/Simulink: controlador PID

http://wechoosethemoon.es/2011/07/21/arduino-matlab-simulink-controlador-pid/ 4/19

Simulink: referencia y bucle de control

Por otra parte, nuestro programa de Simulink debe recibir este dato de a través del puerto serie,

compararlo con una referencia que controlaremos nosotros con un slider en la propia interfaz gráfica de

Simulink, y, mediante un controlador PID, determinar la señal de control (potencia al motor) necesaria.

Después debe enviarla a través del puerto serie en formato uint8, unsigned integer de 8 bits, que toma

valores entre 0 y 255, ideales para la función analogWrite() de Arduino (click para ampliar):

Dentro del

bloque PID, se pueden editar los parámetros P, I y D, siendo los últimos que hemos empleado P = 0.26 , I =

0.9, D = 0.04 y una discretización de 10 ms. Otro dato a tener en cuenta es que la transmisión serie se hace

en formato uint8, pero las operaciones se hacen en formato double, de ahí los conversores. Las ganancias

son de valor 5/1024 para pasar la señal a voltios reales.

A continuación, un vídeo de todo el sistema en funcionamiento (esta es una de las primeras pruebas, con

otros parámetros del PID sin optimizar todavía):

Se puede observar cómo mediante el slider ajustamos la referencia (señal lila). El sistema, ajustando la señal

de potencia entregada al motor (señal azul) va ajustando el ángulo del eje hasta conseguir que el voltaje del

potenciómetro (señal amarilla) coincida con la referencia que le hemos indicado. Incluso, a pesar de

252627

// esperar para estabilizar el conversor delay(20);}

Page 5: Arduino + Matlab_Simulink_ Controlador PID

6/4/2014 Arduino + Matlab/Simulink: controlador PID

http://wechoosethemoon.es/2011/07/21/arduino-matlab-simulink-controlador-pid/ 5/19

estar en una primera fase de pruebas, se observa que es capaz de resistir a Salva perturbaciones.

Matlab: postproceso de los datos recogidos

Si nos fijamos en el programa de Simulink anterior, se puede observar que no sólo se presentan en el visor

las tres señales, sino que además se guardan en el espacio de trabajo de Matlab. Esto nos permite, aposteriori, procesar los resultados del proceso de control como queramos: identificación de sistemas,exportación a Excel… en este caso, nos contentamos con emplear la genial función externa savefigure() para

obtener un gráfico vectorial PDF:

Ejecutando este código tras haber realizado una prueba del sistema, hemos obtenido el siguiente gráfico, que

a pesar de ser originalmente un gráfico vectorial PDF, hemos rasterizado como PNG para poder

representarlo aquí:

12345678910111213141516171819202122

%% Preparar la figuraf = figure('Name','Captura');axis([0 length(ref_out) 0 5.1])grid onxlabel('Medida (-)')ylabel('Voltaje (V)')title('Captura de voltaje en tiempo real con Arduino')hold all %% Tratamientopos_out = pos_out(:);pid_out = pid_out(:);x = linspace(0,length(ref_out),length(ref_out)); %% Limpiar figura y dibujarclaplot(x,pid_out,'Color',[0.6,0.6,0.6],'LineWidth',2)plot(x,ref_out,x,pos_out,'LineWidth',2)legend('Control','Referencia','Posición','Location','Best'); %% Salvar el gráficosavefigure('resultado','s',[4.5 3],'po','-dpdf')

Page 6: Arduino + Matlab_Simulink_ Controlador PID

6/4/2014 Arduino + Matlab/Simulink: controlador PID

http://wechoosethemoon.es/2011/07/21/arduino-matlab-simulink-controlador-pid/ 6/19

¿Compartes?

Se observa en este caso

que el motor requiere mucho menos voltaje (en gris) debido a que se trata de uno más potente que el inicial y

que el sistema presenta todavía una sobreoscilación (overshoot) en la señal de salida (en rojo) cuando laseñal de referencia (en verde) presenta una subida escalón, cosa que esperamos corregir en futuras

versiones. El siguiente desarrollo programado es realizar un control con dos grados de libertad en lugar de

uno… not because it’s easy, but because it’s hard!

Categoría: Cosas "útiles", Engineer-It-Yourself | Etiquetas: Arduino, Gráficos, MATLAB, MOSFET,

PID, PWM, Serie, Simulink | Comentarios: 76 Comentarios »

76 Comentarios on “Arduino + Matlab/Simulink: controlador PID”

1. 1 Ingeniero dijo a las 4:45 del 17/08/2011:

Interesante, me podria enviar el codigo de simulink que utilizaron.

Gracias.

2. 2 Jorge dijo a las 4:51 del 17/08/2011:

Claro, está aquí; probablemente tengas que ajustar los parámetros del PID a tu planta en concreto!

3. 3 wilker dijo a las 6:06 del 25/08/2011:

Gracias .

Yo estaba tratando de hacer la interfaz entre Matlab/Simulink y Arduino Mega 2560 de destino y no

tuvo éxito. Creo que voy a obtener de esta manera la solución

gracias;

Wilker

Facebook Twitter 2 Google Tumblr Pinterest

Page 7: Arduino + Matlab_Simulink_ Controlador PID

6/4/2014 Arduino + Matlab/Simulink: controlador PID

http://wechoosethemoon.es/2011/07/21/arduino-matlab-simulink-controlador-pid/ 7/19

MG-Brasil

4. 4 Esteban Pioquinto dijo a las 0:34 del 19/09/2011:

Magnifico trabajo, Jorge te felicito.

voy a intentar reproducirlo y espero hacerte varias preguntas …… saludos

5. 5 Jose dijo a las 22:42 del 19/09/2011:

Me parece una idea bastante buena para reproducir en laboratorios de bajo coste o para la uned, voy

a probarlo, te recomiendo tambien la libreria de arduino que hay en matlab.

Un saludo.

6. 6 Cristian dijo a las 22:42 del 22/09/2011:

Hola! Excelente idea, yo tengo un proyecto similar pero necesito procesar 3 señales provenientes

desde el arduino en el simulink y luego a traves de mi bucle de control, generar 2 señales que se envian

al arduino. No tengo idea como hacerlo ya que sólo veo que funciona con una salida y una entrada. A

ver si me ayudan por favor!

7. 7 Jorge García Tíscar dijo a las 19:29 del 23/09/2011:

Hola Cristian! Pues nosotros ahora mismo tenemos el proyecto un poco abandonado, porque hemos

empezado el curso académico y tenemos poco tiempo libre… pero la idea que tenemos es usar algún

tipo de “protocolo” que Arduino y Simulink puedan discriminar, del estilo “S1″ “300″ “S2″ “400″, y

que al recibirlo, un switch-case o similar las entiendan como señal 1, señal 2, etc. Colgaremoscualquier avance! Y si lo consigues, avísanos! =)

8. 8 Diego dijo a las 0:05 del 12/10/2011:

Gracias por tu aporte jorge, un abrazo desde colombia!!!

9. 9 adelrio dijo a las 23:26 del 01/11/2011:

Me funcionio bien la primera vez pero ahora se me cierra simulink y no encuentro el problema!!!!!me podrias ayudar

10. 10 Jorge García Tíscar dijo a las 3:11 del 02/11/2011:

A mí la verdad es que no me ha pasado, que se me cierre Simulink, ¿has probado en otros

ordenadores u otras versiones de Matlab? De todas formas una opción es volver a construir de nuevo

el montaje, a mí me ha solucionado problemas al abrir el archivo en una versión diferente de Matlab

(de 32 a 64 bits por ejemplo).

PS: Un saludo desde España a todos los que se han animado a comentar! Da gusto ver lo activa que

es la comunidad hispanohablante Gracias! =)

11. 11 adelrio dijo a las 7:55 del 02/11/2011:

Gracias creo q solo queria q reiniciara la compu!!!

Page 8: Arduino + Matlab_Simulink_ Controlador PID

6/4/2014 Arduino + Matlab/Simulink: controlador PID

http://wechoosethemoon.es/2011/07/21/arduino-matlab-simulink-controlador-pid/ 8/19

tienes algun codigo sencillo para leer y escribir datos desde matlab hacia el arduino

esta muy chido tu foro!!!!!!gracias!!!

por tus respuestas

12. 12 kusko dijo a las 10:58 del 17/11/2011:

amigo felicitaciones excelente pagina

salu2 desde Colombia

13. 13 Juan Farias dijo a las 5:48 del 24/11/2011:

hola queria saber si este proyecto, actualmente lo haz implementado con la libreria “Arduino Target”

del simulink?, pues me intereseria saber si se puede hacer algo como esto pero con esa libreria,

saludos desde Chile

14. 14 Jorge García Tíscar dijo a las 0:19 del 25/11/2011:

Hola! no, no he usado esa librería, pero es una idea interesante, avisa si lo consigues! En este

proyecto simplemente usamos el Arduino como tarjeta de adquisición/escritura de la señal,comunicándolo con Simulink mediante puerto serie.

15. 15 Juan Farias dijo a las 22:08 del 30/11/2011:

Cuál es la función de transferencia de tu motor?

Me podrías dar tu correo para preguntarte cualquier cosa?

16. 16 Carlos dijo a las 7:46 del 01/12/2011:

hola buenas noches !!! tengo un problema descargue el programa de simulik y no puedo correrlo !! medice que la configuracion del serial en el bloque tiene un error !! agradeceria su ayuda porfavor !!! lo

necesito para un proyecto urgente !!!

17. 17 Jorge García Tíscar dijo a las 19:00 del 01/12/2011:

Hola! no tengo FDT para el motor, el PID se ajusta empíricamente! Y respecto al error de Carlos,

prueba a comprobar que el puerto serie definido en el bloque es el que realmente está usando el

Arduino!

18. 18 felipe dijo a las 1:29 del 04/12/2011:

hola quisiera saber de que tamaño es el potenciometro ya que creo tener problemas al utilizar uno de50k

19. 19 Jorge García Tíscar dijo a las 3:03 del 04/12/2011:

Más que la resistencia del potenciómetro lo importante es la facilidad de giro y el recorrido: éste es un

potenciómetro de joystick (un antiguo Microsoft Sidewinder) que gira con mucha facilidad y tiene un

recorrido muy pequeño y muy lineal. Quizás estás usando un potenciómetro logarítmico! Eso sería

muy conflictivo…

20. 20 Antonio México dijo a las 15:42 del 09/12/2011:

Page 9: Arduino + Matlab_Simulink_ Controlador PID

6/4/2014 Arduino + Matlab/Simulink: controlador PID

http://wechoosethemoon.es/2011/07/21/arduino-matlab-simulink-controlador-pid/ 9/19

Hola Jorge tengo una pregunta, al bajar tu programa de Simulink, y abrirlo el bloque de PID(z) se

abre con error, quiero pensar que es por la versión de Matlab, ¿Cuál versión utilizaste? y ¿Cuál

de los bloques PID implementaste en tu archivo?…..Saludos

21. 21 Claudio Brasil dijo a las 2:17 del 15/01/2012:

Muy bueno el articulo!!

Tengo solo una pregunta, has medido la latencia q tiene todo el sistema, seguramente con matlab tienes

una mayor latencia, y quizas realizando todo desde arduino vas a tener mejores resultados.

22. 22 Jose Vasqquez dijo a las 6:36 del 20/01/2012:

Wooow Exelente proyecto lo implementare, y estare haciendote algunas preguntas! Genial

23. 23 LUIS RODRIGUEZ dijo a las 19:00 del 14/02/2012:

Saludos… muy buen apractica… espero poder reproducirla… aunque no he tenido la oportunidad de

trabajar con matlab/simulink… si tienes algún tutorial que pudieras prestar.. se te agradecería…

24. 24 jose benito guillen badillo dijo a las 17:55 del 25/02/2012:

hola Jorge García Tíscar estoi realizando un proyecto casi igual al que estas empleando aqui,trato de

posicionar un motor de cd con arduno,con ,arduino+matlab+simulin y accionarlo desde simulink y que

el motor trabaje como quiero pero lo que no entiendo es como realizar el codigo del arduino si me

pudieras explicar un poco te lo agradeseria o si me puedes mandar el codigo del arduino que

empleastes en esa practica…

este es mi correo.

25. 25 Rodrigo dijo a las 7:00 del 29/02/2012:

Hola jorge, me gustaria saber como se hace la comunicacion serie de simulink con arduino, no logro

hacer la conexion no se si podras ayudarme con esto. mi simulink es el 2008

26. 26 vladimir dijo a las 14:26 del 02/03/2012:

Hola jorge, te escribo porque quiero hacer este proyecto pero tengo una duda en la parte de potencia,que mosfet has utilizado y que dispositivo es ese otro que aparece en el esquema que has dehajado en

esta pagina..un saludo

27. 27 Gonzalo dijo a las 21:24 del 17/03/2012:

Primero que nada, excelente tu proyecto!..

Siempre he querido comunicar matlab/simulink con alguna placa.. me podrias indicar como hacerlo??

Muchas gracias

28. 28 Universidad dijo a las 5:51 del 28/03/2012:

hola, todo esta perfecto pero como conectaste el arduino con el puerto serie para que envie y controle

la posicion del pot, solo conectast los 2 pines (tx y rx del arduino ) con los tx y rx del puerto serie de

la compu??

29. 29 vladimir dijo a las 13:04 del 02/04/2012:

Page 10: Arduino + Matlab_Simulink_ Controlador PID

6/4/2014 Arduino + Matlab/Simulink: controlador PID

http://wechoosethemoon.es/2011/07/21/arduino-matlab-simulink-controlador-pid/ 10/19

Universidad, hola, no soy jorge pero estoy haciendo este proyecto y te puedo aclarar tu pregunta, la

comunicacion serie se establece a traves del programa de arduino que ha expuesto jorge más arriba, o

sea que es via software, no es una conexión fisica…espero que te sirva mi aclaración, cualquier cosa

podemos seguir comentando..un saludo

30. 30 Osiris dijo a las 15:30 del 21/04/2012:

Yo eh logrado reproducir exitosamente el proceso por medio de la librería de arduino para simulink el

sistema funciona excelente gracias jorge. Saludos desde mexico

31. 31 Jorge García Tíscar dijo a las 15:34 del 21/04/2012:

Hola! Sería muy interesante que compartieras tu enfoque del problema Osiris! Y Vladimir tiene razón,

la conexión serie es emulada por software, físicamente está conectado por USB.

32. 32 emanuel sosa dijo a las 22:35 del 30/04/2012:

Hola que tal!!! La verdad me llamó mucho la atención tu trabajo, en mi caso tengo un motor con

encoder y sensor hall, como me recomiendas adaptarlo para que en vez de potenciómetro use elencoder

33. 33 Emmanuel dijo a las 9:06 del 10/05/2012:

Queria preguntar que Diodo usaste y por MOSFET

34. 34 mackito dijo a las 19:33 del 21/05/2012:

hola amigos!!! muy buen sitio… voy a usar su programa para hallar los coeficientes del pid (una

especie de “autotuning”) para controlar 4 esc con motores brushless, el proyecto es un un quadcopter

controlado por arduino…. saludos de Colombia… cualquier cosita les voy comentando… de

antemano muchas Gracias….

35. 35 Jorge García Tíscar dijo a las 19:35 del 21/05/2012:

Hola! Te agradeceremos que nos mantengas informados al respecto!

36. 36 Jose Mejia dijo a las 0:41 del 23/05/2012:

Buenas tardes! Mi nombre es jose mejia y soy estudiante de ultimo semestre de ingenieria deproduccion en la ciudad de Medellin, colombia. Le escribo porque en internet encontre esta pagina

suya donde muestran un sistema de comunicacion en serie con controladores PID en el programa de

Matlab.Estoy muy interesado en saber si usted de pronto me puede colaborar en una asesoria. Yo

tengo que implementar un controlador PID en matlab para un tanque. Entonces tengo que programar

este controlador para este trabajo. Quisiera saber si usted me puede colaborar en realizar este trabajo,

osea programando eso. Espero sus pronta respuesta. Saludos y estoy atento a su respuesta.

Jose Calixto

37. 37 Landiner dijo a las 2:04 del 23/05/2012:

Ola , me a parecido interesante lo que se puede hacer con simulink, tengo la duda de como puedo leer

un sensor y graficarlo en simulink. es un acelerometro, lo puedo graficar en matlab creando la figura

Page 11: Arduino + Matlab_Simulink_ Controlador PID

6/4/2014 Arduino + Matlab/Simulink: controlador PID

http://wechoosethemoon.es/2011/07/21/arduino-matlab-simulink-controlador-pid/ 11/19

pero solo me da aceleracion, lo que quiero es integrarlo dos veces para obtener posicion, y ya me han

dicho que es con simulink , pero no logro hacer graficar nada con el scope, hay algun procedimientopara configurar mi tarjeta arduino? solo es la señal analoga del acelerometro que se manda por AO.

les agradeceria mucho.

38. 38 Yhosy dijo a las 23:37 del 12/06/2012:

q onda soy alumno de 6 semestre de ing. y y estoy realizando su proyecto pero me tope con un

problema y espero me puedan ayudar pues no se q transistor mosfet y diodo utilizan para el circuito enla protoboard espero su respuesta

39. 39 Electronico dijo a las 6:13 del 16/06/2012:

Jorge en el bloke serial send sale (Data type mismatch. Input port 1 of block ‘helicopsimik/serial Send

/S-Function’ expects a signal of data type ‘double’. However, it is driven by a signal of data type

‘uint8′) y le cambio en el primer conv1 a double y grafica una pequena linea amarilla si hacer conexion

fisica , no se cambia nada enel serial paramatros/serial format o se deja tal cual ala hora de pornerlo

40. 40 TonyS dijo a las 6:10 del 19/06/2012:

Hola xa todos

Primero darle las gracias por tan buenos apuntes que hacen, me sirvio mucho este y otro que hay

sobre comunicacion Arduino+Matlab, quisiera preguntar sobre que lenguaje de programacion realizanla programacion del Arduino, he tenido unos problemas implementando una serie de codigos que

estoy realizando, y el que encontre aca no me presento ningun problema.Muchas gracias

41. 41 vladimir dijo a las 18:10 del 26/06/2012:

chicos yo estoy teniendo un problema con el serial send y no sé por qué ocurre…es el siguiente

Error evaluating registered method ‘Outputs’ of M-S-Function ‘sserialsb’ in ‘vladmoo/Serial Send’.

An error occurred during writing.

he probado a limpiar el buffer de arduino cosa que este estuviese lleno y el serial send no pudiese

escribir..pero nada..si alguien sabe porfa que me eche un cable..saludos

42. 42 andres rivas dijo a las 21:00 del 05/07/2012:

hola amigo.. he iniciado un proyecto de control basandome en tu estructara de control en el simulink

pero el pid no me esta enviado los datos al arduino, es decir, no esta funcionando no se a q podriadeberse… si tuvo un problema similar a este por favor agredeceria su ayuda.

43. 43 Richard dijo a las 9:17 del 01/08/2012:

Primero q todo felicitaciones por tan buen proyecto. Me gustaria saber cuales son las referencias delMOSFET y diodo zener q utlizaron en la etapa de potencia.

Agradezco su atencion a la presente.

44. 44 Fredy dijo a las 15:37 del 02/08/2012:

Page 12: Arduino + Matlab_Simulink_ Controlador PID

6/4/2014 Arduino + Matlab/Simulink: controlador PID

http://wechoosethemoon.es/2011/07/21/arduino-matlab-simulink-controlador-pid/ 12/19

Hola

Primero darle las gracias por tan buenos aportes que ustedes nos suministran, quería comunicarles queme funciono perfecto el ejecutable de simulink, les escribo para preguntarles si existe la posibilidad de

facilitarme la programación en matlab ya que para el proyecto que estoy realizando es de vitalimportancia este código.

Agradezco de antemano su pronta respuestaMuchas gracias

45. 45 Richard dijo a las 20:53 del 05/08/2012:

Que tipo de turbina utilizaron para el proyecto. Gracias

46. 46 Cristian Gisel dijo a las 23:02 del 07/08/2012:

oyee see qiero enviar datos mas grandes qe 255 como lee en matlab ?

47. 47 Oscar dijo a las 22:55 del 15/08/2012:

Hola amigos primero que nada felicitarlos por lo que hicieron esta muy bueno en segundo lugar estoy

realizando un proyecto similar para mis clases y pues me gustaría saber que bloque utilizaron para lageneración de la referencia en el ambiente de matlab.

Saludos.

48. 48 Ivan dijo a las 9:01 del 17/08/2012:

amigo una pregunta, la comunicacion la haces con el mismo cable usb con el que conectas el arduino

con la PC?

49. 49 Ivan B dijo a las 7:39 del 19/08/2012:

buen dia amigo, oye a ti no te aprecio un problema de que necesita estar enviando datos simulink al

arduino para que se empiece a graficar en matlab?

50. 50 Worrent Dark dijo a las 5:13 del 10/10/2012:

Gracias exelente me voy a ver si puedo hacerlo funcionar para controlar un regulador buck para hacerun MPPT para unos paneles solares

51. 51 Miki dijo a las 6:53 del 05/11/2012:

Podrias poner el código de simulink nuevamente, esta caido el enlace

52. 52 Isra dijo a las 2:58 del 08/11/2012:

Que tal, excelente trabajo! ¿Podrías subir el archivo de simulink?

53. 53 Julian dijo a las 16:41 del 09/11/2012:

Lo mismo, Jorge podrias subir el archivo de simulink??

Excelente aporte!!!

Page 13: Arduino + Matlab_Simulink_ Controlador PID

6/4/2014 Arduino + Matlab/Simulink: controlador PID

http://wechoosethemoon.es/2011/07/21/arduino-matlab-simulink-controlador-pid/ 13/19

54. 54 Jorge García Tíscar dijo a las 20:07 del 09/11/2012:

Listo, ahora está aquí, un saludo!

55. 55 Julian CHILE dijo a las 16:24 del 10/11/2012:

Como calculaste tus parametros para el PID???

56. 56 Jorge García Tíscar dijo a las 17:20 del 10/11/2012:

Probando cuidadosamente. Pero siempre puedes probar el método de Ziegler-Nichols.

57. 57 JAIME CANDELARIA SOLIS dijo a las 22:43 del 11/11/2012:

Hola, oye disculpa una pregunta, como haces para realizar la simulacion de Simulink en tiempo real??Que parametros modificaste en la configuracion de la simulacion. Sabes que yo tambien necesito

controlar un motor mediante el puerto serial pero cuando intento hacer la simulacion me dice que elpuerto serial no se puede simular en “tiempo continuo”. Agradeceria mucho tu respuesta, gracias yexcelente proyecto!

58. 58 Tonatiuht dijo a las 23:00 del 28/11/2012:

Hola! Crees que se pueda hacer lo mismo pero con un fuzzy? Estoy intentando en hacerlo, espero

funcione

59. 59 Alejandro Suarez dijo a las 17:43 del 29/11/2012:

Hola muy bueno tu proyecto me podrias ayudar con el codigo para el simulink esque se me complica

un poco, ya que no se en donde esta il icono para el serial COM 4

60. 60 cham dijo a las 17:30 del 01/12/2012:

hi, the project is cool. may i know how do you solve the problem of data transmission delay? i’m tryingto do it in a higher sample time, but i got some delay. thanks in advance

61. 61 Darwin Ipiales dijo a las 1:31 del 04/12/2012:

hola disculpa me podrias informar que materiales usaste

62. 62 Daniel Sanchez dijo a las 4:16 del 04/12/2012:

me gustaría saber como sacar el puro pwm modulandolo desde la PC, pues trato de controlar unmecanismo de 3GDL con un PID hecho por mi mismo, buen proyecto, gracias!

63. 63 Guillermo Sahonero Álvarez dijo a las 19:42 del 10/12/2012:

Que tal Jorge. Muy interesante el proyecto que realizaste. Tengo unas dudas sobre la estructura física,que MOSFET usaste? Y como es que el potenciómetro puede medir el ángulo de inclinación?

Finalmente, no sé si podrías publicar una fotografía más cercana a la plataforma. De antemano,Muchas Gracias!

64. 64 Manuel Otero dijo a las 6:07 del 06/02/2013:

Page 14: Arduino + Matlab_Simulink_ Controlador PID

6/4/2014 Arduino + Matlab/Simulink: controlador PID

http://wechoosethemoon.es/2011/07/21/arduino-matlab-simulink-controlador-pid/ 14/19

Si ya estás ocupando control digital por qué no implementas un algoritmo más adecuado para ello?Seguro que con el logaritmo de la tangente hiperbólica te quedaría de fábula.

65. 65 Danilo dijo a las 20:27 del 21/02/2013:

Hola, usted podria muestrar el diseño de la planta y la lista de materiales?

Hi, can you show me the draw of your project and the bill of materials used?

66. 66 Marc dijo a las 19:43 del 05/05/2013:

Buen ejemplo, sobre todo ilustrativo. Estoy trabajando con arduino, recibo los datos via serial y los

represento utilizando Processing. Con Processing necesito estar variando los la forma derepresentación, es algo tedioso.

Estoy intentando leer datos con el bloque que tu utilizas “serial recieve”, pero por alguna razón, al

intentar elegir el puerto (COM3) no me deja elegir ninguno, me sale la frase por defecto. Deboconfigurar algo antes?

Gracias!

67. 67 Marc dijo a las 22:23 del 05/05/2013:

Hola de nuevo, he solucionado el problema del serial receiver. Ahora tengo un segundo problema.

Recibo datos Int8 correctamente del serial receiver (comprobados).

Quiero que esos datos tengan decimales, si en serial receiver selecciono “double” los datos que me da

no son correctos.

Una segunda opción es obtener int8 del serial reciever y convertirlos a double con un conversor, comotu haces. El problema es que no se convierten a double, siguen siendo enteros.

En tu video no se aprecia si el bloque “conv2″ realiza realmente la conversión a double. La leyenda deleje de ordenadas va de 50 en 50. Pusiste un bloque display para comprobarlo?

Agradecería tu respuesta porque estoy buscando sin cesar la solución asumiendo que a ti si te cambiaa double.

Gracias por tu tiempo,

Un cordial saludo,Marc

68. 68 komar dijo a las 1:06 del 19/05/2013:

Hola, soy nuevo usando matlab, y me parece interesante el proyecto, quisiera tomar idea haciendoeste proyecto, puedes, decirnos k mosfet usaste?, te lo agradeceré. Y espero también ayudar a otros

de igual forma.

69. 69 Benjamín_PUC_CHILE dijo a las 6:37 del 27/05/2013:

Muchisimas gracias!Con tu ayuda podré terminar un proyecto de péndulo invertido en el que estoy trabajando.

Page 15: Arduino + Matlab_Simulink_ Controlador PID

6/4/2014 Arduino + Matlab/Simulink: controlador PID

http://wechoosethemoon.es/2011/07/21/arduino-matlab-simulink-controlador-pid/ 15/19

(Quedará la referencia a esta página)

Saludos!

70. 70 Jorge García Tíscar dijo a las 21:23 del 27/05/2013:

Genial! Deja el enlace cuando lo tengas para que lo veamos! =)

71. 71 Juako dijo a las 21:45 del 21/01/2014:

Muchas gracias Joge, estoy omenzando un proyecto para un pendulo invertido con simulink y estetutorial me aclaró algunas dudas, de todas formas te queria preguntar si sabes sobre conexion

Arduino-Simulink a traves del Shield de Bluetooth de arduino, si es posible realizarla, espero puedasaclararme esa duda. Saludos

72. 72 Angel-UVMCOYOACAN dijo a las 21:20 del 18/02/2014:

Disculpa soy nuevo en esto pero me gustaría saber que arduino utilizaste y como se realiza la conexión

Simulink-Arduino gracias.

73. 73 Victor Gomez dijo a las 3:23 del 02/03/2014:

¿Como puedo hacer para corregir los Bad link que aparecen en el simulink?

74. 74 juan dijo a las 6:27 del 13/03/2014:

hola como estas? amigo como puedo graficar en matlab 3 datos del arduino, asi como esta estegráfico con 3 colores de legend, quiero graficar un setpoint una lectura de un sensor de temperatura y

una salida de un control PID de la libreria del arduino todo funciona y lo veo por el monitor serial delarduino con Serial.print(datos) , pero nesecito graficarlos en matlab. gracias. muy buena información

gracias

75. 75 Ricardo Vega dijo a las 5:03 del 14/03/2014:

¿Cómo desarrollaste el modelo matemático para este proyecto?

76. 76 rafa dijo a las 11:53 del 30/03/2014:

Hola Jorge tengo un problema haber si me lo puede solucionar alguien.He realizado un programa

exactamente igual que el tuyo pero con mi COM3 en vez de el COM6 que ese es el tuyo pero alejecutar al progrma me da fallo en el Serial Send y me pone que arregle el ‘ode45′ y nose como lo

puedo solucionar.Me podeis ayudar?

Gracias

Anímate y deja un comentario, it's free!

Puedes iniciar sesión con Twitter, Faccebook o WordPress o bien introducir un nombre y dirección decorreo (y una página, si quieres!). Sólo tienen que ser verdaderos si quieres que te podamos contestar!

Page 16: Arduino + Matlab_Simulink_ Controlador PID

6/4/2014 Arduino + Matlab/Simulink: controlador PID

http://wechoosethemoon.es/2011/07/21/arduino-matlab-simulink-controlador-pid/ 16/19

Introduce tu comentario aquí...

Mensajes y Páginas Populares

Arduino + Matlab/Simulink: controlador PIDArduino + Matlab: adquisición de datos

Arduino + LabVIEW: instrumentos virtualesArduino + motor DC: circuito PWM

Teoría de grafos y redes socialesDropbox + VirtualBox: aumentar espacio!Díselo con Mathematica

Melodías con Arduino: Für EliseMATLAB: aceleración de cálculo con GPU

Mathematica y CDF: Solución de Navier

Etiquetas

Aeropuerto Altavoz Apocalipsis Zombie Arduino CDF Cocina CUDA DAQ Datos Dropbox Estructuras Facebook Gephi GPGPU

GPU computing Gráficos LabVIEW LaTeX Linux LyX Mathematica MATLAB Miktex MOSFET

Motor Música Navier nVidia PID proxy PWM Redes sociales Sensores Serie Simulink Spotify Tex Texmaker Tutorial Ubuntu

Valencia VI VirtualBox Virtualización Wolfram

Categorías

Aeronáutica

Cosas "útiles"Engineer-It-Yourself

RecetasSin categoría

Tutoriales

Publi de Google

Horror! Los tenebrosos tentáculos del capitalismo se extienden hasta el inmaculado templo de la ciencia! Pero tenemosque mantener el dominio y adquirir café, pociones, hechizos componentes electrónicos... etc.!

Page 17: Arduino + Matlab_Simulink_ Controlador PID

6/4/2014 Arduino + Matlab/Simulink: controlador PID

http://wechoosethemoon.es/2011/07/21/arduino-matlab-simulink-controlador-pid/ 17/19

Calendario de publicaciones

julio 2011

L M X J V S D

« ago ago »

1 2 3

4 5 6 7 8 9 10

11 12 13 14 15 16 17

18 19 20 21 22 23 24

25 26 27 28 29 30 31

Archivos

febrero 2012

enero 2012diciembre 2011

noviembre 2011septiembre 2011

agosto 2011julio 2011agosto 2009

Otra publi de Google

Un poquito más de publi! Procuramos que se camufle para que no moleste si estás leyendo la (interesante?) publicación!Pero si te da mucha rabia, usa Adblock! ;-)

Pedagogía Infantiladmisionesareandina.com

Estudia en Fund. del

Área Andina. Modalidad

Virtual. ¡Inscríbete ya!

Page 18: Arduino + Matlab_Simulink_ Controlador PID

6/4/2014 Arduino + Matlab/Simulink: controlador PID

http://wechoosethemoon.es/2011/07/21/arduino-matlab-simulink-controlador-pid/ 18/19

Suscríbete!

Introduce tu correo electrónico para suscribirte a este blog y recibir notificaciones de nuevas entradas.

Únete a otros 12 suscriptores

Dirección de email

Suscribir

Más publi!

Desgraciadamente hay que pagar los costes de alojamiento y dominio de la página! Esperamos que no iterfierandemasiado con el interesantísimo contenido de la izquierda! (:

Meta

Acceder

RSS de las entradasRSS de los comentariosWordPress.org

Gerencia deMercadeoestudiaenelpoli.edu.co/Mercadeo

Posgrado presencial

en el Poli. Inscripciones

Abiertas. Ingresa ya!

Page 19: Arduino + Matlab_Simulink_ Controlador PID

6/4/2014 Arduino + Matlab/Simulink: controlador PID

http://wechoosethemoon.es/2011/07/21/arduino-matlab-simulink-controlador-pid/ 19/19

Jorge García Tíscar —