Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Fréquencemètre DIY Arduino Nano – Mesure jusqu'à 6,5 MHz

Composants et fournitures

ComposantQuantité
Arduino Nano R31
Écran LCD 16x2 (standard)1
Transistor NPN usage général (ex. 2N2222)1
Interrupteur à glissière1
Bouton poussoir1
Résistances, condensateurs, diodes (pour amplificateur de forme)1 lot

Outils nécessaires

Logiciels

À propos du projet

Ce fréquencemètre basé sur Arduino Nano mesure des signaux carrés, sinusoïdaux et triangulaires de quelques Hz à 6,5 MHz.

Fréquencemètre DIY Arduino Nano – Mesure jusqu à 6,5 MHz

Trois durées de mesure : 0,1 s, 1 s, 10 s. Pour signaux purement carrés, l'amplificateur de forme n'est pas nécessaire (signal direct sur pin D5).

Le code est simplifié grâce à la bibliothèque FreqCount.

Composition

Calibration

  1. Dans le dossier libraries Arduino, ouvrez FreqCount.cpp.
  2. Trouvez les lignes :
    #if defined (TIMER_USE_TIMER2) && F_CPU == 12000000L
    float correct = count_output * 0.996155;
  3. Remplacez par :
    #if defined (TIMER_USE_TIMER2) && F_CPU == 16000000L
    float correct = count_output * 1.000000;
  4. Le facteur 1.000000 est votre correction. Calibrez en injectant 1 MHz à l'entrée.
  5. Re-téléversez le sketch.

L'instrument est précis sur toute la plage et s'intègre dans un boîtier plastique pour le laboratoire.

Code

#include <FreqCount.h>  // https://github.com/PaulStoffregen/FreqCount
#include <LiquidCrystal.h>

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

void setup() {
  lcd.begin(16, 2);
  pinMode(7, INPUT);       // Bouton changement durée
  FreqCount.begin(1000);   // Défaut 1s
}

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

void loop() {
  if(digitalRead(7)==HIGH) { n++; x=0; delay(100); }
  lcd.setCursor(0,1);
  
  if(n==1) { x++; if(x==1) FreqCount.begin(100); r=-1; lcd.print("T = 0.1 s "); }
  if(n==2) { x++; if(x==1) FreqCount.begin(10000); r=1; lcd.print("T = 10 s "); }
  if(n==3) { x++; 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 = ");
  
  if(FreqCount.available()) { f = FreqCount.read(); lcd.setCursor(10,1); lcd.print("***"); }
  
  // Affichage selon plage et durée
  if(f>=1000000 && n==3) { f0=f/1000000.0; lcd.print(f0,6+r); lcd.print(" MHz"); }
  if(f<1000000 && n==3) { f0=f/1000.0; lcd.print(f0,3+r); lcd.print(" kHz"); }
  if(f>=100000 && n==1) { f0=f/100000.0; lcd.print(f0,6+r); lcd.print(" MHz"); }
  if(f<100000 && n==1) { f0=f/100.0; lcd.print(f0,3+r); lcd.print(" kHz"); }
  if(f>=10000000 && n==2) { f0=f/10000000.0; lcd.print(f0,6+r); lcd.print(" MHz"); }
  if(f<10000000 && n==2) { f0=f/10000.0; lcd.print(f0,3+r); lcd.print(" kHz"); }
  
  delay(200); lcd.clear();
}

Bibliothèque FreqCount : Télécharger

Schéma

Fréquencemètre DIY Arduino Nano – Mesure jusqu à 6,5 MHz

Processus de fabrication

  1. Conception d'un verrou à combinaison 4 bits avec portes XOR et NOR
  2. Multimètres : de l'analogique au numérique — guide complet
  3. Mesure de la fréquence et de la phase dans les systèmes de puissance AC
  4. Construire une horloge Numitron rétro avec Arduino : simple, fiable et économe en énergie
  5. Construire un oscilloscope Arduino 20 kHz sur écran Nokia 5110 – Guide DIY facile
  6. Créer votre propre jeu de roulette à 37 LED avec Arduino Nano
  7. Détecteur de séismes DIY ADXL335 – Accéléromètre 3 axes basse consommation
  8. Contrôleur DIY pour fer à souder 862D+ — Précision et fiabilité
  9. Never Ride Alone : Système de sécurité vélo intelligent