PWM no Raspberry Pi

176 views

O que é PWM e Como Utilizá-lo no Raspberry Pi?

PWM significa Pulse Width Modulation (Modulação por Largura de Pulso) onde a frequência de trabalho se mantém constante, mas a largura de pulso ou o ciclo ativo também conhecido como duty cycle pode variar, sendo assim é possível controlar a potência de cargas de tensão contínua.

O valor de duty cycle é dado em porcentagem, desta forma podemos determinar o valor médio da tensão fornecida à carga, por exemplo, se o valor máximo da onda for 5 volts e o duty cycle for de 50%, a tensão média será de 2,5V, caso o duty cycle seja de 75% a tensão média será de 3,75V.PWM

Acima podemos ver as variações de ciclo ativo (nível lógico alto) e nível lógico baixo e as suas respectivas tensões médias. Quanto maior o duty cycle maior a tensão média fornecida à carga.

PWM no Raspberry Pi

Para utilizar PWM no Raspberry vamos acionar um motor DC conforme o circuito abaixo:

O controle da potência do motor será feito através do valor de tensão média enviado do pino 12 da Raspberry para a base do transistor. Como já foi mencionado, o valor desta tensão está ligada à largura de pulso da onda quadrada.

Para gerar este sinal é necessário criar um código conforme podemos ver abaixo:

Código

O programa abaixo tem a finalidade de ajustar o sinal para um duty cicle de 50% em uma frequência de 50Hz.

Primeiramente foram importadas as bibliotecas da GPIO import RPi.GPIO as GPIO e em seguida foi configurado o modo de definição dos pinos GPIO. Se configurarmos como .BCM o pino 12 seria definido como GPIO18 (Veja no post Introdução ao Raspberry Pi – Hardware).
A porta 12 foi configurada como saída GPIO.setup(12,GPIO.OUT) e neste pino é gerado o sinal PWM em 50Hz e enviado para a variável sign=GPIO.PWM(12,50). O duty cycle é definido em 50% sign.start(10).

Entre os pontos A e B foi conectado um osciloscópio para que fosse feita a aquisição da forma de onda que está sendo enviada para a base do transistor. Veja abaixo a medida feita:

Podemos ver que foram feitas as medidas da tensão média (Médio), período e frequência.
Abaixo temos o programa onde o duty cycle foi alterado para 20%:

Podemos notar que devido a alteração do duty cicle para 20% o valor da tensão média também foi alterado.

Esperamos que tenham gostado deste tutorial. Para tirar dúvidas e sugestões, deixe um comentário abaixo.
Obrigado e confira outros produtos em nossa loja!

(Visited 136 times, 1 visits today)