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

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

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 31-03-2011, 08:11 PM المشاركة 1   
افتراضي نظام التعديل فى عرض النبضات PWM والبرمجة بلغة منطق السلم للميكروكونترولر PIC & AVR Twitter FaceBook Google+



نظام التعديل فى عرض النبضات PWM والبرمجة بلغة منطق السلم لكل من الميكروكونترولر PIC و AVR

تعليمة تحديد (ضبط) دورة الخدمة لنظام PWM :SET PWM DUTY CYCLE





يمكن لبرنامج LDmicro توليد كود لاستخدام وحدة نظام PWM الموجودة ضمن بناء بعض الميكروكونترولر باستخدام هذه التعليمة .
إذا كانت حالة الدخل لهذه التعليمة حقيقية (صواب) true(1) عندئذ يتم جعل (تحديد) دورة الخدمة الخاصة بنظام PWM بقيمة المتغير المصاحب لها duty_cycle .
دورة الخدمة يجب أن تكون عدد بين 0 و 100 . الصفر يمثل الخرج ذات المستوى دائم الانخفاض بينما 100
تمثل الخرج ذات المستوى دائم الارتفاع .





يمكنك فى التعليمة تحديد تردد نظام PWM بالهرتز Hz . التردد الذى تحدده قد لا يتحقق بدقة ويعتمد ذلك على نتيجة قسمتة على تردد ساعة الميكروكونترولر . يقوم البرنامج باختيار أقرب قيمة تحقق التردد المطلوب وإن كان الخطأ كبير فسوف يحذرك البرنامج . استخدام السرعات الكبيرة يكون على حساب التضحية بالقدرة على التحليل resolution .
هذه التعليمة يجب أن تكون فى أقصى يمين السطر .
نظام PWM يستخدم طرف الوحدة (موديول)CCP2 (لا يستخدمCCP1) لذلك فهذه التعليمة متاحة فقط للميكروكونترولر الذى يمتلك هذه الوحدات .

مثال 1 : البرنامج الأساسى

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 31-03-2011, 08:19 PM المشاركة 2   
افتراضي


مثال 1 : البرنامج الأساسى
توليد خرج نبضات بتعديل فى عرض النبضات PWM بقيمة دورة خدمة 50% وبقيمة 75% حسب حالة المدخل Xin .
البرنامج :










التعليق :
بداية يجب أن نعرف أن البرنامج يقوم تلقائيا بحجز أماكن للمتغيرات بمجرد ذكرها وهنا يوجد متغير باسم duty وهو متغير لحفظ أو تخزين قيمة دورة الخدمة ويتم حجز مكان له بمجرد ذكره كما سنرى .
السطر الأول :
عند الضغط على المفتاح المتصل بالمدخل Xin تتحول حالة خرجه إلى الحالة المرتفعة فيتم تنفيذ تعليمة MOV وتعنى نقل أو نسخ القيم 50 إلى المتغير duty .





السطر الثانى :
المدخل Xin وهو فى الحالة العادية المغلقة يؤدى إلى تنفيذ تعليم MOV ولكن هذه المرة يتم وضع القيمة 75 بالمتغير duty .
إى أنه عند الضغط على المفتاح تكون دورة الخدمة 50% وعند تحرير المفتاح تكون دورة الخدمة 75% .
السطر الثالث :
تنفيذ تعليمة PWM أى توليد نبضات بتعديل فى عرض النبضات على الطرف المسمى CCP2 بالميكروكونترولر المقصود .







فى هذه التعليمة يتم : تحديد اسم المتغير المقصود لحفظ قيمة دورة الخدمة Duty cycle var وقيمة تردد النبضات Frequency(Hz)1000Hz ) ) .


مثال 2 :
استخدام نظام PWM مع تغيير دورة الخدمة بين0% و 90% خارجيا :

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

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 31-03-2011, 08:27 PM المشاركة 3   
افتراضي


مثال 2 :
استخدام نظام PWM مع تغيير دورة الخدمة بين0% و 90% خارجيا :

البرنامج :





السطر الأول :





تعليق : هذا السطر يجبر دورة الخدمة لتكون بالقيمة 0 إذا كانت خارج الحدود تحت أى ظرف من الظروف .

السطر الثانى:





عندما تكون محتويات سجل المتغير DUTY_VAR أكبر من 90% أو OR أقل من 0% يتم تصفيره أى جعل محتوياته بصفر .

السطر الثالث :




توليد نبضة تصفير محتويات السجل DUTY_VAR خارجيا فعند توصيل ON المفتاح RESET_DUTY والتأخير الزمنى 20ms وتشكيل نبضة عن الحافة الصاعدة يتم وضع صفر بسجل المتغير .
يمكن الاستغناء عن هذا المفتاح واستخدام مفتاح للفصل OFF وفى نفس الوقت للتصفير كما السطر الثامن .

السطر الرابع :




تعليق : المفتاحين التاليين لتزايد أو لتناقص دورة الخدمة .


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 31-03-2011, 08:32 PM المشاركة 4   
افتراضي


السطر الخامس :





عند توصيل ON المفتاح INC_DUTY "تزايد دورة الخدمة" و (AND) التأخير لمدة 20ms و(AND) تشكيل نبضة عند الحافة الصاعدة وإذا (IF) كانت محتويات متغير دورة الخدمة أقل من 90% يتم تزايد سجل دورة الخدمة بواحد ونسخ القيمة الجديدة إلى المتغير نفسه لتحديثه باستخدام تعليمة الجمع .

السطر السادس :





عند توصيل ON المفتاح DEC_DUTY "تناقص دورة الخدمة" و (AND) التأخير لمدة 20ms و (AND) تشكيل نبضة عند الحافة الصاعدة وإذا (IF) كانت محتويات متغير دورة الخدمة أكبر من 0 % يتم تناقص سجل دورة الخدمة بواحد ونسخ القيمة الجديدة إلى المتغير نفسه لتحديثه باستخدام تعليمة الطرح .

ملحوظة هامة : إذا كان التزايد أة التناقص بواحد صغير وغير محسوس يمكن تغيير قيمة التزايد أو التناقص لأى قيمة مثل 10

السطر السابع :





تعليق : فيما يلى عمل مفتاح التوصيل والفصل

السطر الثامن :




عند توصيل ON المفتاح ON_OFF يتم نسح محتويات السجل DUTY_VAR إلى المتغير duty
وعند فصل OFF المفتاح ON_OFF يتم تصفير المتغير duty بنسخ صفر إليه .

السطر التاسع :




إرسال نتيجة نظام PWM يعمل على تردد 1KHz (يمكن تغيره حسب التطبيق) ودورة الخدمة تتغير حسب تغير محتويات المتغير duty إلى الطرف CCP2 بالميكروكونترولر المقصود (الطرف 16 فى الميكروكونترولر PIC16F877 على سبيل المثال ) .


montasr88
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2010
الدولة: jordan
المشاركات: 127
نشاط [ montasr88 ]
قوة السمعة:0
قديم 31-03-2011, 08:49 PM المشاركة 5   
افتراضي


موضوع مميز جدااا .. بارك الله فيك اخي
مواضيعك رائعه وشرحك وافي.. وصل ولك جزيل الشكر


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 31-03-2011, 08:58 PM المشاركة 6   
افتراضي


موضوع مميز جدااا .. بارك الله فيك اخي
مواضيعك رائعه وشرحك وافي.. وصل ولك جزيل الشكر

اخى الكريم

شكرا جزيلا لك

تقدير اعتز به

بارك الله فيك

مع تمنياتى بدوام التوفيق


montasr88
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2010
الدولة: jordan
المشاركات: 127
نشاط [ montasr88 ]
قوة السمعة:0
قديم 01-04-2011, 12:29 PM المشاركة 7   
افتراضي


اخى الكريم

شكرا جزيلا لك

تقدير اعتز به

بارك الله فيك

مع تمنياتى بدوام التوفيق

اشكرك .. انت تقدم مجهود كبير تشكر عليه

ارجو اذا في موضوع كامل متكامل عن الستيبر موتو ومبدا عمله


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 01-04-2011, 01:14 PM المشاركة 8   
افتراضي


اشكرك .. انت تقدم مجهود كبير تشكر عليه

ارجو اذا في موضوع كامل متكامل عن الستيبر موتو ومبدا عمله
اخى الكريم

شكرا جزيلا لك

بارك الله فيك

الموضوع قيد الاعداد

دوائر الربط بين الميكروكونترولر والاجهزة الخارجية ويبدأ من الترانزستور و يتضمن معلومات عملية عن المحركات بانواعها بما فيها Stepper motor

مع تمنياتى بدوام التوفيق

إضافة رد

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

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

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


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

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