Olá pessoal.

Estou com um problema em meu programa de RPM. Meu sensor funciona perfeitamente quando testo somente ele. Quando vou integrar tal programa com o programa de um sensor de temperatura (LM35), os valores saem todos errados.

O meu programa está abaixo. O sensor que estou utilizando para o RPM trata-se do sensor de efeito hall Ky003.

Obrigado.

Exibições: 493

Anexos

Responder esta

Respostas a este tópico

Boa noite MD,

porque [ URGENTE ]?

RV

Você não informou qual processador está sendo usado, mas olhando o código imagino que você precise inicializar o pino do LM35 assim como você fez com o resistor. Não precisa?

No Setup você fez: pinMode(pResistor, INPUT);

Mas não vi: pinMode(LM35, INPUT);

Não precisa... Já testei somente ele separado e funcionou corretamente. 

Também testei declarando e nada mudou....

olá Mr Dec.

       Ajustei seu código do Arduino, de forma a ficar mais versátil sua configuração, e também um pouco mais "profissional".

       Também corrigi o problema que havia nele, e que o impedia de funcionar. O problema em si era simples de resolver, pois a cadência da medição da RPM era bloqueada pelo "delay" que vc inseriu após a leitura da temperatura do LM35. E claro, também testei o funcionamento através do Proteus.

       Este código está anexado ao final deste post (incluindo os arquivos de simulação no Proteus). Você pode compilar e carregar no seu Sistema sem modificações, e deverá funcionar imediatamente a medição de RPM e temperatura.

       Se observar com cuidado o código "ajustado", vai perceber que o princípio de medição da RPM continua o mesmo. Eu particularmente não usaria este método de medição da RPM, mas mantive o método que vc usou. O método recomendado de medição de RPMs, é através de "Interrupção", pois dá maior liberdade no funcionamento do programa.

       Além disso, o método por "Interrupção" é bastante simples, e exige apenas que vc conecte o Sensor (o "KY-003") a uma entrada de Interrupção do Arduino.

       Aproveito para dizer que mesmo no método que vc usou, poderia ter usado uma Entrada Digital do Arduino para conectar o "KY-003", pois é o mais indicado para isto. Neste caso a entrada deveria ser configurada como "pullup", pois o LED/Resistor existente nas plaquinhas "KY-003" não é o mais recomendado para tratar a saída "Open Collector" deste sensor (pois pode gerar pulsos espúrios em ambientes muito ruidosos caso o fio de saída do sensor encoste em outros equipamentos ou mesmo pessoas).

         Na simulação no Proteus, substituí o LM35 por um potenciômetro, e o "KY-003" por um Gerador de Pulsos. Você pode ver o resultado na figura a seguir:

(click na figura para "zoom")

       Caso tenha interesse em conhecer estas outras formas de implementação, ou se tiver alguma dúvida sobre a atual implementação, não deixe de perguntar aqui.

        Espero ter ajudado.

        Abrçs,

        Elcids

        código funcionando:  RPM_MrDec_01.zip

Muito obrigado. Vou estudar melhor sobre o que me indicou.

Gostaria de tirar uma dúvida no privado, se for possível, me aceite como amigo. 

Muito obrigado !

boa noite Mr Dec.

      Fique à vontade para quaisquer dúvidas que eu possa ajudar a esclarecer.

      Recebi sua solicitação e já adicionei como amigo no Garagem.

      Abrçs,

      Elcids

Mandei mensagem. Aguardo retorno !

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço