Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Como utilizar o SCT-013 em um ambiente de microchip

O SCT-013 é um sensor de corrente não invasivo amplamente utilizado para medir a corrente elétrica em cabos sem a necessidade de desconectá-los. Embora seja mais comum em projetos de Arduino e Raspberry Pi, é possível adaptá-lo para funcionar em um ambiente de microchip, como com microcontroladores PIC ou AVR. Este artigo explicará como integrar o SCT-013 com um microcontrolador, destacando sua importância para monitoramento de corrente em projetos eletrônicos e industriais.

Exemplo 1: Conexão do SCT-013 com um Microcontrolador PIC

Para conectar o SCT-013 a um microcontrolador PIC, você precisará de alguns componentes adicionais, como resistores e capacitores, para criar um circuito de condicionamento de sinal. Aqui está um exemplo de como fazer isso:

  1. Componentes Necessários:

    • Sensor SCT-013
    • Microcontrolador PIC (ex: PIC16F877A)
    • Resistor de 10kΩ
    • Capacitor de 10µF
    • Protoboard e fios de conexão
  2. Circuito de Condicionamento de Sinal:

    • Conecte o resistor de 10kΩ em paralelo com a saída do SCT-013.
    • Conecte o capacitor de 10µF em série com a saída do SCT-013.
    • Conecte a saída do capacitor ao pino ADC do microcontrolador PIC.
  3. Código de Exemplo em C:

    #include <xc.h>
    
    // Configurações do ADC
    void ADC_Init() {
       ADCON0 = 0x41; // Habilita o ADC e seleciona o canal AN0
       ADCON1 = 0x80; // Configura o ADC para usar o oscilador interno
    }
    
    // Função para ler o valor do ADC
    unsigned int ADC_Read(unsigned char channel) {
       ADCON0 &= 0xC5; // Limpa os bits de seleção do canal
       ADCON0 |= channel << 3; // Seleciona o canal
       __delay_ms(2); // Tempo de aquisição
       GO_nDONE = 1; // Inicia a conversão
       while(GO_nDONE); // Espera a conversão terminar
       return ((ADRESH << 8) + ADRESL); // Retorna o valor do ADC
    }
    
    void main() {
       unsigned int adc_value;
       ADC_Init();
    
       while(1) {
           adc_value = ADC_Read(0); // Lê o valor do ADC no canal 0
           // Processa o valor do ADC conforme necessário
       }
    }

Exemplo 2: Conexão do SCT-013 com um Microcontrolador AVR

Para um microcontrolador AVR, como o ATmega328p, o processo é semelhante. Aqui está um exemplo de como fazer isso:

  1. Componentes Necessários:

    • Sensor SCT-013
    • Microcontrolador AVR (ex: ATmega328p)
    • Resistor de 10kΩ
    • Capacitor de 10µF
    • Protoboard e fios de conexão
  2. Circuito de Condicionamento de Sinal:

    • Conecte o resistor de 10kΩ em paralelo com a saída do SCT-013.
    • Conecte o capacitor de 10µF em série com a saída do SCT-013.
    • Conecte a saída do capacitor ao pino ADC do microcontrolador AVR.
  3. Código de Exemplo em C:

    #include <avr/io.h>
    
    // Configurações do ADC
    void ADC_Init() {
       ADMUX = (1<<REFS0); // Seleciona a referência de tensão AVcc
       ADCSRA = (1<<ADEN)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0); // Habilita o ADC e configura o prescaler
    }
    
    // Função para ler o valor do ADC
    uint16_t ADC_Read(uint8_t channel) {
       ADMUX &= 0xF0; // Limpa os bits de seleção do canal
       ADMUX |= channel; // Seleciona o canal
       ADCSRA |= (1<<ADSC); // Inicia a conversão
       while(ADCSRA & (1<<ADSC)); // Espera a conversão terminar
       return ADC; // Retorna o valor do ADC
    }
    
    int main() {
       uint16_t adc_value;
       ADC_Init();
    
       while(1) {
           adc_value = ADC_Read(0); // Lê o valor do ADC no canal 0
           // Processa o valor do ADC conforme necessário
       }
    }

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.