Inhoudsopgave:

Een MOSFET besturen met Arduino PWM: 3 stappen
Een MOSFET besturen met Arduino PWM: 3 stappen

Video: Een MOSFET besturen met Arduino PWM: 3 stappen

Video: Een MOSFET besturen met Arduino PWM: 3 stappen
Video: Complete Guide for 15A 400W MOSFET AOD4184A to control motor or load 2024, November
Anonim
Image
Image
Schakelschema
Schakelschema

In deze instructable zullen we kijken hoe we de stroom kunnen regelen via een MOSFET met behulp van een Arduino PWM (Pulse Width Modulation) uitgangssignaal.

In dit geval zullen we de Arduino-code manipuleren om ons een variabel PWM-signaal te geven op digitale pin 9 van de Arduino, en we zullen dit signaal vervolgens filteren om ons een instelbaar DC-niveau te geven dat kan worden toegepast op de poort van de MOSFET.

Dit stelt ons in staat om de transistor te besturen van een uit-toestand zonder stroom naar een toestand waarin slechts een paar milliampère stroom vloeit of naar een toestand waarin we meerdere ampère stroom door de transistor hebben.

Hier zal ik de PWM zo instellen dat we 8192 stappen van pulsbreedtevariatie hebben die ons een zeer fijne controle over de MOSFET geven.

Stap 1: Schakelschema

De schakeling is heel eenvoudig. Het PWM-signaal van pin D9 van de arduino wordt geïntegreerd of gefilterd door de combinatie van R1 en C1. De getoonde waarden werken goed bij een werkfrequentie van 1,95 KHz of 13 bit operatie met 8192 stappen (2 tot de macht 13 = 8192).

Als u besluit een ander aantal stappen te gebruiken, moet u mogelijk de R1- en C1-waarden wijzigen. Als u bijvoorbeeld 256 stappen (8-bits bewerking) gebruikt, zal de PWM-frequentie 62,45 KHz zijn, dan moet u een andere C1-waarde gebruiken. Ik ontdekte dat 1000uF goed werkte voor deze frequentie.

Vanuit praktisch oogpunt betekent een PWM-instelling van 0 dat het DC-niveau op de MOSFET-poort 0V zal zijn en dat de MOSFET volledig wordt uitgeschakeld. Een PWM-instelling van 8191 betekent dat het DC-niveau op de MOSFET-poort 5V zal zijn en dat de MOSFET vrijwel of niet volledig is ingeschakeld.

De weerstand R2 is op zijn plaats om ervoor te zorgen dat de MOSFET wordt uitgeschakeld wanneer het signaal op de poort wordt verwijderd door de poort naar aarde te trekken.

Op voorwaarde dat de stroombron de stroom kan leveren die wordt bepaald door het PWM-signaal op de MOSFET-poort, kunt u deze rechtstreeks op de MOSFET aansluiten zonder serieweerstand om de stroom te beperken. De stroom wordt alleen beperkt door de MOSFET en zal overtollig vermogen als warmte afvoeren. Zorg ervoor dat u een geschikt koellichaam heeft als u dit voor hogere stromen gebruikt.

Stap 2: Arduino-code

Arduino-code
Arduino-code

De arduino-code is bijgevoegd. De code is goed becommentarieerd en vrij eenvoudig. Het codeblok op regels 11 tot 15 stelt de arduino in voor snelle PWM-werking met uitvoer op pin D9. Om het PWM-niveau te wijzigen, wijzigt u de waarde van vergelijkingsregister OCR1A. Om het aantal PWM-stappen te wijzigen, wijzigt u de waarde van ICR1. bijv. 255 voor 8 bit, 1023 voor 10 bit, 8191 voor 13 bit operatie. Houd er rekening mee dat als u ICR1 wijzigt, de bedieningsfrequentie verandert.

De lus leest alleen de status van twee drukknopschakelaars en verhoogt de OCR1A-waarde omhoog of omlaag. Ik heb deze waarde in de setup() vooraf ingesteld op 3240, wat net onder de waarde is waar de MOSFET begint in te schakelen. Als u een andere transistor of C1 & R1-filtercircuit gebruikt, zal deze waarde voor u iets anders zijn. Het is het beste om de eerste keer dat u dit probeert te beginnen met de vooraf ingestelde waarde op nul, voor het geval dat!

Stap 3: Testresultaten

Test resultaten
Test resultaten
Test resultaten
Test resultaten

Met ICR1 ingesteld op 8191 zijn dit de resultaten die ik heb verkregen, variërend van de stroom tussen 0 en 2 ampère:

OCR1A (PWM-instelling Stroom (ma) Poortspanning (Vdc) 3240 0 ma 0v3458 10ma 1.949v4059 100ma 2.274v4532 200ma 2.552v4950 500ma 2.786v5514 1000ma 3.101v6177 1500ma 3.472v6927 2000ma 3.895v

Aanbevolen: