Você está na página 1de 3

Saber Eletrnica Online

Pgina 1 de 3

Imprimir

PRODUTOS / Softwares
26/03/2008 09:55:09

Soluo por Software para implementar PWM em qualquer Microcontrolador PIC


Muitos dispositivos PIC possuem mdulos PWM internos na prpria pastilha que possibilitam gerar sinais de PWM sem esforo computacional e sem Firmware extra. Entretanto, todos os PICs mais antigos e alguns novos modelos, como o PIC12F675, no trazem o mdulo PWM interno em sua pastilha. Este artigo descreve um mtodo para se implementar um controlador PWM em qualquer microcontrolador PIC, da Microchip, at mesmo em modelos que no possuem o mdulo de PWM interno construdo por hardware. Este artigo foi baseado no Application Note AN654 da Microchip.
Francisco Fambrini

PWM a sigla de Pulse Width Modulation, ou seja, Modulao por Largura de Pulsos. Trata-se de um mtodo consagrado para controlar a energia - e conseqentemente a potncia - entregue carga em dispositivos que trabalham em sistemas de Corrente Contnua (DC). Quanto maior a durao do Tempo Ligado (tempo em que o PWM permanece em On - a partir daqui denominado Ton), maior a energia entregue carga. PWMs so, por definio, sistemas de freqncia (f) e perodo (T) constantes e de Largura de Pulso (ciclo ativo) ajustvel. Denominando de Toff o tempo em que a carga mantida desativada, o perodo total de nosso PWM ser: T=Ton+Toff Define-se Ciclo Ativo (Duty Cycle D.C. ) por: D.C.= Ton Ton + Toff A figura 1 ilustra a forma de onda tpica de um sistema PWM digital:

A soluo proposta foi testada e desenvolvida num microcontrolador PIC12F675 (sem mdulo PWM interno) e baseia-se em Firmware. Este, foi escrito totalmente em Linguagem Assembly, uma vez que a inteno inicial de utilizar Linguagem C revelou-se incapaz de proporcionar a velocidade necessria de processamento para gerar o PWM e ler os dois botes (UP e Down) sem causar efeitos de flicker na onda retangular gerada. Sobre a velocidade de processamento, importante frisar que a opo feita foi a de usar o oscilador RC interno do PIC12F675, cuja freqncia de clock fixa e igual a 4 MHz. Como os Microcontroladores PIC dividem internamente o clock por 4, temos um clock efetivo interno de valor 1 MHz, o que nos d um Ciclo de Mquina de durao 1 s (um microssegundo). Com este ciclo de mquina, a opo foi de uma soluo de software otimizada para a arquitetura do PIC, segundo o Aplicattion Note da Microchip, o que proporcionou um desempenho bastante positivo no PWM. O sistema utiliza-se da interrupo do TMR0 (Timer-Zero) cujo prescaler foi ajustado para 1:2, ou seja, a cada 2 s temos uma interrupo de timer 0 e o fluxo do programa ser desviado para o endereo 0x04 (endereo do vetor de interrupo do PIC12F675). Na rotina de interrupo temos a estrutura de software da seguinte forma: MOVF pwmdesired , W ADDWF PCL,F bsf LED bsf LED bsf LED bsf LED bsf LED bsf LED ..... .....

http://www.sabereletronica.com.br/secoes/leitura/690/imprimir:yes

07/05/2012

Saber Eletrnica Online

Pgina 2 de 3

..... O registrador pwmdesired armazena o valor desejado de Ton. A seguir, este valor movido para o W e somado ao PCL que produz um salto relativo para a instruo que mantm o PWM pelo tempo correto na sada do microcontrolador. O uso de interrupo do Timer 0 possibilita independncia para leitura dos botes UP e DOWN sem prejudicar a gerao da onda do PWM. O boto UP incrementa o ciclo ativo e o boto DOWN decrementa. O PWM inicializa sempre em zero, ou seja, ao reestabelecer a energia comea sempre desativado. Outro detalhe o uso dos resistores de pull-up internos ao Microcontrolador PIC em questo, o que dispensou o uso externo. Tambm no foi utilizado nenhum oscilador de clock externo ao chip, nem cristal de quartzo, tendo-se optado pelo uso do oscilador RC interno, o que reduziu a quantidade de componentes externos. Tambm importante abordar algumas consideraes sobre o estgio de potncia. A escolha foi por um transistor MOS de Efeito de Campo (MOSFET) da International Rectifier: o IRLZ 44 N. A letra L no prefixo IRLZ indica que seu gate adequado para controles lgicos e que o mesmo pode ser saturado com tenses de 5 volts, o que no ocorre com os tipos IRF ou IRFZ. Nestes, um valor to baixo de tenso pode no lev-lo saturao, fazendo o MOSFET operar na regio linear, o que poderia provocar um considervel aquecimento do componente, de acordo com o datasheet do transistor IRLZ44. Operando na condio de Corte e Saturao, o aquecimento mnimo e no ocorre perda de energia por dissipao de potncia na juno Dreno Source. Assim, o transistor pode manipular correntes altssimas (de at 47 A segundo o datasheet do fabricante), exibindo (quando saturado) uma resistncia DRENO-SOURCE ( Rds ) de apenas Rds = 0,022 ohms. A tenso mxima admissvel entre D e S de 55 volts.

A escolha do resistor de Gate do Mosfet tambm importante: a capacitncia interna entre G e S elevada (da ordem de 1700 pF ) e um resistor de valor elevado formaria com esta um RC com constante de tempo considervel, prejudicando o disparo rpido para corte e saturao deste transistor. Por outro lado, o menor valor de resistor admissvel pelo PIC de 200 ohms, pois os Microcontroladores PIC so especificados para uma corrente mxima de sada de 25 mA em 5 volts de alimentao, segundo o datasheet do microcontrolador PIC12F6xx. O valor escolhido foi de 200 ohms. Tambm necessrio acrescentar um diodo zener entre o gate do MOSFET e a porta de sada do PIC, para evitar que spikes rpidos de tenso venham a atingir o microcontrolador, o que provocaria a queima do mesmo. O diodo zener (1N4733A) foi inserido entre um resistor de 22 ohms e outro de 180 ohms associados em srie.

CI1

PIC 12F675 - Microcontrolador Microchip Todos 1/8 Watt 470 22 180

Resistores R1 R2 R3 Capacitores C1 C2 C3 C4

470 F, 25V, cap eletroltico 220 F, 25V, cap eletroltico 100nF, 16V, cap. cermico disco 100F, 16 V, cap eletroltico

http://www.sabereletronica.com.br/secoes/leitura/690/imprimir:yes

07/05/2012

Saber Eletrnica Online

Pgina 3 de 3

Diodos D1 D2 D3 1N4007, diodo de Silcio 1N4733A, diodo zener 5,1 V, 1 watt 1N4733A, diodo zener 5,1 V, 1 watt

chaves S1 e S2 Chaves tipo push button para circuito impress

Transistor Q1 Transistor Hex Power MOSFET IRLZ 44 N

O cdigo-fonte para gravar o PWM no PIC12F675 pode ser baixado diretamente na seo Downloads da Revista Ao efetuar a gravao o leitor deve configurar os fuse-bits da seguinte maneira: watchdog_timer = ON powerup_timer = ON brownoutdetector = ON code_protect = ON oscillator = INTRC_GP4 (o pino GP4 usado como I/O digital) masterclear_reset = OFF Esta configurao de fusveis de gravao automaticamente carregada quando o cdigo. HEX tambm for carregado, pois j foi definida no cabealho do programa atravs da diretiva _CONFIG 314Ch Caso o leitor queira adaptar este mesmo firmware para outro microcontrolador da Microchip (por exemplo, para o PIC16F84) basta mudar duas linhas: trocar a linha CBLOCK 0x20 por CBLOCK 0x0C; e trocar o arquivo de #include por #include . O compilador utilizado para gerar o .HEX deste programa foi o MPLAB, que pode ser obtido gratuitamente no site da Microchip. Concluso: Este software capaz de produzir na sada de qualquer Microcontrolador um PWM de ciclo ativo varivel digitalmente atravs de dois botes, com 255 passos de ajuste (256 steps, incluindo o valor 0). O consumo de memria do processador inferior a 200 words (cerca de 20% da capacidade de um PIC12F675). A freqncia do PWM gerado gira em torno de 2,2 kHz. O perodo medido de aproximadamente 450 s. O uso de um MOSFET lgico de potncia (IRLZ 44) da International Rectifier garante que elevadas correntes podem ser controladas, o que torna este dispositivo ideal para controle de luminosidade de lmpadas e de velocidade de motores DC. Referncias: Ropcke, Ole. AN654, Aplicattion Note da Microchip Zanco, Wagner. Microcontroladores PIC, Ed. rica, 3 Edio Souza, David Jos. Desbravando o PIC, 6 Edio, Ed. rica Pereira, Fabio. Microcontroladores PIC Tcnicas Avanadas, Ed. rica. Fambrini, Francisco. Apostila sobre Linguagem Assembly, INTEP, edio do Autor. International Rectifier, Datasheet do transistor IRLZ 44 Microchip, Datasheet do microcontrolador PIC12F6xx *Artigo originalmente publicado na revista Saber Eletrnica - Ano 42 - Nmero 402- Julho de 2006 Extrado do Portal Saber Eletrnica Online - Todos os direitos reservados - www.sabereletronica.com.br

http://www.sabereletronica.com.br/secoes/leitura/690/imprimir:yes

07/05/2012