Señales PWM en la placa “Niple Trainer Micro”

Es posible generar señales PWM (modulación por ancho de pulso) utilizando la placa “Niple Trainer Micro”. En nuestro caso seguimos trabajando con el microcontrolador PIC18F4550 junto a un cristal de 20MHz.

De Cyril BUTTAY - own work, made using gnuplot 4.0, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=766372
De Cyril BUTTAY – own work, made using gnuplot 4.0, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=766372

Una señal PWM puede utilizarse en distintas aplicaciones, por ejemplo para controlar la velocidad de un motor o el brillo de un LED.

Utilizando el módulo CCP en Niple

Para poder utilizar el módulo CCP (Captura-Comparación-PWM) es necesario configurar y activar el timer 2 del microcontrolador. Para esto seguimos la ruta: “Bloques >> Temporizadores >> TMR’s Internos >> Temporizador: TMR_2”.

timer2_config

Nota: no es necesario activar la interrupción en este caso.

El siguiente paso es configurar el PWM, para esto seguimos la ruta “Bloques >> Módulos CCP >> Modo PWM_Config”:

pwm_config

Las opciones a configurar son:

  • Módulo: elegir el periférico, en nuestro ejemplo CCP1
  • Modo: PWM_Config
  • Tipo de frecuencia: Fijo (es posible asignar frecuencias variables)
  • Frecuencia: elegir un valor comprendido en el rango válido
  • Control de ancho de pulso: variable (mediante el uso de un registro con un rango de valores válidos)

Por ultimo es necesario actualizar el valor del PWM mediante el registro de control. A tener en cuenta el rango de valores válidos que acepta el módulo CCP, en caso de ser necesario se puede aplicar el calculo de escalado proporcional.

Insertamos el bloque de refresco siguiendo la ruta “Bloques >> Módulos CCP >> Modo PWM_Actualizar”:

pwm_update

+ Descargar ejemplo de uso “PWM”

Recuerde que puede adquirir nuestro curso de capacitación para aprender a programar microcontroladores con la placa “Niple Trainer Micro”. Comuníquese por correo electrónico a comercial@niplesoft.net para obtener mayor información.

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInShare on TumblrPin on PinterestDigg thisShare on RedditEmail this to someonePrint this page