» tråder » tips »To omformerkretser 12 -220 volt på arduino

To omformerkretser 12 -220 volt på arduino


Inverter 12 -220 volt på Arduino ren sinus med full programkode.


teori
Det er ganske vanskelig å oppnå sinusbølgedata og kan ikke anbefales for omformere, fordi elektronisk enheter liker vanligvis ikke eksponentielt økende strømmer eller spenninger. Siden omformere hovedsakelig er produsert ved hjelp av elektroniske enheter i fast tilstand, elimineres vanligvis en sinusformet bølgeform.

Elektroniske kraftinnretninger når de arbeider med sinusformede bølger gir ineffektive resultater, siden enheter som regel blir varmet opp sammenlignet med rektangulære pulser.

Dermed er det beste alternativet for å implementere en sinusbølge på en omformer PWM, som betyr pulsbreddemodulasjon eller PWM.

PWM er en forbedret måte (digital versjon) av eksponensiell bølgeformeksponering gjennom proporsjonalt varierende kvadratiske pulsbredder, hvis nettoverdi beregnes nøyaktig i henhold til nettoverdien til den valgte eksponentielle bølgeformen, her refererer den "rene" verdien til RMS-verdien. Derfor kan den beregnede PWM med henvisning til en gitt sinusbølge brukes som en ideell ekvivalent for replikasjon av en gitt sinusbølge. I tillegg vil PWM-er være ideelt kompatible med elektroniske strømapparater (mosfets, BJT-er, IGBTS) og tillate bruk av dem med minimal varme.

Hva er SPWM?
Den vanligste metoden er å produsere en PWM sinusavvik (sinusbølge) eller SPWM, ved å anvende flere eksponentielt variable signaler på inngangen til en driftsforsterker for nødvendig prosessering. Blant de to inngangssignalene skal den ene ha mye høyere frekvens sammenlignet med den andre.

Bruker to inngangssignaler
Som nevnt i forrige seksjon, innebærer prosedyren å levere to eksponentielt varierende signaler til inngangene til driftsforsterkeren.
Her er operasjonsforsterkeren konfigurert som en typisk komparator, så vi kan anta at driftsforsterkeren umiddelbart vil begynne å sammenligne de øyeblikkelige spenningsnivåene til disse to overlagrede signalene i det øyeblikket de vises eller blir brukt på inngangene.

For at driftsforsterkeren skal kunne implementere den nødvendige sinusformede PWM på riktig måte, er det nødvendig at et av signalene har en mye høyere frekvens enn det andre. Den langsommere frekvensen her er den som skal være sinusbølgen til prøven, som bør simuleres (replikeres) av PWMer.

Ideelt sett bør begge signalene være sinusformede (det ene med høyere frekvens enn det andre), men det samme kan realiseres ved å inkludere en trekantet bølge (høy frekvens) og en sinusbølge (selektiv bølge med lav frekvens). Som det kan sees på de følgende bildene, blir høyfrekvenssignalet alltid matet til den inverterende inngangen (-) til driftsforsterkeren, mens et annet tregere sinusformet signal tilføres den ikke-inverterende (+) inngangen til driftsforsterkeren. I verste fall kan begge signalene være trekantede bølger med anbefalte frekvensnivåer, som beskrevet ovenfor. Dette vil imidlertid bidra til å oppnå en rimelig god PWM sinusbølgeekvivalent.

Et signal med høyere frekvens kalles et bæresignal, mens et langsommere prøvesignal kalles en modulerende inngang.

Lag SPWM med en trekantet og sene bølge
Under henvisning til figuren ovenfor er det mulig å visualisere gjennom de plotte punktene de forskjellige sammenfallende eller overlappende spenningspunktene til de to signalene i en gitt tidsperiode. Den horisontale aksen viser tidsperioden for bølgeformen, mens den vertikale aksen viser spenningsnivåene til 2 som samtidig løper, den overlagrede bølgeformen. Figuren informerer oss om hvordan den operative forsterkeren vil reagere på de viste tilfeldige øyeblikkelige spenningsnivåene til de to signalene og produserer en tilsvarende skiftende sinusformet PWM ved utgangen. En operasjonsforsterker (op-forsterker) sammenligner ganske enkelt spenningsnivåene til en rask trekantbølge som øyeblikkelig endrer en sinusbølge (det kan også være en trekantbølge), og sjekker for tilfeller hvor spenningen til trekantbølgeformen kan være lavere enn spenningen til sinusbølgen og svarer lag øyeblikkelig høy logikk på utgangene dine.

Dette opprettholdes så lenge den potensielle bølgen i trekanten fortsetter å være lavere enn potensialet til sinusbølgen, og i det øyeblikket når potensialet til sinusbølgen blir påvist å være lavere enn det øyeblikkelige potensialet til bølgen i trekanten, kommer utgangene tilbake med et minimum og tåler til situasjonen gjentar seg.

Denne kontinuerlige sammenligningen av de øyeblikkelige potensialnivåene til to overlagrede bølgeformer ved de to inngangene til driftsforsterkerne fører til opprettelse av tilsvarende skiftende PWM-er, som nøyaktig kan gjenta sinusformen påført den ikke-inverterende inngangen til driftsforsterkeren.

Driftsforsterker og SPWM
Følgende figur viser modellering ovennevnte operasjon:
To omformerkretser 12 -220 volt på arduino

Her kan vi se hvordan den implementeres i praksis, og det er slik den operative forsterkeren vil gjøre det samme (selv om det er med mye høyere hastighet, i MS).

Operasjonen er ganske åpenbar og viser tydelig hvordan den operative forsterkeren skal behandle PWM sinusbølgen ved å sammenligne to samtidig skiftende signaler ved inngangene, som beskrevet i de foregående seksjoner.

Faktisk vil operasjonsforsterkeren behandle sinusformet PWM mye mer nøyaktig enn simuleringen vist over, den kan være 100 ganger bedre, og skaper ekstremt ensartet og godt målt PWM som samsvarer med den medfølgende prøven. Sinebølge.

Arduino inverter to kretser

deleliste
Alle 1/4 watt motstander, 5% CFR
• 10K = 4
• 1K = 2
• BC547 = 4stk
• MOSFETs IRF540 = 2stk
Arduino UNO = 1
• Transformator = 9-0-9V / 220V / 120V.
• Batteri = 12V


Designet er faktisk veldig enkelt, som vist i figuren nedenfor.

Pin # 8 og pin # 9 oppretter PWM vekselvis og bytter Mosfets med samme PWM.
Mosfet induserer på sin side en meget aktuell SPWM-bølgeform på transformatoren ved å bruke kraften til batteriet og tvinger transformatorens sekundær til å produsere en identisk bølgeform.

Den foreslåtte Arduino-omformerkretsen kan oppgraderes til et hvilket som helst foretrukket høyere effektnivå ved ganske enkelt å bytte ut henholdsvis Mosfets og transformator, som et alternativ, kan du også konvertere dette til en full bridge eller H-bridge sinusbølgeinverter
Arduino Board Power

Bølgeformbilder for Arduino SPWM

Siden Arduino vil produsere en 5V utgang, er det ikke sikkert at dette er ideelt for direkte å kontrollere MOS-transistorer.

Derfor er det nødvendig å heve strobenivået til 12V slik at Mosfets vil fungere riktig uten varmeenheter.

For å sikre at Mosfety ikke starter når Arduino starter eller starter, må du legge til følgende forsinkelsesgenerator og koble den til basen på BC547-transistorer.Dette vil beskytte Mosfets og forhindre at de brenner ut under en strømbryter og når Arduino starter opp.

Legge til en automatisk spenningsregulator
Akkurat som på alle andre inverterere, ved utgangen av denne designen, kan strømmen stige til utrygge grenser når batteriet er fulladet.

For å kontrollere dette, legg til en automatisk spenningsregulator.
BC547-samlerne må være koblet til basene til det venstre BC547-paret, som er koblet til Arduino via 10K-motstander.

Den andre versjonen av omformeren ved hjelp av sn7404 / k155ln1-brikken


Det er viktig å:
For å unngå å slå på ved et uhell før du laster Arduino, kan en enkel forsinkelse i tidskretsen være inkludert i konstruksjonen ovenfor, som vist nedenfor:


Programkode:

/ *
Denne koden var basert på Swagatam SPWM-kode med endringer for å fjerne feil. Bruk denne koden slik du vil bruke andre Swagatams verk.
Atton risiko 2017
* /
const int sPWMArray [] = {500,500,750,500,1250,500,2000,500,1250,500,750,500,500}; // Dette er matrisen der SPWM-verdiene endrer dem når du vil
const int sPWMArrayValues ​​= 13; // Du trenger dette siden C ikke gir deg lengden på en matrise
// Pinnene
const int sPWMpin1 = 10;
const int sPWMpin2 = 9;
// Pinnen bytter
bool sPWMpin1Status = sant;
bool sPWMpin2Status = sant;
ugyldig oppsett ()
{
pinMode (sPWMpin1, OUTPUT);
pinMode (sPWMpin2, OUTPUT);
}
void loop ()
{
// Sløyfe for pinne 1
for (int i (0); i! = sPWMArrayValues; i ++)
{
if (sPWMpin1Status)
{
digitalWrite (sPWMpin1, HIGH);
delayMicroseconds (sPWMArray [i]);
sPWMpin1Status = falsk;
}
annet
{
digitalWrite (sPWMpin1, LOW);
delayMicroseconds (sPWMArray [i]);
sPWMpin1Status = sant;
}
}
// Sløyfe for pinne 2
for (int i (0); i! = sPWMArrayValues; i ++)
{
if (sPWMpin2Status)
{
digitalWrite (sPWMpin2, HIGH);
delayMicroseconds (sPWMArray [i]);
sPWMpin2Status = falsk;
}
annet
{
digitalWrite (sPWMpin2, LOW);
delayMicroseconds (sPWMArray [i]);
sPWMpin2Status = sant;
}
}
}

Lykke til.




Passer for tema

Beslektede emner

Legg til en kommentar

    • smilersmilerxaxaokdontknowyahoonea
      sjefscratchlurejaja-jaaggressivhemmelighet
      beklagerdansedance2dance3benådninghjelpdrikkevarer
      stoppvennergodgoodgoodfløytebesvimelsetunge
      røykklappingCrayerklærehånligdon-t_mentionnedlasting
      heteirefullaugh1MDAmøtemoskingnegative
      not_ipopcornstraffeleseskremmeskremmersøk
      spydighetthank_youdetteto_clueumnikakuttenig
      dårligbeeeblack_eyeblum3rødmeskrytekjedsomhet
      sensurertpleasantrysecret2trueseieryusun_bespectacled
      ShokRespektlolPrevedvelkommenKrutoyya_za
      ya_dobryihelperne_huliganne_othodiFLUDforbudnær
5 kommentar
Riddick
Og hvor i helvete er utgangsparameterne?
Gjest Andrey
Jeg anbefaler å installere IR4427-brikken som driver - to drivere med lavere nøkkel uten inversjon.
Copyist forpliktet seg til å gjenfortelle materiale om et tema han ikke var helt klar over:
Det er mange absurditeter, og det virket for meg (kanskje jeg tar feil) at forfatteren snakker russisk som fremmedspråk, så han oversetter automatisk fra morsmålet sitt til engelsk, og fra engelsk til russisk, fordi Direkte automatisk oversettelse er mulig og ikke! Men dette er bare gjetningene mine! scratch
Copyist forpliktet seg til å gjenfortelle materiale om et tema han ikke var helt klar over:
BC547 samlere må være koblet til begrunnelse venstre par BC547
Seksjonen "Teori" - en sjelden usammenhengende tull!

Vi anbefaler deg å lese:

Gi den til smarttelefonen ...