Arduino PWM Signal Generator Circuit

Prova Vårt Instrument För Att Eliminera Problem





I det här inlägget studerar vi detaljerat hur man skapar en Arduino-baserad PWM-signalgeneratorkrets, som kan ställas in eller justeras med en potentiometer eller en pott till vilket föredraget arbetsförhållande som helst.

FörbiAnkit Negi



VAD ÄR PWM?

pwm- eller pulsbreddsmodulering som namnet i sig föreslår är modulering av pulsernas bredd, dvs hur länge pulsen är hög eller låg under en given tidsperiod. Detta ändrar pulsens arbetscykel som så småningom bestämmer medelvärdet för pulsen då arbetscykeln är i tid dividerad med den totala tidsperioden.

Och frekvens spelar en mycket viktig roll i pwm, som måste vara tillräckligt hög för att generera stabil produktion



Pwm görs för olika ändamål som att köra en enhet som fungerar på lågspänning eller för att byta ändamål som i SMPS.

PWM ANVÄNDER ARDUINO UNO

Pwm är också en av de faktorer som gör arduino till ett enklaste utvecklingskort, eftersom pwm kan göras genom att bara lägga till en radkod i ditt program. Observera att det finns separata digitala stift tillgängliga på arduino UNO för pwm vilket innebär att dessa stift kan ge pwm-utdata.

Det finns totalt 6 pwm-stift tillgängliga på arduino UNO som är 3, 5, 6,9,10 och 11 av 14 digitala stift. Observera att antalet pwm-stift varierar från en typ av arduino-kort till en annan.

Nu finns det två sätt på vilka pwm kan utföras av arduino:

1. Genom att direkt tilldela ett analogt värde till pwm-stiftet mellan 0 och 255.

Eftersom digitala stift i arduino kan ge maximalt 5v betyder det att 0 analogt värde är lika med 0 volt och 255 motsvarar 5 volt.

Och för att utföra detta måste du bara lägga till den här koden i ditt program:

analogWrite (PWM-stift nr, värde mellan 0 och 255)

Till exempel: analogWrite (10,64) // skriv 64 analogt värde till pwm-stift nr 10.

Nu betyder detta :: (5/255) * 64 volt = 1,25 volt dvs 25% arbetscykel.

2. Genom att tilldela värde enligt ingången från analoga stift av arduino.
Ingång kan tas från komponenter som en IR-sensor eller en potentiometer.

Observera att arduino tar emot analog ingång i värde mellan 0 och 1023 vilket motsvarar 0 till 5 volt. Så för att utföra pwm på en stift måste du konvertera detta ingångsvärde i ekvivalens till tal mellan 0 och 255 och detta kallas kartläggning på arduinos språk.

Det finns en enkel kod för detta:

y = karta (x, 0,1023: 0,255) // där x är inmatningsvariabeln

Efter detta kan du utföra pwm på en stift med:

analogWrite (PWM-stift nr, y) // skriv mottaget mappat värde till stift 10

PWM-EXEMPEL:

Vi kommer att lära oss både tekniken med detta exempel. För detta behöver du:

1. En potentiometer
2. Två lysdioder
3. Två 100 ohm motstånd

Gör anslutningar som visas i kretsschemat:

KRETSDIAGRAM:

KODA:

int x// initialise variables
int y
void setup() {
pinMode(10,OUTPUT)//initialise pin 10 as output
pinMode(9,OUTPUT)//initialise pin 9 as output
pinMode(A0,INPUT)//initialise pin A0 as input from pot.
// put your setup code here, to run once:
}
void loop() {
analogWrite(9,125)// directly assigning value to pin 9 i.e. case1
x=analogRead(A0)// read values from potentiometer in terms of voltage
y= map(x,0,1023,0,255)// map those values from 0 to 255 // put your main code here, to run repeatedly:
analogWrite(10,y)// assigning value based on input from pot at pin A0 i.e. case 2
}

Hur det fungerar

Grundarbetet för det föreslagna Arduino PWM-signalgeneratorprojektet kan studeras från följande stycke

Stift nr 9 kan tilldelas godtyckligt pwm-värde medan stift nr. 10 ger pwm-värde i enlighet med potentiometerns position med avseende på mark. Fortsätt ändra detta godtyckliga värde för stift 9 samt rotera potentiometern för att se olika pwm-utdata på båda stiften.




Tidigare: Motorströmkrets med hög ström med Arduino Nästa: 2,4 GHz 10-kanals fjärrkontroll