Ir ao conteúdo

Posts recomendados

Postado

Oi pessoal finalmente vou continuar o assunto do meu outro tópico:

 

 

A ideia principal é criar um circuito que vai limitar a RPM de um motor através de um relê controlado por um arduino, o tópico anterior foi abandonado porque simplesmente o carro não estava comigo, estava no eletricista depois foi pro tapeçeiro aí demorou demaiis pra ficar pronto, peguei ele de volta semana passada então vamos continuar! 😁

 

Quem estava ajudando bastante no tópico anterior era o @.if e o @Thiago Miotto conto com vocês novamente rsrs

 

Então haviamos parado no frequêncimetro de arduino com display lcd, e iriamos utilizar  o pino 7 do meu módulo de ignição que é saída para conta giros dessa forma através da frequência que sai do pino 7 o arduino iria saber a frequência e a rotação do motor, por via das duvidas vou deixar o esquema do meu sistema de ignição aqui também.

 

E eu fiz como planejado anteriormente o pino 7 passa por um resistor de 10k e vai pro pino 3 do arduino para medir a frequência, deu meio certo, usando o conta giros do carro pra conferir  a rotação medi  e anotei as frequências, mas em qualquer frequência o arduino não mostra um valor exato, mesmo a frequência sendo baixa a frequência no LCD fica variando 10Hz para mais ou para menos:

 

1000 RPM 90Hz   

2000 RPM 100HZ

3000 RPM 120HZ

 

Então acho que a precisão do arduino para este fim pode não ser muito boa, porque 10Hz a mais ou a menos pode dar uma grande diferença...

 

Pensei em voltar ao plano inicial e usar o sinal do sensor hall do distribuidor para o arduino saber qual RPM o motor está, dessa forma creio que seja mais preciso do que usar o sinal do pino 7 né?

 

Um projeto similar ao meu é este aqui:

 

https://create.arduino.cc/projecthub/adrianos_botis/automotive-engine-rev-limiter-9c05cc

 

Mas no caso desse cara ele instalou um sensor indutivo na polia do motor porque o sistema dele era platinado ainda.

 

Lembrando que no meu caso é um motor de 4 cilindros = a cada meia volta do eixo do motor tem um pulso do sensor hall, logo para uma volta completa é igual a 2 pulsos. e o pulso do meu sensor hall tem 8V, E para abaixar a tensão para 5v que é o que o arduino aceita vou usar um resistor de 10K.

 

 

aqui o código do projeto do cara:

  Citação

// Rev-Limiter Code for Arduino Project Hub
//
//Written by Adrianos Botis: adrianosbotis@gmail.com
//
//Use at your own and change the parameters: rpm_val to set the rpm limit of your engine.
//You can also change the delay of milliseconds at the end of the code to set how fast your engine will be switched on-off.
//


int sensor_pin = 3;
// set number of hall trips for RPM reading (higher improves accuracy)
float sensor_thresh = 5.0;
int ignition = 2;

void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
  // make the sensor pin an input:
  pinMode(sensor_pin, INPUT);
  pinMode(ignition, OUTPUT);
}

// this loop routine runs over and over again forever:
void loop() {
  // preallocate values for tach
  float hall_count = 1.0;
  float start = micros();
  bool on_state = false;
  // counting number of times the hall sensor is tripped
  // but without double counting during the same trip
  while(true){
    if (digitalRead(sensor_pin) == 1){
      if (on_state==false){
        on_state = true;
        hall_count+=1.0;
      }
    } else{
      on_state = false;
    }
    
    if (hall_count>=sensor_thresh){
      break;
    }
  }
  
  // print information about Time and RPM
  float end_time = micros();
  float time_passed = ((end_time-start)/1000000.0);
  Serial.print("Time Passed: ");
  Serial.print(time_passed);
  Serial.println("s");
  float rpm_val = (sensor_thresh/(2*time_passed))*60.0;
   if(rpm_val > 8000.0){
     digitalWrite(ignition, HIGH);
     } 
     else { 
     digitalWrite(ignition, LOW);
  } 
  
  Serial.print(rpm_val);
  delay(1);        // delay in between reads for stability
}

Expandir  

 

Como devo alterar o código dele?

 

modulo142gauss-350x275.jpg

  • Curtir 1
  • Membro VIP
Postado
  Em 05/04/2021 às 21:04, ComandateGustavo disse:

1000 RPM 90Hz   

2000 RPM 100HZ

3000 RPM 120HZ

Expandir  

Dados aparentemente incompatíveis. Sugiro fazer medições com osciloscópio.

Um medidor de rpm e frequencímetro tem muuuito em comum. Sugiro pesquisar algo deles com arduino na net. A teoria (que acho que já mencionei) é simples: um contator e um timer: de tempos em tempos (timer) pega o valor do contador, armazena numa variável e zera o contador

Postado
  Em 05/04/2021 às 23:21, .if disse:

Dados aparentemente incompatíveis. Sugiro fazer medições com osciloscópio.

 

Expandir  

Infelizmente o osciloscópio era aquele de PC mas a pontinha do conector P2 deu problema agora estou sem nenhum osciloscópio mesmo...

 

E creio que os dados estão estranhos porque o frequêncímetro é meio "impreciso" mantendo a RPM do motor constante, em 1000 rpm ele mostrava 90Hz depois 80HZ depois 100Hz... Parece que a precisão desta programação e do arduíno tem uma margem de erro meio grande, no meu outro post testando este arduino ele variava 5Hz para mais ou para menos agora aumentou a margem de erro...

 

Mas peraí @.if a precisão de um frequencimetro desse tipo seja pelo pulso do módulo de ignição ou pelo pulso de um sensor hall é o mesmo não é? Porque pensando bem o pulso deste sensor hall é 8V e a saída do pino 7 do módulo também é 8V então pode ser que dentro do módulo o pino 7 é apenas um jumper ligando o pino 7 ao pino 6 afinal é o pino do lado dele mesmo né?

  • Membro VIP
Postado
  Em 06/04/2021 às 01:17, ComandateGustavo disse:

a precisão de um frequencimetro desse tipo seja pelo pulso do módulo de ignição ou pelo pulso de um sensor hall é o mesmo não é? Porque pensando bem o pulso deste sensor hall é 8V e a saída do pino 7 do módulo também é 8V então pode ser que dentro do módulo o pino 7 é apenas um jumper ligando o pino 7 ao pino 6 afinal é o pino do lado dele mesmo né?

Expandir  

Pra confirmar a precisão, o osc era preciso. Sem referências mais precisas você não vai evoluir muito neste projeto. O que ajudaria é (de novo) você entender direitin como opera o frequencímetro e fazer um p.ex. medindo a rede ac 60Hz como ref que é super precisa. Mas seu relato não está relacionado à imprecisão mas sim a instabilidades tanto do hw com do sw

Postado

Estava pensando aqui e usando a lógica pra estimar qual a frequência desse treco já que não tenho osc pensei assim:

 

Cada meia volta do eixo é um pulso no hall, então uma volta completa no eixo tem dois pulsos.

 

Logo 1000RPM = 2000 pulsos.

 

Mas isso é pulsos por minuto, nesse caso dividi 2000 por 60 para saber o número de pulsos por segundo e deu 33,3333 ou seja a frequência diretamente no  hall é aproximadamente 33Hz correto?

 

Então esses valores que medi mostram que o pino do módulo de ignição não é apenas um jumper ele tem um sistema que muda a frequência, vou medir a frequência diretamente no hall com esse mesmo frequencimetro que usei e ver o que ele mostra no LCD mas o raciocínio que eu estimei a frequência do hall está correto a lógica é essa  né? 

  • Membro VIP
Postado
  Em 06/04/2021 às 12:35, ComandateGustavo disse:

dividi 2000 por 60 para saber o número de pulsos por segundo e deu 33,3333

Expandir  

rpmxhz.jpg

https://brasilescola.uol.com.br/o-que-e/fisica/o-que-e-frequencia-e-periodo.htm

😁

 

33Hz é mixaria. Seu osciloscópio com placa de som deve medir bem com precisão acima do aceitável pra este propósito. O pulo do gato é a interface isolada que pode ser um opto ou um trafo qualquer.

Postado
  Em 06/04/2021 às 14:41, .if disse:

33Hz é mixaria. Seu osciloscópio com placa de som deve medir bem com precisão acima do aceitável pra este propósito. O pulo do gato é a interface isolada que pode ser um opto ou um trafo qualquer

Expandir  

Sim 33Hz é uma frequência baixa mas o conector p2 da entrada de som quebrou, vou ter que comprar outro conector e soldar na placa-mãe dá até medo soldar ali mas não tem outro jeito...

 

E o que seria a interface isolada? É usar tipo um opto acoplador no pino de entrada do sinal do Arduino?

Não entendi bem essa interface isolada mas a ideia é isolar a fonte do sinal para evitar interferências?

  • Membro VIP
Postado
  Em 06/04/2021 às 15:11, ComandateGustavo disse:

a ideia é isolar a fonte do sinal para evitar interferências

Expandir  

Não necessariamente pois os ruídos a princípio vão ser beeeem menores que o sinal a ser avaliado. Além do + nem te interessa a amplitude e sim apenas a freq de um sinal seja lá como ele for distorcido (e vai ser mesmo)..

 

O arduino ainda não está na parada. A ideia é não dar contato entre o terra do automóvel com o terra do seu pc/note.

  Em 06/04/2021 às 15:11, ComandateGustavo disse:

um opto acoplador no pino de entrada do sinal

Expandir  

... da sua placa de som.

Postado
  Em 05/04/2021 às 21:04, ComandateGustavo disse:

Então haviamos parado no frequêncimetro de arduino com display lcd, e iriamos utilizar  o pino 7 do meu módulo de ignição que é saída para conta giros dessa forma através da frequência que sai do pino 7 o arduino iria saber a frequência e a rotação do motor, por via das duvidas vou deixar o esquema do meu sistema de ignição aqui também.

 

E eu fiz como planejado anteriormente o pino 7 passa por um resistor de 10k e vai pro pino 3 do arduino para medir a frequência, deu meio certo, usando o conta giros do carro pra conferir  a rotação medi  e anotei as frequências, mas em qualquer frequência o arduino não mostra um valor exato, mesmo a frequência sendo baixa a frequência no LCD fica variando 10Hz para mais ou para menos:

 

1000 RPM 90Hz   

2000 RPM 100HZ

3000 RPM 120HZ

 

Então acho que a precisão do arduino para este fim pode não ser muito boa, porque 10Hz a mais ou a menos pode dar uma grande diferença...

Expandir  

 

Essa imprecisão se deve à saida de seu módulo de ignição ..... para ter mais precisão você precisa usar os sensores Hall... claro que o código pode ter alguma falha, não entendo nada nessa linguagem.... mas você precisa olhar com um osciloscópio essa sua saida para conta-giros ...

 

Paulo

 

 

Postado

@.if@aphawk  Então pessoal o ideal mesmo é com osciloscópio, mas lembram que o conector de som do meu PC deu pau?

 

Mas tive uma ideia aqui, analisando o esqueminha do cara que já fez o limitador de rpm usando Arduino ele fez usando sensor indutivo e colocou dois parafusos na polia do motor pra saber a rotação, e no código dele parece que o limite de rpm é 8000rpm

Então vou simplesmente conectar o pino 7 do meu módulo de ignição no Arduino com esse código e mudar o programa de 8000 para 2000 rpm apenas para saber se funciona, nem vou ligar na bobina de ignição vou colocar um led na saída do Arduino e ver se ele acender a 2000 rpm está certo, se acender mais cedo ou mais tarde é só mudar a rpm no programa, tem uma chance de funcionar, vou testar e ver no que dá, vou tentar também tirar o comando de serial e colocar pra mostrar o rpm no display e ver se funciona

 

 

Postado

@ComandateGustavo ,

 

Eu vou dar um chute : vai continuar com essa variação de frequência .... lembre-se de que um medidor tipo miliamperímetro funciona como se fosse um integrador : ele sempre vai mostrar a média, e se as variações existentes forem pequenas, a agulha nem irá tremer devido a inércia do sistema.

 

Mas um Arduino do jeito que você está usando está medindo a frequência, e não a integral do sinal fornecido !  A frequência pode variar, mas o resultado da integral pode ser sempre constante....

 

Enfim, é para isso que serve o Arduino : experimentar, inventar, e aprender com isso !

 

Boas tentativas !

 

Paulo

 

  • Membro VIP
Postado

Eu já acho que você está colocando a carroça na frente do cavalo. Você sequer sabe o "naipe" do sinal e já quer ir aplicando ele num programa arduíno que também nem sabe como funciona (pelo menos não demonstrou que sabe nas postagens). Conserte sua entrada de som (conector quebrado? aff) e tente ver a "cara" do sinal primeiro. Deve ser um pulso bobo de freq conhecida... nem precisa de saber a amplitude com precisão. Sem "ver" ele vai ficar 1/2 perdido sobre as precisões...

  • Curtir 1
Postado

@.if @aphawk Então tive uma ideia, vou pegar o desktop da oficina e trazer aqui pra perto do carro vai dar uma trabalheira porque tem que trazer teclado mouse extensão mas pelo menos dá pra saber qual é a frequência do sinal, e pra abaixar de 8v pra 1v mais ou menos que é o que a placa de som aceita vou usar um trimpot de 50k, o terra do conector da placa de som do PC posso conectar no negativo da bateria mesmo né?

  • Membro VIP
Postado
  Em 07/04/2021 às 23:56, ComandateGustavo disse:

o terra do conector da placa de som do PC posso conectar no negativo da bateria mesmo né?

Expandir  

(edit)

Poderia mas é melhor usar um optoacoplador pra separar os terras...

circuito-optoacoplador.jpeg

Tanto pra ler na placa de som como depois no arduíno.

Postado

@.if Eu ia comprar o opto acoplador mas lembrei que tenho sucata de fonte de PC aqui e elas tem esse tipo de componente, no caso a fonte aqui tem o PC 817

 

Aí pra conectar ele na placa de som é só seguir o esquema E no lugar do led colocar um resistor de 10k pra diminuir a tensão, e o terra da placa de som é só conectar no terra da bateria, certo?

 

circuito_integrado_pc817_opto_acoplador_5_unidades_122_4_20201213232613.jpg

Postado

@ComandateGustavo ,

 

Se a saída de seu módulo de ignição é para ligar algo tipo um miliamperímetro, é melhor você procurar saber qual a corrente que ela fornece, para ajustar o valor do resistor na entrada do opto.

 

A ideia de você "ver" o sinal no seu desktop é para você fazer várias amostras e comparar tanto a frequência como o duty cicle ( relação entre o período que o sinal está em nível alto e o que está em nível baixo ). Se o duty cicle não for estável, pode esquecer a ideia de medir apenas a frequência do sinal, e começar a medir os tempos dos níveis altos e baixos. 

 

Agora, se você vai usar as saídas dos seus sensores Hall, pode jogar no lixo tudo o que eu escrevi acima ok ?

 

Paulo

 

  • Curtir 1
  • Membro VIP
Postado
  Em 08/04/2021 às 10:26, ComandateGustavo disse:

E no lugar do led colocar um resistor de 10k pra diminuir a tensão

Expandir  

Melhor um R chute de 1K e 10...47K no lugar do 470R. É pra diminuir a amplitude na entrada da pci som e fazer ela pensar que é um microfone ou line in.

 

  Em 08/04/2021 às 10:26, ComandateGustavo disse:

e o terra da placa de som é só conectar no terra da bateria, certo?

Expandir  

Errado. O opto foi concebido (junto com a ideia) exatamente pra NÃO fazer isso. O terra da pci som seria no caso acima o K do led. O do carro  separado deste seria o pino 2 do opto.

... acho que não expliquei direito no outro post sorry... editing

 

 

Paulão conectou a ideia de que seu sistema libera pulso com largura variável proporcional a rotação e não freq variável. Neste caso só mesmo com instrumentos de verdade pra saber ou talvez seu osc e/ou a leitura do manual do produto. Se for pwm é possível sim medir a largura quase a lesma lerda do que a freq sqn.

 

Postado
  Em 08/04/2021 às 13:19, .if disse:

Melhor um R chute de 1K e 10...47K no lugar do 470R. É pra diminuir a amplitude na entrada da pci som e fazer ela pensar que é um microfone ou line in.

Expandir  

 

eu estava meio perdido então fiz um esqueminha pra seguir sem errar, está certo?

 

  Em 08/04/2021 às 13:19, .if disse:

Paulão conectou a ideia de que seu sistema libera pulso com largura variável proporcional a rotação e não freq variável. Neste caso só mesmo com instrumentos de verdade pra saber ou talvez seu osc e/ou a leitura do manual do produto. Se for pwm é possível sim medir a largura quase a lesma lerda do que a freq sqn.

Expandir  

Pode ser, mas isso é só no pino 7 do módulo de ignição, o plano B é se no caso de não der certo usar o pino 7 do módulo vou tentar usar o sinal diretamente no hall do distribuidor, na verdade acho que usando diretamente o hall vou ter um sinal mais limpo creio eu...

esquema.jpg

Postado
  Em 09/04/2021 às 11:35, .if disse:

Bateu na trave. Pegue o "positivo placa de som" do 4 e em cima coloque no +5. Algo como pullup

Expandir  

+5 seria 5v da fonte de alimentação do PC mesmo? E o potenciômetro em série é pra ajustar a amplitude do sinal pra deixar ele baixinho para a placa de som?

Postado
  Em 09/04/2021 às 12:08, .if disse:

Sim e sim, o pot pode ser algo como um divisor resistivo ajustável (inventei isso agora)

art0511_07.jpg

https://www.newtoncbraga.com.br/index.php/como-funciona/projetos-educacionais/3692-art511.html

Expandir  

Certo, estava testando o foto acoplador na protoboard como ele é reaproveitado de fonte de PC é bom testar.

 

Usei uma bateria de 9v e um resistor de 10k na entrada do opto simulando o que vai acontecer no carro e na saída do opto  coloquei um led alto brilho e duas pilhas em série e funcionou, descobri que pra funcionar a saída do opto tem uma queda de tensão se nao me engano de 0,3v e isso fez o led acender mais fraco, isso acontece igual um diodo, quando a corrente passa por ele acontece uma queda de tensão de 0,7v mais ou menos, é pelo mesmo motivo né?

 

No caso do potenciômetro pra ligar a fonte vou usar um de 100k que tenho aqui, e vou ajustar para ter uma tensão baixa na entrada da placa de som. Mas qual tensão devo abaixar? Tem que ficar com uns 0,9v? 

 

Postado

@ComandateGustavo ,

 

Mude o resistor na entrada do opto para algo entre 1K e 2k2. 10k é alto demais....

 

Na saída do opto vai ter  tensão alta ( não sei qual a tensão da placa de som, talvez 5V )  ou algo entre 0,2 a 0,4 Volts quando você aplicar a tensão de 9V no resistor da entrada do Opto.

 

Paulo

 

 

  • Curtir 1
  • Membro VIP
Postado

Tem algo pra funcionar. Coloque um R chute 10K entre 'positivo placa de som' e 'terra da placa de som' que deve ser o mesmo do pot 100k

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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

Mostrar 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

Mostrar mais  
×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!