Generación de PWM

Hola: Estuve mirando por el foro..... y no estoy muy segura de si estoy incluyendo la pregunta en el subforo adecudado; mi duda es la siguiente:

Tengo una maqueta, en la cual hay una bomba que es un minicompresor de 12V, que está formado por un único pistón movido por un motor de CC de 12V. Este está conectado a un depósito de presión, y por variación de la velocidad del motor se varía la presión en el depósito, y lo máximo que puede alcanzar cuando aplico los 12V es 80KPa, pues cuando alcanza esta presión salta una valvula que la hace descender.
Tengo un sensor de presión diferencial piezorresistivo conectado al depósito, y debo realizar el circuito de acondicionamiento de la señal proporcionada por el sensor (amplificación y filtrado) para adecuarla a los niveles de mi tarjeta de adquisición de datos. Esta parte creo que la he hecho.

El problema es que ahora debo elaborar un programa en Labview que genere una señal analógica de control, que llevada a una placa (que aún no me la han dado, pero supongo que tendrá convertidores y temporizadores, o lo que haga falta.....:rolleyes:)
permita variar el ciclo de trabajo de la señal PWM que es aplicada al compresor, de modo que se pueda variar la presión de la cámara desde el PC de control.

Y eso es lo que no sé hacer........ ¿tengo que generar en labview un programa que mediante un selector de velocidad del motor mande una onda cuadrada con distinto ancho de pulso para cada velocidad? y si es eso...... ¿como sé el período de la señal cuadrada, y el ancho de pulso para cada velocidad?

Es que es la primera vez que me enfrento a PWM..... y estoy muy perdida. Espero que alguien pueda ayudarme. Estaría muy agradecida.
 
Para poder ayudarte me asaltan algunas dudas.
a) A menos que la PC donde tienes el labview tenga el hardware necesario, no podras generar una señal analogica, por lo que supongo que esa señal la generara la placa que aun no te han dado.

b) Si ese es tu caso entonces, de que manera te comunicaras con la placa que aun no te han dado. (serial, paralelo, usb)

Entonces lo primero que debes definir como es la placa, podriamos arrancar de varios supuestos pero no creo sea lo mas conveniente, dado que desconocemos los puntos anteriores, ejemplo:
Supon que se conecta via USB entonces solo haz un programa que envie un dato a la placa de 0 a 255 pero que tu, desde el VI de labview puedas modificar en porcentaje, es decir 0% para 0 y 100% para 255, este dato lo recibira la placa y generara lo adecuado para modificar la señal PWM.

Supon que haces el PWM con labview, entonces lo unico que tienes que hacer es generar una onda cuadrada de ancho de pulso variable para una frecuanca de señal de ... digamos unos 100KHz por ejemplo

En fin podemos suponer muchas cosas pero ...necesitamos despejar la incognita de la placa.
 
Primero: Muchisimas gracias por responderme .

Tengo una tarjeta de adquisición de datos (NI USB-6008), por las entradas analógicas cogeré la salida del sensor; y por las salidas analógicas sacaré la señal analógica de control....... y supongo que la placa tendrá una entrada para ella...... la verdad es que aún no sé la forma de comunicación con la placa..... el enunciado textual es ese:

"Generar en labview una señal analógica de control que llevada a la placa permita variar el ciclo de trabajo de la señal PWM que es aplicada al compresor. Esto permitirá variar la presión en la cámara desde el PC de control".
 
Dado que tu tarjeta NI USB-6008 genera una salida analoga de 0 a 5v no veo la necesidad de que uses PWM, ya que esta tecnica es para efectos de señales puramente digitales (Pulse Width Modulation), como por ejemplo el control de disparo de un triac, para el caso de motores.
Ahora bien lo que debes hacer con tu salida analoga es simplemente variar la salida desde 0 a 5 en pasos de digamos 0.1V (o menos si asi lo prefieres), la placa que conectaras y que aun no recibes debe ser la encargada de variar el voltaje aplicado a la bomba con ese voltaje de control enviado desde labview.
Ahora bien, existen circuitos basados en PWM para variar la velocidad de motores de DC pero evidentemente este proceso no es llevado a cabo con voltajes analogos si no por medio de la aplicacion de pulsos de anchura variable a la base de algun transistor etc etc etc.
Que metodo prefieres ??
 
Según lo que has dicho: - la generación de la señal analógica controladora que varíe entre 0 y 5 V; ....... pero no sé como tiene que ser....



PD: Te agradezco muchisimo tu atención, y también voy entendiendo más cosas.....
 
Con un par de operacionales generas una señal triangular y la aplicas a un comparador.
A la otra rama del comparador su señal analógica.
A la salida del operacional tiene tu señal PWM manejada por la tensión analógica de tu placa.
 
Yo tengo que "Generar en labview una señal analógica de control que llevada a la placa (una placa intermedia entre Labview y el compresor) permita variar el ciclo de trabajo de la señal PWM que es aplicada al compresor. Esto permitirá variar la presión en la cámara desde el PC de control".

Luego yo del Labview supongo que no tendré que sacar el PWM o si?¿


Y lo de la onda triangular, ¿de 0-12V de pico a pico? y luego la compararía ¿con que otra señal analógica? porque de lo que se trata es de que yo ordene desde el PC la tensión que quiero aplicar al motor (la presión de la cámara)
 
Con un par de operacionales generas una señal triangular y la aplicas a un comparador.
A la otra rama del comparador tu señal analógica.
A la salida del operacional tienes tu señal PWM manejada por la tensión analógica de tu placa.
Deberías armarte una etapa de potencia con un operacional doble, un comparador (O un operacional cuádruple) y un MOSFET, esta etapa de potencia la manejas con la señal analógica proveniente de tu PC.
En serie con el MOSFET el motor de tu compresor.
 
ya, pero eso supongo que será lo que traiga la placa q me darán y que pondré en serie con el PC y el motor, y que le manda al motor el PWM.

Lo que yo no te entiendo es como genero la señal analógica que mando a esa placa.:rolleyes::oops:
 
Con LabView generas un valor de "Error" entre el "Valor medido" y el "Valor deseado", por ejemplo, a mayor diferencia de presión mayor el valor de salida.
Este valor lo conviertes a dato (Por ejemplo de 6 bites) y lo mandas al puerto paralelo.
A este puerto conectas una red R2R (También de 6 bites) que convierta este dato en una tensión variable en función del "Error" de presión, tu PWM responde a mayor tensión mayor ancho de pulso.
 
Mira es algo tan simple como esto, envia un valor de 0 a 5 y la famosa placa se encarga del resto ( o al menos eso creo, por eso es importante saber como es esa dichosa placa)
 

Adjuntos

  • 1.jpg
    1.jpg
    20.3 KB · Visitas: 74
  • 2.jpg
    2.jpg
    20.4 KB · Visitas: 50
  • 3.jpg
    3.jpg
    21 KB · Visitas: 46
De acuerdo, entiendo. Mañana tendré sesión de laboratorio y nos darán "la famosa placa", y a ver si va de este modo.

Muchisimas gracias aguevara.

Yo creo que lo de generar la señal de error, usando la información que leo del sensor, será mas bien como par hacer un regulador..... yo especifico el valor que quiero de presión, y luego tendría que ver el error para saber si mandar mas tensión al motor o no. Eso supongo que también lo tendré que hacer...... pero por ahora, para lo que es mandar un valor desde el PC supongo que no tendré que hacer nada con el valor leído del sensor.
 
Bien espero la info de la dichosa placa, por lo que comentas de checar el sensor de presion, entonces suena a un control de lazo cerrado, donde continuamentes lees la presion actual y la verificas con tu presion deseada, y de la resultante envias mayor o menor voltaje a tu salida analoga.
 
A) Diseño y realización del circuito de polarización y acondicionamiento de la señal
generada por el sensor piezoresistivo (consultar la información relativa al sensor). Tal
y como puede observarse en la Figura 1, dicho circuito de polarización y
acondicionamiento consta de los siguientes bloques funcionales:

• Un circuito de referencia de tensión con compensación ante variaciones de
temperatura cuya misión es polarizar el circuito integrado que contiene los
elementos piezoresistivos.

• Un circuito de amplificación de la señal proporcionada por el sensor de modo
que por un lado se ajusten los niveles de tensión de salida del mismo a los
especificados para las entradas de la tarjeta de adquisición y, por otro lado,
se aumente la inmunidad al ruido.

• Un circuito de filtrado de la señal, cuya misión será eliminar las componentes
de alta frecuencia no debidas a la lectura de presión.

B) Realización de un programa en Labview que permita:

• Leer la señal proveniente del sensor piezoresistivo

• Mostrar en pantalla el valor instantáneo y la evolución temporal de la
presión en la cámara. En ambos casos, la presión ha de especificarse en
KPa, para lo cual hay que tener en cuenta que el sensor piezoresisitivo
proporciona una señal de sensibilidad 6.67 mV/psi y que 1 psi = 6.8945
Kpa. También habrá que tener en cuenta que la señal de salida del sensor
se ve amplificada según las ganancias de las etapas de amplificación y
filtrado.

Generar una señal analógica de control que, llevada a la placa ADSI-1,
permita variar el ciclo de trabajo de la señal PWM que es aplicada al
compresor. Esto permitirá variar la presión en la cámara desde el PC de
control.



c) Modificación del programa anterior de modo que permita especificar el valor de presión
que se desea que haya en la cámara. Para ello habrá que realizar un lazo de control
que varíe la señal de control que es enviada a la placa ADSI-1 en función de la
diferencia entre la consigna de presión establecida y la señal de presión medida.



Hoy por fin nos han dado la placa y he subido las características. Lo que he puesto antes es todo el desarrollo del proyecto que tengo que hacer, y hoy solo me ha dado tiempo a simular y montar los circuitos, y he llegado a leer en Labview la señal proveniente del sensor. Ahora me falta transformarla en KPa, (que la ecuación que había diseñado no me funcionó :S y tengo que revisarla :S) ........... y luego los dos últimos terribles apartados.....
 

Adjuntos

  • adsi1.jpg
    adsi1.jpg
    59.3 KB · Visitas: 76
  • adsi2.jpg
    adsi2.jpg
    34.9 KB · Visitas: 109
Bueno finalmente es como suponia, la tarjeta hara el PWM y tu solo envias el voltaje de control, y finalmente debe ser un lazo cerrado como bien dijo Fogonazo y lo reitere en mi ultimo mensaje.
Dame tiempo para hacer un esquema rapido de lo que debes tener y lo subo en imagenes como las ultimas que te mostre.

Esto es muy simple pero creo te guiara como buen ejemplo ( no creeras que te hare el trabajo verdad?) basicamente se recibe la señal del sensor por uno de los canales de la tarjeta USB-6008 Labview la procesa y compara con el setpoint que previamente ajustaste y proporcionara el voltaje requerido segun sea necesario, cuanto mas se acerque la señal de entrada a tu setpoint menor sera la salida.

Saludos
 

Adjuntos

  • 1.jpg
    1.jpg
    29.9 KB · Visitas: 65
  • 2.jpg
    2.jpg
    13.6 KB · Visitas: 78
Última edición:
De acuerdo; ahora voy a mirarlo bien.

No sabes cuanto te agradezco toda tu ayuda y molestias, porque estaba muy perdida en cuanto a esto.


Bueno, gracias a los dos. :)
 
• Generar una señal analógica de control que, llevada a la placa ADSI-1,
permita variar el ciclo de trabajo de la señal PWM que es aplicada al
compresor. Esto permitirá variar la presión en la cámara desde el PC de
control.


He probado ha hacer esto, o sea, solo mandarle la presión deseada, sin hacer aún lo del regulador, y lo que me pasa es que la presión tiende a aumentar un poco al principio, pero luego, si no modifico la consigna tiende a disminuir; pero nunca pasa de unos 20KPa, cuando lo máximo es 80KPa, y si le pongo consigna de 80KPa......para por los 20 y luego cae. ¿Es esto normal? ¿A que se debe?.....

Yo regulo la fuente de alimentación a 12V; aunque luego a la entrada de la placa ADSI solo me da 10V. ¿Puede ser debido a ello?
 
Atrás
Arriba