Litar Penjana Isyarat PWM Arduino

Cuba Instrumen Kami Untuk Menghapuskan Masalah





Dalam catatan ini, kami mengkaji dengan terperinci bagaimana membuat litar penjana isyarat PWM berasaskan Arduino, yang dapat diset atau disesuaikan dengan potensiometer atau pot ke mana-mana nisbah kitaran tugas yang disukai.

OlehAnkit Negi



APA ITU PWM?

pwm atau modulasi lebar nadi seperti namanya sendiri adalah modulasi lebar denyut iaitu berapa lama nadi tinggi atau rendah dalam jangka masa tertentu. Ini mengubah kitaran nadi yang akhirnya menentukan nilai purata nadi kerana kitaran tugas tepat pada masanya dibahagikan dengan jumlah tempoh masa.

Dan frekuensi memainkan peranan yang sangat penting dalam pwm, yang mesti cukup tinggi untuk menghasilkan output yang stabil



Pwm dilakukan untuk pelbagai tujuan seperti memandu peranti yang berfungsi pada voltan rendah atau untuk tujuan menukar seperti di SMPS.

PWM MENGGUNAKAN ARDUINO UNO

Pwm juga merupakan salah satu faktor yang menjadikan arduino sebagai papan pengembangan paling mudah, kerana pwm dapat dilakukan dengan menambahkan hanya satu baris kod ke program anda. Perhatikan bahawa terdapat pin digital berasingan yang tersedia di arduino UNO untuk pwm yang bermaksud pin ini dapat memberikan output pwm.

Terdapat sejumlah 6 pin pwm yang terdapat di arduino UNO iaitu 3, 5, 6,9,10 dan11 daripada 14 pin digital. Perhatikan bahawa bilangan pin pwm berbeza dari satu jenis papan arduino ke papan yang lain.

Sekarang ada dua cara di mana pwm dapat dilakukan oleh arduino:

1. Dengan memberikan nilai analog secara langsung ke pin pwm antara 0 dan 255.

Oleh kerana pin digital dalam arduino dapat memberikan maksimum 5v yang bermaksud 0 nilai analog sama dengan 0 volt dan 255 bersamaan dengan 5 volt.

Untuk melakukan ini, anda hanya perlu menambahkan kod ini ke program anda:

analogWrite (PWM pin no, nilai antara 0 hingga 255)

Contohnya: analogWrite (10,64) // tuliskan nilai analog ke pwm pin no 10.

Sekarang ini bermaksud :: (5/255) * 64 volt = 1.25volts iaitu 25% kitaran tugas.

2. Dengan memberikan nilai mengikut input yang diterima dari pin analog arduino.
Input boleh diambil dari komponen seperti sensor IR atau potensiometer.

Perhatikan bahawa arduino menerima input analog dari segi nilai antara 0 hingga 1023 yang bersamaan dengan 0 hingga 5 volt. Oleh itu, untuk melakukan pwm pada pin, anda mesti menukar nilai input ini menjadi setara dengan nombor antara 0 hingga 255 dan ini disebut pemetaan dalam bahasa arduino.

Terdapat kod ringkas untuk ini:

y = peta (x, 0,1023: 0,255) // di mana x adalah pemboleh ubah input

Selepas ini anda boleh melakukan pwm pada pin menggunakan:

analogWrite (PWM pin no, y) // tulis nilai pemetaan diterima ke pin 10

CONTOH PWM:

Kami akan mempelajari kedua teknik ini dengan contoh ini. Untuk ini, anda memerlukan:

1. Potensiometer
2. Dua led
3. Dua perintang 100 ohm

Buat sambungan seperti yang ditunjukkan dalam rajah litar:

RAJAH LITAR:

KOD:

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
}

Bagaimana ia berfungsi

Kerja asas projek penjana isyarat Arduino PWM yang dicadangkan dapat dikaji dari perenggan berikut

Pin no 9 boleh diberikan nilai pwm sewenang-wenang sedangkan pin no. 10 memberikan nilai pwm sesuai dengan kedudukan potensiometer berkenaan dengan tanah. Terus ubah nilai sewenang-wenangnya untuk pin 9 serta putar potensiometer untuk melihat output pwm yang berbeza pada kedua pin.




Sebelumnya: Litar Kawalan Motor Arus Tinggi menggunakan Arduino Seterusnya: Suis Kawalan Jauh 10 Saluran 2.4 GHz