Ir ao conteúdo
  • Cadastre-se

Controlar vela de ignição com arduino


FelipeZ.

Posts recomendados

Olá colegas de fórum,

Eu estou montando um motor de combustão interna, e vou precisar de um controle da vela automático, eu queria montar usando um Arduíno, e já aproveitar esse mesmo como um tacômetro, dei uma pesquisada e encontrei um circuito bem simples para o tacômetro, 

schematic.png

A partir desse circuito eu queria que o Arduíno enviasse um sinal para acionamento de um transistor cada vez que o sensor óptico "ativar", esse transistor seria usado então para acionar a bobina e a vela. 

Queria saber se é possível e como eu poderia fazer isso?

 

PS: estou só estudando viabilidade, não precisa ser algo muito detalhado..

 

Obrigado desde já

Felipe Z.

Link para o comentário
Compartilhar em outros sites

O instante de disparo da vela vai depender da velocidade de rotação do eixo do motor. Quanto mais rápida a velocidade mais se deve adiantar o disparo.

Se você estiver montando um motor a explosão, já deve saber disso.

Normalmente se pega a informação do disparo da vela no platinado dos motores antigos. Hoje não sei como é feito, mas deve haver algo semelhante.

MOR_AL

Link para o comentário
Compartilhar em outros sites

Sim, sei sobre o platinado, e já avia considerado como opção, mas ele se torna inviável em meu projeto por causa do tamanho e da precisão, por isso pretendo controlar toda a parte elétrica com um Arduíno a parte do tacômetro é fácil, mas como não entendo muito de Arduíno, estou empacado na parte do controle da vela, na verdade o que eu preciso é de uma frequência gerada pelo Arduíno que aumente exponencialmente em relação ao rpm multiplicados por 4.

A frequência teria de operar com base na rotação, digamos que se o o rpm for 60 (1 Hz) eu precisaria de uma frequência de 4Hz na saída do Arduíno, por exemplo.

 

Felipe Z.

Link para o comentário
Compartilhar em outros sites

Não estou entendendo direito.

Responda às perguntas:

1 - Qual vai ser o seu sensor, que vai informar sobre o momento de ignição de cada vela?

2 - Onde ele vai estar localizado no motor?

O platinado já te fornece a identificação da vela e o instante que ela tem que ser acionada.

O que você quer substituir no motor, usando o Arduino? A mecânica do platinado? A parte elétrica da ignição?

Tem um tutorial para iniciante no sítio

http://www.revistadoarduino.com.br/

Procure por "Baixe esta Cartilha de Programação em C do Arduino"

Tem a parte mais completa ao lado, mas aí já é pago.

MOR_AL

Link para o comentário
Compartilhar em outros sites

Bom vou ser o mais claro possível, o motor que estou montando não é "comum", por assim dizer, ele é bastante pequeno o que acaba tornando o uso de um platinado inviável, o que havia pensado é o seguinte, substituir esse platinado por um sensor óptico, como este:

http://produto.mercadolivre.com.br/MLB-535462711-sensor-otico-infravermelho-phct203-c860-itr-opb-xpi-tcst-hoa-_JM

Ele seria posicionado no volante do motor e emitiria um pulso a cada um quarto de volta do volante, com este pulso eu ativaria a vela de ignição, eu poderia fazer esse acionamento de vela sem o Arduíno, mas eu gostaria de aproveitar este sensor e juntamente com um Arduíno montar um tacômetro para medir a rpm, para montar o tacômetro  eu poderia usar este esquema acima ( ou qualquer um já pronto na net), porém eu ainda preciso de uma saída com um sinal para ativar a vela... então o que pergunto é: como fazer o Arduíno emitir um sinal para acionamento de um transistor cada vez que o sensor for ativado, sendo que este circuito do tacômetro já esta montado nele?

 

é mais simples do que parece

Felipe Z.

Link para o comentário
Compartilhar em outros sites

 

é mais simples do que parece

Felipe Z.

 

Bom, se o que você quer saber é se dá para fazer o que voce disse no início, sim, claro que dá.

 

Mas voce tem de saber pelo menos programar em Arduíno, para ler o sensor, e quando a entrada estiver ativada, voce gera um pequeno pulso na saída. E ainda fazer o tacômetro e tratar as saídas, utilizando o FAST I/O do Arduíno para ter velocidade em todas as entradas e saídas.

 

Vai precisar também de alguns transistores na saída do Arduíno, pois as saídas dele vão apenas até 5 Volts.

 

Se vai funcionar como voce espera, é completamente outra história. É como o MOR falou, voce vai ter algumas boas surpresas.

 

Paulo

Link para o comentário
Compartilhar em outros sites

Bom , sendo assim, vou partir do básico, primeiramente eu vou fazer só o sensor, sem o Arduíno com o tacômetro, só para o controle da vela, que é o mais necessário no momento, em seguida se o sensor funcionar implemento o Arduíno. Quanto a programação, eu tinha achado uma pessoa que faz programação para fazer isso para mim, porém eu ainda teria de montar a parte física do Arduíno com o LCD ....

Obrigado pela ajuda!

Felipe Z.

Link para o comentário
Compartilhar em outros sites

Se fosse outra linguagem, você poderia criar um período (T) e enquanto esse período existir, você conta o número de pulsos (n) que chegam a um pino com interrupção.

A cada interrupção você incrementa a variável n. Ao final do período T, o valor da rotação será n/T.

Ex. T = 250ms (1/4 de segundo)

Ao final de T, a frequência será F = 4 * n , ou dois shifts para a esquerda do valor de n.

Se a frequência for pequena, o erro poderá ser grande, pois o número de pulsos seria pequeno. Neste caso deve ser contado o período entre dois pulsos consecutivos.

Digamos que você mediu 100ms, A frequência seria F = 1 / 100ms = 10Hz.

Com o Arduino, a função que você vai precisar com o Arduino é ou milis(), ou micros(). Segue o endereço.

 

http://arduino.cc/en/Reference/HomePage#.UxYRoc6MPCo

 

Pesquise também por "Arduino Frequencímetro". Vai encontrar muita coisa útil para o seu caso.

 

Veja esse exemplo.

http://mecamaniacos.blogspot.com.br/2013/05/frequencimetro-com-arduino.html

MOR_AL


Agora que eu vi. O Arduino possui uma biblioteca para frequencímetro.

#include <FreqCount.h>

MOR_AL

Link para o comentário
Compartilhar em outros sites

FelipeZ.

 

 Pelo que entendi você quer controlar o avanço do ponto de Ignição do seu motor, é isso mesmo??

 Existem carros mais modernos que não utilizam platinado (nem se quer tem distribuidor), as velas tem suas bobinas internas própria e o controle é totalmente eletrônico. 

   O momento certo de acionar a centelha é quando o pistão chega ao fim de seu curso útil, o problema é que você tem 4 pistões (eu acho...hehe) e a cada momento um pistão esta na posição diferente, então como saber quando acionar a centelha em cada pistão?

 Em carros com injeção eletrônica, existe um sensor de efeito hall e na polia do motor existem os pequenos imã mas não são nem 1 ou 4, são mais de 300... de maneira que o microcontrolador da central de injeção saiba a cada microssegundo qual é o angulo do motor, no programa dele  tem uma "tabela" ou uma equação que relaciona o angulo do motor ao ponto máximo de cada pistão, sendo assim o uC faz o ajuste e acionamento das velas de ignição na hora certa...

  Daria para você fazer algo parecido, pode usar um microcontrolador para as velas e outro para o tacômetro e ambos pode puxar o sinal do mesmo sensor, pois controlar as velas quando o motor atingir suas 2 ou 3 mil rpm (não sei se vai chegar a isso....hehe) vai se transformar em prioridade pro microcontrolador, pois as interrupções serão tão constantes que o uC simplesmente não teria tempo para tratar as rotinas do tacômetro, pois ficaria preso em tantas interrupções

 

 Espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

Não são velas, é só uma, por isso a simplicidade do projeto, o motor conta com somente um pistão, não se baseiem em motores normais para o entendimento do mesmo, ele não é nada comum, mas para analise pensem em um motor de pistão único 2 tempos.

 

O que eu pensei, já que eu preciso de um controle da vela é botar um sensor óptico no volante do motor o emissor ir de um lado e o receptor do outro, e então faze pequenos furos no volante, cada vez que um desse furos passar pelo sensor o receptor ( fototransistor) acionara, ligando a bobina de ignição e acendendo a vela.

A ideia de usar o Arduíno seria somente aproveitar o sensor e todo o circuito para implementar um tacômetro, nada muito complicado só para aproveitamento. O rpm não sera muito alto, acredito que chegue até uns 2 mil no máximo.

 

Felipe Z.

Link para o comentário
Compartilhar em outros sites

FelipeZ.

 

 Entendi, um motor de 2 tempos de um único pistão, neste caso não precisa de uC para controle da vela, assim que o foto transistor mandar o pulso para o tacômetro do uC, da para acionar a vela com esse mesmo pulso, acho que é isso que você quer,, certo?

 Se for isso, seu conceito esta certo, emissor de luz de um lado, e o fototransistor de outro lado, e fazer um furo no ponto onde a vela da ignição deve dar a centelha, o circuito abaixo deve funcionar, quando houver luz, você terá o aterramento da base do transistor gerando um pulso positivo no Pino do uC e com esse mesmo sinal da para acionar um foto acoplador para isolar a etapa de potencia que vai disparar a bobina de acionamento da vela.

Lab_Digital%20_I-3_html_10c220ed.png

 

  Conecte o Vin ao Vcc e Insira seu foto transistor entre o pino da base de Q1 e o terra... no ponto de Vout você liga o pino do uC...  

 

 Vou estar bolando um esqueminha e postando aqui para você depois (meio cansado agora)...

 

 Espero ter ajudado.

Grato Luiz Gustavo.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!