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
}
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.
ResponderExcluirOlá amigo preciso de um circuito pisca pisca com o pic 12f675,será que você não pragrama o pic pra mim?
ResponderExcluirEntre em contato pelo e-mail no inicio da pagina!
ExcluirEste comentário foi removido pelo autor.
ResponderExcluirEste comentário foi removido pelo autor.
ResponderExcluirEste comentário foi removido pelo autor.
ResponderExcluir