Microcontroladores
PIC
Conversor A/D
Fábio Souza 1
Objetivos
• Compreender o funcionamento do Conversor A/D;
• Configurar corretamente o conversor A/D;
• Ler valores de conversão A/D
Fábio Souza 2
Sinal Analógico
Vivemos em um mundo analógico, tudo que está a nossa volta é
analógico. As grandezas físicas precisamos medir são analógicas:
tensão, corrente, temperatura, pressão, humidade, etc.
Fábio Souza 3
Sinal Analógico
Conversor A/D
• Para que um sistema digital possa interpretar um sinal analógico é
necessário um circuito pra conversão desse sinal em um valor digital.
Fábio Souza 4
Conversor A/D
• O conversor A/D faz algumas amostragens e depois converte o sinal
lido em um sinal binário conforme sua precisão em bits.
• Se um conversor for de 8 bits converterá o valor de tensão em um
valor digital entre 0 a 255;
• Se um conversor for de 10 bits converterá o valor de tensão em um
valor digital entre 0 a 1023;
Fábio Souza 5
Resolução do Conversor A/D
• A resolução depende da quantidade de bits e pode ser calculada da
seguinte forma:
resolução = Vref / 2n
• Onde:
• Vref – referência para conversão
• Quantidade de bits do conversor
Fábio Souza 6
Exemplo para calculo A/D
Fábio Souza 7
Conversor A/D do PIC16F877A
• O PIC16F877A possui conversor A/D interno com as seguintes
características:
• Pode trabalhar com 8 ou 10 bits de precisão;
• Possui 8 canais para conversão;
• Quatro tipos de referência: VDD ou VSS (interna), VREF+ ou VREF- (externa);
• Freqüência de conversão baseada no clock interno do microcontrolador ou através
de cristal externo (pode operar no modo sleep);
• Uma interrupção para avisar sobre o término da conversão.
• Obs. Apesar destes microcontroladore possui 8 canais para conversão, ele
possui apenas um único conversor interno. Deve-se selecionar o canal
correntemente antes da conversão.
Fábio Souza 8
Diagrama de blocos
Fábio Souza 9
Registradores – ADCON0
Fábio Souza 10
Registradores – ADCON0
Fábio Souza 11
Registradores – ADCON1
Fábio Souza 12
Registradores – ADCON1
Fábio Souza 13
Resultado justificado
Fábio Souza 14
Funções no MikroC
• ADC_Init();
• ADC_Read(unsigned short channel);
Fábio Souza 15

Microcontroladores PIC - Conversor A/D

  • 1.
  • 2.
    Objetivos • Compreender ofuncionamento do Conversor A/D; • Configurar corretamente o conversor A/D; • Ler valores de conversão A/D Fábio Souza 2
  • 3.
    Sinal Analógico Vivemos emum mundo analógico, tudo que está a nossa volta é analógico. As grandezas físicas precisamos medir são analógicas: tensão, corrente, temperatura, pressão, humidade, etc. Fábio Souza 3 Sinal Analógico
  • 4.
    Conversor A/D • Paraque um sistema digital possa interpretar um sinal analógico é necessário um circuito pra conversão desse sinal em um valor digital. Fábio Souza 4
  • 5.
    Conversor A/D • Oconversor A/D faz algumas amostragens e depois converte o sinal lido em um sinal binário conforme sua precisão em bits. • Se um conversor for de 8 bits converterá o valor de tensão em um valor digital entre 0 a 255; • Se um conversor for de 10 bits converterá o valor de tensão em um valor digital entre 0 a 1023; Fábio Souza 5
  • 6.
    Resolução do ConversorA/D • A resolução depende da quantidade de bits e pode ser calculada da seguinte forma: resolução = Vref / 2n • Onde: • Vref – referência para conversão • Quantidade de bits do conversor Fábio Souza 6
  • 7.
    Exemplo para calculoA/D Fábio Souza 7
  • 8.
    Conversor A/D doPIC16F877A • O PIC16F877A possui conversor A/D interno com as seguintes características: • Pode trabalhar com 8 ou 10 bits de precisão; • Possui 8 canais para conversão; • Quatro tipos de referência: VDD ou VSS (interna), VREF+ ou VREF- (externa); • Freqüência de conversão baseada no clock interno do microcontrolador ou através de cristal externo (pode operar no modo sleep); • Uma interrupção para avisar sobre o término da conversão. • Obs. Apesar destes microcontroladore possui 8 canais para conversão, ele possui apenas um único conversor interno. Deve-se selecionar o canal correntemente antes da conversão. Fábio Souza 8
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
    Funções no MikroC •ADC_Init(); • ADC_Read(unsigned short channel); Fábio Souza 15