Control PWM con PLD

Este circuito muestra de una forma sencilla el uso de un Modulador de Anchura de Pulsos (PWM), que será utilizado para regular la tensión entregada a una bombilla y a un pequeño motor, de forma que se pueda variar la luminosidad y la velocidad respectivamente. Para ello se utilizan 4 microinterruptores, pudiéndose obtener de esta manera hasta 16 valores de voltajes distintos en la carga.

Teoría PWM

La modulación por ancho de pulsos (o PWM, de pulse-width modulation en inglés) es una eficiente forma de simular mediante una señal digital un amplio rango de valores analógicos.

Una señal de PWM tiene el aspecto de la imagen anterior.

El valor medio de la tensión se calcula:

siendo Ton el tiempo que la señal está a nivel alto y T es el periodo de la señal (Ton + Toff). En el ejemplo de la señal anterior, el valor medio es de 2.5v. Si se aplica a la carga, será equivalente a aplicar una tensión de 2.5v. La carga estará funcionando al 50% (sólo recibe el 50% de la energía total).

Simplemente generando una señal PWM de periodo fijo (T fijo, por ejemplo a 25ms) y variando la anchura del pulso (Ton) se consigue que la tensión media pueda tener cualquier valor comprendido entre 0 y 5v. Y así se puede cambiar la velocidad de un motor o la luminosidad de una bombilla.

Funcionamiento físico

El esquema eléctrico del circuito se puede descomponer en 4 bloques.

Regulador de tensión

Se encarga de obtener una tensión continua y constante de 5V a partir de otra tensión de 12V. El diodo LED indicará que el circuito está alimentado.

Circuito de reloj

A partir del circuito integrado 555 en configuración astable obtenemos una señal de reloj “maestra” (CLK), con una frecuencia dada por R7, R8 y C2.

La resistencia R9 es una resistencia de pull-up.

Circuito de control

Está formado por un PLD 22V10, y se encarga de generar la señal PWM, “leyendo” el estado de los 4 interruptores.

Circuito de potencia

Debido a que las cargas que ha de controlar el PLD tienen un consumo considerable, se utiliza un transistor BD437 trabajando como interruptor. Éste es controlado a través de la base por una salida del PLD. Mediante un Jumper se selecciona que tipo de carga queremos usar. El diodo 1N4001 sirve para proteger al transistor de la corriente residual que aparece tras el apagado del motor.

Funcionamiento lógico

El programa que incluye la PLD es el siguiente:

Se pueden distinguir 3 bloques:

1) Inicialización

Se establece el tipo de PLD, en este caso la GAL22V10, y se designan cuales serán las E/S del sistema, la señal de reloj, y las entradas reset y preset.

– Entradas.

  • A[3..0]. El estado en el que se encuentren los 4 microinterruptores será leído en estas entradas.
  • prst,rst. Entradas de Preset y Reset de la PLD

– Salidas.

  • Q[3..0]. Estas 4 salidas se utilizan para recorrer los 16 estados de los que consta la máquina de estados.
  • S. Salida de la señal PWM

2) Máquina de estados

El sistema se moverá mediante una máquina de 16 estados, que estarán reflejados en las salidas Q3..Q0 y que cambiará a cada flanco de la señal de reloj.

3) Circuito combinacional

Esta parte del código es la que permite llevar a cabo el PWM, ya que se activará la salida s siempre y cuando el valor que exista en los microinterruptores sea mayor que el estado en el que se encuentre la máquina de estados vista anteriormente.

Ejemplos

Supongamos que en los microinterruptores tenemos el valor “0100”

Se puede observar que durante ¼ del periodo de la señal, ésta estará a nivel alto.

* Pongamos ahora por ejemplo que en los microinterruptores tenemos el valor “1011”. Entonces tendremos:

Ahora la señal de salida estará durante un 86.7% del periodo de la misma a nivel alto.

Medidas eléctricas

Es aquí donde realmente vemos el funcionamiento de este montaje, ya que se observa como va variando la tensión media a la salida en función del valor que tengamos en los microinterruptores.

Descargas

PLD

Archivo fuente (.pld)

Archivo compilado (.jed)

Archivo LST

Esquema eléctrico

Esquema eléctrico

Disposición de componentes

One comment to Control PWM con PLD

  • Marina Hernandez  says:

    Cual es el programa que utiliza para compilar.

Leave a reply Cancel reply

Connect with Facebook

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>