Circuito gerador de sinal Arduino PWM

Experimente Nosso Instrumento Para Eliminar Problemas





Neste artigo, estudamos elaboradamente como fazer um circuito gerador de sinal PWM baseado em Arduino, que pode ser definido ou ajustado com um potenciômetro ou um potenciômetro para qualquer taxa de ciclo de trabalho preferida.

DeAnkit Negi



O QUE É PWM?

pwm ou modulação por largura de pulso, como o próprio nome sugere, é a modulação da largura dos pulsos, ou seja, por quanto tempo o pulso é alto ou baixo em um determinado período de tempo. Isso muda o ciclo de serviço do pulso, que eventualmente determina o valor médio do pulso, pois o ciclo de serviço está no tempo dividido pelo período de tempo total.

E a frequência desempenha um papel muito importante no pwm, que deve ser alta o suficiente para gerar uma saída estável



Pwm é feito para diversos fins, como acionar um dispositivo que funciona em baixa tensão ou para fins de comutação, como no SMPS.

PWM USANDO ARDUINO UNO

Pwm também é um dos fatores que tornam o arduino uma placa de desenvolvimento mais simples, já que pwm pode ser feito adicionando apenas um código de linha ao seu programa. Observe que há pinos digitais separados disponíveis no arduino UNO para pwm, o que significa que esses pinos podem fornecer saída pwm.

Há um total de 6 pinos pwm disponíveis no arduino UNO que são 3, 5, 6,9,10 e 11 de 14 pinos digitais. Observe que o número de pinos pwm varia de um tipo de placa Arduino para outro.

Agora, existem duas maneiras em que o pwm pode ser executado pelo arduino:

1. Atribuindo diretamente um valor analógico ao pino pwm entre 0 e 255.

Como os pinos digitais no Arduino podem fornecer no máximo 5 V, isso significa que o valor analógico 0 é igual a 0 V e 255 é equivalente a 5 V.

E para fazer isso você só precisa adicionar este código ao seu programa:

analogWrite (pino PWM no, valor entre 0 a 255)

Por exemplo: analogWrite (10,64) // escreve 64 valores analógicos no pino pwm nº 10.

Agora, isso significa: (5/255) * 64 volts = 1,25 volts, ou seja, 25% do ciclo de trabalho.

2. Atribuindo o valor de acordo com a entrada recebida dos pinos analógicos do Arduino.
A entrada pode ser obtida de componentes como um sensor IR ou um potenciômetro.

Observe que o arduino recebe entrada analógica em termos de valor entre 0 a 1023, que é equivalente a 0 a 5 volts. Portanto, para realizar pwm em um pino, você deve converter este valor de entrada em equivalência para um número entre 0 e 255 e isso é chamado de mapeamento na linguagem do Arduino.

Existe um código simples para isso:

y = map (x, 0,1023: 0,255) // onde x é a variável de entrada

Depois disso, você pode executar pwm em um pino usando:

analogWrite (PWM pin no, y) // escreve o valor mapeado recebido no pino 10

EXEMPLO DE PWM:

Vamos aprender a técnica com este exemplo. Para isso você precisa:

1. Um potenciômetro
2. Dois leds
3. Dois resistores de 100 ohms

Faça as conexões conforme mostrado no diagrama do circuito:

DIAGRAMA DE CIRCUITO:

CÓDIGO:

int x// initialise variables
int y
void setup() {
pinMode(10,OUTPUT)//initialise pin 10 as output
pinMode(9,OUTPUT)//initialise pin 9 as output
pinMode(A0,INPUT)//initialise pin A0 as input from pot.
// put your setup code here, to run once:
}
void loop() {
analogWrite(9,125)// directly assigning value to pin 9 i.e. case1
x=analogRead(A0)// read values from potentiometer in terms of voltage
y= map(x,0,1023,0,255)// map those values from 0 to 255 // put your main code here, to run repeatedly:
analogWrite(10,y)// assigning value based on input from pot at pin A0 i.e. case 2
}

Como funciona

O funcionamento básico do projeto de gerador de sinal Arduino PWM proposto pode ser estudado a partir do parágrafo seguinte

O pino nº 9 pode ser atribuído a um valor pwm arbitrário, enquanto o pino nº. 10 fornece o valor pwm de acordo com a posição do potenciômetro em relação ao solo. Continue alterando este valor arbitrário para o pino 9, bem como gire o potenciômetro para ver a saída pwm diferente em ambos os pinos.




Anterior: Circuito de controle de motor de alta corrente usando Arduino Próximo: Chave de controle remoto de 10 canais de 2,4 GHz