In dit project gaan we 12v DC verlagen naar elke DC-waarde tussen 2 en 11 volt. Het circuit dat de gelijkspanning verlaagt, staat bekend als buck-omzetter. De benodigde uitgangsspanning of step-down-spanning wordt geregeld met behulp van een potentiometer die is aangesloten op Arduino.
Door Ankit Negi
INLEIDING TOT OMVORMERS:
Er zijn in principe twee soorten converters:
1. Buck-omzetter
2. Boost-omzetter
Beide omvormers veranderen de ingangsspanning volgens de vereisten. Ze zijn vergelijkbaar met een transformator met een belangrijk verschil. Terwijl de transformator een wisselstroomspanning verhoogt / verlaagt, verhogen DC-omzetters de gelijkspanning. De belangrijkste componenten van beide converters zijn:
A. MOSFET
B. INDUCTOR
C. CONDENSATOR
BUCK CONVERTER: zoals de naam zelf suggereert, betekent buck het verlagen van de ingangsspanning. Buck-omzetter geeft ons de spanning lager dan de ingangsspanning met hoge stroomcapaciteit. Het is een directe bekering.
BOOST CONVERTER: zoals de naam zelf suggereert, betekent boost het verhogen van de ingangsspanning.
Boost-omzetter geeft ons de DC-spanning meer dan de DC-spanning aan de ingang. Het is ook een directe conversie.
** in dit project gaan we een buck-convertercircuit maken om 12 v DC te verlagen met arduino als een PWM-bron.
PWM-FREQUENTIE WIJZIGEN OP ARDUINO-PINS:
PWM-pinnen van arduino UNO zijn 3, 5, 6, 9, 10 en 11.
Om PWM uit te voeren, is de gebruikte opdracht:
analogWrite (PWM PIN NO, PWM VALUE)
en de PWM-frequentie voor deze pinnen zijn:
Voor Arduino-pinnen 9, 10, 11 en 3 ---- 500Hz
Voor Arduino Pins 5 en 6 ---- 1 kHz
Deze frequenties zijn prima voor algemeen gebruik, zoals het vervagen van een led. Maar voor circuit zoals buck of boost-omzetter , heeft men een hoogfrequente PWM-bron nodig (in het bereik van tientallen KHZ) omdat MOSFET een hoge frequentie nodig heeft voor perfect schakelen en ook hoogfrequente invoer vermindert de waarde of grootte van circuitcomponenten zoals inductor en condensator. Voor dit project hebben we dus een hoogfrequente PWM-bron nodig.
Het goede is dat we de PWM-frequentie van PWM-pinnen van arduino kunnen wijzigen door eenvoudige code te gebruiken:
VOOR ARDUINO UNO:
Beschikbare PWM-frequentie voor D3 en D11:
// TCCR2B = TCCR2B & B11111000 | B00000001 // voor PWM-frequentie van 31372,55 Hz
// TCCR2B = TCCR2B & B11111000 | B00000010 // voor PWM-frequentie van 3921,16 Hz
// TCCR2B = TCCR2B & B11111000 | B00000011 // voor PWM-frequentie van 980,39 Hz
TCCR2B = TCCR2B & B11111000 | B00000100 // voor PWM-frequentie van 490,20 Hz (de STANDAARD)
// TCCR2B = TCCR2B & B11111000 | B00000101 // voor PWM-frequentie van 245,10 Hz
// TCCR2B = TCCR2B & B11111000 | B00000110 // voor PWM-frequentie van 122,55 Hz
// TCCR2B = TCCR2B & B11111000 | B00000111 // voor PWM-frequentie van 30,64 Hz
Beschikbare PWM-frequentie voor D5 en D6:
// TCCR0B = TCCR0B & B11111000 | B00000001 // voor PWM-frequentie van 62500,00 Hz
// TCCR0B = TCCR0B & B11111000 | B00000010 // voor PWM-frequentie van 7812,50 Hz
TCCR0B = TCCR0B & B11111000 | B00000011 // voor PWM-frequentie van 976,56 Hz (The DEFAULT)
// TCCR0B = TCCR0B & B11111000 | B00000100 // voor PWM-frequentie van 244,14 Hz
// TCCR0B = TCCR0B & B11111000 | B00000101 // voor PWM-frequentie van 61,04 Hz
Beschikbare PWM-frequentie voor D9 en D10:
// TCCR1B = TCCR1B & B11111000 | B00000001 // stel timer 1 deler in op 1 voor PWM-frequentie van 31372,55 Hz
// TCCR1B = TCCR1B & B11111000 | B00000010 // voor PWM-frequentie van 3921,16 Hz
TCCR1B = TCCR1B & B11111000 | B00000011 // voor PWM-frequentie van 490,20 Hz (The DEFAULT)
// TCCR1B = TCCR1B & B11111000 | B00000100 // voor PWM-frequentie van 122,55 Hz
// TCCR1B = TCCR1B & B11111000 | B00000101 // voor PWM-frequentie van 30,64 Hz
** we gaan pin nr. gebruiken. 6 voor PWM vandaar de code:
// TCCR0B = TCCR0B & B11111000 | B00000001 // voor PWM-frequentie van 62,5 KHz
COMPONENTEN LIJST:
1. ARDUINO UNO
2. INDUCTOR (100Uh)
3. SCHOTTKY DIODE
4. CONDENSATOR (100 uf)
5. IRF540N
6. POTENTIOMETER
7. 10k, 100ohm WEERSTAND
8. BELASTING (in dit geval motor)
9,12 V BATTERIJ
SCHAKELSCHEMA
Maak de aansluitingen zoals aangegeven in het schakelschema.
1. Verbind de eindaansluitingen van de potentiometer met respectievelijk de 5v-pen en de aardingspen van de Arduino UNO, terwijl de wisser-aansluiting met de analoge pen A1 is verbonden.
2. Verbind PWM pin 6 van arduino met de basis van mosfet.
3. Positieve pool van batterij om mosfet leeg te maken en min naar p-pool van schottky-diode.
4. Sluit vanaf de p-terminal van de schottky-diode de belasting (motor) in serie met de inductor aan op de source-aansluiting van mosfet.
5. Verbind nu de n-aansluiting van de schottky-diode met de bronaansluiting van de mosfet.
6. Sluit een condensator van 47uf aan op de motor.
7. Sluit ten slotte de grondpen van de arduino aan op de bronterminal van mosfet.
Doel van mosfet:
Mosfet wordt gebruikt om de ingangsspanning op hoge frequentie te schakelen en om een hoge stroom te leveren met minder warmteafvoer.
Doel van Arduino:
Voor hoge schakelsnelheden van mosfet (bij een frequentie van ongeveer 65 kHz)
Doel van inductor:
Als dit circuit wordt gebruikt zonder een inductor aan te sluiten, is de kans groot dat de mosfet wordt beschadigd door hoge spanningspieken op de aansluiting van de mosfet.
Om mosfet van deze hoogspanningspieken te voorkomen, is het aangesloten zoals weergegeven in de afbeelding, aangezien wanneer mosfet is ingeschakeld, het energie opslaat en wanneer mosfet uit is, geeft het deze opgeslagen energie weg aan de motor.
Doel van schottky-diode:
Stel dat de schottky-diode niet in het circuit is aangesloten. In dit geval, wanneer mosfet is uitgeschakeld, geeft de inductor zijn energie af aan de belasting of motor, wat een zeer klein effect heeft op de belasting omdat er een onvolledige lus is om stroom te laten stromen. Aldus voltooit de schottky-diode de lus om stroom te laten stromen. Nu is hier geen normale diode aangesloten omdat schottky-diodes een lage voorwaartse spanningsval hebben.om stapsgewijze spanning over belasting aan te geven.
Doel van potentiometer:
Potentiometer geeft analoge waarde aan arduino (op basis van de positie van de wiper-terminal) volgens welke pwm-spanning wordt ontvangen door de gate-terminal van mosfet van PWM-pin 6 van Arduino. Deze waarde regelt uiteindelijk de uitgangsspanning over de belasting.
Waarom is een weerstand aangesloten tussen poort en bron?
Zelfs een kleine hoeveelheid ruis kan de mosfet aanzetten. Vandaar een trek weerstand naar beneden is verbonden tussen poort en aarde, d.w.z. bron.
Programmacode
CODE UITLEG
1. Variabele x is de spanningswaarde ontvangen van pin A1 waarop de wisseraansluiting van de pot is aangesloten.
2. Variabele y krijgt de toegewezen waarde toegewezen die tussen 0 en 255 ligt.
3. ** zoals al uitgelegd in de bovenstaande sectie voor schakelingen zoals buck of boost-omzetter, heeft men een hoogfrequente PWM-bron nodig (in het bereik van tientallen KHZ) omdat MOSFET een hoge frequentie nodig heeft voor perfect schakelen en hoogfrequente invoer de waarde of grootte verkleint van circuitcomponenten zoals inductor en condensator.
Daarom gaan we deze eenvoudige code gebruiken om een pwm-spanning van ca. 65 kHz frequentie: TCCR0B = TCCR0B & B11111000 | B00000001 // voor PWM-frequentie van 62,5 KHz op pin 6
Hoe het werkt:
Omdat Potentiometer analoge waarde geeft aan arduino (op basis van de positie van de wiper-terminal), bepaalt dit de pwm-spanningswaarde die wordt ontvangen door de gate-terminal van mosfet van PWM-pin 6 van Arduino.
En deze waarde regelt uiteindelijk de uitgangsspanning over de belasting.
Wanneer mosfet aan is, slaat de inductor energie op en wanneer deze wordt uitgeschakeld, wordt deze opgeslagen energie vrijgegeven aan de belasting, in dit geval motor. En omdat dit proces plaatsvindt met een zeer hoge frequentie, krijgen we een verlaging van de DC-spanning over de motor, die afhangt van de positie van de wisseraansluiting, aangezien mosfet een spanningsafhankelijk apparaat is.Prototype afbeeldingen:
Videoclip van het hierboven verklaarde Buck Converter Circuit met Arduino
Een paar: Eenvoudig digitaal waterstroommetercircuit met Arduino Volgende: 4 eenvoudige benaderingssensorcircuits - met behulp van IC LM358, IC LM567, IC 555