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

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

abderaouf21
:: مهندس ::
تاريخ التسجيل: Mar 2013
المشاركات: 9
نشاط [ abderaouf21 ]
قوة السمعة:0
قديم 30-03-2013, 12:25 AM المشاركة 1   
افتراضي مساعدة في مشروع التحكم في سرعة محرك Twitter FaceBook Google+



بسم الله الرحمن الرحيم
مشروعي هو التحكم في سرعة محرك،وتجاهه يعمل بالتيار المستمر،بواسطة بيك 16F877A
وذلك عن طريق مخرجي CCP1 و CCP2
pwm
ويتم تغير السرعة بتغير مقاومة متغيرة موصولة مع البيك
كما يتم عرض رسالة ترحيبية ثم إتجاة المحرك عن طريق شاشة lcd
المشكلة التي واجهتني عي العلاقة بين تغير المقاومة وتغير مخرج الpwm
رابطة الكود والمحكات هنا
http://www.mediafire.com/download.php?u5ueleu1dja5dk6

اعلانات

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:395
قديم 30-03-2013, 02:38 AM المشاركة 2   
افتراضي


انت تستخدم نسخة مايكرو سي قديمة لذلك لم اتمكن من التصحيح على الكود مباشرة ....
لاحظ الخطأ في هذا المقطع من الكود و الذي يجعله لا يتحقق ابدا ...
كود:
x=adc_read(0);
x=(x *1023) /5000;
WordToStr(x,y);
if(x>=511)
{ pwm_init(5000);
pwm_change_duty(x);
pwm_start();
LCD_Out(1,5,"SENCE");
LCD_Out(2,8,"1");
delay_ms(500);
هنا اعلى قيمة للمدخل التناظري هي 1023 .
و حسب المعادلة التي كتبتها لحساب المتغير X فان اعلى قيمة لها ستكون :
1023×1023÷5000 = 209
ثم تطلب تشغيل PWM اذا كانت قيمة X اكبر او تساوي 511 و هذا الشرط لن يتحقق ابدا بالاضافة الى انك لم تحدد تشغيل PWM1 ام PWM2

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

abderaouf21
:: مهندس ::
تاريخ التسجيل: Mar 2013
المشاركات: 9
نشاط [ abderaouf21 ]
قوة السمعة:0
قديم 30-03-2013, 08:15 AM المشاركة 3   
افتراضي


شكرا أخي حيدر
قمت بتعديل الpwm إلي pwm1
ولكن لم أفهم كيفية وضع علاقة بيت المقاومة المتغيرة والمخارج pwm
حيث عند وضع المؤشر المقاومة في 50% لايعمل المحرك، وعند رفعها يبدء المحرك بالدوران وكلما زادة النسبة زادت سرعة المحرك في إتجاه معين ،والعكس في الاتجاه الأخر.


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:395
قديم 30-03-2013, 08:27 AM المشاركة 4   
افتراضي


مبدئيا لا يكون القياس على المحرك انما توصل مخرج pwm الى راسم الاشارة لتتاكد من مدى التحكم في duty cycle ....

انا حاليا بصدد تنفيذ هذا المشروع و هنا بعض الاقتراحات من الاخوة وان شاء الله جاري تجربتها عندما تتهيء الظروف
http://www.qariya.com/vb/showthread.php?t=125993
نرى ان استخدام الريلي لعكس اتجاه الدوران افضل من استخدام H-bridge


abderaouf21
:: مهندس ::
تاريخ التسجيل: Mar 2013
المشاركات: 9
نشاط [ abderaouf21 ]
قوة السمعة:0
قديم 30-03-2013, 08:50 AM المشاركة 5   
افتراضي


الكود بنسخة أخرى من mikroc
http://www.mediafire.com/?o8aeax6q9bua24z


abderaouf21
:: مهندس ::
تاريخ التسجيل: Mar 2013
المشاركات: 9
نشاط [ abderaouf21 ]
قوة السمعة:0
قديم 01-04-2013, 12:04 PM المشاركة 6   
افتراضي


هل توجد علاقة بين المقاومة المتغيرة و pwm?


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:395
قديم 01-04-2013, 01:12 PM المشاركة 7   
افتراضي


بالتاكيد اخي ...
بالمقاومة المتغيرة نغير الجهد الداخل على المدخل التناظري و نجعله كمتغير لتغيير مقدار duty cycle في pwm . و بذلك يتغير الجهد الواصل للمحرك و تتغير السرعة ...
سوف ارفع لك ملف المحاكاة و الكود بعد ساعات باذن الله ...


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:395
قديم 02-04-2013, 07:18 AM المشاركة 8   
افتراضي


هذا هو الكود مبدئيا .

كود:
void main()
 {
 trisa=1;trisb=0;portb=0;trisd=0;trisc=0;
 pwm1_init(250);

 while(1)
         {
            PWM1_Set_Duty(adc_read(0)/4);


                        pwm1_start();

         }

}

إضافة رد

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

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

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


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

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