Innehållsförteckning:

Hur man styr en MOSFET med Arduino PWM: 3 steg
Hur man styr en MOSFET med Arduino PWM: 3 steg

Video: Hur man styr en MOSFET med Arduino PWM: 3 steg

Video: Hur man styr en MOSFET med Arduino PWM: 3 steg
Video: Управление 16 серводвигателями с использованием модуля PCA9685 и Arduino V2 2024, November
Anonim
Image
Image
Kretsdiagram
Kretsdiagram

I denna instruerbara tittar vi på hur man styr strömmen genom en MOSFET med en Arduino PWM (Pulse Width Modulation) utsignal.

I det här fallet kommer vi att manipulera arduino -koden för att ge oss en variabel PWM -signal på digital pin 9 på arduino, och vi filtrerar sedan denna signal för att ge oss en justerbar DC -nivå som kan appliceras på porten till MOSFET.

Detta gör det möjligt för oss att styra transistorn från ett avstängt tillstånd utan att någon ström flödar till ett tillstånd där bara några få milliliter strömflöde eller till ett tillstånd där vi har flera ampere ström som strömmar genom transistorn.

Här ska jag ställa in PWM så att vi har 8192 steg med pulsbreddsvariation som ger oss mycket fin kontroll över MOSFET.

Steg 1: Kretsdiagram

Kretsen är mycket enkel. PWM -signalen från pin D9 på arduinoen är integrerad eller filtrerad av kombinationen R1 och C1. De visade värdena fungerar bra med en driftsfrekvens på 1,95 KHz eller 13 bitars drift med 8192 steg (2 till effekten 13 = 8192).

Om du bestämmer dig för att använda ett annat antal steg kan du behöva ändra R1- och C1 -värdena. Om du till exempel använder 256 steg (8 bitars drift) kommer PWM -frekvensen att vara 62,45 KHz måste du använda ett annat C1 -värde. Jag fann att 1000uF fungerade bra för denna frekvens.

Ur praktisk synvinkel innebär en PWM -inställning på 0 att DC -nivån på MOSFET -grinden kommer att vara 0V och MOSFET kommer att stängas av helt. En PWM -inställning på 8191 kommer att innebära att DC -nivån på MOSFET -grinden är 5V och MOSFET kommer att vara väsentligt om den inte är helt påslagen.

Motståndet R2 är på plats bara för att säkerställa att MOSFET stängs av när signalen på grinden tas bort genom att dra porten till marken.

Förutsatt att strömkällan kan leverera den ström som dikteras av PWM -signalen på MOSFET -grinden, kan du ansluta den direkt till MOSFET utan seriemotstånd för att begränsa strömmen. Strömmen begränsas endast av MOSFET och den kommer att släppa ut eventuell överskottseffekt som värme. Var noga med att ge ett tillräckligt kylfläns om du använder detta för högre strömmar.

Steg 2: Arduino -kod

Arduino -kod
Arduino -kod

Arduino -koden är bifogad. Koden är välkommenterad och ganska enkel. Kodblocket på raderna 11 till 15 ställer in arduino för snabb PWM -drift med utgång på stift D9. För att ändra PWM -nivån ändrar du värdet på jämförelseregistret OCR1A. För att ändra antalet PWM -steg ändrar du värdet på ICR1. t.ex. 255 för 8 bitar, 1023 för 10 bitar, 8191 för 13 bitars drift. Var medveten om att när du ändrar ICR1 ändras driftsfrekvensen.

Slingan läser bara tillståndet för två tryckknappsbrytare och ökar OCR1A -värdet upp eller ner. Jag har förinställt detta värde i setup () till 3240 som är strax under värdet där MOSFET börjar slå på. Om du använder en annan transistor eller C1 & R1 -filterkrets kommer detta värde att vara något annorlunda för dig. Bäst att börja med det förinställda värdet på noll första gången du försöker detta för säkerhets skull!

Steg 3: Testresultat

Testresultat
Testresultat
Testresultat
Testresultat

Med ICR1 inställd på 8191 är det här resultaten jag fick genom att variera strömmen mellan 0 och 2 AMPS:

OCR1A (PWM SettingCurrent (ma) Gate Spänning (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

Rekommenderad: