دائرة مولد إشارة Arduino PWM

جرب أداة القضاء على المشاكل





في هذا المنشور ، قمنا بدراسة كيفية إنشاء دائرة مولد إشارة PWM قائمة على Arduino ، والتي يمكن ضبطها أو تعديلها باستخدام مقياس جهد أو وعاء لأي نسبة دورة عمل مفضلة.

بواسطةعنكيت نيجي



ما هو PWM؟

تعديل عرض النبض أو pwm كما يوحي الاسم نفسه هو تعديل عرض النبضات ، أي طول النبضة مرتفعة أو منخفضة في فترة زمنية معينة. يغير هذا دورة عمل النبضة التي تحدد في النهاية متوسط ​​قيمة النبضة حيث تكون دورة العمل في الوقت المحدد مقسومة على الفترة الزمنية الإجمالية.

ويلعب التردد دورًا مهمًا جدًا في pwm ، والتي يجب أن تكون عالية بما يكفي لتوليد مخرجات مستقرة



يتم إجراء Pwm لأغراض متنوعة مثل قيادة جهاز يعمل بجهد منخفض أو لأغراض التحويل كما هو الحال في SMPS.

PWM باستخدام ARDUINO UNO

Pwm هو أيضًا أحد العوامل التي تجعل من arduino أبسط لوحة تطوير ، حيث يمكن عمل pwm عن طريق إضافة رمز سطر واحد فقط إلى برنامجك. لاحظ أن هناك دبابيس رقمية منفصلة متوفرة على arduino UNO لـ pwm مما يعني أن هذه المسامير يمكن أن تعطي إخراج pwm.

يوجد إجمالي 6 دبابيس pwm متوفرة على arduino UNO وهي 3 و 5 و 6 و 9 و 10 و 11 من أصل 14 دبابيس رقمية. لاحظ أن عدد دبابيس pwm يختلف من نوع واحد من لوح اردوينو إلى آخر.

يوجد الآن طريقتان يمكن من خلال اردوينو تنفيذ pwm:

1. عن طريق التعيين المباشر لقيمة تناظرية إلى دبوس pwm بين 0 و 255.

نظرًا لأن الدبابيس الرقمية في arduino يمكن أن توفر 5 فولت كحد أقصى ، فهذا يعني أن القيمة التناظرية 0 تساوي 0 فولت و 255 تعادل 5 فولت.

وللقيام بذلك ، عليك فقط إضافة هذا الرمز إلى برنامجك:

analogWrite (رقم دبوس PWM ، القيمة بين 0 إلى 255)

على سبيل المثال: analogWrite (10،64) // اكتب 64 قيمة تمثيلية إلى pwm pin no 10.

الآن هذا يعني: (5/255) * 64 فولت = 1.25 فولت أي 25٪ دورة عمل.

2. عن طريق تعيين القيمة وفقًا للإدخال المتلقى من المسامير التناظرية لاردوينو.
يمكن أخذ المدخلات من مكونات مثل مستشعر الأشعة تحت الحمراء أو مقياس الجهد.

لاحظ أن arduino يتلقى مدخلات تمثيلية من حيث القيمة بين 0 إلى 1023 وهو ما يعادل 0 إلى 5 فولت. لذلك لأداء pwm على دبوس ، يجب عليك تحويل قيمة الإدخال هذه بالتكافؤ إلى رقم بين 0 إلى 255 وهذا يسمى التعيين في لغة arduino.

يوجد رمز بسيط لهذا:

y = map (x، 0،1023: 0،255) // حيث x هو متغير الإدخال

بعد ذلك يمكنك إجراء pwm على دبوس باستخدام:

analogWrite (PWM pin no ، y) // اكتب القيمة المعينة المستلمة إلى الرقم 10

مثال PWM:

سوف نتعلم كلا الأسلوبين مع هذا المثال. لهذا تحتاج:

1. مقياس الجهد
2. اثنان المصابيح
3. عدد اثنين من المقاومات 100 أوم

قم بإجراء الاتصالات كما هو موضح في مخطط الدائرة:

مخطط الرسم البياني:

الشفرة:

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
}

كيف تعمل

يمكن دراسة العمل الأساسي لمشروع مولد إشارة Arduino PWM المقترح من الفقرة التالية

يمكن تعيين قيمة pwm التعسفية الدبوس رقم 9 بينما رقم التعريف الشخصي. 10 يعطي قيمة pwm وفقًا لموضع مقياس الجهد فيما يتعلق بالأرض. استمر في تغيير هذه القيمة التعسفية للدبوس 9 بالإضافة إلى تدوير مقياس الجهد لرؤية خرج pwm مختلف على كلا المسامير.




السابق: دائرة التحكم في المحرك عالية الحالية باستخدام Arduino التالي: 2.4 جيجا هرتز 10 قناة مفتاح التحكم عن بعد