اطلاعیه

Collapse
No announcement yet.

روش راه اندازی انکودر با atmega

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

    روش راه اندازی انکودر با atmega

    سلام دوستان.
    کسی در مورد راه اندازی اینکودر 600 پالس با atmega16 اطلاعاتی داره لطفا کمک کنید
    توضیح:(یک پیچ که چرخش پیچ باعث جلو و عقب رفتن اهرمی میشود که در نهایت یک سطح دارای زاویه + یا - میشود.برای این کار یک اینکودر دارم که ته پیچ نصب شده و با چرخش پیچ پالسهایی رو میده حالا نمیدونم چطور این پالسهارو به atmega16l بدم که فرمان بدم مثلا 10 دور یا 12000 پالس بزنه تا زاویه دستگاه 8 درجه بشه ) ممنون میشم کمکم کنید خیلی لازمش دارم.

    #2
    پاسخ : روش راه اندازی انکودر با atmega

    با سلام
    یه بحث کوتاهی اینجا شده: http://www.eca.ir/forum2/index.php?topic=13543.msg65165#msg65165
    دوست عزیز دقت کنید که اولا نوع انکودر شما به چه صورت است. اگر مانند اکثر انکودرها باشد خروجی آن دو کانال A و آ‌B دارد که خروجی این کانالآ‌ها با هم ۹۰ درجه اختلاف فاز دارند. بر حسب دقتی که میآ‌خواهید سه شکل اتصال به انکودر میآ‌توان در نظر گرفت 1x 2x 4x که اگر تعداد پالسآ‌های انکودر شما در هر دور ۶۰۰ تا باشد به ترتیب دقت به دست آمده برای 1x برابر ۶۰۰ و برای 4x برابر ۲۴۰۰ پالس است.
    به عکس زیر توجه کنید:



    در مد 1X کافی است که یک از کانالآ‌ها رو به اینتراپت خارجی میکرو متصل کنید. و اینتراپت رو به لبه بالارونده (و یا پایین رونده حساس کنید). بعد هر وقتی که اینتراپت فعال شد شما با نگاه کردن به کانال دیگر میآ‌توانید بفهمید که یک استپ به سمت راست یا چپ چرخیدهآ‌اید.
    در مد 2X شما باید برای یک کانال هم لبه بالارونده و هم لبه پایین رونده رو روی یک کانل نگاه کنید.
    در مد 4x باید هر دو کانل رو به اینتراپت متصل کنید و در هر تغییر لبه به کانل دیگر نگاه کنید. این مد کمی پیچیدهآ‌تر است.
    برای اطلاعات بیشتر تحت نام Quadrature Encoder یه سرچی تو گوگل بزنید.
    من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

    دیدگاه


      #3
      پاسخ : روش راه اندازی انکودر با atmega

      سلام
      ممنونم دوست عزیز
      یک سوال دیگه
      درواقع پیچ من هم چپ گرد وهم راست گرد هستش و توی atmaga16 دو تا اینتراپت داریم که یکی رو برای اپتو کانتر برای شمارش دور استفاده کردم و یکی دیگه رو برای این کار میخوام استفاده کنم لطفا کمی توضیح بیشتر در این مورد میدین ممنون میشم.

      دیدگاه


        #4
        پاسخ : روش راه اندازی انکودر با atmega

        نوشته اصلی توسط hosein.jafari
        سلام
        ممنونم دوست عزیز
        یک سوال دیگه
        درواقع پیچ من هم چپ گرد وهم راست گرد هستش و توی atmaga16 دو تا اینتراپت داریم که یکی رو برای اپتو کانتر برای شمارش دور استفاده کردم و یکی دیگه رو برای این کار میخوام استفاده کنم لطفا کمی توضیح بیشتر در این مورد میدین ممنون میشم.
        با سلام
        اولا تا اون جایی که یادم است، میگا ۱۶ سهآ‌تا اینتراپت داشت. البته مهم نیست اگر شما بخواهید از مد 1x (و احتمالا 2x) استفاده کنید، کافی است که یکی از خروجیآ‌های انکودر رو به اینتراپت متصل کنید و خروجی دیگر رو به یکی از پینآ‌های میکرو متصل کنید. فرض کنید که اینتراپت هم حساس به لبه بالارونده است. حالا کافی است که هر وقتی اینتراپت فعال شد به پین دیگر نگاه کنید، اگر ۱ بود شما در جهت راستگرد (و یا چپگرد) حرکت کردهآ‌اید و اگر ۰ بود در جهت مخالف حرکت کردهآ‌اید. در این مرحله میآ‌توانید یک متغیر رو برای نگه داشتن تعداد پالسآ‌ها برای اندازهآ‌گیری زاویه چرخش قرار بدهید و با توجه به جهت چرخش یک واحد از آن کم و یا به آن اضافه کنید. این مد خیلی ساده است و به همین راحتی میآ‌توان برای آن کد بنویسید.
        موفق باشید
        من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

        دیدگاه


          #5
          پاسخ : روش راه اندازی انکودر با atmega

          سلام
          من توی این مسئله زیاد وارد نیستم.
          ببینید اینکودر دو تا خروجی a,b داره یکی ساعت گرد ودیگری عکس و من هر دو جهت رو لازم دارم چون پیچ من به هردو جهت هم حرکت میکنه,حالا با توجه به گفته شما پین ( a) به اینتراپت و ( b ) رو به پین میکرو یک سوال دیگه:
          منظور از پین میکرو کدام پین و من چطوری میتونم فرمان بدم که موتور من چپ بچرخه یا راست با توجه به اینکهاینکودر هم وصله به مدار
          (چون توی ذهنم به این شکله که اینکودر با چرخشی که موتور به پیچ اعمال میکنه پالسهائی رو به میکرو میفرسته چپ یا راست.ولی قبل از آن من باید دستوری بدم که موتور بچرخه.چون که من زیاد وارد نیستم خیلی سوال میکنم بالاخره ببخشید اگه زحمتتون نمیشه یه حالت کلی از اینکه چطور دستور بدم که موتور من مثلا هشت دور در جهت راست یا چپ بچرخه در ضمن موتور من سه فازه خیلی خیلی ممنون میشم. :redface:

          دیدگاه


            #6
            پاسخ : روش راه اندازی انکودر با atmega8 (مقدمهآ‌ای کوتاه بر کنترلر حلقه بسته PID)

            نوشته اصلی توسط hosein.jafari
            سلام
            من توی این مسئله زیاد وارد نیستم.
            ببینید اینکودر دو تا خروجی a,b داره یکی ساعت گرد ودیگری عکس و من هر دو جهت رو لازم دارم چون پیچ من به هردو جهت هم حرکت میکنه,حالا با توجه به گفته شما پین ( a) به اینتراپت و ( b ) رو به پین میکرو یک سوال دیگه:
            منظور از پین میکرو کدام پین و من چطوری میتونم فرمان بدم که موتور من چپ بچرخه یا راست با توجه به اینکهاینکودر هم وصله به مدار
            (چون توی ذهنم به این شکله که اینکودر با چرخشی که موتور به پیچ اعمال میکنه پالسهائی رو به میکرو میفرسته چپ یا راست.ولی قبل از آن من باید دستوری بدم که موتور بچرخه.چون که من زیاد وارد نیستم خیلی سوال میکنم بالاخره ببخشید اگه زحمتتون نمیشه یه حالت کلی از اینکه چطور دستور بدم که موتور من مثلا هشت دور در جهت راست یا چپ بچرخه در ضمن موتور من سه فازه خیلی خیلی ممنون میشم. :redface:
            با سلام
            اگر یکی رو به اینتراپت متصل کنید پایه دیگر انکودر رو به هر کدام از پینآ‌های میکرو که خواستید میآ‌توانید متصل کنید، محدودیت خاصی نداره.
            در مورد سوال دوم درباه چرخش موتور بحث دیگه خیلی فرق داره. اولا من اصلا با موتورآ‌های سه فاز آشنایی ندارم نمیآ‌دونم درایو آنآ‌ها به چه صورت است، احتمالا شما باید این سوال رو به صورت جداگانه از دوستان وارد بپرسید. ولی این طور که به نظر من میآ‌رسه شما در واقع به یک کنترلر سرو موتور نیاز دارید. و میآ‌خواهید کنترل موقعیت انجام بدهید (موتور چند دور بچرخد و سپس متوقف شود). خوب این کنترلر خیلی ساده نیست. البته به صورت کلی کنترلر شما دارای این بخشآ‌ها است.
            ۱. قسمت درایو موتور این قسمت باید فرمان حرکت رو از قسمت کنترلر بگیرد و به موتور اعمال کند. خروجی برای موتور معمولا به صورت pwm است، حداقل در موتورآ‌های DC به این صورت است.
            ۲. قسمت فیدبک در این قسمت شما از موتور فیدبک میآ‌گیرید. در مثال شما این فیدبک به کمک انکودر گرفته میآ‌شود. که شما این قسمت رو بلد شدهآ‌اید.
            ۳. قسمت کنترلر قسمت اصلی و مغز دستگاه که معمولا در کنترلرهای سروو از کنترلر PID در آن استفاده میآ‌شود. یعنی شما لازم دارید که حلقه PID رو در میکرو پیادهآ‌سازی کنید. این حلقه درواقع از سه قسمت انتگرال، مشتق و قسمت نسبتی (proportional فارسیش دقیق چی میآ‌شه؟؟ ) تشکیل شده. سادهآ‌تر شما یک موقعیت دارید که میآ‌خواهید موتور به آن نقطه برود. و همچنین یک فیدبک از موقعیت فعلی موتور به کمک انکودر گرفتهآ‌اید. اختلاف این دو مقدار که به Error هم معروفه برای اعمال به موتور استفاده میآ‌شه به این صورت که، در قسمت انتگرال مقدار این error با مقادیر قبلی جمع میآ‌شه و در یک ضریب ضرب میآ‌شه، در قسمت مشتق از مقدار قبلی error کم میآ‌شه و ضرب در یک ضریب و در قسمت خطی فقط در یک ضریب ضرب میآ‌شه، در شکل زیر دیاگرام PID رو نشون میآ‌ده:


            منبع: http://en.wikipedia.org/wiki/PID_controller
            در این عکس هم مشخصه setpoint مقداری است که شما میآ‌خواهید موتور رو بچرخونید مثلا ۱۰۰ پالس به راست یا چپ. Error هم که اختلاف مقدار فعلی با مقدار مقصد است. Process هم همان موتور است. قسمت outputهم که از آن به کمک انکودر feedback گرفته شده است،

            من به شما پیشنهاد میآ‌کنم که به سایت ATMEL قسمت Application Notes یه سری بزنید اینجا http://www.atmel.com/products/AVR/mc/?family_id=607 چندین مثال کنترلر موتور قرار داده که مطمئن هستم میآ‌تونه کمک کنه.
            من مطمئن نیستم ولی ممکن است راه حلآ‌ها و کنترلرهای سادهآ‌تری موجود باشد این روش روش کلاسیک کنترل موتور است.

            من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

            دیدگاه


              #7
              پاسخ : روش راه اندازی انکودر با atmega

              در این وب سایت نیز آموزش راه اندازی این انکودر با AVR آماده است.
              آموزش راه اندازی انکودر صنعتی با AVR در مرکز مکاترونیک ایران:

              http://mechatronic-lab.com/index.php?newsid=60

              دیدگاه


                #8
                پاسخ : روش راه اندازی انکودر با atmega

                سلام من هم یک مشکلی داشتم می خواستم یک استپ موتور راه اندازی کنم که توسط انکور قابل کنترل باشد به یکی از دو روش زیر
                1- یا فرمان مستقیم از انکودر بگیرد یعنی با دادن مقدار مثلا 3 درجه این مقدار رو به درایو استپ مو تور داده و موتور را سه درجه حرکت بدهد و اگر امکانش داشته باشد مقدار درجه ما را هم بر حصب پالس نیز نشان هد .
                2- و یا ما بتوانیم با دادن پالس به درایو مقدار درجه توسط انکدر را برای ما نشان دهد و در هر دو مورد مونیترورینگی داشته باشیم برای دیدن مقدار درجه که توسط انکودر ارسال می گردد

                دیدگاه

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