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

   

الصورة الرمزية Omar Mekkawy
Omar Mekkawy
:: مهندس متميز ::
تاريخ التسجيل: Sep 2011
الدولة: مصر
المشاركات: 1,449
نشاط [ Omar Mekkawy ]
قوة السمعة:
قديم 29-01-2012, 10:39 AM المشاركة 49   
افتراضي



بارك الله فيك أخي الكريم
وجزاك الله كل خير
تحياتي لك

اعلانات

chafteyes
:: مهندس جيد ::
تاريخ التسجيل: Mar 2009
المشاركات: 225
نشاط [ chafteyes ]
قوة السمعة:
قديم 07-04-2012, 06:18 PM المشاركة 50   
ha سلام


سلام الله عليك اخي على هدا المجهود الجد مشكور عليه
لكن لي سؤال لو سمحت كيف يمكنني الحصول على موجة متساوية بتردد248khz مع العلم اني استعمل هزاز من نوع 8 mhz
لك مني جزيل الشكر

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

chafteyes
:: مهندس جيد ::
تاريخ التسجيل: Mar 2009
المشاركات: 225
نشاط [ chafteyes ]
قوة السمعة:
قديم 09-04-2012, 04:35 PM المشاركة 51   
yel رجاء


سلام الله عليك اخي على هدا المجهود الجد مشكور عليه
لكن لي سؤال لو سمحت كيف يمكنني الحصول على موجة متساوية بتردد248khz مع العلم اني استعمل هزاز من نوع 8 mhz
لك مني جزيل الشكر
اليس هنالك ايت مساعدة بهدا الشئن


uosef_001
:: مهندس متميز ::
تاريخ التسجيل: Dec 2010
المشاركات: 1,084
نشاط [ uosef_001 ]
قوة السمعة:
قديم 09-08-2012, 08:27 PM المشاركة 52   
افتراضي


هل ممكن التحكم فى طول الموجة (ارتفاعها) وليس عرضها فقط؟؟


hesham mohamed
:: مهندس متواجد ::
تاريخ التسجيل: Jun 2010
الدولة: مصر - الأسكندرية
المشاركات: 192
نشاط [ hesham mohamed ]
قوة السمعة:
قديم 13-02-2017, 04:37 PM المشاركة 53   
ha


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

أرجو رفح صور الموضوع أستاذى الفاضل لأن الصور لا تعمل
حتى لو فى ملف ضغط


abubida
:: مهندس ::
تاريخ التسجيل: May 2017
المشاركات: 1
نشاط [ abubida ]
قوة السمعة:
قديم 11-05-2017, 03:19 PM المشاركة 54   
افتراضي


شكرا جزيلا ارجو كتابة الكود بالتفصيل.


Engineer jamal najim
:: مهندس ::
تاريخ التسجيل: Apr 2017
الدولة: لبنان
المشاركات: 5
نشاط [ Engineer jamal najim ]
قوة السمعة:
قديم 14-05-2017, 01:53 PM المشاركة 55   
افتراضي


الله يبارك فيك خيي شرح بسيط و واضح لفكرة عمل ال pwm



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