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.
Tags:
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
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por