Robocon Assiut

مرحبا بك عزيزي الزائر في منتدي روبوكون اسيوط
يمكنك التسجيل للمشاركة

انضم إلى المنتدى ، فالأمر سريع وسهل

Robocon Assiut

مرحبا بك عزيزي الزائر في منتدي روبوكون اسيوط
يمكنك التسجيل للمشاركة

Robocon Assiut

هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

روبوكون 2014 Robocon Egypt


+3
the collector
Eng MBH
abdalhy
7 مشترك

    الدرس السادس micro control

    abdalhy
    abdalhy
    Magic Admin
    Magic Admin


    ذكر عدد المساهمات : 68
    نقاط : 1405
    تاريخ التسجيل : 15/08/2010
    العمر : 33

    الدرس السادس micro control Empty الدرس السادس micro control

    مُساهمة من طرف abdalhy السبت سبتمبر 11, 2010 12:32 pm

    بسم الله الرحمن الرحيم

    في هذا الدرس سوف ينقسم الي 3 اجزاء جزء نظري والكتروني وبرمجة
    وفي نهاية الدرس يوجد سرح بلفيديو

    اولا الجزء النظري
    (جزء منها منقول من القرية الالكترونية)

    قد تعلمنا في الدرس السابق عمل soft start للروبوت ولكن بطريقة مملة
    عن طريق اطفاء وتشغيل الموتور وبالتالي تم التحكم في الجهد الواصل لموتور عن طريق اخذ متوسط مدة التشغيل
    ام في هذا الدرس سوف نتكلم عن شيئ جد يد يسمي pwm

    Pulse Width Modulation

    [center]ما هو ؟

    نشاهد الصورة التالية

    الدرس السادس micro control Image1hnp
    كما تشاهدون أن الـ PWM عبارة عن نبضة أو Puls لها بداية و لها نهاية هذه النبضة تتكون من التالي
    Ton & Toff & Ttotal
    قبل الدخول للقوانين ما هي الفائدة من PWM ؟
    هو التحكم بقيم تماثلية عن طريق قيم رقمية يعني استطيع التحكم بالفولت عن Duty cycle .

    قبل الشرح الفائدة يجب أن تعرف بعض الأشياء
    ما هو الـ Duty Cycle ?

    نشاهد القانون التالي
    الدرس السادس micro control Image2jg
    نسبة الـ Ton لـ Ttotal .

    القانون هذا لا يستخدم عادا ولكن ذكرناه للعلم فقط

    [center]نشاهد القانون التالي

    الدرس السادس micro control Image3wk
    و نحن نعرف أن دخل البك يساوي 5 فولت و بالتالي خرج أطرافه حالتين إما صفر أو 5 فولت . و من خلال مبدأ الـ PWM استطيع أن اجعل الخرج يبدأ من صفر حتى 5 فولت . كيف ذلك ؟ نأخذ مثال لتوضيح ذلك
    لو أردت أن اجعل خرج البك عن طريق الـ PWM يساوي 2.5 فولت كيف ذلك ؟ نشاهد التالي
    من خلال القوانين السابقة نستطيع جعل الخرج 2.5 فولت عن طريق التحكم بالـ Duty Cycle و لا تنسى أن الـ Duty Cycle عبارة عن نسبة مئوية يعني لو كان الـ Duty Cycle يساوي 50 % فإن نصف الخمسة فولت سوف تصبح 2.5 فولت و كلما زاد الـ Duty Cycle زادت قيمة الخرج فالعلاقة بين Vout و الـ Duty Cycle علاقة طردية .
    شاهد العلاقة التالية
    الدرس السادس micro control Image4sy
    Vout = 0.5*5 = 2.5V




    و بالطريقة هذه استطيع التحكم بالخرج .
    الآن نرجع للسؤال ما هي الفائدة من الـ PWM ؟ باختصار لو كان هناك DC motor مشبوك بطرف البك الذي يولد لي الـ PWM لاستطعت التحكم بسرعته من خلال تغيير Duty Cycle الذي بدوره يغير الخرج و كلما زاد الخرج زادت سرعة الـ DC motor . ارجو أنك عرفت ما هي الفائدة من هذا النوع و للمعلومية هناك فوائد أخرى تستطيع أن توظف هذه الميزة من خلال ما تريد عمله من مشاريع .

    الدرس السادس micro control Image14o
    الدرس السادس micro control Image16t
    الأكثر إثارة في التالي
    هناك أنواع كثيرة من البك تدعم هذه الخاصية نأخذ مثال و هو البك رقم 16f877 و لاحظ أن هذا البك يحتوي على رجلين تولد لي هذه الخاصية نشاهد التالي

    الدرس السادس micro control Image5me
    لاحظ كلمة CCP أي هذه الرجل هي التي سوف تولد لي الـ PWM و هذا البك يمتلك رجلين لتوليد الـ PWM فهي تعتبر ميزة إذاً في البك 16f877 الرجل 16 و 17 هي المسؤولة عن هذا .
    الجزء: الدوئر الالكترونيا


    وهو يمثل تغير في الدئرة الالكترونية لتشغيل الموتور
    سوف يكون هناك ثلاثات اطراف متصل ب pic

    طرف لتحديد الاتجاه يمين وطرف اخر للاتجاه يسار
    وطرف اخر للسرعة
    الدرس السادس micro control 19090469

    يتم توصيل القاعدة للترانزستور Q1 بقاعدة الترانزستور Q2
    ويخرج منهما بطرف للاتجاه يمين مثلا
    يوصل ب pic عندما ياخذ high يمر التيار في اتجاه فيتحرك الموتور

    يتم توصيل القاعدة للترانزستور Q3 بقاعدة الترانزستور Q4
    ويخرج منهما بطرف للاتجاه يسار مثلا
    يوصل ب pic عندما ياخذ high يمر التيار في اتجاه فيتحرك الموتور

    ام الطرف الثالث فهو الطرف الجديد لا يعمل الموتور بدونها لا نها عبارة عن ترنزستور يعمل كمفتاح
    يقفل الدئرة ويشغلها
    ويوصل بطرف pwm في pic
    وهذا صورة توضحية
    الدرس السادس micro control 60421335


    بذلك لتشغيل الموتور لاد تحديد الاتجاه ثم السرعة
    لو اردنا التحرك ال اليمين نخرج high علي رجل من رجول ال pic

    ثم تشغيل pwm

    ثالثا : جزء البرمجة

    في هذا الجزء لن نتعمق كثيرا فيا مكونات ال pic من الداخل
    لذلك نكتفي ببعض النبذات عنها
    وهو يعمل عن طريق timer 2
    والاوامر الخاصة بها
    هي
    اوام تكتب في اول البرنامج فقط
    setup_timer_2(T2_DIV_BY_16,255,1);
    setup_ccp1(CCP_PWM);
    setup_ccp2(CCP_PWM);

    اومر تكتب لتغير السرعة او duty
    set_pwm1_duty (value); j
    ////// تخص pin C2

    set_pwm2_duty (value); j
    /// تخص pin C1
    قيمة المتغير value بين0 و 1024
    لو اردنا انا يكون السرعة سريعة جدا توضع 1023
    لو اردنا ان تكون نصف السرعة تكون 512
    لو اردنا الاطفاء توضع 0


    ناتي لدور البرنامج
    الكود:

    #include "C:\Documents and Settings\a\Desktop\New Folder (3)\6.h"


    void main()
    {

      setup_adc_ports(NO_ANALOGS);
      setup_adc(ADC_OFF);
      setup_psp(PSP_DISABLED);
      setup_spi(FALSE);
      setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
      setup_timer_1(T1_DISABLED);

      ///////////////////////
      setup_timer_2(T2_DIV_BY_16,255,1);
      setup_ccp1(CCP_PWM);
      setup_ccp2(CCP_PWM);
    ////////////////////////////////////

      // TODO: USER CODE!!
    output_high(pin_b0);  //
    set_pwm1_duty (512);
    delay_ms(3000);
    set_pwm1_duty (750);
    delay_ms(3000);
    set_pwm1_duty (1023);
    delay_ms(3000);


    }

    شرح البرنامج

    الكود:

    تم اخراج علي
     b0== high
    لكي ياخذ اتجاه الحركة
    ثم توضع السرعة 512 اي يتحرك بنصف السرعة لمدة 3 ثواني
    ثم توضع السرعة 750 اي يتحرك بسرعة اعلي لمدة 3 ثواني
    ثم توضع السرعة1023 اي يتحرك اعلي سرعة لمدة 3 ثواني
    ملاحظا : لا توضع القيمة 1024 لا ن عندهها لن يعمل الموتور
    ولكن توضع ب 1023



    او حمل الفيديو من هنا
    http://www.mediafire.com/?b3osyyd5s3eptp9
    ينابع

    الدرس السادس micro control Icon_arrow



    Eng MBH
    Eng MBH
    مدير
    مدير


    ذكر عدد المساهمات : 98
    نقاط : 2213
    تاريخ التسجيل : 15/08/2010
    العمر : 33

    الدرس السادس micro control Empty رد: الدرس السادس micro control

    مُساهمة من طرف Eng MBH الأحد سبتمبر 12, 2010 10:11 am

    شكرا و بارك الله فيك
    avatar
    the collector
    عضو في روبوكون
    عضو في  روبوكون


    ذكر عدد المساهمات : 11
    نقاط : 20
    تاريخ التسجيل : 08/09/2010
    العمر : 34

    الدرس السادس micro control Empty رد: الدرس السادس micro control

    مُساهمة من طرف the collector الأحد سبتمبر 12, 2010 2:16 pm

    الله على الشغل الجامد يا عبد الحى وربنا يزيدك
    eng_heikal
    eng_heikal
    الكبير
    الكبير


    ذكر عدد المساهمات : 105
    نقاط : 2197
    تاريخ التسجيل : 15/08/2010
    العمر : 33
    الموقع : http://engineeringforall.0-up.com/

    الدرس السادس micro control Empty رد: الدرس السادس micro control

    مُساهمة من طرف eng_heikal الخميس سبتمبر 16, 2010 9:51 am

    بسم الله ما شاء الله
    بارك الله فيك
    avatar
    Fares Elsaraab
    عضو في روبوكون
    عضو في  روبوكون


    ذكر عدد المساهمات : 57
    نقاط : 58
    تاريخ التسجيل : 13/10/2010
    العمر : 33
    الموقع : شمال غرب الجنوب على طول...اول شمال على ايدك اليمين بالضبط...

    الدرس السادس micro control Empty رد: الدرس السادس micro control

    مُساهمة من طرف Fares Elsaraab الجمعة أكتوبر 15, 2010 9:53 pm

    بجد...ربنا يبارك فيك ويجزيك خيرا ان شاء...(اقرأ سورة الفلق بسرعة...)
    avatar
    samielmadssia
    عضو جديد
    عضو جديد


    ذكر عدد المساهمات : 1
    نقاط : 1
    تاريخ التسجيل : 29/04/2012
    العمر : 31

    الدرس السادس micro control Empty رد: الدرس السادس micro control

    مُساهمة من طرف samielmadssia الإثنين أبريل 30, 2012 12:01 am

    جزاك الله خيرا
    avatar
    eng.basem515
    عضو جديد
    عضو جديد


    ذكر عدد المساهمات : 1
    نقاط : 1
    تاريخ التسجيل : 27/09/2012
    العمر : 33
    الموقع : جـــدغــيــرــة

    الدرس السادس micro control Empty رد: الدرس السادس micro control

    مُساهمة من طرف eng.basem515 السبت سبتمبر 29, 2012 11:03 pm

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

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

    وتقبلو مني فائق الاحترام والتقدير

      الوقت/التاريخ الآن هو الجمعة مارس 29, 2024 4:53 am