PID Digital (paso a paso).pdf

14
PID Digital (paso a paso) http://www.todopic.com.ar/foros/index.php?topic=24599.0[18/01/2013 06:55:06 p.m.] Buscar en TodoPIC TODOPIC Microcontroladores PIC * PROYECTOS * (Moderadores: J1M, jfh900, MGLSOFT, Modulay, Sasián, LABmouse) PID Digital (paso a paso) 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo » Páginas: [1] 2 3 4 Autor Tema: PID Digital (paso a paso) (Leído 28992 veces) PID Digital (paso a paso) « : 27 de Enero de 2009, 20:48:20 » krakc PIC10 Desconectado Colombia Mensajes: 29 Hola a todos. Amigos tengo un proyecto para una materia y me gustaria que me ayudaran, pero la verdad es que no quiero nada hecho, lo que deseo es que me ayuden a hacerlo paso a paso, uds me guian y yo lo hago, quiza algunas cosas ya esten hechas, pero si no hago las cosas no aprendo y esa es mi mas grande ilusion. Objetivo: Crear un control PID digital usando pic16f877a para controlar la temperatura de un horno. Datos: La planta sera un cajon de madera y en su interior estara una bombilla de 60W la cual hara las veces de calefactor, esta bombilla se controlara usando pwm, el cual con la ayuda de un circuito adicional controlara la intensidad luminica de la bombilla y a su vez el calor generado. Para sensar la temperatura se usara un LM35 el cual da 10mV/ºC Nota: Ire editando este post a medida como vaya realizando nuevas cosas y recibiendo sugerencias y correcciones de su parte. PASO 1: * Armamos el circuito sensor usando el LM35, probamos de que sense bien la temperatura y lo introducimos en nuestra caja de madera, previamente elaborada; hay que tener en cuenta de que la caja quede bien sellada una vez se cierre, o habra problemas al momento de controlar y sensar la temperatura. PASO 2: * Graficamos los datos y hallamos la ecuacion caracteristica de la planta, esta ecuacion es distinta para cada planta, podemos usar un cicruito/programa sensor de temperatura que nos ayude a tomar los datos de la temperatura cada cierto intervalo de tiempo.... o ..... usamos lapiz, papel y cronometro para hacer todo manual... yo lo hare manual. -- Con estos datos pasamos a elaborar la grafica, manualmente, usando excel o usando matlab, como aqui lo que queremos es aprender, pues usaremos matlab, para eso ingresamos los datos en matlab en forma de dos matrices (tiempo/temperatura) y que nos la grafique. Codigo para graficar los datos (esto es un ejemplo, los datos reales son demasiados): clc; tiempo[0 1 2 3 4 5 6 7 8 9 10]; temperatura[25 25 26 27 28 29 30 30 31 31 31]; plot(tiempo,temperatura) Listo ahora tenemos graficada la respuesta de la planta ante una entrada escalon unitario. Lo siguiente lo pueden hacer como lo explico a continuacion o como lo explica blackcat en un post mas adelante, los dos metodos son validos, ya cada quien escogera. Para hallar la ecuacion, nos vamos a matlab (donde esta el workspace), alli veremos un boton que dice START (con el logo de matlab), pulsamos ese boton, luego click en toolboxes, luego en curve fitting y por ultimo en curve fitting tool: (figura 1) Buscar: Búsqueda Avanzada Bienvenido(a), Visitante. Por favor, ingresa o regístrate. ¿Perdiste tu email de activación? 18 de Enero de 2013, 21:51:09 Siempre Ingresar con nombre de usuario, contraseña y duración de la sesión 322166 Mensajes en 35886 Temas por 36172 Usuarios Último usuario: tecnica3

Transcript of PID Digital (paso a paso).pdf

Page 1: PID Digital (paso a paso).pdf

PID Digital (paso a paso)

http://www.todopic.com.ar/foros/index.php?topic=24599.0[18/01/2013 06:55:06 p.m.]

Buscar en TodoPIC

TODOPIC Microcontroladores PIC

* PROYECTOS * (Moderadores: J1M, jfh900, MGLSOFT, Modulay, Sasián,LABmouse)

PID Digital (paso a paso)

0 Usuarios y 1 Visitante están viendo estetema.

« anterior próximo»

Páginas: [1] 2 3 4

Autor Tema: PID Digital (paso a paso) (Leído 28992 veces)

PID Digital (paso a paso)« : 27 de Enero de 2009, 20:48:20 »

krakcPIC10

Desconectado

Colombia

Mensajes: 29

Hola a todos.

Amigos tengo un proyecto para una materia y me gustaria que me ayudaran, pero la verdad es que no quiero nada hecho, loque deseo es que me ayuden a hacerlo paso a paso, uds me guian y yo lo hago, quiza algunas cosas ya esten hechas, pero sino hago las cosas no aprendo y esa es mi mas grande ilusion.

Objetivo: Crear un control PID digital usando pic16f877a para controlar la temperatura de un horno.

Datos: La planta sera un cajon de madera y en su interior estara una bombilla de 60W la cual hara las veces de calefactor, estabombilla se controlara usando pwm, el cual con la ayuda de un circuito adicional controlara la intensidad luminica de la bombillay a su vez el calor generado. Para sensar la temperatura se usara un LM35 el cual da 10mV/ºC

Nota: Ire editando este post a medida como vaya realizando nuevas cosas y recibiendo sugerencias y correcciones de su parte.

PASO 1:

* Armamos el circuito sensor usando el LM35, probamos de que sense bien la temperatura y lo introducimos en nuestra caja demadera, previamente elaborada; hay que tener en cuenta de que la caja quede bien sellada una vez se cierre, o habraproblemas al momento de controlar y sensar la temperatura.

PASO 2:

* Graficamos los datos y hallamos la ecuacion caracteristica de la planta, esta ecuacion es distinta para cada planta, podemosusar un cicruito/programa sensor de temperatura que nos ayude a tomar los datos de la temperatura cada cierto intervalo detiempo.... o ..... usamos lapiz, papel y cronometro para hacer todo manual... yo lo hare manual.

-- Con estos datos pasamos a elaborar la grafica, manualmente, usando excel o usando matlab, como aqui lo que queremos esaprender, pues usaremos matlab, para eso ingresamos los datos en matlab en forma de dos matrices (tiempo/temperatura) yque nos la grafique.

Codigo para graficar los datos (esto es un ejemplo, los datos reales son demasiados):

clc;tiempo[0 1 2 3 4 5 6 7 8 9 10];temperatura[25 25 26 27 28 29 30 30 31 31 31];plot(tiempo,temperatura)

Listo ahora tenemos graficada la respuesta de la planta ante una entrada escalon unitario.

Lo siguiente lo pueden hacer como lo explico a continuacion o como lo explica blackcat en un post mas adelante, los dosmetodos son validos, ya cada quien escogera.

Para hallar la ecuacion, nos vamos a matlab (donde esta el workspace), alli veremos un boton que dice START (con el logo dematlab), pulsamos ese boton, luego click en toolboxes, luego en curve fitting y por ultimo en curve fitting tool: (figura 1)

Buscar: Búsqueda Avanzada

Bienvenido(a), Visitante. Por favor, ingresa o regístrate.¿Perdiste tu email de activación?18 de Enero de 2013, 21:51:09

Siempre

Ingresar con nombre de usuario, contraseña y duración de la sesión

322166 Mensajes en 35886 Temas por36172 UsuariosÚltimo usuario: tecnica3

Page 2: PID Digital (paso a paso).pdf

PID Digital (paso a paso)

http://www.todopic.com.ar/foros/index.php?topic=24599.0[18/01/2013 06:55:06 p.m.]

Figura 1

Se nos abrira una ventana nueva y alli daremos click en el boton Data... en la ventana que se abrio en X data ponemos lavariable tiempo y en Y data la variable temperatura (o sus los nombres que uds les tengan asignados) .. si no les aparece nadaes por que tienen que haber corrido su codigo de graficacion de sus datos reales para que las variables del tiempo ytemperatura aparezcan en el workspace...

luego daremos click en Create date set. y click en close (figura 2)

Figura 2

La grafica mostrada sera muy similar a la de su figure 1, pero en forma de puntos, lo cual no es ningun problema, por queahora vamos a hallar nuestra ecuacion, para eso hacemos lo siguiente:

click en el boton fitting, luego en new fit .... aqui es donde les voy a recomendar algo a titulo personal...

Recomendacion: traten de la ecuacion quede en terminos de eulers y no en forma de polinomio, ya que si es asi todos los polosles quedaran en el mismo lugar (en cero) y no es muy buena idea para los calculos, pero en fin ya sabran uds como hacerlo...

Vamos a modificar unicamente donde dice Tye of fitt. ahi podran ver todo el tipo de ecuaciones con las cuales se puederepresentar nuestra curva caracteristica de la planta... si siguen mi recomendacion entonces buscar donde dice exponential yescogemos el tipo de ecuacion ( a*exp(bx) + c*exp(dx) ) y hacemos click en apply... luego de eso nos aparecera nuestraecuacion (la que nos describe nuestros datos) ... si tienen dudas de que valores para las constantes escoger, escojan lospromedios, osea los valores que estan fuera de los parentesis ... (figura 3)

Figura 3

Ahora damos click en close y confirmamos que la ecuacion reproduce lo mas fielmente posible la grafica de nuestros datos si esasi ya tienemos nuestro y(t) = a*exp(bt) + c*exp(dt) y tambien los valores de las constantes... y si no s asi buscamos la quemejor lo haga.. pero estoy un 90% seguro de que la funcion exponential lo hara de maravilla.

Por lo tanto obtenemos una ecuacion y(t) = a*exp(b*t) + c*exp(d*t) aplicando laplace obtenemos:

32.98 s + 0.06097Y(S) = ---------------------------- s^2 + 0.00141 s - 9.773e-009

Para mi caso ... a uds les dara una ecuacion similar .. matlab tambien lo hace usando el codigo

syms ta = 42.98;b = -6.9x10^-6;c = -10.15;d = 0.001417;yt = a*exp(b*t) + c*exp(d*t)YS = laplace (yt)

pero la verdad es que se ve muy raro y desordenado, asi que recomiendo lapiz y papel que hacerlo no es dificil y ademas saledirecto, luego se aplica un poco de algebra, se reemplazan valores y listo.

Ahora sabemos que dentro de Y(S) tenemos implicito nuestra entrada escalon unitario, po lo tanto nuestra G(S) sera:

32.93 s^2 + 0.06097 sG(S) = ---------------------------- s^2 + 0.00141 s - 9.773e-009

Ahora tenemos que determinar el tiempo de muestreo (T) para eso podemos usar el metodo que describe blackcat masadelante o podemos asumirlo, ya cada quien decidira, por mi parte lo sumire como T=0.1

Page 3: PID Digital (paso a paso).pdf

PID Digital (paso a paso)

http://www.todopic.com.ar/foros/index.php?topic=24599.0[18/01/2013 06:55:06 p.m.]

« Última modificación: 10 de Febrero de 2009, 16:59:49 por krakc» En línea

Re: PID Digital (paso a paso)« Respuesta #1 : 27 de Enero de 2009, 22:21:35 »

Pasamos a la parte en que tenemos que aplicar la transformada Z para poder discretizar nuestro G(S) y obtener nuestro G(Z).. pero recuerden que G(Z) no es igual a la transformada Z de G(S) si no que lleva incorporado un retenedor de un ordencualquiera, para este caso usaremos uno de orden cero... y lo llamaremos Bo(S) asi que:

G(Z) = Z/ Bo(S) G(S) donde Z/ sera la tranformada Z de todo eso... bueno para los amantes del lapiz y papel, podeis hacerlo,por que por mi parte no lo voy a hacer, para eso voy a usar matlab y el siguiente codigo.

n1=32.98;n2=0.06097;d1=1;d2=0.0014101;d3=-(9.773/1000000000);GS=tf( [n1 n2 0], [d1 d2 d3])

T=0.1;GZ=C2D(GS,T,'zoh')

donde zoh indica a matlab que se va a usar un retenedor de orden cero. osea nuestro Bo(S)

y el resultado que nos entrega matlab sera el siguiente:

3.293 z - 3.292G(Z) = ------------------ z^2 - 2 z + 0.9999 Sampling time: 0.1

Bueno hasta aqui todos deberiamos llevar algo similar, ahora es donde yo me he decidido por hacer un controlar por el metodode ragazzini .. asi que por ahi es donde lo haremos....

lo primero es hallar los polos deseados teniendo en cuenta las siguientes condiciones de lazo cerrado.essp = 0 ; Test 5% = 10 seg ; T = 0.1 ; Zcita = 0.5

usando formulas ya conocidas en nuestros estudios realizados obtenemos los dos polos deseados Z(1,2):

Z(1,2) = 0.9691 +/- j 0.0504 lo cual llamaremos (alfa +/- j beta) para comodidad

El metodo ragazzini nos dice que:

F(Z) = K / P(Z)

ahora P(Z) = (Z - Z1) (Z - Z2) como ya sabemos los valores de Z1 y Z2 entonces reemplazamos... pero podemos hacer algomejor y es reemplazar por las letras y despejar para que nos quede algo asi:

P(Z) = Z^2 - 2 alfa Z + (alfa^2 + beta^2) ahora se reemplazan los valores y listo.

para que ragazzini funcione se dice que F(1) = 1 .. lo cual es de gran ayuda.. sabemos por formula que:

F(Z) = K / P(Z) --- reemplazamos P(Z) y nos quedara asi:

F(Z) = K / Z^2 - 1.9382 Z + 0.94169 --- hacemos F(1) = 1 --- quedando: 1 = K / 1^2 - 1.9382 + 0.94169 -- despejando K

K = 0.00349 ahora pasamos a la parte interesante...

D(Z) = [ 1/G(Z) ] [ F(Z) / 1 - F(Z) ]

pero como todo se puede simplificar entonces lo hacemos.

D(Z) = [ 1 / G(Z) ] [ K / P(Z) - K ]

como ya conocemos todas las variables y ecuaciones, simplemente hallamos D(Z)

D(Z) = [ 0.001058Z^2 - 0.002116Z + 0.001058 ] / [ Z^3 - 2.93769Z^2 - 0.9379 ]

Bueno la parte final es hallar la ley de control, para eso cambiamos D(Z) por u(Z)/ e(Z) y multiplicamos al otro lado por Z^-3 /Z^-3

quedandomos asi:

u(Z) 0.001058Z^-1 - 0.002116Z^-2 + 0.001058Z^-3----- = ---------------------------------------------------------e(z) 1 - 2.93769Z^-1 + 0.9382Z^-2 - 0.9379Z^-3

ahora el denominador pasa a multimplicar a u(Z) y e(Z) a multiplicar al numerador. luego de lo cual despejamos u(Z) y depaso usamos una un teorema que dice en resumen que u(Z)Z^-1 = u(Z-1) .. lo mismo con e(Z) .... ahora cambiamos Z por kquedando finalmente la ley de control asi:

u(k) = 0.001058 e(k-1) - 0.002116 e(k-2) + 0.001058 e(k-3) + 2.93769 u(k-1) - 0.9382 u(k-2) + 0.9379 u(k-3)

esta ley de control u(k) es la que programamos para poder controlar nuestro sistema

SE EDITARA A MEDIDA QUE SE AGREGUEN NUEVAS COSAS....

blackcatColaborador

Page 4: PID Digital (paso a paso).pdf

PID Digital (paso a paso)

http://www.todopic.com.ar/foros/index.php?topic=24599.0[18/01/2013 06:55:06 p.m.]

PIC24F

Desconectado

Sexo:

Costa Rica

Mensajes: 600

Hola ...

Para poder estimar un sistema con matlab se utiliza la herramienta IDENT .. esta es muy facil de usar, lo que se necesita es losiguiente:

-> un vector de entradas (x) ... la señal de estimulo que aplicaste al sistema-> un vector de salidas (y) ... la señal de respuesta que obtuviste del sistema al aplicar la señal de entrada -> un vector de tiempo (t) ... los tiempos de cada muestra, deben ser constantes, es decir, 1, 2, 3, 4 segundos etc ... y no 1,1.5, 2, 3, 5, 8 .. etc..

Con eso IDENT identificará el sistema que se encuentra adentro.

Lo que necesitas es una señal de prende o apaga el bombillo .. o bien una señal de volaje RMS que le aplicas al bombillo, luegodebes medir en tiempo real el comportamiento de la temperatura ante la señal. Un escalon como lo estas haciendo, es posible,sin embargo solo tenes el comportamiento de calentar y no de enfriar.

Para poner a prueba el IDENT me inventé un sistema tipico y muy facil de entender .. un filtro pasobajos RC de primer orden,representado en Laplace como:

Es decir R = 1k y C = 1uF ... siendo tau = 1ms;

>> R = 1000>> C = 1e-6>> G = tf( 1, [R*C 1] )

Lo que voy hacer es inventar un vector de entradas, estimulare el sistema con esas entradas y utilizaré IDENT para identificarel sistema; lo ideal es que obtenga un resultado como en de la ecuacion anterior. En el caso practico, no conozco la ecuacióndel sistema, pero lo que se acostumbra es estimular el sistema con diferentes vectores de entrada y estimar varios modelos ycomparar el resultado con los otros vectores.

Como mencioné, es necesario que tenga un vector de datos de entrada y ver la respuesta del sistema (salida) ante esaentrada, el mejor vector de entrada es aquel que tenga un buen contenido de frecuencia, ruido por ejemplo; sin embargo,dependiendo del sistema esto se complica, por ejemplo, en un motor; lo recomendable es estimar el modelo matemáticamentey ver que frecuencias son las aptas para crear una señal de estímulo; por ejemplo, el modelo de un motor es parecido a unfiltro pasobajos, entonces utilizamos una señal que contenga componentes de frecuencia dentro del ancho de banda del motor.

Como en este caso, el ejemplo es simulado, utilizo la función RAND para generar un vector de entrada aleatorio de 100muestras:

>> x = rand([100, 1])

Esta es mi señal de entrada, ahora, necesito el vector de salida, estimularé el sistema con la función LSIM, entre los datos deesta funcion está el vector de tiempo. Aqui voy a utilizar tiempo discreto y elejiré que el tiempo de muestreo sea un décimo dela constante de tiempo del sistema (tau = RC); en este caso, ts = 0.1ms. Genero un vector de tiempo de 100 datos desde 0hasta 99*0.1e-3.

>> n = (0:99)'>> ts = 0.1e-3>> t = n*ts

Ahora utilizo LSIM ....

>> y = lsim(G, x, t)

La grafica que obtengo en el tiempo es:

donde la linea azul es la entrada y la linea verde es la salida, veran que esta filtrada.

Ya tengo listo mi vector de entrada, salida y tiempo; esto es lo que tendria en la practica, una señal de entrada, elcomportamiento de la salida y el tiempo en que fue tomado cada dato. En el caso de la temperatura, el vector deentrada seria pulsos rectangulares, que me dicen cuando se prendio el bombillo y cuando permanecio apagado; la salida seriael aumento de temperatura y la disminucion de temperatura, el tiempo seria cada cuanto tome la muestra, como estemperatura puede ser de 1 o 3seg, constantes y no interrumpidos ... en este caso, tomar los datos a reloj en mano no esconveniente.

Yo conozco el sistema; sin embargo, la idea es estimar el sistema en tiempo discreto utilizando el vector de entrada, salida ytiempo; luego transformar el sistema a tiempo continuo y comparar.

Ejecuto IDENT

>>ident

Y aparece una pantalla como la siguiente:

Page 5: PID Digital (paso a paso).pdf

PID Digital (paso a paso)

http://www.todopic.com.ar/foros/index.php?topic=24599.0[18/01/2013 06:55:06 p.m.]

Lo que hacemos es en IMPORT DATA seleccionamos TIME DOMAIN DATA ... esto porque nuestros datos de entrada, salida ytiempo estan en el tiempo. Aparece un cuadro como asi:

Y lo lleno con la informacion que tengo, entrada (x), salida (y), tiempo de inicio (0), tiempo entre muestras (ts) como lo hiceen la figura. Damos IMPORT ..

En la columna de cuadros izquierda me aparece el bloque de datos que cargue en IDENT; ahi puedo cargar la cantidad de datosque desee y puedo combinar datos como de estimulo y verificacion, esto es que con un conjunto de datos puedo estimar elsistema y con otro conjunto puedo verificar si la estimacion está correcta.

Ahora, sobre ESTIMATE damos LINER PARAMETRIC MODELS ... aqui escogemos el método de estimación que mas nos guste oque mejor de resultados, sobre el tipo de estimador se puede encontrar información en internet:

http://www.ie.itcr.ac.cr/einteriano/control2/Laboratorio/3.Models.pdf

Yo elejí ARX tanto de orden 1 como de orden 2 ... entre mas orden es mejor la estimación; sin embargo, hay un compromiso,pues estimar un compensador para un sistema que tiene un orden alto es mas dificil que para uno bajo, entonces escogemos elmodelo de menor orden. Seleccionando la casilla MODEL OUTPUT aparecerá una gráfica que nos dice cual modelo es el quemejor se ajusta a los datos de salida. Vemos que con el modelo de 1º orden tenemos un ajuste de 100.

Ahora arrastramos el cuadro que dice ARX111 de la columna derecha sobre el cuadro TO WORKSPACE ... eso hara que losdatos del modelo lo tengamos en la linea de comando. Para ver el modelo ejecutamos:

>> H = tf(arx111)

Page 6: PID Digital (paso a paso).pdf

PID Digital (paso a paso)

http://www.todopic.com.ar/foros/index.php?topic=24599.0[18/01/2013 06:55:06 p.m.]

« Última modificación: 27 de Enero de 2009, 23:22:51 por blackcat» En línea

Re: PID Digital (paso a paso)« Respuesta #2 : 27 de Enero de 2009, 23:21:18 »

En línea

Re: PID Digital (paso a paso)« Respuesta #3 : 27 de Enero de 2009, 23:32:45 »

Transfer function from input "u1" to output "y1": 0.09516----------z - 0.9048 Transfer function from input "v@y1" to output "y1":1.665e-016 z------------ z - 0.9048 Input groups: Name Channels Measured 1 Noise 2 Sampling time: 0.0001

Entonces nuestro modelo estimado en tiempo discreto es:

Usamos:

>> G2 = d2c(H)

y obtenemos:

Vemos que IDENT identificó el sistema correctamente ... Utilizando este modelo podemos usar SISOTOOL y calcular demanera sencilla un compensador

Saludos y espero que les sirva de algo!

PD: Espero sus comentarios y estamos listos para la implementación PID en un PIC!

Control Automático, DSP & Microcontroladores

krakcPIC10

Desconectado

Colombia

Mensajes: 29

Bueno amigo me di a la tarea de buscar lo que no entendia y segun como voy armando las cosas paso a paso y encontre laprimera pregunta y la segunda.

Lo que has escrito esta completisimo y muy interesante, que cosas las que sabes, hombre yo ni lo habia pensado asi, pues loque queria era algo sencillo, pero eso seguro que servira, pero se necesita algo de tiempo para poder aprender a usarlo no esfacil...

pero eso no seria usando un circuito para leer los datos y que matlab los interprete????? si es asi a mi no me sirve jejeje pues yo tome los datos manualmente....

quisiera que veas lo que he hecho y veas que era lo que yo queria, haber si me entiendes:

****************usando datos experimentales (no son los reales) se intrducen a matlab, luego se grafican, una vez graficados lo que se hace esusar BASIC FITTING hallamos la ecuacion de esa grafica y este es el resultado... (se puede ver la ecuacion que mas se asemejeo modele mas fielmente la grafica)

--- aclaro que la grafica de los datos reales de la planta seran muy similares a esta grafica, pero con mucho mas datos ---

una vez teniendo esta ecuacion (la ecuacion de la grafica) se puede usar tf() para hallar la funcion de transferencia y empezarel pid matematicamente ??????''

blackcatColaboradorPIC24F

Desconectado

Sexo:

Costa Rica

Mensajes: 600

El detalle está en que estas estimando un modelo en el tiempo ante un escalon no podes usar TF asi por asi ya que TF crea elsistema deacuerdo a los coeficientes de la ecuacion diferencial ...

Podes hacer un tiempo de 10 segundos calentando (bombillo encendido), 5 seg enfriando (bombillo apagado), 3 segundoscalentando, 5 enfriando. Notaras un comportamiento en la temperatura como de carga o descarga. Con esta secuencia e IDENTpodes estimar un buen modelo.

Sin embargo, recuedo que unos compañeros estimaron un modelo termico similar a lo que estas haciendo, el siguiente PDFquiza te ayude:

http://www.ie.itcr.ac.cr/einteriano/control2/Clase2008/EjemploControldeunSistemaTermico.pdf

Page 7: PID Digital (paso a paso).pdf

PID Digital (paso a paso)

http://www.todopic.com.ar/foros/index.php?topic=24599.0[18/01/2013 06:55:06 p.m.]

« Última modificación: 27 de Enero de 2009, 23:44:11 por blackcat» En línea

Re: PID Digital (paso a paso)« Respuesta #4 : 27 de Enero de 2009, 23:44:07 »

En línea

Re: PID Digital (paso a paso)« Respuesta #5 : 28 de Enero de 2009, 00:16:15 »

« Última modificación: 28 de Enero de 2009, 00:23:01 por blackcat» En línea

Re: PID Digital (paso a paso)« Respuesta #6 : 28 de Enero de 2009, 03:17:19 »

En línea

Re: PID Digital (paso a paso)« Respuesta #7 : 28 de Enero de 2009, 15:00:27 »

Saludos!

Control Automático, DSP & Microcontroladores

krakcPIC10

Desconectado

Colombia

Mensajes: 29

Gracias amigo, creo que voy entendiendo, pues lo que yo he hecho es como me lo han enseñado, no me han dicho nada de loque tu me dices, pero lo hare y te dire como me va, lo mas seguro es que lo haga de mi forma y de tu forma...

por cierto el pdf esta completisimo, lo guarde y lo revisare mañana con mi compañero del pryecto y discutiremos los dosmetodos.

revise rapidamente el pdf y me fije que el siguiente paso a seguir es analizar la grafica....

bueno mañana revisare mas cosas, por que esto si va en serio XD

blackcatColaboradorPIC24F

Desconectado

Sexo:

Costa Rica

Mensajes: 600

Bueno ... metodos hay muchos .. sin embargo, segun mi experiencia, el metodo que te explique es el que mejor resultados meha dado, mi interes no se enfoca en solo los sistemas termicos sino en muchos como mecanicos (motores, etc ), magneticos,fluidos y hasta quimicos ...

El detalle que tienes que tener cuidado es que el PDF considera que el calentamiento y el enfriamiento es homogeneo, es decir,como la carga y descarga de un capacitor ... sin embargo, hay factores que pueden provocar que este comportamiento no seahomogeneo, como la disipacion termica, que tan aislante es la caja del exterior .. etc etc ...

Veo que eres nuevo por el foro y propusiste un tema que a mi parecer es bastante interesante y con mucha ingenieria ...(Aunque en la practica industrial el problema se soluciona con un regulador de temperatura autosintonizado .. ) queayuda a explotar la imaginacion y ciencia de todos los del foro. Te felicito pues me gustan este estilo de proyectos con muchocontenido matemático; sin embargo, aprender hacer un PID y todo el modelado involucra mucho conocimiento, en el que el fines que todos aportemos ideas y aprendamos.

Saludos!

Control Automático, DSP & Microcontroladores

Renatox_ColaboradorPIC24F

Desconectado

Sexo:

Peru

Mensajes: 532

La explicación que te ha dado blackat es buena a mi me ayudó para hallar la TF de mi motor, te permite hallar la función detransferencia con la transformada Z, con esta diseñas tu controlador discreto que lo llevas a tu pic en forma de ecuacion endiferencias.

Si usas ziegler-nichols tu respuesta al escalón tiene que tener la forma de S bien definida, para el caso de un motor dc estemétodo no me sirvió porque la S no estaba bien definida al comienzo y el PID no era nada real porque trataba de establecer almotor en pocos milisegundos cosa nada real.

El Lugar geométrico de las raices me resultó mucho más seguro y preciso, manejando el estado permanente y transitorio conmayor aproximación a como salia en la simulación.También podrías analizar tu sistema en el plano s y tu controlador analógico lo conviertes a uno digital.

saludos,

UNIEl comienzo del fin para los terroristas de las FARC

MarioColaboradorPIC24F

Desconectado

Sexo:

Mexico

Mensajes: 849

Información muy completa Blackcat.

Quizás les sirva estoesto

Tendré que realizar un modelado como lo hizo Blackcat para comprender y después hacer una identificación de parámetros paraun motor de DC (tomando RPMs vs tiempo).

Page 8: PID Digital (paso a paso).pdf

PID Digital (paso a paso)

http://www.todopic.com.ar/foros/index.php?topic=24599.0[18/01/2013 06:55:06 p.m.]

En línea

Re: PID Digital (paso a paso)« Respuesta #8 : 28 de Enero de 2009, 17:08:21 »

En línea

Re: PID Digital (paso a paso)« Respuesta #9 : 29 de Enero de 2009, 00:58:00 »

Es tiempo de BREAK

La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos quefuera y, quien tiene el oro, hace las reglas.George Terry

"A loser will defeat a genius with hard work"Rock Lee

krakcPIC10

Desconectado

Colombia

Mensajes: 29

Bueno segun he leido y leyendo sus aportes he concluido que el metodo de sintonizacion de ziegler-nichols no es muy exacto,pues se basa en algo un poco ideal....

entonces como ya tengo la ecuacion que define mi sistema, hallada con el maravilloso matlab, tengo que hallar ahora el G(s)de esa funcion.

para eso usamos matlab y hallamos la funcion de transferencia, para esto recurrimos a la ecuacion encontrada con basic fitting,lo que tenemos que hacer es crear una matriz y llenarla con los datos linealizados, si no saben el codigo aqui se los dejo:

X=0:1:10;Y=[];for jj=1:1 for ii=1:11 ecu=(0.002*(ii-1)^4) - 0.053*(ii-1)^3 + 0.4*(ii-1)^2 - 0.1*(ii-1) + 25; Y(jj,ii)=(ecu); endendYplot(X,Y)

ahora vemos que matlab nos muestra la matriz "Y" con los datos de la ecuacion "ecu" y si los comparamos con los datosexperimentales, nos fijaremos que son muy, pero muy similares, ahora al sacar la funcion de transferencia de "X" vs "Y" y lade "tiempo" vs "temperatura" y compararlas vemos que es aun mas similares.

se hace asi:

tf(X,Y)tf(tiempo,temperatura)

AQUI es donde quiero que me ayuden a aclarar o a corregir lo que este mal (o todo, si esta mal todo) ... teniendo la funcion detransferencia

Transfer function: s^9 + 2 s^8 + 3 s^7 + 4 s^6 + 5 s^5 + 6 s^4 + 7 s^3 + 8 s^2 + 9 s + 10--------------------------------------------------------------------------------------------------------------------------------------------------25 s^10 + 25.25 s^9 + 26.01 s^8 + 27.03 s^7 + 28.12 s^6 + 29.13 s^5 + 29.94 s^4 + 30.52 s^3 + 30.86 s^2 + 30.98 s+ 31

le aplico transformada Z para discretizarla y poder hacer el metodo de lugar geometrico de las raices y diseñar el controlador ?????????????????

o me salte algun paso, seria mejor usndo algun otro metodo o como hago para seguir adelante....

gracias.

PD: por el metodo de ziegler nichols tambien voy a probar paralelamente (para quienes solo les han enseñado ese metodo) asique teniendo una grafica en forma de S basta, donde se vea claramente un tiempo "muerto". Como en la del ejemplo.

blackcatColaboradorPIC24F

Desconectado

Sexo:

Costa Rica

Mensajes: 600

MMMmmmm ... hay algo que no cuadra ... parece que estas confundiendo las peras con los tomates ... voy a retornar a loscuadernos y repasar un poco de matematica avanzada para ingenieria.

Lo que tenes es una ecuacion que representa algo como funcion del tiempo ante una entrada escalon ... sin embargo, no estasrepresentando a un sistema por completo ... esto es algo mas complicado (y la peor pesadilla de muchos! )

Aqui tenemos que ser claros .. la entrada del sistema no es el tiempo . sino la funcion escalon! es decir [0 0 0 1 1 1 1 1 ... ]donde 1 es el momento en que se encendio el bombillo. Para describir un sistema en el tiempo y en palabras matematicastenemos algo como asi:

Donde y(t) es la salida o mas bien la temperatura, x(t) es la entrada o la tension del bombillo, si es fija, puede usarse 1 paraencendido o 0 para apagado. h(t) es la funcion de transferencia del sistema descrita en el tiempo (muchas veces comoecuaciones diferenciales y exponenciales)

Y el operador * no es una multiplicacion!!!; si no, la temible, terrorifica y tragica funcion de convolucion que ha destrozadomiles de sueños de mucha gente!. Quiza la han oido mencionar ...

Ahora ... ¿¿¿porque todo el cuento de la convolucion??? ... si averiguas que es la funcion de convolucion veras que es una

Page 9: PID Digital (paso a paso).pdf

PID Digital (paso a paso)

http://www.todopic.com.ar/foros/index.php?topic=24599.0[18/01/2013 06:55:06 p.m.]

« Última modificación: 29 de Enero de 2009, 10:58:52 por blackcat» En línea

Re: PID Digital (paso a paso)« Respuesta #10 : 29 de Enero de 2009, 03:58:37 »

formula un poco complicada (tanto de entender como de resolver ) ... Dios trabaja de manera misteriosa pero aveces dejaportillos abiertos que simplifican mucho las cosas, pero sin antes haberse roto el coco .. en este caso el que se rompio el cocofue un señor de apellido Laplace (un genio y casi padre de la ingenieria, tambien como Heaviside y Fourier), la ventaja es queLaplace "transforma" la convolucion en una simple multiplicacion. Entonces, se veria algo como asi:

Donde Y(s) es la transformada Laplace de y(t) que es la señal de salida, X(s) es la transformada de Laplace de x(t) o la señalde entrada y H(s) es nuestro querido y desconocido sistema a encontrar! ... que lo averiguamos simplemente haciendo:

Las cosas van mejorando, solo tenemos que encontrar Y(s) y X(s) .... la transformada de Laplace de una funcion escalon o x(t)= 1 (para t > 0) es:

Ahora solo tenes que averiguar la transformada de Laplace de la funcion que obtuviste osea Y(s) y hacer:

Pero te advierto que: Te deseo muy buena suerte transformando a Laplace (a lapiz y papel) esa funcion (mas si nunca lo hashecho antes pero me imagino que si, entonces no hay problema ) ... sin embargo, hay muchas herramientas que te facilitanel proceso ... creo que en MATLAB tiene funciones para eso ... nunca las he usado ... la HP49G me lo ha hecho todo!

Para entender mejor como esta todo este cuento utilizaré el ejemplo del filtro RC ... tenemos que:

Si aplicamos un escalon de voltaje a un circuito RC ... el capacitor se empieza a cargar .... ya todos conocemos la funcion decarga de un capacitor ... si multiplico (en el dominio s) H(s) por X(s) donde X(s) es la funcion escalon, entonces tendria:

Ahora si aplico Laplace inverso .. obtengo la funcion de carga de un capacitor en el tiempo:

Si la matematica no miente, yo no miento y todo esta comprobable!

El otro detalle importantisisimo es que la funcion TF de MATLAB no hace eso que estas pensando ... TF crea el sistemaconociendo ya los coeficientes, ejemplo, teniendo el sistema:

La introduccion en MATLAB de ese sistema es:

>>G = tf( [1 2 3], [4 5 6] )

Es decir, TF solo sirve para agregar un sistema ... no te facilita muchas cosas!

Si ya pudiste introducir el sistema, podes verificarlo haciendo la funcion STEP o escalon,

>>step(G)

Esto te genera un grafico con la respuesta del sistema ante un escalon, deberias ver algo similar a lo que obtuvisteexperimentalmente.

Bueno eso es un resumen ... Espero que te ayude y no te moleste, pues esa es la matematica del asunto, muchos la evitandiariamente ¿¿Como?? usando reguladores PID ya fabricados ... pero lamentablemente los que estudian ingenieria no tienencomo salvarse de eso ... Saludos!

Control Automático, DSP & Microcontroladores

Renatox_ColaboradorPIC24F

Desconectado

Sexo:

Peru

Mensajes: 532

hola, un sistema de orden 10 es demasiado para tu planta, si tu respuesta tiene la forma de S o es como la carga de uncondensador ante un escalón, entonces aproximalo a un sistema de primer orden, incluso eso lo puedes hacer manualmente,hallas el tiempo de establecimiento T,,, entonces tau=T/5, y tu ganancia seria la temperatura final entre el voltaje de entrada alfoco, osea:

Gplanta=A/(tau*s+1);

donde: A=Tss/U ; Tss=temp.final, U=voltaje de entrada.tau=T/5;

Con Gp puedes usar él método LGR (Lugar geométrico de las raices para hallar tu controlador),

Agregando algo más al concepto de convolución que dio Blackat, h(t) es la respuesta que tiene un sistema ante una entradaimpulso. Entonces conociendo esta respuesta se puede calcular la respuesta que tendría este sistema ante cualquier otraentrada, convolucionando h(t) con la entrada x(t), que es un juego de sumas y productos entre ellos.

saludos,

Page 10: PID Digital (paso a paso).pdf

PID Digital (paso a paso)

http://www.todopic.com.ar/foros/index.php?topic=24599.0[18/01/2013 06:55:06 p.m.]

En línea

Re: PID Digital (paso a paso)« Respuesta #11 : 29 de Enero de 2009, 04:07:21 »

En línea

Re: PID Digital (paso a paso)« Respuesta #12 : 29 de Enero de 2009, 10:50:41 »

« Última modificación: 29 de Enero de 2009, 11:00:41 por blackcat» En línea

Re: PID Digital (paso a paso)« Respuesta #13 : 29 de Enero de 2009, 11:01:36 »

En línea

Re: PID Digital (paso a paso)« Respuesta #14 : 29 de Enero de 2009, 11:38:45 »

UNIEl comienzo del fin para los terroristas de las FARC

Renatox_ColaboradorPIC24F

Desconectado

Sexo:

Peru

Mensajes: 532

Blackat tu última funcion G(s) no existe fisicamente, debería estar invertida.

saludos,

UNIEl comienzo del fin para los terroristas de las FARC

blackcatColaboradorPIC24F

Desconectado

Sexo:

Costa Rica

Mensajes: 600

Cita de: Renatox_ en 29 de Enero de 2009, 04:07:21Blackat tu última funcion G(s) no existe fisicamente, debería estar invertida.

saludos,

A si si ... fue algo que me inventé en el momento ... voy a corregirlo

El método de Renatox es correcto ... es el mismo que está propuesto en el pdf

Control Automático, DSP & Microcontroladores

krakcPIC10

Desconectado

Colombia

Mensajes: 29

Excelente, como me habeis abierto los ojos, definitivamente nunca debi pensar que esas aburridas clases con ese aburridoprofesor de matematicas especiales eran aburridas, pero en fin, lo de convolucion, la place, fourier y Z lo tengo algo claro,tendre que repasar y no me es dificil volver a entenderlo.

Leyendo lo que ha escrito blackcat me perdi en una cosa:

haber H(s) = Es quien me describe la planta y lo que tengo que hallarX(s) = Entrada al sistema, en este caso seria el escalon unitario, por que solo inicio el sistema. (solo bombilla y sensor)¿verdad?Y(s) = Aqui esta mi gran duda, este es mi Y(t) (hallado con basic fitting) pasandolo al plano S con ayuda de LaPlace ?????

Si las cosas son asi, no resta si no pasar Y(t) -> Y(s) y luego hallar mi anhelado H(s) ????

---------------------

Renatox, lo que dices es cierto, pero si lo hacemos por ese lado, simplemente uso el metodo de sintonizacion de ziegler nichols,el cual con ayuda de la grafica ya me da todo, ya tengo mi h(t) etc... pero como se sabra, no es muy exacto y toca empezar avariar Kp, Ti y Td, luego de variarlos, se escoje el que mejr controle y sale, aunque no se aplica mucha matetica ni muchaintuicion pues todo viene prefabricado XD

-------------------------

renatox tienes razon, blackcat se ha equivocado, el denominador y numerador deberian ir invertidos...

blackcatColaboradorPIC24F

Desconectado

Sexo:

Costa Rica

Mensajes: 600

Si ... y(t) es una ecuacion que varia con el tiempo y esa es la respuesta ante un escalon .. asi como al obtuviste con basicfitting ... deberias convertir y(t) -> Y(s) ... te doy una pista:

La transformada Laplace de una señal descrita como:

es

Page 11: PID Digital (paso a paso).pdf

PID Digital (paso a paso)

http://www.todopic.com.ar/foros/index.php?topic=24599.0[18/01/2013 06:55:06 p.m.]

En línea

Re: PID Digital (paso a paso)« Respuesta #15 : 29 de Enero de 2009, 12:27:36 »

En línea

Re: PID Digital (paso a paso)« Respuesta #16 : 01 de Febrero de 2009, 12:28:13 »

Control Automático, DSP & Microcontroladores

micro_pepeColaboradorPIC24H

Desconectado

Sexo:

España

Mensajes: 1568

Hola, otra transformada de utilidad es:

t^n ----------------> S^( n! / n+1 )

Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

???? ????????

krakcPIC10

Desconectado

Colombia

Mensajes: 29

Bueno amigos, retomando el tema....

Una vez aque tenemos nuestro y(t) le aplicamos transformada de LaPlace lo cual nos entrega una funcion Y(S), con esto yapodemos hallar nuestra funcion de transferencia (de la planta).

suponiendo que nos dio: G(S)= (1) / (S+1)^2 ahora miramos nuestro diagrama de bloques del sistema a controlar que seriael siguiente:

Donde el primer diagrama corresponde al dominio del tiempo (t) y el segundo al de la frecuencia (S) y donde:

D(S) : Es la funcion de nuestro controlador discreto en el dominio de la frecuenciaBo(S): Es un retenedor de orden 1G(S): Es la funcion de transferencia de nuestra planta

D(Z): Es nuestro controlador en el plano discretoG(Z): Es el producto del retenedor y la planta en el plano discreto

R(?): EntradaY(?): Salida

Ahora hacemos la canonica del segundo diagrama de bloques para obtener: F(Z) = [ D(Z) G(Z) ] / [ 1 + D(Z) G(Z) ]Donde F(Z) es la respuesta de nuestro sistema en el plano discreto.

Si tenemos G(Z) y sabemos como queremmos que se comporte nuestro sistema osea conocemos F(Z), pero con la condicionque F(1) = 1 y el Essp=0 .... y ademas que F(Z) = K / P(Z) y que P(Z) = (Z - Z1) (Z - Z2) ........ entonces despejamos D(Z)el cual seria nuestra incognita y se refiere a nuestro controlador.

D(Z) = [ 1 / G(Z) ] [ F(Z) / (1 -F(Z)) ]

Ahora tenemos que discretizar nuestro G(S)... que para este ejemplo es G(S) = 1 / (S+1)^2

Pero recuerden que tenemos un G(Z) que es igual a: G(Z) = Tranformada Z | Bo(S) G(S)si nos leemos la teoria de los retenedores de orden 1 obtenemos que Bo(S) = (1 - e^-TS) / Sy aplicando transformada Z obtenemos que Bo(Z) = (1 - Z^-1)

Entonces nos falta discretizar nuestro G(S) para asi hallar nuestro G(Z) completo:G(Z) = (1 - Z^-1) Tranformada Z G(S)

Despues de mucho calculo, lapiz borrador y papel y como no de hacer una y otra cosa obtenemos:

Donde:a = 1T = periodo de muestreo

Ahora con la teoria que nos dan en libros y universidades sabemos que T = tao min / 10 .... o .... T = tao min / 8 ... pero paracomodidad escogemos el /10 .

Bueno aqui empiezan las preguntas:

Page 12: PID Digital (paso a paso).pdf

PID Digital (paso a paso)

http://www.todopic.com.ar/foros/index.php?topic=24599.0[18/01/2013 06:55:06 p.m.]

En línea

Re: PID Digital (paso a paso)« Respuesta #17 : 01 de Febrero de 2009, 13:08:55 »

** Como hago para que funcion de transferencia quede de la forma G(S) = 1 / (tao1+S+1)(tao2+S+1).....(taoN+S+1) ... porque se supone que se escoge el minimo de los taos para poder hallar el periodo de muestreo.... ahi necesito ayuda.

** La otra pregunta es: tengo que escoger las demas condiciones de mi sistema, asi que se escoge Essp = 0 y un Zita = 0.5...pero tambien tengo que escoger un Test5% = xx segundos .... se supone que con mi G(S) puedo saber este tiempo deestablecimiento, pero la cuestion es como ??? se hace mediante la grafica ??? o algun otro metodo....

ayudenme ahi, por que es donde estoy barado... despues de eso, puedo terminar todo y pasar la parte matematica y seguir ala de programacion...

PD: no habia vuelto a escribir por que andaba en parciales

blackcatColaboradorPIC24F

Desconectado

Sexo:

Costa Rica

Mensajes: 600

Hola!

Elegir el tiempo de muestreo siempre es un dilema, en audio es muy facil; sin embargo, en control el tiempo de muestreocorrecto lo dice la planta, parece que en eso lo tenes bien claro ...

El detalle está en que si elegimos un tiempo de muestreo muy alto, nuestro controlador digital no será capaz reproducir ciertasfrecuencias en el que la planta reacciona, si usamos un tiempo de muestreo bajo es posible que tengamos un amplio rango defrecuencias y habrá algunas en el que la planta no actua ... este último suena bien, pero nos comprometemos a usar unprocesamiento mas robusto; es decir, tenemos que usar un micro de mas velocidad.

Lo que yo hago, no se si estará bien ; sin embargo, mi profesor me dio el visto bueno, este es una vez obtenido el sistemaaplicar la función BODE, que me muestra el rango de frecuencias del sistema. Por lo general, es un pasobajos, entonces tomola frecuencia de -3dB, la multiplico por 10 y esa será mi frecuencia de muestreo.

Aqui dejo un ejemplo del sistema en tiempo continuo y el mismo sistema discretizado a diferentes frecuencias de muestreo:

Page 13: PID Digital (paso a paso).pdf

PID Digital (paso a paso)

http://www.todopic.com.ar/foros/index.php?topic=24599.0[18/01/2013 06:55:06 p.m.]

« Última modificación: 01 de Febrero de 2009, 13:21:52 porblackcat » En línea

Re: PID Digital (paso a paso)« Respuesta #18 : 01 de Febrero de 2009, 15:27:38 »

La linea azul es la respuesta en frecuencia del sistema en tiempo continuo, los otros sistemas son los distretizados a diferentesfrecuencias de muestreo, se observa que el tiempo de muestreo determina el rango de frecuencias que podrá representar,Nyquist no estaba tan loco como decian!! ...

Para discretizar el sistema podes usar la funcion C2D, que se usa como:

>>H = c2d( G, ts )

donde G es el sistema en tiempo continuo o plano S y ts es el tiempo de muestreo. La función tambien permite elegir elmétodo de discretización.

Saludos!

Control Automático, DSP & Microcontroladores

krakcPIC10

Desconectado Muy bein ,ahora si voy entendiendo... haber si es vedad...

Page 14: PID Digital (paso a paso).pdf

PID Digital (paso a paso)

http://www.todopic.com.ar/foros/index.php?topic=24599.0[18/01/2013 06:55:06 p.m.]

En línea

Re: PID Digital (paso a paso)« Respuesta #19 : 10 de Febrero de 2009, 17:02:24 »

En línea

En línea

Páginas: [1] 2 3 4

« anterior próximo »

Ir a: => * PROYECTOS *

Powered by SMF 1.1.17 | SMF © 2006-2008, Simple Machines

Página creada en 10.656 segundos con 23 consultas.

Colombia

Mensajes: 29

tengo G(S) = 1 / (S+1)^2

en matlab seria:

G = tf([0 1],[1 -2 1]);bode(G)

hasta ahi bien???

bueno ahora en la grafica busco la magnitud en -3dB, y me da 0.637 rad/seg ... pero asi no me sirven, entonces hago losiguiente multiplico por 180 y divido en pi .. verdad ???

si lo anterior es cierto y no me he confundido el valor resultante seria 36.4974 .... entonces ahora lo multiplico por 10 ....quedaria 364.974 ahora para hallar T = 1/ 364.974 .... entonces T = 0.00274 seg .... verdad o dije alguna mentira????

ahora pasando a lo siguiente.. una vez elegido el periodo de muestreo, matlab me discretiza usando C2D verdad?? lo cual esrealmente cierto, pues tome un periodo de muestreo con el cual hize mi controlador y me dio similar, aunque debido a quematlab toma todas las decimas y yo solo 4, pues habia alguna diferencia entre los resultados, pero no era muy grande quedigamos, asi que para este caso es mejor usar matlab y si quieres aprender pues usa lapiz y papel...

una vez se resuelvan mis dudas continuaremos con el siguiente paso... y editare el post principal para añadir lo que ya estabien...

krakcPIC10

Desconectado

Colombia

Mensajes: 29

Bueno muchachos despues de unos cuantos dias sin poder seguir con esto, he vuelto y terminado la parte matematica, esperoque revisen nuevamente el primer post, por que lo he modificado bastante...

Ahora viene la parte de programacion... una vez obtenida la famosa ley de control jejeje

Para lo cual requiero que me ayuden con un programa para hacer comunicacion rs232 usando pic 16f877a ... ademas que sepueda leer por matlab o por labview ... asi que necesitare bastante ayuda..

espero respuetas amigos.

vemos.

TODOPIC