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

   

kanni
:: مهندس ::
تاريخ التسجيل: Oct 2016
المشاركات: 3
نشاط [ kanni ]
قوة السمعة:
قديم 10-07-2017, 04:05 PM المشاركة 25   
افتراضي



الاخوة الكرام السلام عليكم و رحمة الله و بركاته

انا ايضا واجهتني نفس المشكله سأجري بعض الحسابات التي تبين المشكله بطريقه اخرى و مازلت ايضا ابحث عن حل لها .
كما ذكر الاخ يعرب ان الكريستال هو 20mhz و بالتالي فان زمن تنفيذ العدة الواحد 4/تردد الكريستال اي 0.2 ميكروثانيه
ولدينا عدد العدات للحصول على مقاطعة للتايمر هو 256-218 و بالتالي 38 عدة

و بالتالي كما ذكر الاخ المشرف الاستاذ ماجد
زمن تنفيذ النبضه = زمن الانتربت + الزمن اللازم لتنفيذ خطوات الانتربت
زمن الانتربت = 38*0.2=7.6 ميكروثانيه
الزمن اللازم لتفيذ خطوات الانتربت هو 2 عدة
اي =2*0.2=0.4 ميكروثانيه
هذا يعني ان زمن النبضه =7.6+ 0.4=8 ميكروثانيه و هو الزمن الدقيق للمقاطعه
ولكن المشكله تمكن عند قياس هذا الزمن باستخدام الاوسليسكوب الموجود ضمن برنامج البروتس حيث يبين ان زمن النبضه اكبر مما يفترض ان يكون و هو في مثال الاخ يعرب 8 ميكرو ثانيه .بينما اعطى البروتس قياس قريب من 11 ميكروثانيه اي بفارق 3 ميكرو ثانيه
اي انه من المفترض ان يكون الزمن المقاس بواسطة الاوسليسكوب هو 8ميكروثانيه وليس 11 ميكروثانيه .
فماهو الحل ??????????


التعديل الأخير تم بواسطة : kanni بتاريخ 10-07-2017 الساعة 04:10 PM
اعلانات

يعرب مطر
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2016
الدولة: سوريا
المشاركات: 130
نشاط [ يعرب مطر ]
قوة السمعة:
قديم 10-07-2017, 05:18 PM المشاركة 26   
افتراضي



أيضا لا داعى لأن تختبر المتغير X فإن كان تفعل كذا و إلا ستفعل غيرة فهو يعطى زمنين مختلفين لكون الحالتين مختلفتين
الأصح أن يكون
X=!X
أى أنك تعكس من صفر لواحد و العكس حيث لا يهم القيمة حاليا
هذه إحدى ميزات أتميل عن البيك لأن عند حدوث انتربت لا تحتاج للكشف عن مصدرة فكل مصدر له عنوان مختلف ومن ثم كود مختلف
تحية لك استاذ ماجد
بالنسبة لهذا الاقتباس من كلامك فهو صحيح عندما يكون x في الشرط if يساوي واحد
اما اذا كان x يساوي عشرة مثلا فهنا يكون x عداد

انا غيرت ضمن الكود السابق قيمة x بدل من واحد وضعت عشرة ضمن الشرط
يعني يشتغل الليد كل 80 ميكروثانية وينطفئ كل 80ايضا

لكن بالواقع كان متغيرا
فهو يعطي 115ميكرو ثانية زمن التشغيل و 110زمن الايقاف


ملاحظة
الاسليسكوب في بروتس قريب جدا الى الاسليسكوب في الواقع


عندما غيرت زمن بداية العد في الانتربيت من 218 الى 236 اصبح الزمن تقريبا
8ميكرو ثانية

وهذا الرقم 236 استنتاج من خلال التجريب وليس قانون



لماذا هذا الفرق الكبير؟؟؟
ولماذا مخترع برنامج تايمركالكوليتر لم يأخذ بعين الاعتبار هذا التغييروالضياعات



يعني كان يحط رقم 236بدل 216
هههههه

والله كان ريحنا من زمان
😅😅😅😅😅

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

ماجد عباس محمد
:: نائب المشرف العام
::
تاريخ التسجيل: Jun 2009
الدولة: القاهرة - مصر
المشاركات: 11,652
نشاط [ ماجد عباس محمد ]
قوة السمعة:
قديم 10-07-2017, 06:10 PM المشاركة 27   
افتراضي


هو وحسب الرقم الذى يحدث عنده انتربت ولكنك انت لم تضيف له زمن الإنتقال من البرنامج الحالى لبرنامج المقاطعة ثم تنفيذ ما بداخل هذا البرنامج

أيضا يبدو أن ردى لم يكن واضحا
انت تعد ما تشاء بالعداد لكن داخل برنامج الإنتربت لا تضيع وقت لحساب 10 أو تقارن أو غيرة لتقليل الخطأ
فقط افعل ما تريد ثم عد
و إلا ما فائدة العداد إذن؟ يمكنك ببساطة جعل العداد يعد 10 أمثال الرقم السابق خاصة هو 16 بت


يعرب مطر
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2016
الدولة: سوريا
المشاركات: 130
نشاط [ يعرب مطر ]
قوة السمعة:
قديم 10-07-2017, 07:38 PM المشاركة 28   
افتراضي


كيف يتم حساب هذا الزمن؟؟؟


ماجد عباس محمد
:: نائب المشرف العام
::
تاريخ التسجيل: Jun 2009
الدولة: القاهرة - مصر
المشاركات: 11,652
نشاط [ ماجد عباس محمد ]
قوة السمعة:
قديم 11-07-2017, 10:51 AM المشاركة 29   
افتراضي


يجب الرجوع للداتاشيت ستجد كل أمر و الزمن الذى يأخذه للتنفيذ بالدورات و لهذا الميكرو فى صفحة 110
من المعلوم أن البيك يأخذ 4 نبضات Clock من الكريستال لكل دورة
ستجد معظم التعليمات تنفذ بدورة واحدة إلا أن البعض يأخذ دورتين مثل الإنتقال للإنتربت كما ذكر الأخ Kanni أو Subroutine أو العودة منهم و البعض يأخذ إما واحدة أو إثنتين مثل DECFSZ أى انقص 1 من المسجل F و لا تنتقل لو = صفر و العكس INCFSZ حيث تزود بدلا من النقصان و أيضا الإختبارات حيث تختبر بت ثم تنتقل لو صفر أو لو 1 الخ فكل منهم بحسب إن كان سينتقل أم لا

لهذا صعب جدا حساب الزمن بالبرمجة بأى لغة سوى الأسيمبلى فهى فقط تعرفك كم تعليمة و كل منها يأخذ كم دورة
ولهذا أيضا كان تعليقى السابق أن تجعل كود الإنتربت فقط X=!X أو X=~X فليس المقصود كيف تتم عملية complement فلست خبيرا فى لغة السى و عادة استخدم التعليمة CPL X فى اتميل فهى تعمل على مستوى البت أو المسجل كاملا.انما المقصود أن يكون تعليمة واحدة معروفة بقدر الإمكان لتقليل الزمن و من ثم الخطأ المضاف

الحل أن تستخدم مترجم يوفر لك الخرج بعدة صور ليس فقط بصورة هكس فالبعض يوفرها بالأسيمبلى أيضا و من هذا الأسيمبلى يمكنك أن تحسب الزمن
أو تلجأ للحل بالمحاولة و الخطأ كما فعلت


التعديل الأخير تم بواسطة : ماجد عباس محمد بتاريخ 11-07-2017 الساعة 03:25 PM

يعرب مطر
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2016
الدولة: سوريا
المشاركات: 130
نشاط [ يعرب مطر ]
قوة السمعة:
قديم 11-07-2017, 03:08 PM المشاركة 30   
افتراضي


شكرا لك استاذ ماجد على هذه المعلومات
وشكرا لكل من ساعدني في هذا الكود
اشكركم اصدقائي ماجد عباس محمد ومحمد إلياس وkanni

وكل من ساهم وقدم معلومات بهذا الخصوص


يعرب مطر
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2016
الدولة: سوريا
المشاركات: 130
نشاط [ يعرب مطر ]
قوة السمعة:
قديم 04-08-2017, 12:51 AM المشاركة 31   
افتراضي


السلام عليكم

في دارة رافع جهد بيور ساين
من المعلوم ان الموسفيتIRF064 يحتاج الى8فولت ليتم فتح الموسفيت بشكل كامل
وان البيك لايعطي اكثر من 5فولت
قمت باضافة فوتوكوبلر 4N25 وتوصيله قبل بوابة الموسفيت لرفع الفولط
علمان ان تتردد البيك PWMهي 2500HZ

ماحدث هو استجرار تيار كبير وقطع مسار السالب في اللوحة يعني انقطع سلك السالب
من خلال خبرتي حددت الخلل وهو
هل الفوتو كوبلر لايعمل على الترددات العالية؟؟؟
الخلل الثاني
اظن انه كان يعمل الفوتوكوبلر الثاني مع الاول ؟؟؟

مع العلم عند استخدام موسفيت P75BF75 يعمل بشكل طبيعي وممتاز دون مشاكل
وبدون فوتو كوبلر

اما الموسفيت IRF064 عند توصيله بدون فوتوكوبلر يعمل رافع الجهد بشكل طبيعي ولكن ينخفض جهد الخرج عند التحميل والسبب فولت البوابة غير كافي

ماهو الحل
لماذا لم يعمل الفوتو كوبلر



السؤال تابع لموضوع سابق بخصوص رافع الجهد
ارجو المساعدة


ماجد عباس محمد
:: نائب المشرف العام
::
تاريخ التسجيل: Jun 2009
الدولة: القاهرة - مصر
المشاركات: 11,652
نشاط [ ماجد عباس محمد ]
قوة السمعة:
قديم 05-08-2017, 11:34 AM المشاركة 32   
افتراضي


تم الرد فى الموضوع المنفصل
http://www.qariya.info/vb/showthread.php?t=211906



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