Adquira estes componentes na Loja do Lab de Garagem
Neste tutorial vamos explicar o que é o PWM (Pulse Width Modulation) e como utilizá-lo no Arduino.
A modulação por Largura de Pulso ou PWM é a modulação ou alteração da largura do pulso de um sinal de onda quadrada que pode ser dados à ser transmitido, um efeito de áudio ou potência fornecida ou regulada.
O Arduino contém 6 PWM's que estão destacadas com um "~" na frente do número referente a porta digital. Com estas entradas pode-se obter resultados analógicos por meio de sinal digital.
O controle digital cria ondas quadradas com pulsos de largura variável, podendo assim dar uma tensão média à carga, por exemplo.
A figura abaixo mostra as formas de onda mais usuais:
Como podemos ver, o que muda é a largura do pulso como descrito anteriormente. Por exemplo, digitando apenas analogWrite(Pino Digital, 127) tem-se uma largura de pulso de 50% da onda quadrada. Vamos para um exemplo:
Fazendo a ligação como da figura acima. Ao girar o potenciômetro, o Led acenderá e apagará lentamente. Esta é uma aplicação o qual você pode controlar o fornecimento de potência à carga. A programação desta ligação está mostrada abaixo:
int Ledpin=9;
int analogpin=A0;
int value=0;
int x;
void setup()
{
Serial.begin(9600);
pinMode(Ledpin, OUTPUT);
}
void loop()
{
value=analogRead(analogpin);
x=map(value,0,1023,0,255);
analogWrite(Ledpin,x);
Serial.println(x);
delay(100);
}
Na programação, o Arduino recebe o valor analógico do potenciômetro, converte para o sinal de acordo com o PWM e depois manda para a porta digital "9". Agora, para ligar um motor ou componente que necessite de mais potência ou corrente, faça a seguinte ligação:
A programação é a mesma e não precisa de mudança. A bateria de 9V é apenas para exemplo, verifique a tensão de alimentação do motor ou da carga para evitar queimar seu componente. O funcionamento do circuito é idêntico, porém, ao girar o potenciômetro, o motor aumentará ou diminuirá a rotação.
E é isso! Esperamos que tenha gostado!! Se tiver dúvidas referente ao tutorial, poste aqui neste blog! Se tiver uma sugestão de tutoriais, clique aqui! Para ver outros tutoriais e projetos desenvolvidos pela equipe LdG ou por outros garagistas, clique aqui e aqui, respectivamente! Até a próxima!
Referências:
http://arduino.cc/en/Tutorial/PWM
http://arduino.cc/en/Reference/AnalogWrite
http://pt.wikipedia.org/wiki/Modula%C3%A7%C3%A3o_por_largura_de_pulso
Comentar
Eu utilizei o TIP122 com um motor dc de 5V e funcionou como o esperado, agradeço as dicas, muito bom.
Paulo. É exatamente isso que esta montagem (soft + hard) faz...
Como mudar esse código de forma que: Ao arduino receber um pulso em uma porta analogica qualquer, ele habilite a saida PWM, mostrando neste instante, uma quadrada com largura controlada pela posição do potenciometro.
Agradeço que possa ajudar.
O transístor é um MOSFET, pode ser um FQP50N06L, o resistor é um de 220R (Homs), o potenciômetro pode ser um de 5 K.
Tá lá escrito "FET" nele.
Na verdade, parece ser um regulador LM7805!!!!!!!!
Vermelho vermelho Marrom = 220 Ohms?
O transistor pode ser qq. FET de baixa tensão de gate (será que acha algum de 9 V??? Ou menos???) e que suporte 9 Volts.
Que transistor e resistor foi utilizado?
Seria o TIP 122?
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)