Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

DIY Frequentiemeter – Meet tot 6,5 MHz met Arduino Nano

Onderdelen en benodigdheden

OnderdeelAantal
Arduino Nano R31
Adafruit Standaard LCD - 16x2 Wit op Blauw1
Algemene NPN Transistor1
Schuifschakelaar1
Tastschakelaar (Top Actuated)1
Weerstanden, condensatoren, diodes1 set

Benodigde tools

  • Solderbout

Apps en online diensten

  • Arduino IDE

Over dit project

Het apparaat in de video is een frequentiemeter gemaakt met een Arduino Nano. Het meet frequenties van blokgolven, sinusgolven en driehoeksgolven.

Meetbereik: enkele Hertz tot 6,5 MHz. Drie meetintervals: 0,1s, 1s en 10s. Voor alleen blokgolven is geen vormversterker nodig; het signaal gaat direct naar digitale pin 5.

De code is simpel dankzij de FreqCount bibliotheek.

Componenten

  • Arduino Nano microcontroller
  • Vormversterker printplaat
  • LCD display
  • Ingangssignaal-vorm selector
  • Ingangs JACK
  • Meetinterval schakelaar: 0,1 - 1 - 10 seconden
DIY Frequentiemeter – Meet tot 6,5 MHz met Arduino Nano

Kalibratie

In de Arduino libraries map, vind de FreqCount library. In FreqCount.cpp zoek:

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

Vervang door:

#if defined (TIMER_USE_TIMER2) && F_CPU == 16000000L
float correct = count_output * 1.000000;

Waar 1.000000 je correctiefactor is. Kalibreer door 1 MHz aan de ingang aan te leggen. Upload daarna een nieuwe sketch.

De frequentiemeter is in een plastic doosje gemonteerd en een handig instrument in de laboratorium.

Code

Hoofdcode (C/C++)

#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);
  FreqCount.begin(1000);
}

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 (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"); }

  if (FreqCount.available()) {
    f = FreqCount.read();
    lcd.setCursor(10, 1);
    lcd.print("***");
  }
  delay(200);
  lcd.clear();
}

FreqCount Library

Download: FreqCount-master.zip

Schema

DIY Frequentiemeter – Meet tot 6,5 MHz met Arduino Nano

Productieproces

  1. Bouw een retro Numitron-klok met Arduino: Eenvoudig, betrouwbaar en energiezuinig
  2. Bouw een 20 kHz Arduino Oscilloscoop op een Nokia 5110 LCD – Eenvoudige DIY Handleiding
  3. Bouw Je Eigen 37-LED Roulette-spel met Arduino Nano
  4. DIY ADXL335 Aardbevingendetector – Laag-vermogen 3-as Versnellingsmeter Project
  5. DIY Soldeerbout-controller voor 862D+ — Precisie & Betrouwbaarheid
  6. Bouw een Tetris-spel met Arduino Nano op een Zelfgemaakte 16×8 LED-matrix
  7. MobBob: Bouw Je Eigen Arduino Robot, Naadloos Bestuurd via Android Smartphone
  8. Nooit meer alleen fietsen: slimme fietsveiligheidssysteem (Never Ride Alone)
  9. Een 4-Bit Combinatieslot Ontwerpen met XOR & NOR Poorten
  10. Multimeters: van analog naar digitaal – een uitgebreide gids
  11. Frequentie en Fase Meten in AC Energiesystemen