Arduino Embarcado em um Carro
Versão 1.1 em 18/02/2020 – Ricardo Zelenovsky
(Correção de Q1 e Q2 que estavam invertidos)
Proposta:
Alimentar o Arduino pela tomada do acendedor de cigarros de um carro.
Importante:
O texto aqui apresentado apenas relata o experimento realizado pelo autor, sem qualquer responsabilidade nas suas aplicações. O leitor pode usar trechos deste texto, desde que cite a origem. É vedado o uso comercial. Correções e sugestões são bem-vindas.
O autor recomenda o livro “Arduino: Guia Avançado para Projetos”, veja no final deste estudo.
Texto Completo:
Aos que se interessarem sobre o uso do Arduino Mega alimentado pelo acendedor de cigarros de um carro, com super capacitor para backup de energia e recurso para auto desligamento, baixe o texto completo em:
Ambientação:
O que é exposto a seguir foi desenvolvido para um projeto que será embarcado em um carro, sendo que os 12 V do carro serão aplicados à entrada VIN do Arduino. Essa entrada VIN supre o regulador interno de 5 V que gera a alimentação para todo o Arduino. O sítio do Arduino [1] indica que VIN deve estar na faixa de 7 V até 12 V (limites são de 6 V e 20 V).
O projeto exige que, após o carro ser desligado, o Arduino ainda funcione por alguns segundos, sustentado por um super capacitor, e depois se desliga. Nos dois blogs anteriores
1) http://labdegaragem.com/profiles/blogs/recurso-para-auto-desligamen...
2) http://labdegaragem.com/profiles/blogs/super-capacitor-para-backup-...
abordamos com detalhes o circuito para o auto desligamento e o backup de energia com o super capacitor. Agora apresentamos a solução completa, sendo detalhados a proteção para se alimentar o circuito com a energia gerada por um carro e os circuitos para monitorar a alimentação e a tensão do super capacitor.
1) Solução para Alimentar um Arduino com os 12 V de um carro
Antes de iniciar, é importante comentar que a solução aqui sugerida ainda não foi testada na prática porque o PCB necessário para a montagem completa do protótipo ainda não chegou da China. Assim, pode ser que esta proteção apresente falhas. Ainda é preciso fazer testes.
Quando um carro está em funcionamento, a tensão na tomada de 12 V (acendedor de cigarros) é muito suja. Surgem picos de tensão devido ao acionamento de motores elétricos (cargas indutivas), centelhamento para queima do combustível e ainda a atuação do alternador. A Figura 1 ilustra a ideia de um circuito de proteção.
Fig 1. Circuito de proteção para alimentar o Arduino com os 12 V de um carro.
O circuito proposto para a proteção está apresentado na Figura 2. São duas as principais preocupações. A primeira, tem a ver com picos de tensão que podem danificar todo o circuito. Vamos eliminá-los com um dispositivo TVS [2] (Transient Voltage Supressor), que é um supressor de transientes. Existem diversos tipos, sendo que o mais adequado para o presente caso é o diodo TVS, pois os picos de tensão não são tão altos e nem velozes. O valor não é crítico, e por isso, a sugestão é por um TVS de 15 V unidirecional, que é o dispositivo D4 da Figura 2. Pode-se usar também um TVS bidirecional.
A segunda preocupação é com a possibilidade de surgimento de um pico de tensão negativa. Para isso, usamos o diodo retificador D1 (1N4007) em série com a alimentação. Ele entra em polarização reversa (em corte) na presença de picos negativos. Esse diodo, quando conduzindo, apresenta uma queda de tensão de 0,7 V, por isso, os 12 V fornecidos pelo carro, são reduzidos para 11,3 V. Isso é uma coisa boa, pois nos afastamos um pouco dos 12 V que é o limite superior do regulador do Arduino. Para finalizar, adicionamos em série um fusível para a proteção em caso de curto-circuito.
Fig 2. Detalhamento do circuito de proteção para o Arduino usar os 12 V de um carro.
2) Circuito Completo
A Figura 3 apresenta a solução completa do projeto, onde se destacam:
Pela dificuldade no desenho, o capacitor C1 ficou no lugar errado. Ele faz parte do backup com super capacitor. Para melhor compreensão, é recomendado a leitura dos dois blogs anteriores, já citados.
Fig 3. Circuito completo usado na alimentação do projeto.
3) Monitoramento da Alimentação do Carro e do Super Capacitor
Para o projeto aqui discutido, monitorar significa:
Na Figura 3, destacamos os 4 divisores resistivos (R5, R6, ..., R12) que vão permitir realizar os monitoramentos e gerar os alertas acima propostos. A Figura 4, logo a seguir, apresenta em separado somente os divisores resistivos usados para o monitoramento da alimentação e a geração dos alertas necessários. As tensões nesses divisores estão calculadas logo a seguir. Foi intenção usar divisores com alguns resistores de mesmo valor para facilitar a montagem.
Fig 4. Circuitos para monitoramento da alimentação e geração de alertas, recortados da figura anterior.
Os divisores resistivos estão dedicados às seguintes tarefas:
Para saber se o carro está ligado (será que tem 12 V?) é usado o divisor resistivo formado por R7 e R8, e sua saída (VCAR) deve ser ligada a uma das entradas do conversor AD (ADC) do Arduino. Com o carro ligado, essa tensão VCAR deve estar perto de 2,0 V. Assim, basta consultar o ADC para saber se a tensão de 12 V está presente.
Aqui, é preciso um alerta. Em geral, quando se usa o ADC, toma-se como referência o VCC analógico (AVCC). Entretanto, isso não pode ser feito quando se pretende monitorar a alimentação da CPU, porque se a tensão da alimentação cai, a referência AVCC também cai e o ADC vai sempre retornar a mesma medida. Em tais situações, é necessário usar uma das referências internas do Arduino, que não variam com a alimentação. O Arduino Mega tem referências internas de 1,1 V e 2,56 V e, para este projeto, foi escolhida a referência interna de 2,56 V. Por isso, o divisor resistivo gera 2,0 V, quando os 12 V estão ligados. Se o carro estiver ligado, a conversão desta entrada deve retornar um número próximo de 800 decimal.
A interrupção é a melhor forma de alertar o processador de que o carro foi desligado. Para isto foi usado o divisor resistivo R5 e R6 cuja saída (VCAR-INT) deve ser ligada a uma das entradas de interrupção do Arduino (interrupção por flanco de descida). Enquanto o carro está ligado, esta saída está em 3,6 V, o que corresponde a nível alto (HIGH). Quando o carro é desligado, esta saída vai para nível baixo (LOW) e pode interromper o processador.
Para monitorar a tensão sobre o super capacitor, foi usado o divisor resistivo formado por R9 e R10. Os mesmos cuidados tomados com R7 e R8 aqui se aplicam. O divisor foi projeto para a referência de 2,56 V, por isso, quando o super capacitor está com carga plena (10,6 V) a saída (VCAP) está em 1,9 V. Esta saída também deve ser ligada a uma entrada do ADC. A qualquer momento, consultando o ADC, o programa tem como medir a tensão sobre o super capacitor.
Finalmente, é necessário um recurso para alertar o processador de que a carga do super capacitor está próxima da exaustão. Novamente, vamos usar uma interrupção. A solução com R5 e R6, para gerar nível baixo quando os 12 V são desligados só funciona porque o Arduino é sustentado pelo super capacitor. Para o presente caso, precisamos gerar o alerta quando a tensão VCAP fica perto de 5,4 V (visto num blog anterior). Este problema é perfeito para o uso do comparador analógico. O Arduino possui um comparador analógico que pode interromper o processador quando a tensão num pino específico cai abaixo da referência de 1,1 V. Nos ensaios anteriormente apresentados, determinamos que 6,0 V era um bom valor para o limite inferior da carga do super capacitor. Como temos D5 em série, vamos trabalhar com 6,7 V. Adicionando uma pequena margem de segurança e para chegar a resistores comerciais, o limite foi considerado como 7,1 V. Assim, a saída deste divisor (VCAP-COMP) foi calculada para gerar 1,1 V quando VCAP for igual a 7,1 V. Quando isto acontece, o processador é interrompido e sabe que o super capacitor está próximo da exaustão.
Conclusão
Aqui foi apresentado o circuito completo. O destaque foi para a parte de proteção no uso dos 12 V do carro e os recursos para monitorar a alimentação e carga do super capacitor. Fica a promessa de que, quando o circuito for montado de forma definitiva e os testes realizados, um novo relatório será publicado.
Referências
[1] https://store.arduino.cc/usa/mega-2560-r3
[2]https://www.newtoncbraga.com.br/index.php/novos-componentes/52-arti...
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)