Arduino SPWM-generatorcircuit - codedetails en diagram

Probeer Ons Instrument Voor Het Oplossen Van Problemen





In dit bericht leren we hoe we sinusgolfpulsbreedtemodulatie of SPWM kunnen genereren via Arduino, die kan worden gebruikt voor het maken van een zuivere sinusomvormercircuit of soortgelijke gadgets.

De Arduino code is door mij ontwikkeld en het is mijn eerste Arduino-code, ... en het ziet er best goed uit



Wat is SPWM

Ik heb het al uitgelegd hoe SPWM te genereren met opamps in een van mijn eerdere artikelen zou je het kunnen doornemen om te begrijpen hoe het kan worden gemaakt met behulp van discrete componenten en met betrekking tot het belang ervan.

Kortom, SPWM, wat staat voor sinusgolfpulsbreedtemodulatie, is een soort pulsmodulatie waarbij de pulsen worden gemoduleerd om een ​​sinusvormige golfvorm te simuleren, zodat de modulatie eigenschappen van een zuivere sinusgolf kan bereiken.



Om een ​​SPWM te implementeren, worden de pulsen gemoduleerd met een aanvankelijke smallere breedte die geleidelijk breder wordt in het midden van de cyclus en uiteindelijk smaller wordt aan het einde om de cyclus te beëindigen.

Om preciezer te zijn, de pulsen beginnen met de smalste breedten die geleidelijk breder worden met elke volgende puls, en worden het breedst bij de middelste puls, daarna gaat de reeks verder maar met een tegengestelde modulatie, dat wil zeggen dat de pulsen nu geleidelijk smaller worden. totdat de cyclus is afgelopen.

Videodemo

Dit vormt één SPWM-cyclus, en deze herhaalt zich steeds met een bepaalde snelheid, zoals bepaald door de toepassingsfrequentie (gewoonlijk 50Hz of 60Hz). Meestal wordt SPWM gebruikt voor het aandrijven van stroomtoestellen zoals mosfets of BJT's in omvormers of converters.

Dit speciale modulatiepatroon zorgt ervoor dat de frequentiecycli worden uitgevoerd met een geleidelijk veranderende gemiddelde spanningswaarde (ook wel de RMS-waarde genoemd), in plaats van plotselinge hoge / lage spanningspieken te veroorzaken zoals normaal gezien wordt in vlakke blokgolfcycli.

Deze geleidelijk veranderende PWM's in een SPWM worden met opzet afgedwongen, zodat het het exponentieel stijgende / dalende patroon van een standaard sinusgolf of sinusvormige golfvorm nauwkeurig nabootst, vandaar de naam sinusgolf PWM of SPWM.

SPWM genereren met Arduino

De hierboven toegelichte SPWM kan eenvoudig worden geïmplementeerd met behulp van een paar discrete onderdelen, en ook met Arduino, waardoor je waarschijnlijk meer nauwkeurigheid krijgt met de golfvormperioden.

De volgende Arduino-code kan worden gebruikt voor het implementeren van de beoogde SPWM voor een bepaalde toepassing.

Jeetje!! dat ziet er verschrikkelijk groot uit, als je weet hoe je het moet inkorten, voel je je vrij om het aan je einde te doen.

In de volgende post zal ik uitleggen hoe je de bovenstaande Arduino-gebaseerde SPWM-generator kunt gebruiken maak een zuivere sinusomvormercircuit ....blijf lezen!

De bovenstaande SPWM-code is verder verbeterd door de heer Atton voor het verbeteren van de prestaties, zoals hieronder weergegeven:




Vorige: 8X Overunity van Joule Thief - Bewezen ontwerp Vervolg: Arduino Pure Sine Wave Inverter Circuit met volledige programmacode