quarta-feira, 4 de dezembro de 2013

Gerando 13000V com o pic 12F675

       Um dia meu carro deu um problema na bobina(mas sabemos que dificilmente essas bobinas queimam de verdade o que acontece é defeitos no circuito de acionamento) então pensei em demostrar como gerar altas tensões utilizando um microcontrolador PIC de 8 pinos (12F675) , vale lembra que eu aproveitei o circuito já existente(pois o único defeito dessa bobina eram os fios de ligação aos terminais que estavam todos ressecados e dobradiços devido ao calor do motor do carro),na figura abaixo é demostrado a bobina do corsa:
        Para fazer o acionamento desta bobina é preciso saber quais os terminais desta placa será utilizado, então veja a descrição na figura a seguir:


       Os sinais que vem do modulo de gerenciamento central do carro são aplicados nas entrada in1 e in2, out1 e out2 vão para os terminais da bobina e o +12V vai ao outro terminal da bobina e a placa de controle e por fim o GND que também vai a esta placa.Depois de saber onde colocar o sinal que vira do microcontrolador montei um circuito para acionar e refiz algumas interligação da placa aos terminais da bobina ficando assim:

     O esquemático do circuito que fiz é este:
       O circuito é muito simples coloquei um led para indicar cada vez que pressiono um dos botões e caso eu fique com ele pressionado o valor da largura de pulso aumenta ou diminue enquanto manter este pressionado,no pino GP2 sai o sinal que será aplicado ao circuito de controle da bobina(que nada mais é do que um drive que aciona 2 IGBTs que mandam o pulso ao transformador da bobina).vou mostrar o vídeo que está disponível no you tube e logo em seguida o código fonte do circuito:

      O código fonte:

/*
 *                       Gerando altas tensões com uma bobina
 *
 * Compilador : MPlabXC8
 * Microcontrolador: 12F675
 * Autor: aguivone
 * Versão: 1
 * data: 04/12/2013
*/ #include <stdio.h> #include <stdlib.h> #include <xc.h> /////////////////////////////////////////////////////////configuraçôes////////////////////////////////////////////////// #pragma config FOSC = INTRCIO // Oscillator Selection bits (INTOSC oscillator: I/O function on GP4/OSC2/CLKOUT pin, I/O function on GP5/OSC1/CLKIN) #pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled) #pragma config PWRTE = ON // Power-Up Timer Enable bit (PWRT enabled) #pragma config MCLRE = OFF // GP3/MCLR pin function select (GP3/MCLR pin function is digital I/O, MCLR internally tied to VDD) #pragma config BOREN = OFF // Brown-out Detect Enable bit (BOD disabled) #pragma config CP = OFF // Code Protection bit (Program Memory code protection is disabled) #pragma config CPD = ON // Data Code Protection bit (Data memory code protection is enabled) //////////////////////////////////////////////////////Rotina principal/////////////////////////////////////////////////////////////// delay_ms(long t)//tempo aproximado {//aqui está usado o clock interno long temp=0; int conta=0; while(temp < t) { conta=0; while(conta<40) { conta++; } temp++; } } void main(void) { TRISIO = 0X03;//configura gp1 e gp2 como entrada CMCON = 7;//desabilita comparadores ANSEL = 0;//habilita as portas de I/O int tempo=1; for(;;) { if(GP0 == 0) { delay_ms(100);//debounce do botão(filtro) if(GP0 == 0) { while(GP0 == 0)//enquanto botão pressionado incrementa { tempo++; delay_ms(100);//debounce do botão(filtro) GP4 = !GP4;//alterna led a cada incremento if(tempo>50) { tempo = 1;//limita valor maximo para 50 } } GP4 = 0; } } if(GP1 == 0) { delay_ms(100);//debounce do botão(filtro) if(GP1 == 0) { while(GP1 == 0)//enquanto botão pressionado decrementa { tempo--; delay_ms(100);//debounce do botão(filtro) GP4 = !GP4;//alterna led a cada decremento if(tempo<1) { tempo = 10;//limita valor minimo para 1 } } GP4 =0; } } GP2 = 1; delay_ms(tempo); GP2 = 0; delay_ms(1000); }//loop infinito }

6 comentários :

  1. Olá aguivone gosto muito de seus projetos, gostaria muito que você colocasse alguma coisa no sentido de inversores de frequência trifásico com pic, pois sou eletricista e gosto muito dessa área de microcontroladores, desde já agradeço. parabéns pela sua iniciativa.

    ResponderExcluir
  2. Olá amigo preciso de um circuito pisca pisca com o pic 12f675,será que você não pragrama o pic pra mim?

    ResponderExcluir
  3. Este comentário foi removido pelo autor.

    ResponderExcluir
  4. Este comentário foi removido pelo autor.

    ResponderExcluir
  5. Este comentário foi removido pelo autor.

    ResponderExcluir

olá,digite aqui seu comentário!