Índice:
- Etapa 1: Módulos
- Etapa 2: STM32 NUCLEO-L432KC
- Etapa 3: demonstração
- Etapa 4: Montagem
- Etapa 5: Programa
- Etapa 6: Bibliotecas
- Etapa 7: Código Fonte
- Etapa 8: Arquivos
Vídeo: Medidor RPM com STM32: 8 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Embora seja um tanto incômodo de comprar (porque não está disponível em muitas lojas na Internet), acho necessário discutir o STM32 L432KC. Este chip merece um carinho especial, pois é ULTRA BAIXO POTÊNCIA. Porém, para quem não possui o STM32, ele pode ser substituído neste projeto pelo Arduino Uno. Para fazer isso, basta alterar o pino da entrada de interrupção.
Vamos então criar um medidor de RPM usando o STM32 L432KC e um sensor infravermelho. Este mesmo programa também pode ser usado para medir a velocidade do vento. O recurso de baixo consumo de energia deste microcontrolador é perfeito para IOT.
Etapa 1: Módulos
Para o nosso projeto de hoje, usamos o MAX7219CWG de 8 dígitos, bem como o Módulo infravermelho.
Etapa 2: STM32 NUCLEO-L432KC
Etapa 3: demonstração
Em nossa montagem, temos o STM32, o display de 8 dígitos e a entrada de pulso. O cartão infravermelho tem um fototransistor e um LED que capta a luz refletindo em uma fita branca. Essa fita é presa a uma roda e, a cada giro, vai gerar um pulso, que será capturado pela interrupção STM32.
Temos um diodo e um capacitor na montagem que foram usados para evitar que o ruído do sinal da leitura da fita chegasse ao STM32, o que faria com que ele interpretasse o liga e desliga.
A demonstração mostra nosso projeto, assim como o medidor Minipa (ambos em operação).
Etapa 4: Montagem
Etapa 5: Programa
Faremos um programa no qual o módulo infravermelho irá disparar uma interrupção no STM32 L432KC a cada “turno”, e faremos os cálculos para mostrar o RPM no display.
Etapa 6: Bibliotecas
Adicione a seguinte biblioteca "DigitLedDisplay".
Basta acessar "Sketch >> Incluir Bibliotecas >> Gerenciar Bibliotecas…"
Etapa 7: Código Fonte
Bibliotecas e variáveis
Vamos iniciar o código-fonte incluindo a biblioteca DigitLedDisplay. Mostraremos o objeto de exibição. Eu defino o pino de interrupção, que será 12. Além disso, insiro um operador volátil para o contador de RPM e o tempo para evitar problemas de colisão.
/ * Incluir Biblioteca DigitLedDisplay * / # include "DigitLedDisplay.h" / * Arduino Pin para Exibir Pino 7 para DIN, 6 para CS, 5 para CLK * / // DigitLedDisplay ld = DigitLedDisplay (7, 6, 5); // arduino DigitLedDisplay ld = DigitLedDisplay (4, 2, 3); // STM32 L432KC int pin = 12; // pino de interrupção (módulo IR) volatile unsigned int rpm; // contador de rpm volatile unsigned long timeold; //tempo
Configurar
No Setup configuramos o funcionamento do display, bem como configuramos a interrupção como Rising.
void setup () {Serial.begin (115200); / * Defina o brilho mínimo: 1, máximo: 15 * / ld.setBright (10); / * Definir a contagem de dígitos * / ld.setDigitLimit (8); ld.printDigit (0); attachInterrupt (digitalPinToInterrupt (pin), interruptPin, RISING); rpm = 0; tempo = milis (); }
Ciclo
Finalmente, determinamos o intervalo de 1 em 1 minuto para atualizar a exibição. Depois de limpar a tela, imprimimos o RPM. Executamos a função que a interrupção irá chamar. Calculamos o RPM e o tempo de atualização.
loop vazio () {atraso (1000); ld.clear (); ld.printDigit (rpm); } void interruptPin () {rpm = 60 * 1000 / (milis () - tempo antigo); tempo = milis (); }
Etapa 8: Arquivos
Baixe os arquivos:
EU NÃO
Recomendado:
Limitador de RPM Arduino para motor a gás: 5 etapas
Limitador de RPM do Arduino para motor a gasolina: demonstração do Youtube Trata-se da substituição de um regulador para limitar a velocidade de um motor a gasolina. Este limitador de RPM pode ser alternado para 3 configurações diferentes em tempo real. Eu instalei isso em um único cilindro, motor Briggs and Stratton e usei um Ardu
Tacômetro DIY (Medidor RPM): 5 etapas
Tacômetro DIY (RPM Meter): Neste projeto vou mostrar como funciona um sensor de distância IR de 3 € e como podemos usá-lo para construir um tacômetro DIY adequado que funcione corretamente. Vamos começar
Medidor RPM no Arduino Uno: 3 etapas
Medidor RPM no Arduino Uno: Arduino é uma plataforma de onipotência. Permite criar piscas simples, mas também sistemas complexos para uma automação mais avançada. Graças aos diferentes barramentos, o Arduino também pode ser expandido para incluir diferentes periféricos. Hoje vamos dar um
Use o Arduino para exibir o RPM do motor: 10 etapas (com imagens)
Use o Arduino para exibir o RPM do motor: Este guia descreverá como usei um Arduino UNO R3, um display LCD 16x2 com I2C e uma faixa de LED para ser usada como um medidor de velocidade do motor e luz de mudança em meu carro de corrida Acura Integra. É escrito em termos de alguém com alguma experiência ou exposição
Medidor de RPM simples usando módulos baratos: 8 etapas
Medidor de RPM simples usando módulos baratos: Este é um projeto muito interessante e usa muito menos esforços. Faz um medidor de RPM muito simples (redondo por segundo no meu caso)