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

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

الصورة الرمزية احمد العراقي
احمد العراقي
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2006
المشاركات: 147
نشاط [ احمد العراقي ]
قوة السمعة:0
قديم 12-12-2014, 08:38 AM المشاركة 1   
افتراضي الى الاستاذ حسن هادي ارجوا المساعدة Twitter FaceBook Google+



بسم الله الرحمن الرحيم
الاخ العزيز حسن هادي
السلام عليكم
ارجوا مساعدتي في تشغيل الكود الموجود في المرفقات
وهو لتشغيل ستبر ماطور عن طريق pic16f630 وهو لتشغيل محرك واحد
وارجو توضيح ماهو الخطا

المرفقات


التعديل الأخير تم بواسطة : احمد العراقي بتاريخ 12-12-2014 الساعة 08:41 AM
اعلانات

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:136
قديم 12-12-2014, 12:12 PM المشاركة 2   
افتراضي


بسم الله الرحمن الرحيم
الاخ العزيز حسن هادي
السلام عليكم
ارجوا مساعدتي في تشغيل الكود الموجود في المرفقات
وهو لتشغيل ستبر ماطور عن طريق pic16f630 وهو لتشغيل محرك واحد
وارجو توضيح ماهو الخطا

المرفقات
السلام عليكم
تمت تصحيح الكود
http://up.top4top.net/downloadf-top4...c0cb1-rar.html
==========================================
الاخطاء هي
1- cmcon نجعله 5 بدلا من 7 لانك لو ذهب الى داتا شيت وأختاريت ports لرأيت انه تعريف هذا البورت cmcon=5


2-
يجب تصفير بنات الخاصه بتشغيل محرك قبل أعطاءه نبضه وأيضا يجب وضع هذه علامه | وذلك لغرض الحفاظ على قيمه بتات الي انت لا تستخدمها لمحرك يعني مثلا انا ربطت مع بورت C اول اربعه للمحرك وأخرى لاحمل أخر يجب أستخدام هذه علامه لكي يتم محافظه على قيم بتات الي لا تستخدم مع محرك
كود:
if( state==1)
               {
                state=0;
                 portc=(portc &0xF0);
               switch(puls1)
                            {
                             case 0:portc |=9;break; //0
                             case 1:portc |=1;break; //-45
                             case 2:portc |=3;break; //-90
                             case 3:portc |=2;break;  //-135
                             case 4:portc |=6;break; //-180
                             case 5:portc |=4;break; //-225
                             case 6:portc |=12;break;//-270
                             case 7:portc |=8;break;//-315

                             default:break;
                            }
وهذا الامر بلون أحمر ضروري جدا ليتم تصفير الاطراف محرك فقط تلاحظ انه تم عمل له & مع 0XF0 لاننا نريد فقط تصفير اطراف المحرك دون تأثير على بقيه

==============================
3-
يجب ربط السويج puls على طرف الي من خلاله يحصل انتربت وطرف RA2 هو طرف الصحيح
لذا يجب تفعيل أنتربت لكي يعمل تايمر0 و INTE مع جعل حافه النبضه من hi to low

كود:
void InitTimer0(){

  TMR0                 = 61;
  INTCON         = 0xA0;

}
كود:
CMCON=5;
  InitTimer0();
  INTE_bit=1;//1 = Enables the RA2/INT external interrupt
 OPTION_REG = 0xC7;
=====================================
3-
انا رأيت في الكود انك جعلت الاطراف 1 و2 للبورت A دخل ولم يتم أستخدامهما وهذا خطأ كبير لانك البيك سيصبح عمله غير مستقر تماما لانه هذه مداخل ان لم يتم تحديها بــ 1 او 0 فالبيك مره يختارها 1 ومره 0 وقد يؤثر هذا سلبا على بقيه البورتات

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

الصورة الرمزية احمد العراقي
احمد العراقي
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2006
المشاركات: 147
نشاط [ احمد العراقي ]
قوة السمعة:0
قديم 12-12-2014, 03:50 PM المشاركة 3   
افتراضي


السلام عليكم
تمت تصحيح الكود
http://up.top4top.net/downloadf-top4...c0cb1-rar.html
==========================================
الاخطاء هي
1- cmcon نجعله 5 بدلا من 7 لانك لو ذهب الى داتا شيت وأختاريت ports لرأيت انه تعريف هذا البورت cmcon=5


2-
يجب تصفير بنات الخاصه بتشغيل محرك قبل أعطاءه نبضه وأيضا يجب وضع هذه علامه | وذلك لغرض الحفاظ على قيمه بتات الي انت لا تستخدمها لمحرك يعني مثلا انا ربطت مع بورت C اول اربعه للمحرك وأخرى لاحمل أخر يجب أستخدام هذه علامه لكي يتم محافظه على قيم بتات الي لا تستخدم مع محرك
كود:
if( state==1)
               {
                state=0;
                 portc=(portc &0xF0);
               switch(puls1)
                            {
                             case 0:portc |=9;break; //0
                             case 1:portc |=1;break; //-45
                             case 2:portc |=3;break; //-90
                             case 3:portc |=2;break;  //-135
                             case 4:portc |=6;break; //-180
                             case 5:portc |=4;break; //-225
                             case 6:portc |=12;break;//-270
                             case 7:portc |=8;break;//-315

                             default:break;
                            }
وهذا الامر بلون أحمر ضروري جدا ليتم تصفير الاطراف محرك فقط تلاحظ انه تم عمل له & مع 0XF0 لاننا نريد فقط تصفير اطراف المحرك دون تأثير على بقيه

==============================
3-
يجب ربط السويج puls على طرف الي من خلاله يحصل انتربت وطرف RA2 هو طرف الصحيح
لذا يجب تفعيل أنتربت لكي يعمل تايمر0 و INTE مع جعل حافه النبضه من hi to low

كود:
void InitTimer0(){

  TMR0                 = 61;
  INTCON         = 0xA0;

}
كود:
CMCON=5;
  InitTimer0();
  INTE_bit=1;//1 = Enables the RA2/INT external interrupt
 OPTION_REG = 0xC7;
=====================================
3-
انا رأيت في الكود انك جعلت الاطراف 1 و2 للبورت A دخل ولم يتم أستخدامهما وهذا خطأ كبير لانك البيك سيصبح عمله غير مستقر تماما لانه هذه مداخل ان لم يتم تحديها بــ 1 او 0 فالبيك مره يختارها 1 ومره 0 وقد يؤثر هذا سلبا على بقيه البورتات


الاخ العزيز حسن
السلام عليكم

شكراً لك على الاستجابة السريع ارجوا من الله سبحانه ان يزيل كل همومك ويرزقك الخير في الدنيا والاخر ويجعل عملك خالصاً لوجه الله

اخي العزيز الكود عمل بشكل جيد شكراً جزيلاً


التعديل الأخير تم بواسطة : احمد العراقي بتاريخ 12-12-2014 الساعة 03:56 PM
احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 0 اعجاب
شكراً حسن هادي محمود ( شكر العضو على هذه المشاركة )

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:136
قديم 12-12-2014, 04:00 PM المشاركة 4   
افتراضي


الاخ العزيز حسن
السلام عليكم

شكراً لك على الاستجابة السريع ارجوا من الله سبحانه ان يزيل كل همومك ويرزقك الخير في الدنيا والاخر ويجعل عملك خالصاً لوجه الله

اخي العزيز الكود عمل بشكل جيد شكراً جزيلاً
السلام عليكم
أخي العزيز الاتجاه يعمل ولكي يعمل معك فأن سويج أما يكون مفتوح او مضغوط بشكل مستمر

تحياتي

إضافة رد

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

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

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


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

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