canal analÓgico -pwm - profbrunopedroso.webnode.com · canal analÓgico -pwm prof. msc. bruno...
TRANSCRIPT
CANAL ANALÓGICO - PWM
Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.
profbrunopedroso.webnode.com
CANAL ANALÓGICO (Introdução)Variáveis analógicas apresentam variação modular em função do tempo, como por exemplo a temperatura,
pressão, nível, etc. Para trabalhar com estas variáveis, é necessário utilizar o canal analógico do arduino.
Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.
profbrunopedroso.webnode.com
CANAL ANALÓGICO (Hardware)
Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.
profbrunopedroso.webnode.com
CANAL ANALÓGICO (Cálculos)
O módulo analógico do Arduino Due pode ser configurado para atuar com diferentes resoluções. Portanto é
necessário definir a precisão na leitura do sinal, para em seguida definir a resolução a ser programada.
Após o cálculo da resolução, pode-se definir o valor analógico correspondente ao sinal de entrada.
Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.
profbrunopedroso.webnode.com
CANAL ANALÓGICO (Funções de Programação)
Função analogReadResolution(): é utilizada para definir a resolução do módulo analógico que pode variar
entre 8, 10 ou 12 bits, dependendo da precisão desejada
Exemplo:
analogReadResolution( 12 );
Neste caso a resolução do módulo foi ajustada em 12 bits.
Deve-se atentar que esta função é exclusiva do arduino Due e Zero, não sendo válida para as outras famílias
de arduino. Se esta função não for colocada no programa, o mesmo adota como padrão 10 bits.
Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.
profbrunopedroso.webnode.com
CANAL ANALÓGICO (Funções de Programação)
Função analogRead(): é utilizada para efetuar a leitura de uma entrada analógica, que deverá ser
representada entre parênteses.
Exemplo:
int vdig;
vdig = analogRead( A0 );
Neste caso o valor respectivo a entrada analógica A0 é atribuída a uma variável para ser
manipulada no programa.
Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.
profbrunopedroso.webnode.com
CANAL ANALÓGICO (Exemplo)
Um Led deverá acionar quando o valor de um potenciômetro ultrapassar a faixa de 2,5 V. Sendo que nos
valores abaixo, o Led deverá permanecer desligado.
unsigned int vdig ;float vanal;
void setup() {
pinMode(6, OUTPUT);analogReadResolution(12);
}
void loop(){
vdig = analogRead(A0); vanal = 0.000805860*vdig;
if(vanal<= 2.50){digitalWrite(6, LOW);}
else if(vanal>2.50) {digitalWrite(6, HIGH);
}}
Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.
profbrunopedroso.webnode.com
MÓDULO DE PWM (Introdução)
O controle por PWM (Pulse Width Modularion) é tipo de técnica utilizada para controle de Motores DC,
Válvulas Proporcionais, onde o deslocamento, velocidade, é controlado em função da largura do pulso do sinal
Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.
profbrunopedroso.webnode.com
MÓDULO DE PWM (Hardware)
Possui 12 pinos para PWM iniciando
no pino 2 até o pino 13
Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.
profbrunopedroso.webnode.com
MÓDULO DE PWM (Cálculo)
Para gerar o sinal levando em consideração o valor de duty cicle, pode-se utilizar da seguinte equação
para determinar os valores:
DCatb = �� (%)/���
�
����
Onde:
DCatb: Duty cicle atribuído
DC: Duty cicle percentual (%)
n: Número de bits definido (8, 10, 12)
Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.
profbrunopedroso.webnode.com
MÓDULO DE PWM (Funções de Programação)
Função analogWriteResolution(): é utilizada para definir a resolução do módulo de PWM que pode variar
entre 8, 10 ou 12 bits, dependendo da precisão desejada
Exemplo:
analogWriteResolution( 12 );
Neste caso a resolução do módulo foi ajustada em 12 bits.
Deve-se atentar que esta função é exclusiva do arduino Due e Zero, não sendo válida para as outras famílias
de arduino. Se esta função não for colocada no programa, o mesmo adota como padrão 10 bits.
Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.
profbrunopedroso.webnode.com
MÓDULO DE PWM (Funções de Programação)
Função analogWrite(): é utilizada para gerar o PWM com o valor de duty cicle definido
Exemplo:
int dc_atb;
analogWrite(2, dc_atb );
Neste caso o valor de PWM será gerado na saída 2
Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.
profbrunopedroso.webnode.com
MÓDULO DE PWM (Exemplo)
O sinal de pwm da saída 3 deverá ser controlado por um potenciômetro conectado a entrada analógica A0.
Já o sinal de pwm da saída 6 é acionado com 80% de Duty Cicle em função do acionamento do pino 2 de entrada.
float dc=80.0, pwm, pwm1, AN0;
void setup() {
pinMode(2, INPUT);analogReadResolution(10); // Arduino DUE
}
void loop() {
AN0 = analogRead(A0); pwm = 0.249*AN0; //(255 - 0 / 1023 - 0) PWM CONFIGURÁVEL ENTRE 0 E 255
analogWrite(3, pwm);
pwm1= 2.55*dc; //(255 - 0 / 100 - 0) PWM CONFIGURÁVEL ENTRE 0 E 255
if(digitalRead(2)==HIGH){
analogWrite(6, pwm1);}else{
analogWrite(6, 0);}
}
Prof. Msc. Bruno Medina PedrosoEtec Presidente VargasCurso Técnico Integrado em MecatrônicaDisciplina: Linguagem de Prog. Apli. Em Meca.
profbrunopedroso.webnode.com