PROTETOR CONTRA DESCARGA EXCESSIVA DE BATERIA VEICULAR- COM PIC 12F675 (REF135)

Alguns equipamentos como geladeira de porta-malas e módulos de som podem facilmente descarregar a bateria do veiculo. Que tal um protetor de baterias?

Veja o esquema abaixo:

Aproveitando a montagem anterior, o artigo ‘FAÇA UM SIMPLES TESTE DE LEDS PARA COMPROVAR CARGA DO ALTERNADOR DE VEíCULOS – COM PIC 12F675’, foi acrescentado um rele de carga no pino 7 do PIC. A função deste rele é justamente desligar a carga consumidora quando a tensão da bateria cair para níveis prejudiciais, por volta de 10,5 volts. Portanto, deverá modificar a alimentação do equipamento e passa-la pelos contatos do rele. Deverá usar um rele cujos contatos sejam condizentes com a corrente consumida pelo equipamento. O rele voltará a ligar somente quando for ligado o motor do veículo e a tensão gerada pelo alternador ultrapassar os 13,5 volts. Logicamente, pode-se facilmente alterar estes patamares mudando os valores nas linhas de código e recompilando o arquivo “C” com o compilador CCS (Versão 3.200).
Os leds indicadores de estado da bateria foram mantidos, podendo-se ter um diagnóstico visual da situação atual da bateria e da carga do alternador. Para mais detalhes dos níveis de atuação destes leds, veja o artigo anterior intitulado de ‘FAÇA UM SIMPLES TESTE DE LEDS PARA COMPROVAR CARGA DO ALTERNADOR DE VEICULOS – COM PIC 12F675’, que apresenta em detalhes, incluindo a maneira de ajustar e calibrar o aparelho ao usar pela primeira vez, por meio do trimpot de 4k7 junto ao pino 5.
Para proteger os componentes, a montagem poderá ser colocada em uma pequena caixa plástica e fixada próxima do equipamento consumidor.
Obs. Esta montagem é experimental, sendo realizada apenas em placa de protoboard, sujeita a bug’s ainda não detectados. Está sendo fornecido os arquivos para que cada hobista possa alterar o programa segundo suas necessidades.

Segue pasta com arquivos ‘C’ e ‘Hex’:

protetor_bateria

Manuais:
PIC12F675

Curiosidades:
Como enfrentar os desafios do trânsito
O túnel rodoviário mais comprido do mundo
Proteja-se contra ladrões de carros
Como evitar acidentes de carro
Perigos da calibragem baixa dos pneus
Quando a montanha tentou juntar-se ao mar
Use a tecnologia de modo respeitoso e econômico
Carros – no presente e no passado
Gás natural — energia para o lar
Perigo: motoristas sonolentos!

Outros assuntos:
Como controlar seu estresse
Quando seu casamento não é o que você esperava
Recuperar a confiança no casamento
Como acabar com a tática do silêncio
Como ser feliz no casamento?
Como ser um bom ouvinte
Como lidar com as dívidas
Como resolver problemas no casamento
Aprenda a perdoar
Como lidar com os sogros
Como criar filhos responsáveis
Como administrar o seu dinheiro
Ensine valores morais a seus filhos
Como evitar ferir com palavras?
Como tratar seu cônjuge com respeito?

Até o próximo artigo!!!

24 comments on “PROTETOR CONTRA DESCARGA EXCESSIVA DE BATERIA VEICULAR- COM PIC 12F675 (REF135)

  1. Olá, Larios parabéns pelos projetos, gostaria de implementar esse projeto para monitorar tensões de um circuito, esse circuito funciona da seguinte forma, um fio que manda entorno de 5v e conforme aperta o botão dele ele diminui essa tensão para 4v, 3v, 2v, 1v mais ou menos isso gostaria que esse circuito só ativasse com uma tensão escolhida exemplo 4volts mas só ativasse o led piloto quando atingir essa tensão depois de pressionar o botão por volta de 4 segundos led ascende e depois a hora que apretar e segurar por 4 segundos ele desligar o led, como se fosse um botão um toque liga um toque desliga mas com um delay de 4 segundos para ativar e destivar, mas a tensão de entrada pode ser regulada com trimpot ou se possível um botão de lear para gravar essa tensão.
    Sei que é muito corrido pra vc mas se conseguir me ajudar nesse projeto fico muito contente.
    Obrigado e parabéns pelos projetos aconpanho todos !!!
    Obrigado

      1. Seria para controle de uma mesa de som digital, e precisava liberar esse acionamento para outro sistema, mas como disse, precisava as veses mudar o botão de acionamento que varia tensão da maneira que comentei é um fio que manda o sinal de 9 botões ai queria gravar um que menos utilizo para acionar o outro sistema com o delay de no máximo 4 segundos ai liga e se pressionar novamente por 4 segundos desliga seria isso, espero que possa me ajudar, desde já agradeço seu retorno muito obrigado !

        1. Larios, montei esse projeto funcionou do jeito que eu comentei com você fiz uma alteração nele que foi alterar o teimpot para 100k pq o de 4k7 estava impedindo de funcionar tanto o circuito quanto alguns comandos da mesa e a unic coisa que se possível alterar era o relé para que funcione de acordo com que te passei eu, peguei o meio termo do ou seja o led amarelo e quando presiono qualquer outro botão ele não ascende a não ser esse que calibrei para acesder com o led amarelo ser que você consegue alterar para mim para ter um delay para acionar ele de 4 segundos e para que o rele funcione junto ai quando apertar uma vez ascende o led e aciona o rele e apertar de novo ascende o led e desliga o rele,obrigado!

        2. Olá Carlos!
          Obrigado por compartilhar o uso. Bem interessante, por sinal.
          Pensei em um circuito com um botão para aprendizado do nível da entrada, um led para indicar o aprendizado, e uma saída para acionar um rele e o led indicador.
          A entrada tem que ser de 0 a 5 volts. Valores maiores terá que colocar um trimpot de 10k para abaixar dentro da faixa permitida.

          Veja abaixo o código c:

          /*******************************************************************************

          Interruptor por nível de tensão (pré-programável)

          C/ PIC 12f675

          Autor: Cláudio Lários

          Se a tensão se manter no valor programado por um periodo determinado (4 seg)
          então inverte a saída. Então aguarda alterar o valor de entrada fora da faixa,
          para permitir uma nova comparação e se for igual, um novo acionamento, inver
          tendo a saída (função retenção).

          Para programar:
          Ajuste para uma tensão na entrada entre 0 e 5 volts que seja usada como
          um valor secreto de acionamento. Aperte o botão ‘PROG’. Irá piscar o led
          de programação, para indicar a gravação do valor na EEprom interna.
          Uso:
          Toda vez que a tensão programada for colocada na entrada do equipamento, após
          um tempo, irá acionar a saída, invertendo o ultimo estado. Para novo aciona-
          mento, retire a tensão de entrada ou a altere, e em seguida retorne ao mesmo
          valor programado, para acionar novamente a saída.

          A saída pode ser programada para operar em modo pulso ou retenção no programa
          ‘c’, alterando a escolha do usuário e recompilando.

          Possíveis aplicações:
          1)Detectar queda de tensão na linha de alimentação, como em caso de
          curtos e desligar equipamento.
          2)Segredos para carro: onde colocando-se um resistor no circuito, gera o nivel
          necessário para liberar o funcionamento do veiculo. (Nota: O resistor poderá
          ficar dentro de um plug do tipo P2, que seria encaixado no circuito do segredo
          para ligar).

          Use CCS C Compiler.

          Data: 22/03/2016

          Uso didático

          Este arquivo é parte integrante do blog “LARIOS.TECNOLOGIA.WS’

          *******************************************************************************/

          #include
          #device adc=10
          #use delay(clock=4000000)
          #fuses NOWDT,INTRC_IO, NOCPD, NOPROTECT, NOMCLR, PUT, BROWNOUT

          #use fast_io(A) // sentido das portas feita pelo programador

          #byte gpio = 0X05
          #byte tris = 0X85

          #bit prog = 0x5.1 //interruptor de programação pino 6
          #bit led = 0x5.5 //pino 2
          #bit saida= 0x5.4 //pino 3
          unsigned int16 valor,valeep;
          unsigned int8 cnt;
          unsigned int1 f_t=0;

          #define tolerance 20 //tolerancia permitida entre medições
          #define vdel 100 //tempo que a tensão deve ficar constante
          //antes de acionar (100 x 40ms= 4 seg)
          //para eliminar o tempo coloque apenas 1 ao invés de 100

          //=============================================================================
          // escolha aqui o modo de operação da saída entre pulso ou retenção (recompile)

          #define retencao //descomente para retenção e comente (//) para pulso

          /*******************************************************************************
          ROTINA MAIN
          *******************************************************************************/

          void main() {

          setup_counters(RTCC_INTERNAL,RTCC_DIV_1);
          setup_timer_1(T1_DISABLED);
          setup_comparator(NC_NC_NC_NC);
          setup_vref(FALSE);
          setup_adc_ports(sAN2 | VSS_VDD); //seleciona AN2 e 5v como referência
          setup_adc(ADC_CLOCK_DIV_8 );// ajusta o clock do adc
          set_adc_channel(2); //ajusta para o pino 5 (AN2)
          delay_us(10); //delay
          tris=0b001111; //direção das portas (tudo entrada,exceto pino 2 e 3 como saídas)
          gpio=0;

          /*******************************************************************************
          LAÇO PRINCIPAL DE REPETIÇÃO
          *******************************************************************************/

          for(;;){
          if(!prog){//se foi apertado botão de programação do nivel de tensão
          valor = (int16)READ_ADC();// lê valor da tensão de entrada do pino 5
          write_eeprom(0,valor>>8);//salva na eeprom interna valor high
          write_eeprom(1,valor);//salva na eeprom interna valor low
          led=1;//pisca led
          delay_ms(300);//delay 300 mseg
          led=0;
          while(!prog)delay_ms(50);//aguarda soltar interruptor de programação
          }
          else{//modo uso
          delay_ms(40);//delay entre leituras do adc
          valor = (int16) READ_ADC();// lê valor da tensão de entrada do pino 5
          valeep= (unsigned int16) read_eeprom(0)<=valeep)&&(valor<=valeep+tolerance)){//compara dentro da tolerancia

          if((–cnt==0)&&!f_t){
          #ifdef retencao
          saida=!saida;
          #else
          saida=1;
          #endif
          f_t=1;

          }//se deu tempo acionado, inverte a saída (retenção) ou desliga (pulso)
          }
          else{
          cnt=vdel;
          f_t=0;
          #ifndef retencao
          saida=0;
          #endif

          }// se a tensão mudou para diferente, reseta contador e libera flag

          }//else

          }//for(;;)

          }//void main()

          Clique aqui para obter a pasta com os arquivos para teste.
          Cláudio

          1. Olá Carlos, desculpa a demora para responder, estava meio corrido aqui, fiz os teste e esta tudo ok funcionando perfeitamente até o momento, gostaria de saber com você se é possível acrescentar mais uma saída o funcionamento seria o mesmo, mas acrescentar mais uma saída iria ser assim, ao ligar apertando o botão por 4segundos ele ativa essa saída que já esta no projeto e ao pressionar novamente por 4 segundos ele ativar a outra saída e manter a primeira ligada, e ao pressionar novamente desligar as duas, seria possível acrescentar mais essa saída ai ficaria perfeito aqui pra mim.
            Espero que tenha entendido vou simplificar aqui apertou uma vez por 4 segundos ele liga uma saída apertou mais 4 segundos ele liga a segunda saída e mantém a primeira ligada e ao pressionar a terceira vez ele desliga as duas saídas e outra coisa tem como ao desligar a alimentação do pic ele ficar com a ultima memória gravada para que volte no mesmo estado esse ultimo se possível o mais importante seria essa outra saída mesmo, espero que possa me ajudar mais uma vez fico muito grato pela sua ajuda.
            obrigado.
            Carlos Henrique.

          2. Olá Carlos!
            Que bom que funcionou!
            Quanto a esta alteração, não estou dispondo de tempo no momento, mas poderá tentar alterar o programa para esta nova funcionalidade, recompilando depois com o CCS C compiler.
            Cláudio

          3. Ola Larios, agradeço o retorno, mas não entendo de programação, só sei mesmo gravar o pic heheh, se vc conseguir me ajudar mais uma vez como faço as alterações no programa agradeço. Obrigado.

          4. Olá Carlos!
            Seria bem interessante você começar a aprender, para que possa criar seus próprios programas e soluções. Comece vendo os tutoriais na internet de como programar em assembly e depois em “C”.
            Adquira uma placa experimental, um pic, resistores, fonte de alimentação de 5 volts, e baixe um compilador (asm ou C). Tente fazer os exercícios do tipo ‘pisca led’. Leia os datasheets do pic escolhido. Com o tempo vai passando para programas mais complexos.
            Como disse, a falta de tempo é um grande problema, creio que para a maioria de nós.
            Assim que tiver um pouco vou ver o que pode ser feito.
            Cláudio

          5. Sim Larios, obrigado você teria algum curso ou video aulas que indica pode ser do youtube mesmo, obrigado, agradeço!

  2. Bom dia Larios.

    Seria possível vc fazer este projeto para bateria de 6v ?

    Desde já agradeço .

    Genir Macagnan

    Toledo PR.

    1. Olá Larios, montei o projeto estou, só não tive tempo de ligar ele na mesa ainda mas assim que tiver te dou um retorno avisando como esta o funcionamento, agradeço muito de coração obrigado por compartilhar seus projetos que são muito bons, parabéns!

  3. lario esqueci este relé irá desligar o primario do trafo o circuito eletronico vai ser alimentado neste caso pela bateria.
    carregador desconectado da bateria não fornece corrente.

  4. lario estes são os seguintes dados do carregador,tensão 14,5vcc trafo em torno 60a e é onda completa.os diodos em questão são de uso veicular parafusado em chapa de aluminio. grato

Comments are closed.

Back To Top