Documentos de Académico
Documentos de Profesional
Documentos de Cultura
de Puebla, Tercer Carril del Ejido "Serrano" s/n, Juan C. Bonilla, 72640 Puebla, Pue.
SECCION 2
1. INTRODUCCION
Por medio de la técnica de modulación de ancho de pulso se puede realizar un control para
sistemas que están a larga distancia ya que se puede evitar la interferencia proveniente del
exterior permitiendo realizar un control de la forma más óptima. La ventaja de utilizar el
ancho de pulso como control de una variable, es que no se ve afectada por ruido eléctrico,
inyectado a lo largo de la línea de transmisión, sin importar si la amplitud del pulso se ve
reducida por el ruido externo o por la misma resistencia de la línea de transmisión; ya que el
circuito no está observando la amplitud de la señal si no la frecuencia que ésta posee además
del ancho de pulso.
Se trata de controlar la velocidad de un motor DC con una señal de impulsos. Variando el
tiempo en estado alto de la señal con respecto al tiempo en estado bajo conseguiremos reducir
la tensión media que le llega al motor y en consecuencia variaremos su velocidad.
1.1 PWM
Para hacer ese control con el PIC, en este proyecto emplearemos el modo PWM (Pulse Width
Modulation). Leeremos una tensión con el conversor AD del PIC proporcionada por unos
button como control manual de la velocidad. Este valor determinará el tiempo de los pulsos
en estado alto de la señal que controlará la velocidad. Se puede observar en la ilustración 1
En el modo PWM el PIC compara el valor del registro CCP (en este caso el CCP2) con el
valor del timer1. En el registro CCP habremos cargado previamente un valor responsable de
la velocidad del motor. Cuando ambos coinciden, se produce la interrupción con la que
gestionaremos el cambio de estado de la señal hasta una nueva comparación con la cuenta
del timer 1. Para poder generar esta señal con nuestro PIC, se hace uso de los módulos CCP
(Comparador, Captura y PWM). Dicho módulo permite realizar tres funciones básicas.
Comparar: Compara el valor del temporizador con el valor de un registro y provoca
una acción en el PIC.
Captura: Obtiene el valor del temporizador en un momento dado, fijado por la acción
de un terminal del PIC.
PWM: Genera una señal modulada por ancho de pulso.
Azcatl Huerta Gustavo Angel, Urbina Calderón Francisco Roberto, Universidad Politécnica
de Puebla, Tercer Carril del Ejido "Serrano" s/n, Juan C. Bonilla, 72640 Puebla, Pue.
El módulo PWM (Pulse Width Modulation), permite obtener de los pines CCP1 (Pin 17) y
CCP2 (Pin 16) una señal periódica (Es decir que se repite en el tiempo) la cual podemos
modificar su ciclo de trabajo (Duty Cycle en ingles). Dicho PWM o Modulación por Ancho
de Pulso, puede tener una resolución máxima de 10 BITS. En otras palabras. Como sabemos
que el PIC trabaja con voltajes binarios (0V o +5V), podemos configurar el PWM para que
trabaje un determinado tiempo en +5V (Ton) frente al tiempo que está en nivel bajo 0V
(Toff), tal y como lo podemos apreciar en la siguiente ilustración.
Azcatl Huerta Gustavo Angel, Urbina Calderón Francisco Roberto, Universidad Politécnica
de Puebla, Tercer Carril del Ejido "Serrano" s/n, Juan C. Bonilla, 72640 Puebla, Pue.
#USE DELAY(CLOCK=4000000)
#include <LCD.C>
#use standard_io(b)
#use standard_io(c)
void INTERRUPCION()
if(i==0){
set_pwm1_duty(0);
lcd_gotoxy(1,1);
break;
if(i==1){
set_pwm1_duty(64);
lcd_gotoxy(1,1);
break;
if(i==2){
set_pwm1_duty(128);
lcd_gotoxy(1,1);
break;
if(i==3){
set_pwm1_duty(192);
lcd_gotoxy(1,1);
break;
void main()
lcd_init();
Azcatl Huerta Gustavo Angel, Urbina Calderón Francisco Roberto, Universidad Politécnica
de Puebla, Tercer Carril del Ejido "Serrano" s/n, Juan C. Bonilla, 72640 Puebla, Pue.
lcd_gotoxy(1,1);
printf(LCD_PUTC, "BIENVENIDO");
delay_ms(200);
ENABLE_INTERRUPTS(GLOBAL);
while(true)
case 1:
delay_ms(100);
lcd_gotoxy(1,2);
set_pwm1_duty(64);
break;
case 2:
delay_ms(100);
lcd_gotoxy(1,2);
Azcatl Huerta Gustavo Angel, Urbina Calderón Francisco Roberto, Universidad Politécnica
de Puebla, Tercer Carril del Ejido "Serrano" s/n, Juan C. Bonilla, 72640 Puebla, Pue.
set_pwm1_duty(128);
break;
case 3:
delay_ms(100);
lcd_gotoxy(1,2);
set_pwm1_duty(192);
break;
case 4:
delay_ms(100);
lcd_gotoxy(1,2);
set_pwm1_duty(255);
break;
case 5:
delay_ms(100);
i=4;
break;
}
Azcatl Huerta Gustavo Angel, Urbina Calderón Francisco Roberto, Universidad Politécnica
de Puebla, Tercer Carril del Ejido "Serrano" s/n, Juan C. Bonilla, 72640 Puebla, Pue.
2. Circuito PROTEUS
Conclusión
En esta sección se utilizó el pic 16f877 el cual es muy versátil para ciertas aplicaciones que
comprenden proyectos más complejos debido a que posee 5 puertos de trabajo, un módulo generador
de PWM, un adc interno, etc.
Ilustración 4 ENCODER
Azcatl Huerta Gustavo Angel, Urbina Calderón Francisco Roberto, Universidad Politécnica
de Puebla, Tercer Carril del Ejido "Serrano" s/n, Juan C. Bonilla, 72640 Puebla, Pue.
4. Código de implementación
#INCLUDE <16F887.h>
#DEVICE ADC=10
#USE DELAY(CLOCK=4000000)
#FUSES XT,NOPROTECT,NOWDT,NOBROWNOUT,PUT,NOLVP
#INCLUDE <LCD.C>
long contador=0;
int16 duty=0;
int Timer2,Poscaler;
double RPM;
void main()
lcd_init();
lcd_gotoxy(1,1);
LCD_PUTC("VELOCIDAD MOTOR");
while(1)
delay_ms(999);
}
Azcatl Huerta Gustavo Angel, Urbina Calderón Francisco Roberto, Universidad Politécnica
de Puebla, Tercer Carril del Ejido "Serrano" s/n, Juan C. Bonilla, 72640 Puebla, Pue.
5. Circuito Proteus
CONCLUSION
Después de una investigación sobre el sensor logramos tener una idea clara para su diseño y
conocer los elementos necesarios para la construcción del mismo. Se simulo el circuito y la
codificación del PIC se hiso en Software de PIC C COMPILER. Se logró con éxito la
visualización de las revoluciones por minuto que da un motor en una pantalla de LCD
Una vez concluido con esta práctica es necesario reconocer y recalcar que para la realización
del mismo fue necesario tener claro los conocimientos adquiridos a lo largo de este
cuatrimestre.
Referencias
1. Omega Pasaje Electrónico. (2010). Recuperado el 23 de junio de 2013, de
OPTOACOPLADOR ECG 3100:
2. http://www.electronicaomega.com/index.php?page=shop.product_details&flypag
e=flypage.tpl&product_id=1683&category_id=151&option=com_virtuemart&Itemi
d=53&vmcchk=1&Itemid=53
3. Proyectos electronics. (2011). Recuperado el 22 de junio de 2013, de
encoder:http://proyectoselectronics.blogspot.com/2008/09/encoder-que-esycomo-
funcionan.html
4. Reyes, C. (2008). Microcontroladores PIC, Programación en Basic. En C. Reyes,
Microcontroladores PIC, Programación en Basic (págs. 96-98). Quito-Ecuador.
Reyes, C. (2008). Microcontroladores PIC. Quito-Ecuador.
5. Wikipedia. (s.f.). Recuperado el 23 de junio de 2013, de Desplaye:
http://es.wikipedia.org/wiki/Displays%C3%ADa
6. Universidad de El Salvador - Facultad de Ingeniería Y Arquitectura - Escuela de
Ingeniería Eléctrica - Instrumentación Electrónica I. “UNIDAD III - SENSORES Y
TRASNDUCTORES”
7. Instrumentación y Control Industrial. Antonio Javier Barragán Piña