630 likes | 1.05k Views
AULA 06: Sinais Analógicos. Sistemas Embarcados. Conversão Digital/Analógico. Sinais analógicos com ATmega328P. O ATmega328P não possui circuito interno para conversão de sinais digitais em analógicos.
E N D
AULA 06: Sinais Analógicos Sistemas Embarcados
Conversão Digital/Analógico professor
Sinais analógicos com ATmega328P • O ATmega328P não possui circuito interno para conversão de sinais digitais em analógicos. • Para gerar um sinal analógico a partir de um valor calculado no microcontrolador, é necessário o uso de um circuito externo. • Alguns exemplos de circuitos de conversores D/A são apresentados a seguir. Para realizar a conversão, os pinos do ATmega devem ser configurados como saídas e conectados às entradas dos conversores. professor
Conversor D/A de Resistências Ponderadas professor
Conversor D/A de Resistências Ponderadas • Consiste basicamente em um amplificador somador; • As tensões somadas são 0 ou Vcc, para os níveis lógicos baixo e alto; • Cada tensão é somada de forma ponderada (peso), e tal ponderação é dada pela relação entre os resistores R0 e Ri, onde i é representa a entrada; • Um conversor de grande número de bits exige resistores com uma faixa de valores muito grande: • Conversor de 10 bits terá na entrada LSB um resistor de resistência 512 vezes maior que a do resistor da entrada MSB: difícil de ser implementado com precisão. professor
Conversor D/A de Rede R-2R professor
Conversor D/A de Rede R-2R Considerando A1A2A3A4 = 1000, teremos: professor
Conversor D/A de Rede R-2R Calculando o resistor equivalente antes a entrada A1 teremos: Analogamente, podemos calcular a tensão de saída para outras entradas: professor
Rede R-2R professor
Conversor D/A de Rede R-2R • Não apresenta o problema da necessidade de ampla faixa de valores para os resistores: a diferença é de apenas o dobro do valor; • Pode ter saída ligada a um seguidor de tensão para evitar erros de conversão: professor
Conversor D/A de Rede R-2R Invertida professor
Conversor D/A de Rede R-2R Invertida • A corrente em cada resistor 2R é metade daquela no resistor anterior; • Corrente que circula no resistor de realimentação depende da ligação das chaves, que são controladas pelos bits de entrada (entrada digital); • A corrente total que circula na rede R-2R é constante, independente da posição das chaves! Isso faz com que a dissipação seja constante, o que provoca estabilização de temperatura: grande estabilidade e precisão. professor
Sinais analógicos com ATmega328P • A linguagem do Arduino possui uma função chamada: analogWrite(pino, valor); • Esta função faz surgir no pino especificado um valor de tensão proporcional ao valor passado como parâmetro (entre 0 e 5V). • Se o ATmega328P não possui conversor D/A interno, que tipo de sinal é gerado por essa função? professor
PWM – Pulse Width Modulation professor
PWM PWM = Pulse Width Modulation; Razão cíclica (duty cycle): define a tensão média aplicada: A1 A2 A3 T(PWM) T(PWM) T(PWM)
Controle de potência por PWM • analogWrite(pin,duty); • cria no pino pin um sinal PWM com razão cíclica igual a duty; • f = 490Hz; • apenas alguns pinos digitais possuem saída PWM.
Sinais Analógicos com PWM • É possível gerar um sinal analógico a partir de um sinal PWM através da aplicação de um filtro passa-baixas.
Sinais Analógicos com PWM • No circuito abaixo, o BJT opera como “seguidor de tensão”. Dessa forma, a tensão analógica na carga é controlada pela razão cíclica do sinal PWM. • Note que, nesse caso, mesmo que a carga seja puramente resistiva, sua corrente não será pulsada, mas suave e proporcional à razão cíclica.
Prática: Controle de brilho PWM int brightness = 0; // how bright the LED is int fadeAmount = 5; // how many points to fade void setup() { pinMode(11, OUTPUT); } void loop() { analogWrite(11, brightness); brightness = brightness + fadeAmount; if (brightness == 0 || brightness == 255) { fadeAmount = -fadeAmount ; } delay(30); }
Motor de Corrente Contínua (CC) • Alimentado em corrente contínua; • Possui ímã e bobinas internamente; • Velocidade é ajustada pela tensão de alimentação (pode ser por PWM!); • Sentido de giro é alterado pela polaridade.
Motor de Passo • Alimentado com sinais digitais; • Alimentação das bobinas deve ser sequencial; • Permite controle preciso de posição; • Torque cai muito com o aumento da velocidade.
Servomotor • É um motor CC que possui um sistema de interno de controle: • angular – controla a posição (giro) do eixo; • contínuo – controla a velocidade do eixo; • Normalmente é feito com um motor de corrente contínua, um circuito eletrônico e engrenagens para aumentar o torque; • Três fios: 2 de alimentação e um de controle; • O sinal de referência (de posição ou velocidade) é do tipo PWM.
Servomotores com Arduino #include <Servo.h> Servo myservo; // create servo object Servo myservo2; int potpin = 0; // used to connect the potentiometer int val; // value from the analog pin void setup() { myservo.attach(9); // attaches the servo on pin myservo2.attach(10); } void loop() { val = analogRead(potpin); // entre 0 e 1023 val = map(val, 0, 1023, 0, 179); // escalona myservo.write(val); myservo2.write(179-val); delay(15); } Felipe Nascimento Martins
Outros motores com Arduino • Cada pino do Arduino pode fornecer, no máximo, 40mA de corrente -> pode não ser suficiente para acionar um motor! • Solução: usar transistores ou circuitos integrados que implementem uma Ponte H.
Ponte H professor
Ponte H – exemplo de circuito professor
Ponte HL298 professor
Shield para Motores • Pode acionar dois motores CC ou um motor de passo: até 36V, 600mA, 5kHz.
Shield 4 Power • Pode acionar quatro motores CC (46V, 4A) e uma carga resistiva de até 30A.
PWM Senoidal • Para acionar motores de indução é necessário fazer variar a tensão periodicamente. • Modulação PWM a dois níveis: professor
PWM Senoidal • Modulação por largura de pulso (PWM): variação mais suave de tensão e corrente mais senoidal. • Modulação PWM a dois níveis: professor
Inversores trifásicos professor
Inversores trifásicos Sinais PWM professor
Inversores trifásicos: sinais PWM professor
Inversores trifásicos: sinais PWM professor
Dois transistores de um mesmo braço não podem ser acionados ao mesmo tempo: curto-circuito! Chaveamento de um braço professor
Chaveamento de um braço Sinais para chaves de um mesmo braço. Mesmos sinais em outra escala: note o tempo morto. professor
Inversor PWM – Aspecto da corrente vab ia Corrente num inversor PWM conectado a um gerador de indução. A tensão é gerada por uma máquina externa. professor
Inversor integrado IR: 16A, 600V. professor
Referências • ARDUINO. Language Reference. Disponível em: <http://arduino.cc/en/Reference/HomePage>. Acesso em 20/set/2012. • ARDUINO. Hardware Index. Disponível em: <http://arduino.cc/en/Main/Boards>. Acesso em 20/set/2012. • ATMEL. ATmega48A/PA/88A/PA/168A/PA/328/P datasheet. Rev. 8271D–AVR–05/11. 2011. • ATMEL. Atmel AVR042: AVR Hardware Design • Considerations. Rev. 2521K-AVR-03/11. 2011. • LIMA, Charles B. de; VILLAÇA, Marco V. M. AVR e Arduino – Técnicas de Projeto. 2ª ed. 2012. • MARTINS, Felipe N. Introdução à Eletrônica com Arduino. Disponível em: <http://www.slideshare.net/felipenm/oficina-de-introduo-a-eletrnica-com-arduino>. Acesso em 20/set/2012. • BOYLESTAD, Robert L. Dispositivos eletrônicos e teoria de circuitos. 8ª ed. Prentice Hall. São Paulo, 2004. • BALBINOT, Alexandre e BRUSAMARELLO, Valner J. Instrumentação e Fundamentos de Medidas. Vol. 1. LTC, 2006. • MELIM, Roberto Salles. Plataforma de Baixo Custo para Desenvolvimento de Sistemas de Automação e Controle. Projeto de Iniciação Científica, UCL, 2006. • MICROCHIP Technology Inc., PIC16F627A/628A/648A Data Sheet. DS40044F, 2007. professor