اطلاعیه

Collapse
No announcement yet.

راه اندازی شفت اینکدر

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

    راه اندازی شفت اینکدر

    سلام به همگی
    من می خوام شفت اینکدر راه اندازی کنم،اطلاعات چندانی هم ندارم :sad:
    از کجا شروع کنم وچه طوری ادامه بدم ؟
    مرسی
    زندگی تاس خوب آوردن نیست ، تاس بد را خوب بازی کردن است

    #2
    پاسخ : راه اندازی شفت اینکدر

    شاید این پست به دردت بخوره

    دیدگاه


      #3
      پاسخ : راه اندازی شفت اینکدر

      دو شیوه برای خوندن شفت انکودر توسط میکرو وجود داره:

      1- ساده: در این روش خروجی Aآ‌ و B سفت انکودر به دو پایه میکرو مثل INT0آ‌ و INT1آ‌ وصل میشه و اینتراپت این دو پایه را روی any change تنظیم کنید. و در روتین اینتراپت هرکدوم یک خط برنامه بنویسید:

      کد:
      unsigned int ENC;                
      
      interrupt [EXT_INT0] void ext_int0_isr(void)
      {
      if (ENC_A==ENC_B) ENC--; else ENC++;
      }
      
      interrupt [EXT_INT1] void ext_int1_isr(void)
      {
      if (ENC_A==ENC_B) ENC++; else ENC--;
      }

      و تمام

      2- روش پیچیده یا حرفه ای: در این روش که در صنعت هم ازش استفاده میشه ما باید سیگنالهای انکودر را از یک فیلتر دیجیتالی عبور دهیم. البته آی سی های مخصوصی برای اینکار ساخته شده مثل LS7366 که تمام کارها را خودش انجام میده و کافیه با SPI میکرو اونو بخونید.
      اگه این IC رو در بازار پیدا نکنید باید خودتون با CPLD یا FPGAآ‌ مدارشو پیاده سازی کنید.
      خود من از یک میکروی جداگانه برای خوندن شفت انکودر استفاده می کنم و از طریق SPI اونو به میکروی اصلی وصل می کنم. اما این روش من در پالسهای فرکانس بالا خوب جواب نمی ده.
      با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

      دیدگاه

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