قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية Eng_Bandar
Eng_Bandar
:: عضو فضي ::
تاريخ التسجيل: Jul 2009
الدولة: المملكة العربية السعودية
المشاركات: 196
نشاط [ Eng_Bandar ]
قوة السمعة:67
قديم 11-09-2010, 04:42 AM المشاركة 1   
افتراضي الـ PWM بالتفصيل Twitter FaceBook Google+



PWM

اليوم سوف نتناول هذا الموضوع بشيء من التفصيل
هذا الإختصار للتالي

Pulse Width Modulation

ما هو ؟

نشاهد الصورة التالية


كما تشاهدون أن الـ PWM عبارة عن نبضة أو Puls لها بداية و لها نهاية هذه النبضة تتكون من التالي

Ton & Toff & Ttotal

قبل الدخول للقوانين ما هي الفائدة من PWM ؟
هو التحكم بقيم تماثلية عن طريق قيم رقمية يعني استطيع التحكم بالفولت عن Duty cycle .

قبل الشرح الفائدة يجب أن تعرف بعض الأشياء
ما هو الـ Duty Cycle ?

نشاهد القانون التالي


نسبة الـ Ton لـ Ttotal .

إلى الآن لم تفهم الفائدة ؟ نعم كلامك صحيح لكن استمر في القراءة .

نأخذ قانون آخر و هو علاقة خرج الفولت مع Ton

نشاهد القانون التالي


و نحن نعرف أن دخل البك يساوي 5 فولت و بالتالي خرج أطرافه حالتين إما صفر أو 5 فولت . و من خلال مبدأ الـ PWM استطيع أن اجعل الخرج يبدأ من صفر حتى 5 فولت . كيف ذلك ؟ نأخذ مثال لتوضيح ذلك

لو أردت أن اجعل خرج البك عن طريق الـ PWM يساوي 2.5 فولت كيف ذلك ؟ نشاهد التالي

من خلال القوانين السابقة نستطيع جعل الخرج 2.5 فولت عن طريق التحكم بالـ Duty Cycle و لا تنسى أن الـ Duty Cycle عبارة عن نسبة مئوية يعني لو كان الـ Duty Cycle يساوي 50 % فإن نصف الخمسة فولت سوف تصبح 2.5 فولت و كلما زاد الـ Duty Cycle زادت قيمة الخرج فالعلاقة بين Vout و الـ Duty Cycle علاقة طردية .

شاهد العلاقة التالية


Vout = 0.5*5 = 2.5V

و بالطريقة هذه استطيع التحكم بالخرج .
الآن نرجع للسؤال ما هي الفائدة من الـ PWM ؟ باختصار لو كان هناك DC motor مشبوك بطرف البك الذي يولد لي الـ PWM لاستطعت التحكم بسرعته من خلال تغيير Duty Cycle الذي بدوره يغير الخرج و كلما زاد الخرج زادت سرعة الـ DC motor . ارجو أنك عرفت ما هي الفائدة من هذا النوع و للمعلومية هناك فوائد أخرى تستطيع أن توظف هذه الميزة من خلال ما تريد عمله من مشاريع .




الأكثر إثارة في التالي
هناك أنواع كثيرة من البك تدعم هذه الخاصية نأخذ مثال و هو البك رقم 16f877 و لاحظ أن هذا البك يحتوي على رجلين تولد لي هذه الخاصية نشاهد التالي


لاحظ كلمة CCP أي هذه الرجل هي التي سوف تولد لي الـ PWM و هذا البك يمتلك رجلين لتوليد الـ PWM فهي تعتبر ميزة إذاً في البك 16f877 الرجل 16 و 17 هي المسؤولة عن هذا .

الآن نأتي لأهم نقطة في هذا الموضوع و هي لغة البرمجة الميكروسي و هي التي من خلالها نتحكم بالـ duty cycle و كيف نفعل خاصية الـ PWM في الرجلين 16 و 17 .

اللغة المستخدمة
MikroC Pro 3.8

الأوامر الضرورية


هذا الأمر هو المسؤول عن تهيئة أمر توليد الـ PWM فإذا لم تضع هذا الأمر البك سوف يعتبر الـرجلين 16 و 17 كمنفذ فقط يدخل أو يخرج فولت .

صيغة الأمر


5000 تردد الموجة و تستطيع تغييره على حسب ما تريد
و اللون الأخضر هي الصيغة التي يجب أن تكتبها في الكود و رقم واحد PWM1 أي فعل الـ CCP1 في البك أي استخدم الرجل 16 . في البك 16f877 هناك رجلين لخاصية الـ PWM فإذا أردت الرجل 16 استخدم PWM1 و إذا أردت الرجل 17 استتخدم PWM2 و هكذا.

PWM1_Set_Duty

و هو المسؤول عن تغيير الـ Duty Cycle

و صيغته كالتالي


الصيغة باللون الأخضر و الرقم 192 لجعل الـ Duty Cycle
75 % هذا الرقم (192) من 0 إلى 255 حيث 0 يمثل 0 % و 255 تمثل 100%

و من خلال العلاقة التالية نعرف كيف نحسب هذا الرقم


PWM1_Start

و هو لعملية بدأ توليد الـ PWM
صيغة الأمر



PWM1_Stop

و هو لعملية وقف توليد الـ PWM
صيغة الأمر


أخيرا مشاهدة المحاكاة ببرنامج البروتيس



النتيجة




و أخيرا هذا هو الكود




ملاحظة
Proteus 7.6 PS0 يوجد فيه مشكلة في الـ PWM فلا تستغرب أن لا يشتغل معك الكود استخدم Proteus 7.7

ارجو أنكم استفدتم من هذا الدرس و ارجو أنه حاز على الرضى .



و قبل الختام
هذه مفاهيم أساسية يجب أن تعرفها

Duty Cycle

و هي نسبة الـ Ton لـ Ttotal


The PWM resolution

أقصى عدد نبضات في الفترة



The PWM period


شاهد الصورة التالية




frequency of PWM

f = 1/T


حيث الـ T هي الفترة أو period



حقوق النسخ محفوظ لكل مسلم
يجوز نشره و توزيعه و طباعته بأي وسيلة و لا يحق نشره بطريقة تجارية أو نسب هذا العمل لغير كاتبه

تحياتي للجميع

Eng_Bandar


التعديل الأخير تم بواسطة : Eng_Bandar بتاريخ 11-09-2010 الساعة 05:04 AM
اعلانات

الصورة الرمزية mhmd.sh89
mhmd.sh89
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2009
الدولة: لبنان-ضاحية العزة والكرامة
المشاركات: 184
نشاط [ mhmd.sh89 ]
قوة السمعة:0
قديم 11-09-2010, 12:11 PM المشاركة 2   
افتراضي


شرح رائع ووافي جداً
أنا استفدت منه كثيراً
جزاك الله خيراُ

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:390
قديم 11-09-2010, 12:21 PM المشاركة 3   
افتراضي


قال رسول الله (ص) : رحم الله امريء عمل عملا صالحا و اتقنه .

اشهد انك اتقنت . بارك الله فيك اخي مهندس بندر .
و تستحق التقييم .

حيدر علاج حسن

mkks87
:: مهندس متواجد ::
تاريخ التسجيل: Oct 2009
المشاركات: 92
نشاط [ mkks87 ]
قوة السمعة:0
قديم 11-09-2010, 07:45 PM المشاركة 4   
افتراضي


بارك الله فيك وجزاك اللع هعنا خير الجزاء

فى امان الله


الصورة الرمزية Tech Master
Tech Master
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2009
الدولة: egypt,qena
المشاركات: 58
نشاط [ Tech Master ]
قوة السمعة:0
قديم 12-09-2010, 12:00 AM المشاركة 5   
Thumbs up


عــمــلٌ رائــــع بارك اللــه لــك فــى علــمك
وأعــزك وزادك من فضلـــــة الــكــــثــــيــــــر
ننتظر مزيداً من هذه المشاركات الفعالــة والرائعة


ahmad abdullah
:: مهندس متميز ::
تاريخ التسجيل: Jun 2010
الدولة: لبنان-فلسطين
المشاركات: 586
نشاط [ ahmad abdullah ]
قوة السمعة:0
قديم 12-09-2010, 09:01 AM المشاركة 6   
افتراضي


يعطيك العافية اخ بندر والله مواضيعك دائما مهمة زيك ... والله شرح وافي ...
لكن اخوي انا عندي بعض الاسئلة ... اولا انه انا مستخدم المايكروسي (طبعا يفرق الكود شوي ) و البروتيوس 7.6 .. السؤال هو ، انه هل اذا بستخم المشروع يلي انا عملتو على المايكروسي مع البروتيوس 7.7 سوف يعمل طبيعي ... ام ان المشكلة ليست فقط بالبروتيوس بل ايضا بالمايكروسي.
و ثانياً طلب صغير... ياريت ملف البروتيوس مع المايكروسي برو... و شكرا لمجهودك الرائع اخوي ... السلام عليكم


الصورة الرمزية Eng_Bandar
Eng_Bandar
:: عضو فضي ::
تاريخ التسجيل: Jul 2009
الدولة: المملكة العربية السعودية
المشاركات: 196
نشاط [ Eng_Bandar ]
قوة السمعة:67
قديم 12-09-2010, 09:50 AM المشاركة 7   
افتراضي


يعطيك العافية اخ بندر والله مواضيعك دائما مهمة زيك ... والله شرح وافي ...

لكن اخوي انا عندي بعض الاسئلة ... اولا انه انا مستخدم المايكروسي (طبعا يفرق الكود شوي ) و البروتيوس 7.6 .. السؤال هو ، انه هل اذا بستخم المشروع يلي انا عملتو على المايكروسي مع البروتيوس 7.7 سوف يعمل طبيعي ... ام ان المشكلة ليست فقط بالبروتيوس بل ايضا بالمايكروسي.


و ثانياً طلب صغير... ياريت ملف البروتيوس مع المايكروسي برو... و شكرا لمجهودك الرائع اخوي ... السلام عليكم



عندما تستخدم الميكروسي مع البروتيس 7.7 يعمل بدون مشاكل المشكلة فقط من البروتيس 7.6 و لكن نصيحة استخدم الميكروسي برو

و تفضل هذا الملف فيه دائرة البروتيس و كود الميكروسي برو

http://www.2shared.com/file/4HRDtd40/PWM.html


الصورة الرمزية crush.1993
crush.1993
:: مهندس ::
تاريخ التسجيل: Sep 2010
المشاركات: 22
نشاط [ crush.1993 ]
قوة السمعة:0
قديم 12-09-2010, 10:20 AM المشاركة 8   
افتراضي


بارك الله فيك واعزك وزاد علمك ورفع من شانك
شرح وافى ومبسط
ويصل الى المبتدئ والمحترف
بارك الله فيك

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 08:02 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2024