Circuito Gerador de Sinal Arduino PWM

Relacionados

Neste post, estudamos detalhadamente 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 relação de ciclo de trabalho preferida.

De Ankit Negi

O QUE É PWM?

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

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

O Pwm é feito para vários propósitos, como acionar um dispositivo que funciona em baixa tensão ou para fins de comutação, como no SMPS.

PWM USANDO ARDUINO UNO

O Pwm também é um dos fatores que tornam o arduino uma placa de desenvolvimento mais simples, pois o pwm pode ser feito adicionando apenas uma linha de código ao seu programa. Observe que existem 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 pelas quais 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 5v, isso significa que 0 valor analógico é igual a 0 volts e 255 é equivalente a 5 volts.

E para fazer isso, basta adicionar este código ao seu programa:

analogWrite(Nº do pino PWM, valor entre 0 a 255);

Por exemplo: analogWrite(10,64); // escreve 64 valor analógico no pino pwm nº 10.

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

2. Atribuindo 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 equivale a 0 a 5 volts. Então para executar pwm em um pino você deve converter esse valor de entrada em equivalência para número entre 0 a 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 o pwm em um pino usando:

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

EXEMPLO DE PWM:

Vamos aprender tanto 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 de circuito:

DIAGRAMA DE CIRCUITO:

IMG 6243A0D01A7B0

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 a seguir

O pino nº 9 pode receber um valor de pwm arbitrário, enquanto o pino nº. 10 dá o valor de pwm de acordo com a posição do potenciômetro em relação ao terra. Continue alterando esse valor arbitrário para o pino 9, bem como gire o potenciômetro para ver diferentes saídas de pwm em ambos os pinos.

Hashtags: #Circuito #Gerador #Sinal #Arduino #PWM
 

FONTE


Nota: Este conteúdo foi traduzido do Inglês para português (auto)
Pode conter erros de tradução

Olá, se tiver algum erro de tradução (AUTO), falta de link para download etc…
Veja na FONTE até ser revisado o conteúdo.
Status (Ok Até agora)


Se tiver algum erro coloque nos comentários

Mas se gostou compartilhe!!!

Relacionados

Relacionados