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

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

الصورة الرمزية haidar ayad
haidar ayad
:: مهندس متواجد ::
تاريخ التسجيل: Nov 2011
الدولة: العراق
المشاركات: 178
نشاط [ haidar ayad ]
قوة السمعة:0
قديم 28-04-2013, 05:12 PM المشاركة 1   
ha كود pwm لا يعمل مالسبب ؟ Twitter FaceBook Google+



السلام عليكم ورحمة الله ....
كتبت هذا الكود لبرنامج المايكروكونترولر 12f683، لكي يولد هذه الموجة :

ولكن لا يظهر اي out put على الرجل صفر ....فما السبب؟ وهذا الكود:

كود:
 void main() {
   int i;
 
 trisio=0;
 gpio.f0=0;
 
      PWM1_Init(5000);
       PWM1_Start();
      loop:
      for( i=11;i<=245;i++)
      {
      
    PWM1_Set_Duty(i);
 
      }
      goto loop;
 }

اعلانات

Tico
:: عضو ذهبي ::
تاريخ التسجيل: May 2012
المشاركات: 1,426
نشاط [ Tico ]
قوة السمعة:114
قديم 28-04-2013, 05:46 PM المشاركة 2   
افتراضي


جرب كتابة الدالة PWM1_Start(); داخل الحلقة (بعد :Loop)

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

الصورة الرمزية haidar ayad
haidar ayad
:: مهندس متواجد ::
تاريخ التسجيل: Nov 2011
الدولة: العراق
المشاركات: 178
نشاط [ haidar ayad ]
قوة السمعة:0
قديم 28-04-2013, 06:53 PM المشاركة 3   
افتراضي


جرب كتابة الدالة PWM1_Start(); داخل الحلقة (بعد :Loop)
نفس النتيجة ... وشكرا لك


Tico
:: عضو ذهبي ::
تاريخ التسجيل: May 2012
المشاركات: 1,426
نشاط [ Tico ]
قوة السمعة:114
قديم 28-04-2013, 07:11 PM المشاركة 4   
افتراضي


يعمل أخي .. يعمل .
أنا جربته قبل ما أنصحك به ..
ملاحظة : GP2 هو طرف خروج PWM


Tico
:: عضو ذهبي ::
تاريخ التسجيل: May 2012
المشاركات: 1,426
نشاط [ Tico ]
قوة السمعة:114
قديم 28-04-2013, 07:26 PM المشاركة 5   
Smile


السلام عليكم ورحمة الله ....
كتبت هذا الكود لبرنامج المايكروكونترولر 12f683، لكي يولد هذه الموجة :

ولكن لا يظهر اي out put على الرجل صفر ....فما السبب؟ وهذا الكود:

كود:
void main() {
int i;
 
trisio=0;
gpio.f0=0;
 
   PWM1_Init(5000);
    PWM1_Start();
   loop:
   for( i=11;i<=245;i++)
   {
 
 PWM1_Set_Duty(i);
 
   }
   goto loop;
}
أخي ليست المشكلة في وضع تعليمة البدأ .
برنامجك يعمل ..
فقط عليك ان تعلم أن خرج PWM هو الطرف GP2 (وليسGP0 ) وهو الرجل رقم 5 في PIC12F683
http://www.gulfup.com/?Rdc4t4


الصورة الرمزية haidar ayad
haidar ayad
:: مهندس متواجد ::
تاريخ التسجيل: Nov 2011
الدولة: العراق
المشاركات: 178
نشاط [ haidar ayad ]
قوة السمعة:0
قديم 28-04-2013, 10:34 PM المشاركة 6   
افتراضي


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

سؤال فقط ....ممكن تخبرني كيف اخفف التردد في البرؤوتوس لكي ارى الموجة بوضوح؟

والكود عدلته وهذا الان هو فأنظره هل شكل الموجة نفس اللي بالصورة:
https://fbcdn-sphotos-a-a.akamaihd.n...32946225_n.jpg



كود:
int i;

void main() 
{trisio=0;
 gpio=0;
  PWM1_Init(5000);  
  PWM1_Start();
  loop: 

    for( i=11;i<=245;i++)

    { PWM1_Set_Duty(i); }
    
        for( i=244;i>=12;i--)

    { PWM1_Set_Duty(i); }
    
  goto loop; }


التعديل الأخير تم بواسطة : haidar ayad بتاريخ 28-04-2013 الساعة 11:48 PM

الصورة الرمزية haidar ayad
haidar ayad
:: مهندس متواجد ::
تاريخ التسجيل: Nov 2011
الدولة: العراق
المشاركات: 178
نشاط [ haidar ayad ]
قوة السمعة:0
قديم 29-04-2013, 02:20 AM المشاركة 7   
افتراضي


انا رايت الموجة في برنامج real pic simulator ولكن ليست مشابهة للموجة التي في الصورة الاولى .....فهذه نتيجتها :



والمعلوم انه اول ما تظهر الموجة هو في حالة
PWM1_Set_Duty(11)
وبعد ان تزداد وتصل الى
PWM1_Set_Duty(245)
وهي الحالة التي وضعت لها الرقم (1) في صورة شكل الموجة الخارجة ....ويجب بعد هذا الرقم ان ياتي العد التنازلي فيكون الخرج هو تطبيق الدالة
PWM1_Set_Duty(244)
ولكن الذي يحصل انه لا يتم النقصان بصورة تدريجية وانما الموجة تعيد نفسها من جديد وتبدا من الـ
PWM1_Set_Duty(11)
او
PWM1_Set_Duty(12)
وهو الحالة التي وضعت لها الرقم (2)

فكيف الحل ؟ وما السبب ؟


التعديل الأخير تم بواسطة : haidar ayad بتاريخ 29-04-2013 الساعة 02:24 AM

الصورة الرمزية haidar ayad
haidar ayad
:: مهندس متواجد ::
تاريخ التسجيل: Nov 2011
الدولة: العراق
المشاركات: 178
نشاط [ haidar ayad ]
قوة السمعة:0
قديم 29-04-2013, 08:06 PM المشاركة 8   
افتراضي


ارجوا المساعدة

إضافة رد

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

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

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


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

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