1 / 61

AULA 05: Entrada Analógica

AULA 05: Entrada Analógica. Sistemas Embarcados. Conversor Analógico/Digital (A/D). Sinais Digitais e Analógicos. A comunicação de dados através de sinais digitais : maior imunidade a ruídos , maior robustez e maior confiabilidade;

glenna
Download Presentation

AULA 05: Entrada Analógica

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AULA 05: Entrada Analógica Sistemas Embarcados

  2. Conversor Analógico/Digital (A/D) professor

  3. Sinais Digitais e Analógicos • A comunicação de dados através de sinais digitais: maior imunidade a ruídos, maior robustez e maior confiabilidade; • Processamento de sinais digitais: mais eficiente do que o processamento de sinais analógicos  microprocessadores; • O armazenamento dos dados digitais é mais robusto; • Então, por quê ainda usamos sinais analógicos? professor

  4. Sinais Analógicos • Uma das razões é que, em muitos casos, os sinais de saída dos sensores são analógicos. Ex.: termopar, PT-100, célula de carga, etc. • Além disso, há padrões industriais de comunicação de dados que usam sinais analógicos, como 4 a 20mA ou 0 a 10 V. • Por essas razões, o estudo dos Conversores Analógicos/Digitais (ADC) e Digitais/Analógicos (DAC) é de grande importância. professor

  5. Sinais Analógicos • Sinais Contínuos no tempo são representados por funções de variáveis contínuas. Por exemplo: sinais de voz, de áudio, eletrocardiograma, etc. • A Figura ilustra um trecho de sinal contínuo no tempo e que é descrito por x(t) = cos(π t/10). professor

  6. Sinais Analógicos • A informação muitas vezes está representada pela amplitude do sinal analógico. Este é o caso dos sinais resultantes de termopares, strain-gages, LDRs, etc. Também é o caso dos padrões 4 a 20mA e 0 a 10V. • Por isso, nos interessa converter a amplitude de um sinal analógico num valor que possa ser representado na forma digital (formato binário). professor

  7. Conversão A/D professor

  8. Etapas de Conversão A/D • O procedimento de conversão envolve as etapas de Amostragem, Retenção, Quantificação e Codificação. professor

  9. Amostragem • A amostragem consiste em tomar amostras de um sinal contínuo regularmente espaçadas no tempo. • Gera um sinal discreto no tempo correspondente ao sinal contínuo original. • A frequência de amostragem é definida como: • e • Onde: • fs - frequência de amostragem em Hz; • ws - frequência de amostragem em rad/s; • Ts - período de amostragem em s. professor

  10. f(t) t Amostragem • O gráfico ilustra a amostragem de um sinal cossenoidal. professor

  11. Amostragem • O sinal amostrado é representado por uma sequência de valores cujas amplitudes correspondem às amplitudes instantâneas do sinal original no momento da realização da amostragem. professor

  12. Amostragem • Um circuito amostrador faz a discretização de um sinal. professor

  13. Amostragem • Note que o processo de Amostragem introduz um erro na representação, pois variações que ocorrem entre as amostras não são percebidas. • É natural supor que quanto maior for o número de amostras em determinado intervalo, melhor será a representação discreta do sinal. • Teorema da Amostragem de Shannon: • A taxa de amostragem para um sinal cuja componente de maior frequência tem frequência f0 deve ser de, pelo menos, 2f0. professor

  14. Retenção • Durante o processo de conversão A/D o sinal deve ser mantido num valor constante na entrada do circuito conversor. Esse processo é chamado de retenção. • Retentor de Ordem Zero (Zero Order Hold): professor

  15. Quantificação • Quantificação é o processo de representação de uma fonte de dados analógicos num conjunto finito de níveis. • Este processo introduz uma distorção e perda de informação. • Pode ser uniforme (em que o passo de quantificação é constante) ou não uniforme. • Nos conversores A/D a quantificação é uniforme e o número de níveis está diretamente relacionado ao número de bits do conversor: o erro de quantificação será tão menor quanto maior for o número de bits usados para representar o valor. professor

  16. Quantificação professor

  17. Codificação • Consiste em converter os valores de tensão amostrados para valores correspondentes à escala disponível no conversor A/D. • Ex: sinal de vídeo de 0 a 5V com um conversor A/D de 8 bits: • Quantificação = 5/(28) = 0,0195V por nível. • Codificação = cada nível vale 1 unidade binária. professor

  18. Codificação professor

  19. Breve revisão de Amp.Ops. • Sem realimentação, funcionam como comparadores: • Se V1 > V2 => saída = V+ (tensão de alimentação +) • Se V2 > V1 => saída = V- (tensão de alimentação -) professor

  20. Breve revisão de Amp.Ops. • Com realimentação negativa: • Curto-circuito virtual entre as entradas inversora e não-inversora. professor

  21. Breve revisão de Amp.Ops. • Buffer de corrente, ou seguidor de tensão: • Curto-circuito virtual entre as entradas inversora e não-inversora faz com que a tensão de saída seja igual à da entrada; • Pode aumentar a capacidade de fornecimento de corrente de alguns circuitos, como redes de resistores. professor

  22. Breve revisão de Amp.Ops. • Podem funcionar com realimentação negativa nas configurações inversora e não-inversora: professor

  23. Breve revisão de Amp.Ops. • Amplificadores a diferenças e somador: professor

  24. Breve revisão de Amp.Ops. • Integrador professor

  25. Breve revisão de Amp.Ops. • Derivador professor

  26. Conversor A/D Flash professor

  27. Conversor A/D Flash • Também chamado de Paralelo, Simultâneo ou com Comparador. • É extremamente rápido; • Saída possui sempre o sinal de entrada; • Circuito pode ser excessivamente grande se o número de bits for alto: 2n – 1 comparadores para um conversor de n bits; • Precisa de sinal de tensão de referência externa. professor

  28. Conversores A/D de Rampa em Escada professor

  29. Conversores A/D de Rampa em Escada • Requer pouco hardware e é barato; • Tempo de conversão depende do valor do sinal de entrada e pode ser muito longo: até 2n períodos de clock para um conversor de n bits; professor

  30. Conversor A/D de Aproximações Sucessivas professor

  31. Conversor A/D de Aproximações Sucessivas • Utiliza uma estratégia de conversão diferente; • Inicialmente o circuito de controle coloca na entrada do conversor D/A um valor correspondente a metade do fundo de escala. Por exemplo: 1000; • A tensão gerada pelo DAC é, então, comparada com a tensão de entrada: se for maior, o valor binário é reduzido; se for menor, o valor é aumentado; • O aumento e a redução do valor binário é sempre tal que a mudança em volts corresponde à metade da mudança anterior; • Com tal estratégia, um conversor de n bits leva apenas n ciclos de clock para realizar uma conversão completa. professor

  32. Conversor A/D de Aproximações Sucessivas professor

  33. Conversor A/D do ATmega328P • O ATmega328P possui um conversor A/D de aproximações sucessivas. • Resolução: 10 bits (1024 intervalos); • Precisão: +/- 2 LSB; • 6(8) canais multiplexados; • Entrada: 0 a Vcc • Conversão simples ou contínua; • Converesão em modo sleep para redução de ruído; • Interrupção por fim de conversão. professor

  34. professor

  35. ADC – Alimentação • O pino AVcc deve ser alimentado mesmo que o conversor A/D não seja utilizado. • O fabricante recomenda ligação através de um filtro para aumentar imunidade a interferências durante a conversão. professor

  36. ADC – Circuito de Entrada • A amostragem consiste na carga do capacitor: tempo de amostragem depende do circuito externo; • Otimizado para circuitos com impedância <= 10kΩ; • Componentes maiores que fADC/2 não devem existir: sinal deve ser filtrado externamente. professor

  37. ADC – Referência • A referência de tensão para o conversor A/D estabelece o nível de tensão associado ao valor digital máximo (1023). • A referência pode ser: • Vcc (5V); • Interna (1,1V no ATmega328); • Externa (pino AREF: entre 0 e 5V). professor

  38. ADC – Funções do Arduino • Basicamente, existem duas funções para realização de leitura de sinais analógicos no Arduino: analogReference(tipo); • tipo  DEFAULT, INTERNAL, EXTERNAL. analogRead(pino); • pino  A0, A1, A2, A3, A4, A5. professor

  39. Pinos de Entradas Analógicas professor

  40. ADC – Considerações importantes • O comando analogRead() não irá funcionar corretamente se um pino tiver sido previamente selecionado como saída. • Nesse caso, o pino deve ser novamente configurado como entrada antes que o comando analogRead() seja executado. • Caso o pino tenha sido colocado em nível alto (HIGH) como saída, ao ser configurado como entrada ele terá o resistor de pull-up conectado. • Por isso, coloque o pino em nível baixo antes de configurá-lo como entrada. professor

  41. ADC – Considerações importantes • O fabricante do ATmega alerta contra a troca de canais do conversor A/D num curto intervalo para leitura de valores analógicos em pinos diferentes. • A troca de canais causa ruído elétrico e introduz erros no processo de conversão. • Por isso, deve-se introduzir algum intervalo entre a leitura de pinos analógicos diferentes. • Mesmo depois de manipular pinos analógicos em modo digital, é aconselhável acrescentar um pequeno intervalo antes de executar a função analogRead() em outros pinos. professor

  42. Prática 1: Detector de EMF • http://www.aaronalai.com/emf-detector professor

  43. Prática 1: Detector de EMF • #define sample 300 • float val; • int array1[sample]; • unsigned long averaging; • void setup() { • Serial.begin(9600); • pinMode(A5, INPUT); • digitalWrite(A5, LOW); // Qual é a função desta linha? • } • void loop() { • for(int i = 0; i < sample; i++){ • array1[i] = analogRead(A5); • averaging += array1[i]; • } • val = averaging / sample; • val = constrain(val, 0, 255); • Serial.println(val); • averaging = 0; • } professor

  44. Prática 2: Aquisição de Dados • Faça um programa que realize a leitura do valor analógico do pino A0 e transmita o valor convertido para o computador via porta serial. • Funcionamento: ao ser energizado, o programa deve mostrar a mensagem de menu: Digite C para começar e P para parar. • Ao digitar C, o usuário passa a receber os dados da leitura analógica a cada 100ms. • Ao digitar P, o Arduino cessa a transferência dos dados e imprime a mesma mensagem na tela. professor

  45. Exemplo: Leitura de Teclado Matricial professor

  46. Exemplo: Leitura de Teclado Matricial professor

  47. Exemplo: Aquisição de Dados • int knockSensor = A0; • int val = 0; • void setup() { • Serial.begin(9600); • } • void loop() { • val = analogRead(knockSensor); • Serial.println(val); • delay(100); • } professor

  48. Exemplo: Aquisição de Dados http://www.blendedtechnologies.com/realtime-plot-of-arduino-serial-data-using-python/231 professor

  49. Exemplo: Aquisição de Dados professor

  50. Exemplo: Aquisição de Dados http://www.nossosrobos.blogspot.com.br/2011/10/arduino-com-matlab.html professor

More Related