Ir ao conteúdo
  • Cadastre-se

Modificar circuito Limitador RPM (Arduíno Nano)


GustavoH93

Posts recomendados

5 minutos atrás, Thiago Miotto disse:

Esse aí mesmo

Vou comprar ele e um Arduino uno então.

 

7 minutos atrás, Thiago Miotto disse:

2 formas:

1-achar o manual do seu modulo no Google, lá deve dizer

2- tentativa e erro. Recomendo o LCD, código de diz, leitura bruta do módulo e resultado atual do cálculo. Para isso você precisa alguma referência. Seu painel tem o conta giro?

Cacei o manual de cima a baixo, tem vários fabricantes desse mesmo módulo, tem o original Bosch e os chineses o módulo original Bosch 200 reais, o chinês 39 reais, é bem antigo então tem vários fabricantes mas nada de manual falando qual a frequência que tem ali, só falam a pinagem, pino 7 contagiros, pino 4 positivo e por aí vai...

 

O painel tem conta giros sim qual seria sua ideia? Ver qual rpm o motor está girando no contagiros do painel e ver qual frequência está ali no pino 7 pra comparar?

Link para o comentário
Compartilhar em outros sites

5 minutos atrás, ComandateGustavo disse:

O painel tem conta giros sim qual seria sua ideia? Ver qual rpm o motor está girando no contagiros do painel e ver qual frequência está ali no pino 7 pra comparar?

Exatamente

Coloque na 1ª linha a leitura bruta e na 2ª a leitura calculada. Vai fazendo testes e ajustando seu código.

Devido a pouca informação, considere que esse pino pode ser uma saída analógica.

Link para o comentário
Compartilhar em outros sites

5 horas atrás, Thiago Miotto disse:

medidor de fluxo de água arduíno

Estou com pouco tempo livre esses dias, trabalho em casa mas tenho muito trabalho então quase nada de tempo livre mesmo, pesquisei agora sobre medidor de fluxo de água, cheguei nesse site:

 

https://www.usinainfo.com.br/blog/sensor-de-fluxo-de-agua-para-arduino-1-30-lmin/

 

 

4 horas atrás, Thiago Miotto disse:

Exatamente

Coloque na 1ª linha a leitura bruta e na 2ª a leitura calculada. Vai fazendo testes e ajustando seu código.

Devido a pouca informação, considere que esse pino pode ser uma saída analógica.

 

Nesse link que mandei tem o contador de pulsos então tenho que desenvolver um código parecido com esse para que ele mostre a frequencia na linha de cima do display e na linha de baixo ele deve mostrar a rpm calculada é isso?

 

Este pino é digital sim na primeira página do tópico tem a foto de um osciloscópio medindo ele, não tenho osciloscópio mas vi um cara no youtube fazendo testes com este módulo e ele estava falando justamente que este pino 7 tem saida digital para contagiros.

 

Bom descobri um programinha para programar arduino de forma visual talvez seja mais fácil para mim no começo, é bom que dá para companhar o código ao lado, assim:

 

visualino_001.png

 

Até agora entendi a parte setup e o loop o setup ele executa apenas quando é ligado e o loop fica eternamente rodando.

 

No setup informamos para o arduino quais pinos vamos utilizar e qual a função de cada um deles certo?

Percebi que nesse código do medidor de água ou no outro que o cara já fez para limitar RPM ele já começa com a linha:    Serial.begin(9600)

 

qual a função disso? ele ativa algum cronometro algum tipo de comunicação serial?

 

Comprei o arduino e o lcd, estou aguardando chegar, enquanto isso vou estudar a programação no pouco tempo livre que tenho...

 

Link para o comentário
Compartilhar em outros sites

8 horas atrás, ComandateGustavo disse:

 

Percebi que nesse código do medidor de água ou no outro que o cara já fez para limitar RPM ele já começa com a linha:    Serial.begin(9600)

 

qual a função disso? ele ativa algum cronometro algum tipo de comunicação serial?

Comunicação serial

Na ide do arduíno, tem um menu que é monitor serial se não me falha a memória. Aí cada vez que você dá o comando serial print aparece a linha que você escreveu lá.

O problema é que se você colocar um serial print no loop, vai escrever uma nova linha a cada volta no loop e será impossível ler, por isso, em código que você precisa ver o que está sendo lido na hora, acho o LCD melhor.

Mas tipo, você pode colocar ali comando para ver se uma condição é ativa, tipo o acender o led, antes de você montar a estrutura dele.

 

 

Quanto ao código, o que você pegou eu achei meio confuso, da uma olhada nesses 2:

https://autocorerobotica.blog.br/aprenda-utilizar-o-sensor-vazao-de-agua-com-arduino/

https://www.robocore.net/tutoriais/usando-sensor-fluxo-de-agua

 

Basicamente a declaração como interrupt faz que haja uma contagem separada direto.

 

Link para o comentário
Compartilhar em outros sites

17 minutos atrás, Thiago Miotto disse:

Comunicação serial

Na ide do arduíno, tem um menu que é monitor serial se não me falha a memória. Aí cada vez que você dá o comando serial print aparece a linha que você escreveu lá.

O problema é que se você colocar um serial print no loop, vai escrever uma nova linha a cada volta no loop e será impossível ler, por isso, em código que você precisa ver o que está sendo lido na hora, acho o LCD melhor.

Mas tipo, você pode colocar ali comando para ver se uma condição é ativa, tipo o acender o led, antes de você montar a estrutura dele.

 

 

Quanto ao código, o que você pegou eu achei meio confuso, da uma olhada nesses 2:

https://autocorerobotica.blog.br/aprenda-utilizar-o-sensor-vazao-de-agua-com-arduino/

https://www.robocore.net/tutoriais/usando-sensor-fluxo-de-agua

 

Basicamente a declaração como interrupt faz que haja uma contagem separada direto.

 

Eu acho todos os códigos confusos mas isso é porque não sei nada ainda kkkkkk    

 

Estou esperando o Arduino e o LCD chegar, enquanto isso vou vendo essa parte da programação vou analisar esses códigos dos medidores de água, basicamente o sensor de água é tipo uma hélice com um sensor no eixo, a cada volta corresponde a uma quantidade de água que passou, então sabendo quantas voltas deu dá pra calcular quantos litros de água passou, então ao invés de contar a rpm deste sensor vamos contar quantos pulsos de onda quadrada tem no pino 7 por segundo e assim calcularemos o rpm, certo?

 

Estes pulsos teoricamente é o mesmo que um botão, e este botão sendo pressionado manda 5v para o Arduino, e o Arduino vai entender que o pino está em high e quando soltar o botão vai ter 0v então vai estar em low, é isso só que feito rapidamente em um segundo, então para testar posso fazer esse esquema do botão, se funcionar bem é só substituir o botão pelo pino 7 com os resistores para não deixar a tensão subir acima de 5v é isso?

 

 

Depois preciso configurar para ele mostrar isso no display e fazer a programação para que ele mostre como rpm no lugar de pulso certo?

 

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

1 hora atrás, Thiago Miotto disse:

Perfeito.

 

Caso usar um dos exemplos de contador que passei, você pode colocar até um delay(100) que vai fazer com que o sistema faça um leitura a cada décimo de segundo. Acho que seria o jeito mais fácil.

O delay de 100 seria para qual função exatamente? Contar os pulsos dentro de um segundo, aguardar 100 milissegundos contar os pulsos dentro de um segundo aguardar 100... E assim ficar repetindo essa função no loop?

 

Vou tentar montar hoje no simulador de Arduino que tenho no Pc, escrevo o sketch e uso o botão, se funcionar com o botão é só trocar o botão pelo sinal que vem do módulo do carro, certo?

Link para o comentário
Compartilhar em outros sites

1 hora atrás, ComandateGustavo disse:

O delay de 100 seria para qual função exatamente? Contar os pulsos dentro de um segundo, aguardar 100 milissegundos contar os pulsos dentro de um segundo aguardar 100... E assim ficar repetindo essa função no loop?

Delay(100); faz o sistema parar 100 milissegundos.

 

Caso você usar a função nointerrupt, vai contar o número de pulsos nesse tempo.

 

Para seu teste com o botão, coloque delay 2000 que vai dar 2 segundos, aí você consegue contar bem se está dando certo sua lógica.

Link para o comentário
Compartilhar em outros sites

1 hora atrás, Thiago Miotto disse:

Delay(100); faz o sistema parar 100 milissegundos.

 

Caso você usar a função nointerrupt, vai contar o número de pulsos nesse tempo.

 

Para seu teste com o botão, coloque delay 2000 que vai dar 2 segundos, aí você consegue contar bem se está dando certo sua lógica.

Certo então eu coloco delay de 100 milisegundos depois coloco nointerrupt 2000 para ele contar os pulsos dentro de 2 segundos certo?

 

A função delay faz o sistema esperar por um determinado tempo ou durante este tempo ele pode executar uma função pré determinada?

Link para o comentário
Compartilhar em outros sites

2 horas atrás, ComandateGustavo disse:

Certo então eu coloco delay de 100 milisegundos depois coloco nointerrupt 2000 para ele contar os pulsos dentro de 2 segundos certo?

 

A função delay faz o sistema esperar por um determinado tempo ou durante este tempo ele pode executar uma função pré determinada?

Para usar delay, tem que ser com o pino declarado em nointerrupt, pois será o único coisa rodando.

 

Durante o delay só vai executar a função do pino, que vai somar 1 por pulso e daí aos os 100 milissegundos, você olha o número e faz o cálculos, zero o contador e novo ciclo.

Link para o comentário
Compartilhar em outros sites

@.if @Thiago Miotto 

 

Pessoal esse treco de programação é complicado tentei adaptar os sketchs do medidor de água que o Thiago Miotto mandou e me enrolei todo, aí fui pesquisando no youtube contador de pulsos com arduino, me deparei com um video de como fazer um contador de voltas para bobinas de fios usando um motor e um sensor de infravermelho, quando o sensor conta uma volta ele passa do estado high para low, então imaginei que era só tirar do código a parte que liga o motor, inverter a parte do sensor para ele identificar que o pulso é high não low e colocar o código para ele mostrar a frequência no display para seguirmos a diante.

 

mas ai pensei isso é basicamente um frequêncimetro né? Será que não tem um frequencimetro de arduino na internet? escrevi isso no youtube e coincidentemente o mesmo cara que estava fazendo o contador de voltas fez o tal frequêncimetro com display mesmo e no video ele estava medindo uma onda quadrada 😁

 

aqui o video dá pra ver o funcionamento a partir dos 9:30:

 

 

Aparentemente essa é a base então, vou usar este frequêncimetro de arduino mais o osciloscópio tabajara de pc pela placa de som (https://www.zeitnitz.eu/scope_en) para ler a saida do módulo de ignição.

 

Primeiro vou ligar o carro com o frequencimetro de arduino conectado ao pino 7 do módulo de ignição e ajusto a borboleta do carburador para manter o motor girando a 1000 rpm de forma estável, vejo no lcd qual a frequência medida e anoto no papel, depois acelero a 2000rpm anoto a frequencia no papel e depois a 3000rpm e anoto, não acho que preciso acelerar mais do que isso né? 

 

Depois faço a mesma coisa com o osciloscópio de PC é interessante porque o frequencimetro de arduino e o osciloscópio de PC tem mais precisão em baixas frequências e é bom ter as duas medições para deixar o sistema mais preciso.

(vai dar um trabalhão levar o PC até o carro com monitor mouse teclado e tudo, mas vale a pena hehe)

 

depois disso terei uma tabelinha tipo assim:

 

    RPM      freq. (Hz)

    1000          20

    2000          30

    3000          40

  

 

A partir daí preciso fazer o código para que o arduino mostre no LCD a frequência e o RPM calculado, ai vou no carro novamente e confiro se a RPM calculada por ele está igual ou próxima a rotação informada pelo contagiros do painel certo?

Então acho que esse é o caminho né pessoal, depois que essa etapa der certo vem a parte de fazer a limitação de giro máximo depois usando o botão.

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

8 horas atrás, Thiago Miotto disse:

Qualquer dúvida posta o código e o que está dando de erro.

então @Thiago Miotto @.if estou indo por partes, hoje chegou o lcd junto com o  módulo Irf520 comprei esse módulo junto porque iria vir no mesmo frete.

 

Eu comprei também um arduino UNO que ainda não chegou, comprei porque tenho um aqui que está na foto só que eu acho que ele pode ter alguma pane, eu usava ele na minha CNC antiga e as vezes ela pulava etapas ia pro lugar errado era meio doida, mas ele vai servir como cobaia enquanto o novo não chega, é bom porque vou aprendendo como usar o Lcd tentando programar alguma coisinha nele e depois mando o sketch do contador de pulsos para este arduino, aí deve ter algum gerador de frequências para celular, posso conectar o arduino e o osciloscópio na saída P2 do celular e ver quais frequências eles medem se tem muita diferença e por aí vai... 

Pelo que ví no video quanto MENOR a frequência da onda maior a precisão do arduíno o que é bom porque não acho que vamos ter uma frequência muito alta naquele pino do módulo de ignição, mas fiquei curioso, porque quanto maior a frequência menor a precisão? A frequência muito alta não deixa o micro controlador contar direito e ele começa a falhar?

 

arrumei também uns resistores e conector P2 para fazer o osciloscópio de PC funcionar, mas estou em duvida sobre qual circuito devo montar, achei dois no youtube e tirei print para mostrar, um é só resistores e o outro tem diodos pelo que entendi este é um divisor de tensão 100 por 1, então o valor lido vai ser 100X menor que o valor real, então no caso se der 0,5V na tela do osciloscópio quer dizer que a tensão real do circuito é 50v é isso? Qual o melhor circuito para as pontas de prova o com diodos ou o que só usa resistores mesmo?

 

WhatsApp Image 2021-01-15 at 22.30.25.jpeg

WhatsApp Image 2021-01-15 at 16.44.02.jpeg

divisor.jpg

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Em 13/01/2021 às 08:54, ComandateGustavo disse:

Estava procurando no YouTube mas só tem vídeos picados ou gente vendendo curso, acho que vou ter que comprar um livro ou algum curso, pensa num negócio difícil pra caramba.

 

Você estava procurando exatamente o que?

Link para o comentário
Compartilhar em outros sites

agora, alexandre.mbm disse:

 

Você estava procurando exatamente o que?

alguma playlist de video aula explicando como é a programação de arduino, tipo explicando comandos básicos e ir avançando explicar as funções e tudo mais, só que eu acho mais videos de como fazer tal coisa, como fazer isso como fazer aquilo mas dão o código pronto sem explicar muito, tipo faça assim e acabou...

Alguns videos até explicam algo mas as vezes o projeto é avançado e tenho que sair do zero e descobrir para que serve uma função boolean que está no meio do códiogo, é complicado sabe?

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Permita-me uma sugestão.

 

Suas postagens são muito ricas. Isto é ótimo! Você é empolgado e não parece nada preguiçoso para buscar e compartilhar conhecimento.

 

Porém, seus textos são um tanto pesados, "densos" demais. Pouco estruturados, pouco formatados. Isso meio que nos cansa, torna desinteressante o que seria muito interessante.

 

Seja mais "designer" de conteúdo.

  • Haha 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

divisor.jpg

Nunca usei este 'osciloscópio' mas se um dia fosse fazer eu colocaria 1 resistor em baixo também. Algo como 5M 5M (4M7). A ideia é 'isolar'.

 

10 horas atrás, ComandateGustavo disse:

usar o Lcd tentando programar alguma coisinha nele

Use o Proteus. Simula 100% circuito digital com mc. Certa feita simulei até um beeemmm complexo (projeto original) e rodou 100% =

 

Obs: tópico crescendo muito e dificultoso pra acompanhar. Crie outro com resumo dos questionamentos e situação atual.

10 horas atrás, alexandre.mbm disse:

Seja mais "designer" de conteúdo.

kk...

Link para o comentário
Compartilhar em outros sites

6 minutos atrás, .if disse:

Use o Proteus. Simula 100% circuito digital com mc. Certa feita simulei até um beeemmm complexo (projeto original) e rodou 100% =

Nunca usei, mas é uma boa ideia vou tentar

 

7 minutos atrás, .if disse:

Obs: tópico crescendo muito e dificultoso pra acompanhar. Crie outro com resumo dos questionamentos e situação atual.

Você diz pra eu resumir esse e criar outro para ficar mais curto e ficar mais fácil pra acompanhar?

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
50 minutos atrás, .if disse:

Obs: tópico crescendo muito e dificultoso pra acompanhar.

 

Os destaques são meus.

 

11 horas atrás, alexandre.mbm disse:

Seja mais "designer" de conteúdo.

 

53 minutos atrás, .if disse:

kk...

 

@ComandateGustavo

 

54 minutos atrás, .if disse:

Crie outro com resumo dos questionamentos e situação atual.

 

52 minutos atrás, ComandateGustavo disse:

Você diz pra eu resumir esse e criar outro para ficar mais curto e ficar mais fácil pra acompanhar?

 

(novamente, os destaques são meus)

 

Se fosse para opinar — às vezes parece valer à pena "ser metido", outras vezes, não — eu opinaria (kkk...) pela não criação de novo tópico. Uma postagem de síntese, bem estruturada, usando hipertexto, cumpriria muito bem o papel.

 

Infelizmente, à essa altura você não pode mais simplesmente fazer edição (formatação e enxugamento), por não ser Membro VIP...

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
29 minutos atrás, ComandateGustavo disse:

@alexandre.mbm não entendi nada kkkkk você diz pra eu não fazer um novo tópico apenas criar uma nova resposta aqui explicando resumidamente o objetivo do tópico, o que estou fazendo e qual o próximo passo a se fazer,  é isso?

 

Sim, basicamente um resumo, suscinto, na sua próxima mensagem (caso acate de pronto a sugestão).

 

Questões norteadoras:

 

a) O problema que eu tinha

b) O que eu quiz para resolvê-lo

c) O que alcancei

d) O que descartei e o porquê

e) O que eu quero agora

 

Quando eu falei "hipertexto", referi-me a usar dos recursos de formatação da plataforma do fórum: negritos, ênfases... citações, até de si mesmo.

 

Quando eu falei "estruturada", referi-me a demarcar parágrafos, criar listas, usar pontuação, etc.

 

postagem = mensagem

 

Um tópico tem postagens: a inicial seguida das respostas.

 

Menospreza-se a importância da forma na comunicação, considerando como "frescura", mas perde-se muito com isso.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Bom, acatando a solicitação do @alexandre.mbm

 

Vou deixar esta mensagem resumindo o tópico e deixando claro o ojetivo, o método e o estado atual de progresso, pode ser útil para nortear quem está acompanhando o tópico e também para aqueles que começarem a acompanhar o tópico a partir de agora.

 

Objetivo: Criar um sistema que limite as rotações do motor de um carro do início dos anos 90, este carro utiliza sistema de ignição eletrônica baseado no efeito Hall.

 

Método: O módulo de ignição emite pulsos de onda quadrada através do pino número 7, a frequência destes pulsos aumenta conforme a rotação do motor, portanto o sistema que preciso fazer necessita ler a frequência deste pino e converter para Rotações Por Minuto, desta forma atingindo uma rotação pré determinada o sistema baseado em arduino UNO vai comutar rapidamente um rele ou transistor de forma que a rotação do motor não aumente.

 

Estado atual do projeto: Antes de efetuar a montagem do circuito e a programação em sí é necessário o descobrir qual a frequencia que o módulo emite e em qual rotação, assim poderei estabelecer uma relação de rotações e frequências para servir de base ao projeto.

 

Para isso utilizarei o software que simula um osciloscópio no computador utilizando a entrada de microfone, este sofware é gratuito e está disponível em:

https://www.zeitnitz.eu/scope_en 

 

Para garantir que a leitura da frequência está correta além do software de osciloscópio utilizarei também um frequêncimetro baseado em arduino conectado a uma tela de LCD, desta forma posso aprender mais sobre a plataforma arduíno e também garantir que a frequência medida está próxima a frequência real.

  • Amei 1
Link para o comentário
Compartilhar em outros sites

@.if  montei aquele esqueminha para conectar as pontas de prova no conector de microfone e vou fazer os testes, mas parece que a queda de tensão daquilo é muito grande, na tela estou conseguindo ver apenas interferência...

 

@Thiago Miotto estou tentando  conectar o lcd ao arduino e gravar a programação do frequêncimetro, só que percebi que este lcd que eu comprei vem com o módulo i2c soldado nele, e no video que o cara faz o frequencímetro ele conecta o arduino diretamente no lcd sem o i2c.

Nesse caso tem como "converter" o código para funcionar com o módulo i2c para ligar o lcd ao invés de ligar o arduíno direto no LCD?

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
33 minutos atrás, ComandateGustavo disse:

na tela estou conseguindo ver apenas interferência...

qual parte de...

6 horas atrás, .if disse:

Nunca usei este 'osciloscópio'

você não entendeu? kk.

Tente um capacitor em paralelo com os diodos. Não muito alto a ponto de anular e nem muito baixo a ponto de ser inócuo. Faixa: de 0.1 a 100nF

😁

Off

a ideia do resumo foi boa mas talvez melhor se em outro tópico mesmo. Tópico com várias páginas desestimula a leitura por novos membros, concorda? Era só criar link pro atual: caso alguém (com tempo) quisesse + detalhes.

Link para o comentário
Compartilhar em outros sites

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

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!