{"id":111,"date":"2025-01-05T18:57:36","date_gmt":"2025-01-05T18:57:36","guid":{"rendered":"https:\/\/enssy.nl\/?page_id=111"},"modified":"2025-01-12T11:55:57","modified_gmt":"2025-01-12T11:55:57","slug":"arduino-frequentiemeter","status":"publish","type":"page","link":"https:\/\/enssy.nl\/index.php\/arduino-frequentiemeter\/","title":{"rendered":"Frequentiemeter 1.0"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Hoe Bouw Je een Frequentiemeter voor het Elektriciteitsnet met een Arduino<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In dit blog deel ik een fascinerend experiment waarin ik een Arduino gebruik om een <strong>frequentiemeter<\/strong> te bouwen die de netfrequentie van 50 Hz meet via een standaard wandcontactdoos. Dit project is een geweldige manier om basisprincipes van elektronica en microcontrollerprogrammering te leren en kan eenvoudig worden uitgevoerd met een paar componenten. Hieronder vind je een gedetailleerde beschrijving van hoe dit experiment is uitgevoerd, inclusief uitleg, schema\u2019s en codevoorbeelden.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Het Idee Achter de Frequentiemeter<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">De netfrequentie (bijvoorbeeld 50 Hz in Europa) is een cruciale parameter in het elektriciteitsnet. Kleine afwijkingen in deze frequentie kunnen belangrijke informatie geven over de belasting van het netwerk. Met een Arduino kun je deze frequentie meten door het analoge signaal van het elektriciteitsnet om te zetten naar een digitaal signaal dat geschikt is voor verwerking door de microcontroller.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Benodigde Componenten<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Voor dit experiment heb je de volgende componenten nodig:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Arduino (in dit geval een Arduino Uno R4 WiFi)<\/strong><\/li>\n\n\n\n<li><strong>230V\/15V transformator<\/strong><\/li>\n\n\n\n<li><strong>Diode<\/strong> (bijv. 1N4007)<\/li>\n\n\n\n<li><strong>Weerstanden<\/strong> voor de spanningsdeler (bijv. 39 k\u03a9 en 10 k\u03a9)<\/li>\n\n\n\n<li><strong>Transistor<\/strong> (bijv. PN2222A of vergelijkbaar)<\/li>\n\n\n\n<li><strong>Pull-up weerstand<\/strong> (bijv. 10 k\u03a9)<\/li>\n\n\n\n<li><strong>Kleine experimenteerprint of breadboard<\/strong><\/li>\n\n\n\n<li><strong>Verbindingsdraden<\/strong><\/li>\n\n\n\n<li><strong>Multimeter<\/strong> (optioneel, voor debugging)<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Schakeling<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">De schakeling zet het hoge spanningssignaal van de netspanning (230 V AC) veilig om naar een digitaal signaal dat de Arduino kan uitlezen.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Transformator<\/strong>\n<ul class=\"wp-block-list\">\n<li>Een <strong>230\/15V transformator<\/strong> wordt gebruikt om de hoge netspanning te verlagen naar een veiligere waarde van 15V AC.<\/li>\n\n\n\n<li>Dit verlaagt niet alleen de spanning, maar biedt ook isolatie tussen het net en jouw circuit.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Diodebrug en Spanningsdeler<\/strong>\n<ul class=\"wp-block-list\">\n<li>Een enkele <strong>diode<\/strong> (1N4007) zet de wisselstroom om naar pulsende gelijkstroom. Dit signaal behoudt de frequentie van de netspanning (50 Hz).<\/li>\n\n\n\n<li>Met een spanningsdeler (bijvoorbeeld 39 k\u03a9 en 10 k\u03a9 weerstanden) wordt de spanning verder verlaagd tot een veilig niveau voor de Arduino (maximaal 5V).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Transistor en Pull-up Weerstand<\/strong>\n<ul class=\"wp-block-list\">\n<li>De transistor wordt gebruikt om het analoge signaal om te zetten in een digitaal pulssignaal.<\/li>\n\n\n\n<li>Een <strong>pull-up weerstand<\/strong> 10 zorgt ervoor dat het uitgangssignaal stabiel is als de transistor niet geleidt.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Arduino<\/strong>\n<ul class=\"wp-block-list\">\n<li>Het digitale pulssignaal wordt aangesloten op pin 2 van de Arduino, waar de Arduino gebruik maakt van een interrupt om de frequentie van het signaal te meten.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Het Schakelschema<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Hier is een schema van de schakeling<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\n<img fetchpriority=\"high\" decoding=\"async\" width=\"1000\" height=\"707\" class=\"wp-image-169\" style=\"width: 1000px;\" src=\"https:\/\/enssy.nl\/wp-content\/uploads\/2025\/01\/schema.png\" alt=\"\" srcset=\"https:\/\/enssy.nl\/wp-content\/uploads\/2025\/01\/schema.png 3507w, https:\/\/enssy.nl\/wp-content\/uploads\/2025\/01\/schema-300x212.png 300w, https:\/\/enssy.nl\/wp-content\/uploads\/2025\/01\/schema-1024x724.png 1024w, https:\/\/enssy.nl\/wp-content\/uploads\/2025\/01\/schema-768x543.png 768w, https:\/\/enssy.nl\/wp-content\/uploads\/2025\/01\/schema-1536x1086.png 1536w, https:\/\/enssy.nl\/wp-content\/uploads\/2025\/01\/schema-2048x1448.png 2048w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Arduino Code<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">De Arduino gebruikt een interrupt om de frequentie van het signaal te meten. Hier is een voorbeeldcode voor een Arduino UNO R4 WiFi:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;WiFi.h&gt; \/\/bibliotheek om de Wifi verbinding te maken\n#include &lt;NTPClient.h&gt; \/\/ bibliotheek voor de netwerktijd\n#include &lt;WiFiUdp.h&gt; \/\/bibliotheek voor ondersteuning voor communicatie via het UDP-protocol (User Datagram Protocol)\n\n\/\/ Constanten\nconst char* ssid = \"Jouw_SSID\"; \/\/ SSID WIFI Router\nconst char* password = \"Jouw_Password\"; \/\/Wifi password\nconst int signalPin = 2;  \/\/ Pin waar het signaal binnenkomt\nconst float c = 0.9991278; \/\/ Correctiefactor\/ijken meetapparaat 0,999135\nconst int numMeasurements = 50;  \/\/ Aantal metingen voor het gemiddelde\n\n\/\/Declareren variabelen\nvolatile unsigned long lastTime = 0;  \/\/ Tijd van de laatste interrupt\nvolatile unsigned long period = 0;    \/\/ Tijdsperiode tussen interrupts (in microseconden)\nfloat frequency;  \/\/ Variabele om de frequentie op te slaan\nfloat sumFrequency = 0;  \/\/ Som van de frequenties\nfloat averageFrequency = 0.0; \/\/ Gemiddelde frequentie variabele\nint count = 0;  \/\/ Tellen van het aantal metingen\nunsigned long lastUpdate = 0; \/\/ Voor tijdscontrole met millis()\n\nWiFiUDP ntpUDP;\nNTPClient timeClient(ntpUDP, \"pool.ntp.org\", 0, 60000); \/\/ NTP-client (UTC)\n\nvoid setup() {\n  Serial.begin(9600);\n    \n  \/\/ Verbinden met WiFi\n  connectToWiFi();\n\n  \/\/ Start NTP-client\n  timeClient.begin();\n  \n  pinMode(signalPin, INPUT);\n  attachInterrupt(digitalPinToInterrupt(signalPin), myinthandler, RISING);\n}\n\nvoid loop() {\n  \/\/ Update de tijd van de NTP-server\n  timeClient.update();\n  unsigned long epochTime = timeClient.getEpochTime();\n\n  \/\/ Update de frequentie\n  if (period &gt; 0) {\n    frequency = 1000000.0 \/ period;  \/\/ 1 miljoen omdat we in microseconden werken c = correctie\/ijken\n    sumFrequency += frequency;\n    count++;\n\n    if (count &gt;= numMeasurements) {\n      averageFrequency = sumFrequency \/ numMeasurements * c; \/\/ Gemiddelde frequentie\n      \n  \n         \n      \/\/ Reset frequentiemetingen\n      sumFrequency = 0;\n      count = 0;\n    }\n\n    period = 0;\n  }\n\n  \/\/ Update de tijd, datum en gemiddelde frequentie elke seconde (controle via millis)\n  unsigned long currentMillis = millis();\n  if (currentMillis - lastUpdate &gt;= 1000) {\n    lastUpdate = currentMillis;\n    printDateTime(epochTime);\n  }\n}\n\nvoid connectToWiFi() {\n  Serial.print(\"Verbinden met WiFi: \");\n  Serial.println(ssid);\n  WiFi.begin(ssid, password);\n  while (WiFi.status() != WL_CONNECTED) {\n    delay(500);\n    Serial.print(\".\");\n  }\n  Serial.println(\"\\nVerbonden met WiFi\");\n}\n\nbool isLeapYear(int year) {\n  return (year % 4 == 0 &amp;&amp; (year % 100 != 0 || year % 400 == 0));\n}\n\nvoid printDateTime(unsigned long epochTime) {\n  epochTime += 3600; \/\/ Aanpassing voor CET (UTC)\n\n  int daysInMonth&#91;] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};\n\n  \/\/ Bereken het jaartal\n  int year = 1970;\n  while (epochTime &gt;= (isLeapYear(year) ? 31622400 : 31536000)) {\n    epochTime -= (isLeapYear(year) ? 31622400 : 31536000);\n    year++;\n  }\n\n  \/\/ Controleer op schrikkeljaar\n  if (isLeapYear(year)) {\n    daysInMonth&#91;1] = 29; \/\/ Pas februari aan\n  }\n\n  \/\/ Bereken de maand\n  int month = 0;\n  while (epochTime &gt;= daysInMonth&#91;month] * 86400) {\n    epochTime -= daysInMonth&#91;month] * 86400;\n    month++;\n  }\n  month += 1; \/\/ Maanden zijn 1-gebaseerd\n\n  \/\/ Bereken de dag\n  int day = epochTime \/ 86400 + 1;\n  epochTime %= 86400;\n\n  \/\/ Bereken de uren, minuten en seconden\n  int hours = epochTime \/ 3600;\n  epochTime %= 3600;\n  int minutes = epochTime \/ 60;\n  int seconds = epochTime % 60;\n\n  \/\/ Print de datum, tijd en gemiddelde frequentie naar de seri\u00eble monitor\n  Serial.print(year);\n  Serial.print(\"-\");\n  if (month &lt; 10) Serial.print(\"0\");\n  Serial.print(month);\n  Serial.print(\"-\");\n  if (day &lt; 10) Serial.print(\"0\");\n  Serial.print(day);\n  Serial.print(\",\");\n  if (hours &lt; 10) Serial.print(\"0\");\n  Serial.print(hours);\n  Serial.print(\":\");\n  if (minutes &lt; 10) Serial.print(\"0\");\n  Serial.print(minutes);\n  Serial.print(\":\");\n  if (seconds &lt; 10) Serial.print(\"0\");\n  Serial.print(seconds);\n  Serial.print(\",\");\n  Serial.print(averageFrequency, 3);\n  Serial.println(\"\");\n}\n\nvoid myinthandler() {\n  unsigned long currentTime = micros();\n  period = currentTime - lastTime;\n  lastTime = currentTime;\n}\n\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Veiligheidstips<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Omdat je werkt met netspanning, moet je uiterst voorzichtig zijn:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Zorg ervoor dat de <strong>transformator<\/strong> het circuit volledig isoleert van de 230V-lijn.<\/li>\n\n\n\n<li>Controleer dat alle verbindingen stevig zijn en er geen kans is op kortsluiting.<\/li>\n\n\n\n<li>Test het circuit eerst zonder aangesloten netspanning, bij voorkeur met een simulatie of lage testspanning.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Resultaten<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Wanneer je het circuit inschakelt en de Arduino code uitvoert:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>De Arduino zal pulsen detecteren die corresponderen met de frequentie van het elektriciteitsnet.<\/li>\n\n\n\n<li>Je kunt de frequentie uitlezen via de <strong>seri\u00eble monitor<\/strong> in de Arduino IDE.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Uitbreidingsmogelijkheden<\/strong><\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>LCD-scherm toevoegen<\/strong>: Toon de gemeten frequentie op een LCD-scherm.<\/li>\n\n\n\n<li><strong>Data logging<\/strong>: Log de frequentiegegevens naar een SD-kaart of computer.<\/li>\n\n\n\n<li><strong>Netspanningskwaliteit meten<\/strong>: Analyseer kleine afwijkingen in de frequentie en koppel dit aan netwerkbelasting.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">Dit experiment biedt een praktische manier om niet alleen elektronica te leren, maar ook inzicht te krijgen in hoe het elektriciteitsnet werkt. Laat me weten of je meer wilt leren over dit project of soortgelijke idee\u00ebn hebt!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Er zijn verschillende manieren om de methode voor het meten van de frequentie van het elektriciteitsnet te verbeteren. Overwegingen met betrekking tot filtering, nauwkeurigheid, en algemene prestaties kunnen helpen om het systeem robuuster en betrouwbaarder te maken. Hier zijn enkele belangrijke aspecten en verbeterpunten:<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Filtering van het Signaal<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Een schoon signaal is cruciaal voor nauwkeurige frequentiemetingen.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Huidige Problemen:<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Ruis van het netwerk<\/strong>: Elektromagnetische storingen of harmonischen in de netspanning kunnen het signaal vervuilen.<\/li>\n\n\n\n<li><strong>Spikes en Crosstalk<\/strong>: Onzuiverheden in de transformator of ruis van andere elektronische apparaten kunnen verkeerde pulsen veroorzaken.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Verbeteringen:<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Laagdoorlaatfilter (RC-filter)<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Gebruik een RC-filter om hoogfrequente ruis te verwijderen voordat het signaal naar de transistor gaat. Kies de afsnijfrequentie net boven 50 Hz.<\/li>\n\n\n\n<li>Berekening: Kies R=10\u2009k\u03a9 en C=220\u2009nF (fc\u224872\u2009{Hz}).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Ontkoppelcondensatoren<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Plaats condensatoren (0.1 \u00b5F en 10 \u00b5F) dicht bij de voedingslijnen van de Arduino en de transistor om spanningsfluctuaties te minimaliseren.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Ferrietkralen<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Voeg ferrietkralen toe op de signaallijnen om hoogfrequente ruis verder te onderdrukken.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Nauwkeurigheid van de Frequentiemeting<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Het huidige systeem meet pulsen gedurende \u00e9\u00e9n seconde. Hoewel dit eenvoudig is, kan het worden verbeterd voor meer precisie.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Verbeteringen:<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Verlengde Meetperiode<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Door over meerdere seconden te meten en een gemiddelde te berekenen, kun je variaties in het signaal verminderen en nauwkeurigere resultaten verkrijgen.<\/li>\n\n\n\n<li>Bijvoorbeeld: <code>frequentie = pulseCount \/ meetperiodeInSeconden;<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Timer-gebaseerde meting<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Gebruik een hardwaretimer in plaats van <code>millis()<\/code> om preciezer de tijd tussen pulsen te meten. Dit is met name nuttig als je microseconden nauwkeurigheid wilt.<\/li>\n\n\n\n<li>Gebruik de functie <code>micros()<\/code> om kleinere intervallen te berekenen: <code>unsigned long interval = micros() - vorigePulsTijd; frequentie = 1.0 \/ (interval \/ 1000000.0);<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Frequentiestandaard<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Vergelijk de gemeten frequentie met een nauwkeurige referentieklok, zoals een 16 MHz kristal op de Arduino, om afwijkingen te corrigeren.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Veiligheid<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Het werken met netspanning brengt risico\u2019s met zich mee. Extra beveiligingsmaatregelen kunnen de betrouwbaarheid en veiligheid verbeteren.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Verbeteringen:<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Dubbele isolatie<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Gebruik een dubbel ge\u00efsoleerde transformator om de veiligheid te vergroten.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Optocoupler<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Gebruik een optocoupler in plaats van een transistor om galvanische scheiding te garanderen tussen het net en de Arduino.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Beveiligingscomponenten<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Voeg een zekering toe aan de primaire kant van de transformator.<\/li>\n\n\n\n<li>Gebruik overspanningsbeveiliging (bijvoorbeeld een varistor) om schade door stroompieken te voorkomen.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Stabiliteit en Ruisonderdrukking<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Problemen:<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Schommelingen in de voeding kunnen de transistor be\u00efnvloeden, wat resulteert in onbetrouwbare digitale pulsen.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Verbeteringen:<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>LDO-regulator<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Gebruik een low-dropout spanningsregelaar om een stabiele voedingsspanning te leveren.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Hysterese<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Voeg een kleine hysterese toe aan de digitale schakeldrempel om foutieve schakelingen te voorkomen.<\/li>\n\n\n\n<li>Dit kan worden bereikt door een Schmitt-trigger IC (bijvoorbeeld 74HC14) te gebruiken.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. Signaalverwerking<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">De kwaliteit van de frequentiemeting hangt ook af van hoe het signaal wordt verwerkt.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Verbeteringen:<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Debouncing<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Voeg hardwarematig of softwarematig debouncing toe om pieken en storingen in het signaal te elimineren.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Digitale filtering<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Gebruik software-algoritmen, zoals een moving average, om kleine fluctuaties in de gemeten frequentie te dempen.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>6. Bruikbaarheid en Uitbreidingen<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Naast nauwkeurigheid zijn er mogelijkheden om de gebruiksvriendelijkheid en functionaliteit te verbeteren.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Verbeteringen:<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Weergave<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Voeg een LCD- of OLED-scherm toe om de gemeten frequentie in realtime weer te geven.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Data logging<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Log de frequentie naar een SD-kaart of verzend deze via seri\u00eble communicatie naar een computer voor verdere analyse.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Alarmering<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Voeg een alarm toe dat afgaat wanneer de frequentie buiten een gespecificeerd bereik valt (bijvoorbeeld onder 49.5 Hz of boven 50.5 Hz).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>7. Analyse van Afwijkingen<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Je kunt deze frequentiemeter uitbreiden om schommelingen in het elektriciteitsnetwerk beter te analyseren:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>FFT-analyse<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Gebruik een snelle Fourier-transformatie om harmonischen of onregelmatigheden in de netfrequentie te detecteren.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Jitter-meting<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Meet hoe stabiel de netfrequentie is over een langere tijd.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Waarom een Arduino Uno R4 WiFi is Gebruikt voor Dit Project<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">De keuze voor de <strong>Arduino Uno R4 WiFi<\/strong> in dit project is strategisch gemaakt vanwege zijn veelzijdigheid en specifieke functionaliteiten die nauw aansluiten bij de behoeften van een frequentiemeterproject. Hier zijn de belangrijkste redenen en voordelen van deze microcontroller:<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Ingebouwde Real-Time Clock (RTC)<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">De Arduino Uno R4 WiFi bevat een <strong>Real-Time Clock (RTC)<\/strong>, wat een belangrijke reden is om deze versie te kiezen. Dit heeft directe voordelen voor dit project:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tijdstempels voor frequentiemetingen<\/strong>:\n<ul class=\"wp-block-list\">\n<li>De RTC biedt een nauwkeurige en onafhankelijke tijdbron, waarmee je tijdstempels kunt toevoegen aan elke frequentiemeting. Dit is vooral handig voor data logging of het analyseren van frequentiefluctuaties over tijd.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Geen afhankelijkheid van externe tijdbronnen<\/strong>:\n<ul class=\"wp-block-list\">\n<li>De ingebouwde RTC elimineert de noodzaak van een externe RTC-module, wat het ontwerp eenvoudiger en compacter maakt.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Automatische tijdsynchronisatie<\/strong>:\n<ul class=\"wp-block-list\">\n<li>De RTC kan worden gebruikt om metingen te plannen of om statistieken op specifieke tijdstippen te verzamelen.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. WiFi-connectiviteit voor Netwerktijd<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">De ingebouwde <strong>WiFi-functionaliteit<\/strong> van de Arduino Uno R4 WiFi maakt het mogelijk om verbinding te maken met internet en toegang te krijgen tot een <strong>Network Time Protocol (NTP)-server<\/strong>. Dit heeft meerdere voordelen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Synchronisatie met NTP<\/strong>:\n<ul class=\"wp-block-list\">\n<li>De Arduino kan zijn RTC synchroniseren met een NTP-server om ervoor te zorgen dat de klok altijd nauwkeurig is. Dit is essentieel in een project dat frequentie-anomalie\u00ebn of -fluctuaties wil monitoren over een lange periode.<\/li>\n\n\n\n<li>Dit zorgt ervoor dat de tijdstempels betrouwbaar zijn en nauwkeurig blijven, zelfs na stroomonderbrekingen of herstarten van het systeem.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Remote Monitoring<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Met WiFi-connectiviteit kun je de gemeten frequentiegegevens naar een server sturen of live weergeven via een webinterface of mobiele app. Dit maakt het project geschikt voor real-time bewaking van het elektriciteitsnet.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Cloud Data Logging<\/strong>:\n<ul class=\"wp-block-list\">\n<li>De frequentiemetingen kunnen in de cloud worden opgeslagen, wat handig is voor het analyseren van trends en afwijkingen in de netfrequentie over langere tijd.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Geavanceerde Functies van de Uno R4 WiFi<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Naast de RTC en WiFi biedt de Uno R4 WiFi enkele andere verbeteringen ten opzichte van de traditionele Uno:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Hogere verwerkingssnelheid<\/strong>:\n<ul class=\"wp-block-list\">\n<li>De R4 heeft een snellere microcontroller (Renesas RA4M1 op 48 MHz), wat zorgt voor nauwkeurigere tijdmetingen en betere verwerking van frequentiesignalen.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Meer geheugen<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Met 32 kB SRAM en 256 kB Flash-geheugen is er voldoende ruimte voor complexere software, zoals het combineren van RTC-functionaliteit, WiFi-verbindingen en seri\u00eble verwerking.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Toepassingen van RTC en WiFi in het Project<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Door de combinatie van RTC en WiFi heeft de Arduino Uno R4 WiFi het mogelijk gemaakt om:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Tijdgestuurde metingen te plannen<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Met behulp van de RTC kun je de frequentie op vaste tijdsintervallen meten en loggen.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Realtime bewaking te bieden<\/strong>:\n<ul class=\"wp-block-list\">\n<li>De gemeten frequentie kan via WiFi naar een webserver worden verzonden en in real-time worden weergegeven op een dashboard.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Historische data te analyseren<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Synchronisatie met NTP garandeert dat alle loggegevens correct zijn getime, wat essentieel is bij het analyseren van afwijkingen in het net.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Gebruikersvriendelijke integratie<\/strong>:\n<ul class=\"wp-block-list\">\n<li>WiFi maakt het eenvoudig om het systeem te integreren met andere IoT-systemen of data-analysetools.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hoe Bouw Je een Frequentiemeter voor het Elektriciteitsnet met een Arduino In dit blog deel ik een fascinerend experiment waarin [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-111","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/enssy.nl\/index.php\/wp-json\/wp\/v2\/pages\/111","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/enssy.nl\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/enssy.nl\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/enssy.nl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/enssy.nl\/index.php\/wp-json\/wp\/v2\/comments?post=111"}],"version-history":[{"count":11,"href":"https:\/\/enssy.nl\/index.php\/wp-json\/wp\/v2\/pages\/111\/revisions"}],"predecessor-version":[{"id":175,"href":"https:\/\/enssy.nl\/index.php\/wp-json\/wp\/v2\/pages\/111\/revisions\/175"}],"wp:attachment":[{"href":"https:\/\/enssy.nl\/index.php\/wp-json\/wp\/v2\/media?parent=111"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}