اطلاعیه

Collapse
No announcement yet.

تشخیص چپ گرد-راست گرد موتور با اپتو کانتر 2 کاناله

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    تشخیص چپ گرد-راست گرد موتور با اپتو کانتر 2 کاناله

    سلام به همگی
    من یه اپتو کانتر دارم که دو کانال خروجی داره برای تشخیص جهت موتور
    در ضمن اینو فهمیدم که اگه اول کانال A فعال شد بعد کانال B مثلا میشه راستگرد و بالعکس
    حلا من میخوام با دو تا وقفه این کارو بکنم
    راهنمایی می خوام

    #2
    پاسخ : تشخیص چپ گرد-راست گرد موتور با اپتو کانتر 2 کاناله

    فکر کنم با این کد جواب بده!!!!؟؟؟

    interrupt [EXT_INT0] void ext_int0_isr(void)
    {
    delay_us(1);
    if(PIND.3==0)
    {
    if(PIND.2==0)
    {
    delay_us(1);
    if(PIND.2==0)
    {
    delay_us(1);
    i=i+1;



    }

    }
    }

    else
    {
    if(PIND.2==0)
    {
    delay_us(1);
    if(PIND.2==0)
    {
    delay_us(1);
    i=i;



    }

    }
    }

    while(!PIND.2)
    {
    while(!PIND.2)
    {
    delay_us(1);
    }
    }
    }

    دیدگاه


      #3
      پاسخ : تشخیص چپ گرد-راست گرد موتور با اپتو کانتر 2 کاناله

      نوشته اصلی توسط golbarg.ms
      سلام به همگی
      من یه اپتو کانتر دارم که دو کانال خروجی داره برای تشخیص جهت موتور
      در ضمن اینو فهمیدم که اگه اول کانال A فعال شد بعد کانال B مثلا میشه راستگرد و بالعکس
      حلا من میخوام با دو تا وقفه این کارو بکنم
      راهنمایی می خوام
      با سلام،

      روش کار مثل خوندن روتاری انکودر هستش....
      کانال A رو به INT0 با Rasing edge وصل کن و کانال B رو به یکی از پورتهای میکرو و در روتین اینتراپت، به محض دریافت اینتراپت، فقط پورت مربوط به کانال B رو چک کن، اگر مثبت بود یک برگردون و الا صفر برگردون، به همین سادگی :mrgreen:
      ( اگر یک بود، مثلا چپ گرده و اگر صفر بود مثلا راست گرد......... )
      مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

      Sh_Nourbakhsh@Yahoo.com

      http://s2.picofile.com/file/7170362468/_Wall_e_.jp

      دیدگاه

      لطفا صبر کنید...
      X