canal analÓgico -pwm - profbrunopedroso.webnode.com · canal analÓgico -pwm prof. msc. bruno...

13
CANAL ANALÓGICO - PWM Prof. Msc. Bruno Medina Pedroso Etec Presidente Vargas Curso Técnico Integrado em Mecatrônica Disciplina: Linguagem de Prog. Apli. Em Meca. profbrunopedroso.webnode.com

Upload: others

Post on 02-Sep-2019

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CANAL ANALÓGICO -PWM - profbrunopedroso.webnode.com · CANAL ANALÓGICO -PWM Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico Integrado em Mecatrônica Disciplina:

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

Page 2: CANAL ANALÓGICO -PWM - profbrunopedroso.webnode.com · CANAL ANALÓGICO -PWM Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico Integrado em Mecatrônica Disciplina:

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

Page 3: CANAL ANALÓGICO -PWM - profbrunopedroso.webnode.com · CANAL ANALÓGICO -PWM Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico Integrado em Mecatrônica Disciplina:

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

Page 4: CANAL ANALÓGICO -PWM - profbrunopedroso.webnode.com · CANAL ANALÓGICO -PWM Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico Integrado em Mecatrônica Disciplina:

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

Page 5: CANAL ANALÓGICO -PWM - profbrunopedroso.webnode.com · CANAL ANALÓGICO -PWM Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico Integrado em Mecatrônica Disciplina:

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

Page 6: CANAL ANALÓGICO -PWM - profbrunopedroso.webnode.com · CANAL ANALÓGICO -PWM Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico Integrado em Mecatrônica Disciplina:

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

Page 7: CANAL ANALÓGICO -PWM - profbrunopedroso.webnode.com · CANAL ANALÓGICO -PWM Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico Integrado em Mecatrônica Disciplina:

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

Page 8: CANAL ANALÓGICO -PWM - profbrunopedroso.webnode.com · CANAL ANALÓGICO -PWM Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico Integrado em Mecatrônica Disciplina:

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

Page 9: CANAL ANALÓGICO -PWM - profbrunopedroso.webnode.com · CANAL ANALÓGICO -PWM Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico Integrado em Mecatrônica Disciplina:

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

Page 10: CANAL ANALÓGICO -PWM - profbrunopedroso.webnode.com · CANAL ANALÓGICO -PWM Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico Integrado em Mecatrônica Disciplina:

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

Page 11: CANAL ANALÓGICO -PWM - profbrunopedroso.webnode.com · CANAL ANALÓGICO -PWM Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico Integrado em Mecatrônica Disciplina:

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

Page 12: CANAL ANALÓGICO -PWM - profbrunopedroso.webnode.com · CANAL ANALÓGICO -PWM Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico Integrado em Mecatrônica Disciplina:

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

Page 13: CANAL ANALÓGICO -PWM - profbrunopedroso.webnode.com · CANAL ANALÓGICO -PWM Prof. Msc. Bruno Medina Pedroso EtecPresidente Vargas Curso Técnico Integrado em Mecatrônica Disciplina:

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