- Nepieciešamās sastāvdaļas:
- Shēmas shēma un savienojumi:
- Koda skaidrojums:
- DC-DC Buck Converter darbība:
Šajā projektā mēs izveidosim Buck Converter shēmu, izmantojot Arduino un N-Channel MOSFET ar maksimālo strāvas jaudu 6 ampēri. Mēs nolemjam samazināt 12v DC līdz jebkurai vērtībai no 0 līdz 10v DC. Mēs varam kontrolēt izejas sprieguma vērtību, pagriežot potenciometru.
Buka pārveidotājs ir līdzstrāvas līdzstrāvas pārveidotājs, kas samazina līdzstrāvas spriegumu. Tas ir tāpat kā transformators ar vienu atšķirību; tā kā transformators pazemina maiņstrāvas sprieguma pārveidotāju - līdzstrāvas spriegumu. Buka pārveidotāja efektivitāte ir zemāka nekā transformatoram.
Galvenie buck pārveidotāja komponenti ir mosfet; vai nu n-kanālu, vai p-kanālu un augstas frekvences kvadrātveida impulsu ģenerators (vai nu taimera IC, vai mikrokontrolleris). Arduino šeit tiek izmantots kā impulsu ģenerators, šim nolūkam var izmantot arī 555 taimera IC. Šeit mēs esam parādījuši šo Buck pārveidotāju, kontrolējot līdzstrāvas motora ātrumu ar potenciometru, pārbaudot arī spriegumu, izmantojot multimetru. Pārbaudiet videoklipu šī raksta beigās.
Nepieciešamās sastāvdaļas:
- Arduino Uno
- IRF540N
- Induktors (100Uh)
- Kondensators (100uf)
- Šotka diode
- Potenciometrs
- 10k, 100ohm rezistors
- Slodze
- 12v akumulators
Shēmas shēma un savienojumi:
Veiciet savienojumus, kā parādīts iepriekš DC-DC Buck Converter ķēdes diagrammā.
- Savienojiet vienu induktora spaili ar mosfet avotu un otru ar LED virknē ar 1k rezistoru. Slodze ir savienota paralēli šai kārtībai.
- Pievienojiet 10k rezistoru starp vārtiem un avotu.
- Pievienojiet kondensatoru paralēli slodzei.
- Pievienojiet akumulatora pozitīvo spaili, lai iztukšotos, un negatīvo - kondensatora negatīvajai spailei.
- Savienojiet diodes p kontaktu ar akumulatora negatīvo un n spaili tieši ar avotu.
- Arduino PWM piespraude aiziet līdz mosfet vārtiem
- Arduino GND tapa nonāk pie mosfet avota. Pievienojiet to tur, vai ķēde nedarbosies.
- Savienojiet potenciometra galējos spailes ar attiecīgi Arduino 5v un GND tapām. Tā kā stikla tīrītāja spaile līdz analogai tapai A1.
Arduino funkcija:
Kā jau paskaidrots, Arduino nosūta pulksteņa impulsus uz MOSFET bāzi. Šo pulksteņa impulsu biežums ir apm. 65 Khz. Tas izraisa ļoti ātru mosfet pārslēgšanos, un mēs iegūstam vidējo sprieguma vērtību. Jums vajadzētu uzzināt par ADC un PWM Arduino, kas ļaus jums noskaidrot, kā augstfrekvences impulsus rada Arduino:
- Arduino bāzes LED regulators, izmantojot PWM
- Kā lietot ADC Arduino Uno?
MOSFET funkcija:
Mosfet lieto diviem mērķiem:
- Ātrai izejas sprieguma pārslēgšanai.
- Nodrošināt lielu strāvu ar mazāku siltuma izkliedi.
Induktora funkcija: Induktors tiek izmantots, lai kontrolētu sprieguma tapas, kas var sabojāt mosfet. Induktors saglabā enerģiju, kad ir ieslēgts mosfet, un atbrīvo šo uzkrāto enerģiju, kad mosfet ir izslēgts. Tā kā frekvence ir ļoti augsta, šim nolūkam nepieciešamās induktivitātes vērtība ir ļoti zema (aptuveni 100uH).
Schottky diode funkcija:
Schottky diode pabeidz strāvas loku, kad mosfet ir izslēgts, un tādējādi nodrošina vienmērīgu strāvas padevi slodzei. Bez tam, schottky diode izkliedē ļoti zemu siltumu un darbojas labi ar augstāku frekvenci nekā parastās diodes.
Gaismas diodes funkcija: LED
spilgtums norāda uz samazinātu spriegumu visā slodzē. Pagriežot potenciometru, LED spilgtums mainās.
Potenciometra funkcija:
Kad potenciometra tīrītāja spaile tiek izmesta citā stāvoklī, mainās spriegums starp to un zemi, kas savukārt maina analogo vērtību, ko saņem arduino tapa A1. Pēc tam šī jaunā vērtība tiek kartēta starp 0 un 255 un pēc tam tiek piešķirta Arduino 6. tapai PWM.
** Kondensators izlīdzina slodzei piešķirto spriegumu.
Kāpēc rezistors starp vārtiem un avotu?
Pat mazākais troksnis pie MOSFET vārtiem var to ieslēgt, tāpēc, lai tas nenotiktu, vienmēr ieteicams pieslēgt augstas vērtības rezistoru starp vārtiem un avotu.
Koda skaidrojums:
Pilnīgs Arduino kods augstfrekvences impulsu ģenerēšanai ir norādīts zemāk esošajā kodu sadaļā.
Kods ir vienkāršs un pats par sevi saprotams, tāpēc šeit mēs esam izskaidrojuši tikai dažas koda daļas.
Mainīgajam x tiek piešķirta analogā vērtība, kas tiek saņemta no Arduino analogās tapas A0
x = analogRead (A1);
Mainīgajam w tiek piešķirta kartētā vērtība, kas ir starp 0 un 255. Šeit Arduino ADC vērtības tiek kartētas no 2 līdz 255, izmantojot kartes funkciju Arduino.
w = karte (x, 0,1023,0,255);
Parastā PWM frekvence 6. tapai ir aptuveni 1 kHz. Šī frekvence nav piemērota tādiem mērķiem kā buck pārveidotājs. Tāpēc šī frekvence ir jāpalielina līdz ļoti augstam līmenim. To var panākt, izmantojot tukšās iestatīšanas vienas līnijas kodu:
TCCR0B = TCCR0B & B11111000 - B00000001; // mainīt pwm frekvenci uz aptuveni 65 KHZ.
DC-DC Buck Converter darbība:
Kad ķēde ir ieslēgta, mosfet ieslēdzas un izslēdzas ar frekvenci 65 khz. Tas liek induktoram uzkrāt enerģiju, kad ir ieslēgts mosfet, un pēc tam dod šo uzkrāto enerģiju ielādēt, kad mosfet izslēdzas. Tā kā tas notiek ļoti augstā frekvencē, mēs iegūstam impulsa izejas sprieguma vidējo vērtību atkarībā no potenciometra tīrītāja spailes stāvokļa attiecībā pret 5v spaili. Palielinoties spriegumam starp stikla tīrītāja spaili un zemi, palielinās arī kartētā vērtība pwm tapai Nr. 6 no Arduino.
Pieņemsim, ka šī kartētā vērtība ir 200. Tad PWM spriegums uz tapas 6 būs: = 3,921 volti
Tā kā MOSFET ir no sprieguma atkarīga ierīce, šis pwm spriegums galu galā nosaka spriegumu visā slodzē.
Šeit mēs esam parādījuši šo Buck pārveidotāju, pagriežot līdzstrāvas motoru, un multimetrā pārbaudiet zemāk esošo video. Mēs esam kontrolējuši motora ātrumu ar potenciometru un kontrolējuši LED spilgtumu ar potenciometru.