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

   

WRHLAMDA
:: عضو فضي ::
تاريخ التسجيل: Feb 2005
المشاركات: 630
نشاط [ WRHLAMDA ]
قوة السمعة:
قديم 30-07-2013, 11:55 PM المشاركة 25   
افتراضي



السلام عليكم

قمت بالاطلاع على الملف ولا اعتقد ان هناك خطأ في البرنامج

لحسن الحظ هذا المتحكم متوفر لدي ... وسأقوم بتنفذ الدائرة وارى النتائج... النتائج غدا انشاء الله

قمت قبل ايام بتشغيل شاشة نوكيا .... برمجتها اصعب وتأخذ حجم اكبرمن ذاكرة المتحم لكن امكاناتها جميلة
http://www.qariya.com/vb/showthread.php?t=132305


التعديل الأخير تم بواسطة : WRHLAMDA بتاريخ 30-07-2013 الساعة 11:58 PM
اعلانات

WRHLAMDA
:: عضو فضي ::
تاريخ التسجيل: Feb 2005
المشاركات: 630
نشاط [ WRHLAMDA ]
قوة السمعة:
قديم 31-07-2013, 01:22 AM المشاركة 26   
افتراضي


السلام عليكم

الساعة الن بعد الثانية عشر ليلا .... يعني نحن في اليوم التالي

عموما قمت بتنفيذ الدائرة وعمل البرنامج كما في الصورة التالية



الدائرة تم تنفيذها على بوردة لدائرة قديمة لذلك لاتعتني بالجزء الايسر من البوردة

انا فقط استخدمت متسعة 1 مايكرو بين القطب الموجب والسالب.... ومقاومة 4.7 كيلو مع متسعة 0.1 مايكرو للرسيت

الكرستالة كانت 4 ميكاهيرتز

.................................................

شيء واحد غير طبيعي ... عندما قمت ببرمجة المتحكم لم تتمكن المبرمجة من برمجة رجسترات الاعداد (configration registers )

لكنة عمل مع ذلك .... لذلك قمت بسحب البرنامج من المتحكم مرة اخرى لاعرف قيمة الرجسترات التي يعمل معها فكانت قيمتها 2118.... وهي نفس القيمة الموجودة في برنامجك

حسب هذا الرقم من المفروض ان يعمل المتحكم بدون كرستالة ... كما ان دائرة الريسيت الخارجية ستكون غير فعالة .... والتايمر الداخلي الذي يؤجل عمل البك قليلا لحين استقرار دائرة البك غير فعال power up timer .... من الافضل الاهتمام بهذه الامور


انا استخدم نسخة من مبرمجة pickit2 صنعتها بنفسي .... راجع هذه النقاط ربما تكون السبب

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

الصورة الرمزية المظلوم
المظلوم
:: مهندس متميز ::
تاريخ التسجيل: Oct 2011
الدولة: BH
المشاركات: 636
نشاط [ المظلوم ]
قوة السمعة:
قديم 31-07-2013, 02:25 AM المشاركة 27   
افتراضي


السلام عليكم

الساعة الن بعد الثانية عشر ليلا .... يعني نحن في اليوم التالي

عموما قمت بتنفيذ الدائرة وعمل البرنامج كما في الصورة التالية



الدائرة تم تنفيذها على بوردة لدائرة قديمة لذلك لاتعتني بالجزء الايسر من البوردة

انا فقط استخدمت متسعة 1 مايكرو بين القطب الموجب والسالب.... ومقاومة 4.7 كيلو مع متسعة 0.1 مايكرو للرسيت

الكرستالة كانت 4 ميكاهيرتز

.................................................

شيء واحد غير طبيعي ... عندما قمت ببرمجة المتحكم لم تتمكن المبرمجة من برمجة رجسترات الاعداد (configration registers )

لكنة عمل مع ذلك .... لذلك قمت بسحب البرنامج من المتحكم مرة اخرى لاعرف قيمة الرجسترات التي يعمل معها فكانت قيمتها 2118.... وهي نفس القيمة الموجودة في برنامجك

حسب هذا الرقم من المفروض ان يعمل المتحكم بدون كرستالة ... كما ان دائرة الريسيت الخارجية ستكون غير فعالة .... والتايمر الداخلي الذي يؤجل عمل البك قليلا لحين استقرار دائرة البك غير فعال power up timer .... من الافضل الاهتمام بهذه الامور


انا استخدم نسخة من مبرمجة pickit2 صنعتها بنفسي .... راجع هذه النقاط ربما تكون السبب



أخي العزيز،،انا قمت متعمدا ،، بالغاء المذبذب الخارجي ،، وبالغاء خاصية الريسيت وذلك لتسهيل التوصيل ،، اكثر،،


هل تعتقد ان المشكلة تكمن في عدم تفعيل هذه الأمور !! ،،


اذا كان كذلك ،، فسأقوم بتعديل الإعدادات ،، وسأجربها ،، مرة أخرى د


WRHLAMDA
:: عضو فضي ::
تاريخ التسجيل: Feb 2005
المشاركات: 630
نشاط [ WRHLAMDA ]
قوة السمعة:
قديم 31-07-2013, 02:36 AM المشاركة 28   
افتراضي


أخي العزيز،،انا قمت متعمدا ،، بالغاء المذبذب الخارجي ،، وبالغاء خاصية الريسيت وذلك لتسهيل التوصيل ،، اكثر،،


هل تعتقد ان المشكلة تكمن في عدم تفعيل هذه الأمور !! ،،


اذا كان كذلك ،، فسأقوم بتعديل الإعدادات ،، وسأجربها ،، مرة أخرى د
السلام عليكم
الدائرة عملت معي من اول محاولة

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


.... اود ان اسأل ؟؟؟ هل عملت معك الدائرة سابقا بنفس هذا البرنامج وهذا الربط؟


الصورة الرمزية المظلوم
المظلوم
:: مهندس متميز ::
تاريخ التسجيل: Oct 2011
الدولة: BH
المشاركات: 636
نشاط [ المظلوم ]
قوة السمعة:
قديم 31-07-2013, 02:44 AM المشاركة 29   
افتراضي


السلام عليكم
الدائرة عملت معي من اول محاولة

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


.... اود ان اسأل ؟؟؟ هل عملت معك الدائرة سابقا بنفس هذا البرنامج وهذا الربط؟
وانا ايضا عملت معي،، بتوفيق الله وملاحظاتك اخي الكريم ، قمت فقط بتغيير power up timer إلى مفعل ،، وقمت بوضع مكثف بين البور والقراوند ،، وعملت بشكل فعال ،


ومنكم نستفيد يا أخي ،، رحم الله والديك ،،


وهذه هي الصورة ،/،


http://upload.qariya.info/images/qar...952109a9dc.jpg


شكرا لك ،، عزيزي ،


الآن ارجو ان " تطول بالك علي شوي " ،، انا في الاساس اريد اكتب برنامجا للتعامل مع حساس الالتراسونيك HC-SR04 ،، وهو حساس يمكنك من خلاله قياس المسافة ،، عبر trigger لمدة 10 مايكرو ثانية ،، وانتظار الــ echo ،، على طرف آخر ،، وبمعادلة حسابية يمكن قياس المسافة ،،


هل يمكنك مساعدتي في هذا ،،


سأقوم بكتابة برنامج بسيط ،، وسارفعه هنا ،، لكي تلقي نظرة عليه ،،



شكرا لك ،،


WRHLAMDA
:: عضو فضي ::
تاريخ التسجيل: Feb 2005
المشاركات: 630
نشاط [ WRHLAMDA ]
قوة السمعة:
قديم 31-07-2013, 03:37 AM المشاركة 30   
افتراضي


السلام عليكم

ممكن اولا معلومة عن نوع المتحسس الذي تستخدمة ... رقم موديل مثلا او ملف المواصفات ... ام انك قمت بتصنيع هذا المتحسس بنفسك


الصورة الرمزية المظلوم
المظلوم
:: مهندس متميز ::
تاريخ التسجيل: Oct 2011
الدولة: BH
المشاركات: 636
نشاط [ المظلوم ]
قوة السمعة:
قديم 31-07-2013, 03:42 AM المشاركة 31   
افتراضي


السلام عليكم ،


هذا الرابط به الكود الخاص بالتعامل مع هذا الحساس ،، طبعا هذا الكود وجدته جاهزا ،، وقمت بتعديل طفيف عليه ،،

http://www.4shared.com/rar/j8Mk5Eo2/...16f628a_1.html


طبعا ،، الطرف trigger من الحساس موصل على الطرف 5 من البورت a ،، والطرف echo موصل على الطرف 4 من البورت نفسه a !


عندما قمت بتجربة هذا الكود ،،

في البداية تظهر لي المسافة تساوي 246 ،، وبعد ثانيتين تقريبا ،، تصبح 0 ، ،، وتبقى على ما هي عليه ،، دون تغيير ،، بعض النظر عن بعد او قرب الأجسام من الحساس ! ،،


ما هو الخطأ ؟



شكر ا


WRHLAMDA
:: عضو فضي ::
تاريخ التسجيل: Feb 2005
المشاركات: 630
نشاط [ WRHLAMDA ]
قوة السمعة:
قديم 31-07-2013, 04:44 AM المشاركة 32   
افتراضي


السلام عليكم

مع اني لست جيدا في البرمجة بلغة سي لكن قمت بتحميل الملف واحاول تتبع خطواتة .... مع اني لم اكمل تتبع البرنامج ... توقفت عند هذه النقطة

اولا هنا يتم استخدام التايمر الداخلي للمتحكم timer 1 وهو عبارة عن عداد يتم زيادة قيمتة ذاتيا مع كل نبظة ... مصدر هذه النبظات هي الكرستالة المربوطة مع المتحكم ( طبعا بعد قسمة التردد على 4 ) ..... هنا الشخص الذي كتب البرنامج يفرض ان الكرستالة المستخدمة بتردد 8ميكاهيرتز ... واعتمادا على هذا التردد يتم حساب المسافة باستخدام الرقم الذي سيتم اخذه من الرقم الموجود في هذا التايمر .... قيمة هذا الرقم سيختلف باختلاف الكرستالة المستخدمة ....

ملاحظة اخرى .... التايمر المستخدم عبارة عن عداد كما قلنا .... وهذا العداد له ملحق يسمى prescalor يقوم بتقليل التردد الواصل الى هذا العداد بقسمتة التردد على 2 او 4 او 8 واختار هذه القيمة يتم عن طريق الرجستر T1CON .... الملاحظة الموجوده في البرنامج تتحدث عن حسابات بمقسم تردد على 8 ... في حين ان البرنامج يضع مقسم التردد على 1 ....

هذه الامور يجب اعادة النظر فيها للتأكد من ان القيم المستخدمة تقع ضمن الارقام التي يستطيع التايمر التعامل معها ( 16 بت ).... وللمسافة التي يستطيع المتحسس قياسها



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