MIKROC PWM

C COMPILER MAKING IT EASY M. C. JAIME ALVARADO MUÑOZ Pulse Width Modulation (PWM) Many microcontrollers include on-ch

Views 193 Downloads 9 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

C COMPILER MAKING IT EASY

M. C. JAIME ALVARADO MUÑOZ

Pulse Width Modulation (PWM) Many microcontrollers include on-chip PWM controllers  Using CCP Modules  The abbreviation CCP stands for Capture/Compare/PWM  PIC 16F877A has 2 CCP Modules 

- CCP1/RC2 - CCP2/RC1

Pulse Width Modulation (PWM)

PWM Mode

Control por Ancho de Pulso (PWM) 

La Regulación por Ancho de Pulso de un dispositivo de CC está basada en el hecho de que si se recorta la CC de alimentación en forma de una onda cuadrada, la energía que recibe el dispositivo disminuirá de manera proporcional a la relación entre la parte alta (habilita corriente) y baja (cero corriente) del ciclo de la onda cuadrada.

M. C. JAIME ALVARADO MUÑOZ

PWM: Duty Cycle

PWM signals of varying duty cycles

Pulse Width Modulation (PWM) 

To start PWM operation, the data sheet suggests the software should: • Set the period in the on-chip timer/counter that provides the modulating square wave. • Set the on-time in the PWM control register • Set the direction of the PWM output, which is one of the general-purpose I/O pins. • Start the timer. • Enable the PWM controller.

PWM in Mikro C Certain PIC with tow or more CCP modules, such as P16F877A, require you to specify the module you want to use.  Simply append the number 1 or 2 to a Pwm.  For example, Pwm2_Start() for CCP2 and Pwm1_Start() or Pwm_Start() for CCP1 

PWM in Mikro C 

Library Routines 1. Pwm_Init 2. Pwm_Change_Duty 3. Pwm_Start 4. Pwm_Stop

PWM in Mikro C 

Pwm_Init

PWM in Mikro C 

Pwm_Change_Duty

PWM in Mikro C 

Pwm_Start

PWM in Mikro C 

Pwm_Stop

CONTROL ON-OFF DE UN MOTOR CD 

Escribir un programa que ajuste mediante PWM la velocidad de un motor de CD de la siguiente forma:



SIEMPRE: ◦ Si RB4=0, velocidad baja. ◦ Si RB4=1, velocidad alta. ◦ Si RB5=1, detener el motor en cualquier velocidad.

CONTROL ON-OFF DE UN MOTOR CD

Programa:

PWM1

M. C. JAIME ALVARADO MUÑOZ

TRABAJOS PRÁCTICOS 1.

CONTROL DEL SENTIDO DE GIRO Y VELOCIDAD DE UN MOTOR DE CD (PUENTE H REGULADO POR PWM)

2.

CONTROL DE VELOCIDAD DE UN SERVOMOTOR MODIFICADO (PWM). M. C. JAIME ALVARADO MUÑOZ

REPORTE DE TRABAJOS 

Entregar un reporte de cada uno de los trabajos que incluya el propósito del trabajo, ejemplo de aplicación industrial, programa, diagrama de flujo y descripción del programa y descripción del funcionamiento del sistema en archivo electrónico.



La evaluación será en forma INDIVIDUAL en el cubículo del maestro, en la cual se desconectará un elemento del protoboard y se les solicitará que lo vuelvan a conectar. Se les preguntará por algunas características de los componentes empleados (pertinentes a la aplicación desarrollada) y la configuración de los puertos utilizados en la práctica y que expliquen porque se eligió dicha configuración. Asi mismo, se les pedirá que en la PC del maestro desarrollen una parte del programa en MikroC, compilen el programa, lo descarguen al micro y poner en funcionamiento el trabajo práctico.



Para realizar la evaluación es necesario entregar el reporte un día antes.

Control de motores de CC Control por Ancho de Pulso (PWM) 

La Regulación por Ancho de Pulso de un motor de CC está basada en el hecho de que si se recorta la CC de alimentación en forma de una onda cuadrada, la energía que recibe el motor disminuirá de manera proporcional a la relación entre la parte alta (habilita corriente) y baja (cero corriente) del ciclo de la onda cuadrada. Controlando esta relación se logra variar la velocidad del motor de una manera bastante aceptable.

M. C. JAIME ALVARADO MUÑOZ



El circuito que se ve a continuación es un ejemplo de un control de Regulación de Ancho de Pulso (PWM, PulseWidth-Modulated en inglés), que se adaptará al circuito del Puente H para controlar la velocidad y sentido de marcha de motores de CC.



El primer circuito —con el MOSFET de potencia — permite controlar motores medianos y grandes, hasta 10 A de corriente.



El segundo circuito —con el transistor 2N2222A— es para motores pequeños, que produzcan una carga de hasta 800 mA. M. C. JAIME ALVARADO MUÑOZ

DIAGRAMA DE UN SERVOMOTOR TÍPICO

Tienen tres cables de conexión eléctrica; Vcc, GND, y entrada de control.

M. C. JAIME ALVARADO MUÑOZ

Para controlar un servo, se le ordena un cierto ángulo, medido desde 0 grados. Es necesario enviarle una serie de pulsos.  En un tiempo ON de pulso se indica el ángulo al que debe posicionarse; 1ms = 0 grados, 2.0ms = máx. grado (cerca de 120) Algún valor entre ellos da un ángulo de salida proporcional.  Generalmente se considera que en 1.5ms está el "centro”.  El factor limitante es el tope del potenciómetro y los límites mecánicos construidos en el servo. Un sonido de zumbido normalmente indica que se está forzando por encima al servo, entonces debe disminuir un poco. 

M. C. JAIME ALVARADO MUÑOZ



El tiempo de OFF en el servo no es crítico; puede estar alrededor de los 20ms. M. C. JAIME ALVARADO MUÑOZ

M. C. JAIME ALVARADO MUÑOZ