Frequentie- en werkcyclusmeting met Arduino
Componenten en benodigdheden
![]() |
| × | 1 | |||
![]() |
| × | 1 |
Benodigde gereedschappen en machines
![]() |
|
Apps en online services
![]() |
|
Over dit project
Arduino heeft verschillende toepassingen. We kunnen de toepassing ervan op veel verschillende gebieden en gebieden vinden. Het kan ook in het meetveld worden gebruikt om elektrische grootheden (zoals spanning, stroom, vermogen enz.) of fysieke grootheden (zoals temperatuur, vocht, lichtintensiteit, vochtigheid enz.) of elektronische componentwaarden enz. te meten.
Het gegeven artikel laat zien hoe je de frequentie en duty cycle van pulsen kunt meten met behulp van Arduino. Frequentiemeting is vereist in zoveel verschillende toepassingen. In het communicatieveld is frequentiemeting hoogstens essentieel. De werkcyclus is ook een belangrijke parameter om te meten omdat het % van de pulsbreedte geeft - betekent AAN-tijd van de puls. Bij DC-motorsnelheidsregeling en servomotor-hoekregeling is het vereist om de pulsbreedte te meten. Ook wordt de pulsbreedte gemeten om de symmetrie van de puls in sommige toepassingen te controleren, zoals een digitale signaalontvanger, repeaters, enz. Laten we dus eens kijken hoe we Arduino kunnen gebruiken om de frequentie en werkcyclus van pulsen te meten. In een bepaald project meet de Arduino de frequentie, AAN-tijd, UIT-tijd en werkcyclus van pulsen en geeft deze weer op 16x4 LCD

Beschrijving:
Zoals te zien is in de bovenstaande afbeelding, zijn er slechts twee belangrijke componenten in het circuit (1) arduino UNO-ontwikkelbord en (2) 16x4 LCD-scherm
· De pulsen worden direct gegeven als invoer naar digitale pin 7 van arduino
· De Rs- en En-pinnen van het LCD-scherm zijn verbonden met respectievelijk de digitale pinnen 9 en 8 van het Arduino-bord. Rw pin is verbonden met aarde
· Laatste vier datapinnen D4 – D7 zijn verbonden met Arduino-pinnen 10, 11, 12 en 13
· De anodepin van backlight LED (pin 15) en Vcc pin (2) van LCD krijgen 5 V voeding via arduino board
· Kathode van achterlicht-LED (pin 16) en Vss-pin (1) zijn verbonden met aarde
· One1 K pot is verbonden met Vee-pin om LCD-contra's te variëren
Circuitwerking:
· Wanneer het Arduino-bord wordt gevoed via USB, worden vier parameters op het LCD-scherm weergegeven als "freq: Ton: Toff: Plicht: "op elke rij zoals weergegeven
· Als er nu pulsen naar pin 7 worden gevoerd, wacht de arduino eerst tot de puls hoog is. Wanneer het hoog wordt, berekent het de tijdsperiode (in microseconden) waarvoor de puls hoog blijft. Dit is het Ton tijd
· Vervolgens berekende het de tijdsperiode (in microseconden) waarvoor de polsslag laag blijft. Dit is Toff-tijd
· Voeg vervolgens deze twee tijdsintervallen toe om de totale tijd te krijgen - betekent periode
· Van de totale tijd berekent de Arduino de frequentie als
Frequentie =1 / tijd
· En van Ton en Toff berekent het de plicht als
Plicht =Ton / (Ton + Toff)
· Vervolgens worden alle vier de parameters weergegeven op het LCD-scherm
· Opnieuw na 1 seconde herhaalt het dezelfde procedure
· Dus het meet continu de verandering in frequentie en duty cycle van puls
Code
- programma om frequentie en werkcyclus te meten en weer te geven op LCD
programma om frequentie en duty cycle te meten en weer te geven op LCDC/C++
meet frequentie en duty cycle en geef deze weer op LCD#includeLiquidCrystal lcd (8, 9, 10, 11, 12, 13);#define pulse_ip 7int ontime,offtime,duty;float freq,period; void setup(){ pinMode(pulse_ip,INPUT); lcd.begin (16, 4); lcd.wissen(); lcd.print("Freq:"); lcd.setCursor(0,1); lcd.print("Ton:"); lcd.setCursor(0,2); lcd.print("Toff:"); lcd.setCursor(0,3); lcd.print("Duty:"); }void loop(){ ontime =pulseIn(pulse_ip,HIGH); offtime =pulseIn(pulse_ip,LOW); periode =ontime+offtime; freq =1000000.0/periode; dienst =(op tijd/periode)*100; lcd.setCursor(4,1); lcd.print (op tijd); lcd.print("ons"); lcd.setCursor(5,2); lcd.print(offtime); lcd.print("ons"); lcd.setCursor(5,0); lcd.print(freq); lcd.print("Hz"); lcd.setCursor(6,3); lcd.print(plicht); lcd.print('%'); vertraging(1000);}
Schema's
het circuit meet de frequentie en werkcyclus van de puls met behulp van Arduino
Productieproces
- Frequentie- en fasemeting
- Aanwezigheidssysteem met Arduino en RFID met Python
- Universele afstandsbediening met Arduino, 1Sheeld en Android
- DIY voltmeter met Arduino en smartphone
- IOT - Smart Jar met ESP8266, Arduino en ultrasone sensor
- Frequentie- en werkcyclusmeting met Arduino
- Bedien Arduino Rover met Firmata en Xbox One Controller
- Hoe de massa van de aarde te meten met Arduino
- Sonar met arduino en weergave op verwerkings-IDE
- LED-helderheid regelen met Bolt en Arduino
- Hoe maak je een kompas met Arduino en Processing IDE?