LabView - generar pwm sin hardware especial

   
Vista:

generar pwm sin hardware especial

Publicado por Federico (3 intervenciones) el 08/07/2008 23:10:11
Hola a todos:
Deseo generar tres PWM's independientes. El período de las PWm es de un segundo aproximadamente (se usan para controlar temperatura). Los ciclos de trabajo D de las PWM serán controlados por las salidas de tres PID's, tabmién programados en Labview.
Estoy usando Labview 5.1 qe corre en un windows 95 sobre un AMD K6. No tengo ninguna placa especial. Solo una Placa de Entradas/Salidas (E/S) digitales que está en un slot ISA (EISA) de la PC. Dichas placas no tienen contadores. Para obtener un bit uso la función ouport.vi. Con dicha función escribo 8 bits al mismo tiempo en una dirección de memoria que corresponde a la placa de E/S. Por lo que se podrían usar 3 de los 8 biuts para obtener las tres PWM.
Resumiendo, le idea general sería:
1) tener tres salidas de PID's
2) Con las salidas de los PID's obtengo el ciclo de trabajo D de las PWM's
3) Para obtener físicamente la PWM, escribo '1' o '0' en determinado bit de memeria usando la función ouport.vi.
¿Es posible realizar esta PWM con este procedimiento general? Cuando generé PWM con otros softwares como assembler lo hice mediante contadores y rutinas de interrupción. Cargaba un contador con determinado número que representaba el tiempo que la salida debía estar en '0'. el contador empezaba a contar, y funcionaba independientemente del programa principal. Cuando terminaba la cuenta, se llamaba a una rutina de interrupción que cargaba reseteaba el contador y lo cargaba con la nueva cuenta que representaba el tiempo que la salida debía estar en '1', y salía de la rutina de interrupción para volver al programa principal.
Si quisiera hacer esto con Labview, me topé con los siguientes problemas:
a) No puedo hacer que Labview trabaje con interrpciones.
b) No se cómo hacer un contador que trabaje en forma paralela con el prorgama principal
c) No se cómo hacer un contador al cual yo pueda "resetear". Por ejemplo, un tick count cuenta la cantidad de ticks del sistema y no hay forma en que lo pueda llevar a cero.
¿Hay alguna forma de generar la PWM con el hardware que tengo y que no me estoy dando cuenta? Mi cabeza ya está medio agotada, así que quizás la solucion sea sencilla y no me doy cuenta. Se agradecerían ejemplos de Labview.
Muchas gracias por todo,
Federico
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