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

   

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 15-01-2015, 11:04 PM المشاركة 9   
افتراضي



في هذا الموضوع شرح مفصل و مثال يطابق تماما مشروعك
http://www.qariya.info/vb/showthread.php?t=46338&page=8

اعلانات

sohaib A.Z
:: مهندس متواجد ::
تاريخ التسجيل: Aug 2007
الدولة: SUDAN
المشاركات: 145
نشاط [ sohaib A.Z ]
قوة السمعة:
قديم 15-01-2015, 11:44 PM المشاركة 10   
افتراضي


لقد قرأت هذا الموضوع وفعلا مهم وبه شرح مفصل وجميل لموضوع التايمر والانتربت .

لكن لم يتطرق لقراءة وحساب PWM ، فانا اريد ان احسب عرض كل نبضة. لان كل نبضة تختلف فى العرض عن الأخرى

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

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 16-01-2015, 12:01 AM المشاركة 11   
افتراضي


سوف احاول اعمل كود يقرا لك عرض النبضة و من الله العون


sohaib A.Z
:: مهندس متواجد ::
تاريخ التسجيل: Aug 2007
الدولة: SUDAN
المشاركات: 145
نشاط [ sohaib A.Z ]
قوة السمعة:
قديم 16-01-2015, 12:18 AM المشاركة 12   
افتراضي


سوف احاول اعمل كود يقرا لك عرض النبضة و من الله العون
شكرا لك باشمهندس حيدر


sohaib A.Z
:: مهندس متواجد ::
تاريخ التسجيل: Aug 2007
الدولة: SUDAN
المشاركات: 145
نشاط [ sohaib A.Z ]
قوة السمعة:
قديم 16-01-2015, 12:27 AM المشاركة 13   
افتراضي


هذه الصورة قد تساعد اكثر

المطلوب حساب عرض كل نبضة لوحدها وحساب عرض الموجة من بدايتها حتى نهايتها




الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 16-01-2015, 12:52 AM المشاركة 14   
افتراضي


تفضل اخي ملف الكود و المحاكاة ...
http://www.4shared.com/rar/ifH5iP3cce/__online.html
جعلت الزمن بالثواني لكي تتمكن من المحاكاة باستخدام مفتاح البوش
بعدها يمكنك تغيير الاوقات كما تشاء
جرب هذا الكود الان و بعدها نتكلم عن حساب زمن الموجة الكامل


sohaib A.Z
:: مهندس متواجد ::
تاريخ التسجيل: Aug 2007
الدولة: SUDAN
المشاركات: 145
نشاط [ sohaib A.Z ]
قوة السمعة:
قديم 16-01-2015, 09:32 AM المشاركة 15   
افتراضي


شكرا جزيلا لك اخى الباشمهندس حيدر
سوف اجرب الكود وناتى للاسئلة باذن الله


sohaib A.Z
:: مهندس متواجد ::
تاريخ التسجيل: Aug 2007
الدولة: SUDAN
المشاركات: 145
نشاط [ sohaib A.Z ]
قوة السمعة:
قديم 16-01-2015, 10:07 AM المشاركة 16   
افتراضي


هذا هو الكود الذى كتبته اخى حيدر :
كود:
unsigned long int x=0; void main() {trisa=1;trisb=0;portb=0; cmcon=7; while(1) { if(porta.f0==1) { x=0; while(porta.f0==1) { delay_ms(1); x++; } } if(x<=1000 )portb=0; else if(x<=2000)portb=1; else if(x<=3000)portb=2; else if(x<=4000)portb=4; else if(x<=5000)portb=8; else if(x<=6000)portb=16; else if(x<=7000)portb=32; else if(x<=8000)portb=64; else portb=128; } }

وقد فهمت من الكود ان الجزء :

كود:
{ x=0; while(porta.f0==1) { delay_ms(1); x++; }
سيكون فى الانتربت روتين .

لدى سؤال صغير هنا :
اذا اعتبرنا ان المايكرو يعمل على 1MHz يعنى سينفذ كل سطر فى مايكروثانية ،
اذا يمكن ان نحذف امر التاخير ونجعل المايكرو يضيف واحد للمتغير x كل مايكرو ثانية طالما الزر مضغوط (عرض النبضة)

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

ولك الشكر مرة اخرى اخى حيدر



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