Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Medidor de Frecuencia DIY con Arduino Nano – Hasta 6.5 MHz

Componentes y materiales

Componente Cantidad
Arduino Nano R3 1
Pantalla LCD 16x2 (paralela) 1
Transistor NPN genérico (p.ej. 2N2222, BC547) 1
Interruptor deslizante (selector forma de onda) 1
Pulsador (selector intervalo medida) 1
Resistencias, condensadores, diodos (para amplificador formador) 1 set

Herramientas necesarias

Descripción del proyecto

Este medidor de frecuencia basado en Arduino Nano mide señales rectangulares, sinusoidales y triangulares desde unos pocos Hz hasta 6.5 MHz. Ofrece tres intervalos de integración: 0.1 s, 1 s y 10 s.

Medidor de Frecuencia DIY con Arduino Nano – Hasta 6.5 MHz

Para señales rectangulares no hace falta el amplificador formador; la señal va directo al pin digital 5 (T1). Para otras formas de onda, el amplificador acondiciona la señal a niveles lógicos.

El código es muy simple gracias a la librería FreqCount (Paul Stoffregen).

Componentes del dispositivo

Calibración

Para calibrar, edita FreqCount.cpp en la librería FreqCount:

// Busca:
#if defined (TIMER_USE_TIMER2) && F_CPU == 12000000L
float correct = count_output * 0.996155;

// Reemplaza por:
#if defined (TIMER_USE_TIMER2) && F_CPU == 16000000L
float correct = count_output * 1.000000;  // Ajusta tu factor de corrección

Aplica una señal de 1 MHz conocida y ajusta el factor hasta leer 1.000000 MHz. Vuelve a subir el sketch.

Código

#include 
#include 

LiquidCrystal lcd(12, 11, 6, 4, 3, 2);  // RS, E, D4, D5, D6, D7

void setup() {
  lcd.begin(16, 2);
  pinMode(7, INPUT);          // Pulsador cambio intervalo
  FreqCount.begin(1000);      // Inicio: 1 s
}

unsigned long f;
float f0;
int x, n = 3, r;

void loop() {
  // Cambio de intervalo con pulsador (pin 7)
  if(digitalRead(7) == HIGH) { n++; x = 0; delay(100); }
  lcd.setCursor(0,1);
  
  if(n == 1) { if(x==1) FreqCount.begin(100); r = -1; lcd.print("T = 0.1 s "); }
  if(n == 2) { if(x==1) FreqCount.begin(10000); r = 1; lcd.print("T = 10 s "); }
  if(n == 3) { if(x==1) FreqCount.begin(1000); r = 0; lcd.print("T = 1 s "); }
  if(n > 3) n = 1;
  
  lcd.setCursor(0,0);
  lcd.print("F = ");
  
  // Formateo según rango e intervalo
  if(FreqCount.available()) { f = FreqCount.read(); lcd.setCursor(10,1); lcd.print("***"); }
  
  // Visualización adaptativa (MHz/kHz con decimales variables)
  if(n==3) {
    if(f >= 1000000) { f0 = f/1000000.0; lcd.print(f0, 6+r); lcd.print(" MHz"); }
    else { f0 = f/1000.0; lcd.print(f0, 3+r); lcd.print(" kHz"); }
  }
  if(n==1) {
    if(f >= 100000) { f0 = f/100000.0; lcd.print(f0, 6+r); lcd.print(" MHz"); }
    else { f0 = f/100.0; lcd.print(f0, 3+r); lcd.print(" kHz"); }
  }
  if(n==2) {
    if(f >= 10000000) { f0 = f/10000000.0; lcd.print(f0, 6+r); lcd.print(" MHz"); }
    else { f0 = f/10000.0; lcd.print(f0, 3+r); lcd.print(" kHz"); }
  }
  
  delay(200);
  lcd.clear();
}

Librería FreqCount

Descarga: FreqCount-master.zip

Esquemáticos

Medidor de Frecuencia DIY con Arduino Nano – Hasta 6.5 MHz

Proceso de manufactura

  1. Construye un reloj Numitron retro con Arduino: Simple, fiable y eficiente energéticamente
  2. Construya un osciloscopio Arduino de 20 kHz en LCD Nokia 5110: Guía DIY fácil
  3. Construye tu Propio Juego de Ruleta de 37 LEDs con Arduino Nano
  4. Detector de terremotos DIY con ADXL335 – Acelerómetro 3 ejes de baja potencia
  5. Controlador DIY para soldador 862D+ — Precisión y fiabilidad
  6. Construye un juego Tetris con Arduino Nano en matriz LED 16x8 DIY
  7. MobBob: Robot Arduino Impreso en 3D, Controlado por Smartphone Android
  8. Never Ride Alone: Sistema inteligente de seguridad para bicicletas
  9. Diseño de una Cerradura de Combinación de 4 Bits con Puertas XOR y NOR
  10. Multímetros: De Analógicos a Digitales — Guía Completa
  11. Medición de Frecuencia y Fase en Sistemas de Potencia CA