C/Visual C - Programar PID

   
Vista:

Programar PID

Publicado por Pastor (2 intervenciones) el 13/12/2007 13:20:39
Hola muy buenas!

Tengo un problemilla el cual no puedo resolver. Me han encargado la realizacion de un programa para controlar un PID, y yo habia pensado en realizarlo mediante lenguaje C.

Os comento un poco lo que quiero hacer:

Quiero utilizar un PID para gobernar un motor.

El sistema constaria de los siguientes elementos:

- 1 pulsador
- 2 Finales de carrera (Normalmente Abiertos)
- 1 motor
- 1 controlador, aun por determinar.

El funcionamiento es el siguiente:

El motor estaria en la posicion de parado, pulsando el pulsador, el motor empezaria a girar hasta que sea activado el FC1. En ese momento el motor se parara. Nuevamente si pulsamos de nuevo el pulsador, el motor se pondra en marcha pero en sentido contrario, hasta que llegue al FC2 donde de nuevo se detendra.

Como veis es un funcionamiento es sencillo.

El problema es que hace algo de tiempo que no utilizo Pascal y ando un poco pez. se que en MatLab tb se podria hacer algo, mediante Simulink, pero no se cual seria el resultado.

Bueno alguien puede echarme una mano en como comenzar??

Un saludo y gracias de antemano

PASTOR
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Programar PID

Publicado por nayumiorama (53 intervenciones) el 13/12/2007 16:18:00
Deberías dedicarte a ser superheroe o algo así.

Si aceptas encargos de es magnitud sin tener ni idea, eres un valiente.

Bueno, te daré algunas claves.

Necesitas saber que tipo de motor va a usar: si un motor lineal o uno paso a paso. Y tambien la potencia del motor.

Segun esto. necesitas buscar un controlador del motor. Hay muchos circuitos electrónicos comerciales que te pueden servir. Pero ojo, que soporten la potencia del motor.

Normalmente estos controladores se pueden manejar por puerto serie.

Luego, si vas a utilizar un pc, necesitaras una tarjeta capturadora de pulsos digitales, aunque puedes utilizar el puerto del joystick o, con algo más de imaginación, los paralelos o los serie.

Con todo este montaje y si no se te ha prendido fuego el invento, ya puedes empezar la programación de la lógica. ¿Que donde y como lo programas? pues depende de la aplícación; tal vez no necesites un pc para esto; tal vez con un simple pic (sin querer ofender con lo de simple) te valga. Todo depende.

Ánimo que tu puedes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Programar PID

Publicado por Nelek (818 intervenciones) el 14/12/2007 11:21:18
Coincido totalmente con nayumi, si estas trabajando y has aceptado esto sin conocimientos... ole tus webos. Si te lo han "pedido" (por no decir ordenado), tu jefe es de un simpatico... que te cagas.

En fin,

durante la carrera yo hice un proyecto, relativamente similar. La diferencia es que yo no tenia finales de carrera. Yo tenia que controlar el sentido y la velocidad de giro del motor, era un motor de 5V y 1,5A asi que la mayoria de los circuitos/componentes que use estaban relativamente seguros (siempre que no se invirtieran polaridades y demas estupideces similares que siempre hacen los estudiantes a ver que pasa).

En fin.

Si tu motor es un motor grande, te recomiendo que metas una etapa transformadora entre proceso y pc para evitar que se quemen las cosas. La targeta que yo utilice en su momento era la PCI-Lab 91120. Con 24 entradas/salidas digitales y 5 canales analogicos con un convertidor de 12 Bits cuya salida podia ser 0..5, -5..5, 0..10 y -10..10 voltios con 50mA.

Yo utilice el BorlandC++ 1.5 (en aquel entonces), ahora podrias usar las versiones nuevas, C, C++ o VC++

Si andas muy pez... te recomiendo el VC++ o el BC++ ya que sus asistentes te ahorraran mucha faena y son mas intuitivos que C++ a pelo.

Suerte, valor y al toro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Se me olvido

Publicado por Nelek (818 intervenciones) el 14/12/2007 11:31:07
Para la aplicacion que tu pides, no veo sentido en usar un PID ya que tienes estados binarios, en marcha o parado, un sentido u otro y disparadores binarios (finales de carrera y pulsador). Asi que un PID no te va a servir para nada excepto para darte dolores de cabeza.

Si has de usar el PC, entonces usa la PCI que te comente y arreando. Si vas has de hacer un circuito integrado independiente te recomiendo un microcontrolador (por ejemplo un MCS8051) o un PIC, ambos se pueden programar en C compilado a ensamblador. Si me apuras mucho, puede llegar a usar hasta una PAL, pero mejor uno de los otros dos.

La logica de la programacion depende mucho de lo que uses, con el pc solo has de declarar variables y asignarles el puerto de la pci, con el micro o el pic has de usar sus registros y patas entrada salida y cambia mucho. Tambien los circuitos electronicos de apoyo pueden variar mucho de uno a otro, ya que las tolerancias/rangos de trabajo seguro no son iguales para todos.

Primero acalara tus ideas en cuanto al esquema y los componentes, selecciona lo que veas mas al alcance de tus conocimientos y no te pongas a hacer prueba y fallo desde el principio que te puede salir caro en cuanto a componentes. Haz mucho calculo en papel, disenya las cosas con cuidado y prueba cada una por separado. Para probar el programa puedes usar dos simples leds de colores que simbolicen el sentido de giro hasta que actives el final de carrera.

A pesar de que todo funcione de perlas por separado, tendras problemas cuando lo montes todo junto. Siempre ha sido asi y creo que siempre lo sera :P

Que sea leve
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Se me olvido

Publicado por nayumi orama (53 intervenciones) el 14/12/2007 12:56:45
Oye Nelek,
¿De donde eres?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Se me olvido

Publicado por Pastor (2 intervenciones) el 15/12/2007 01:08:31
Hola chicos, antes de nada gracias por las contestaciones.

Algo ya he avanzado, ya os lo comentare, solo escribo para saber si el mensaje llega realmente al foro ya que he tenido problemas y lo que anteriormente os habia contestado no ha llegado, asi que solo es un mensaje de prueba.

Sobre el trabajillo ya os lo comentare la semana que viene vale?

Un saludo!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Se me olvido

Publicado por Nelek (818 intervenciones) el 17/12/2007 08:19:57
De valencia, aunque vivo en alemania esde hace 4 anyos. Por?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Se me olvido

Publicado por nayumi orama (53 intervenciones) el 17/12/2007 10:34:29
Sólo por curiosidad.

Yo soy y vivo en Madrid, pero casualmente mi mujer es alemana y voy mucho alli (la semana que viene sin ir mas lejos a pasar las navidades) a Mering, cerca de Augsburg.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Se me olvido

Publicado por Nelek (818 intervenciones) el 18/12/2007 09:15:36
Yo estoy en Osnabrück, aunque en unas 30 horas me voy a casa por 3 semanas. Primeras navidades en casa en 4 anyos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Se me olvido

Publicado por nayumi orama (53 intervenciones) el 18/12/2007 09:41:39
Pues si que te has ido lejos!!!!

Que tengas buen viaje y no te olvides el abrigo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Se me olvido

Publicado por Kelendros (818 intervenciones) el 19/12/2007 09:18:13
Jejeje aprox 2300 km

Por el abrigo no te preocupes, que me daría cuenta de ello nada más abrir la puerta de mi apartamento. Me preocupa mas dejarme alguna otra cosa (como la cabeza por ejemplo) :P
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar