اطلاعیه

Collapse
No announcement yet.

برنامه کنترل هم زمان چند استپر موتور ؟؟؟

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

    برنامه کنترل هم زمان چند استپر موتور ؟؟؟

    سلام
    در نظر داشته باشید که قرار است توسط میکرو چند استپر رو کنترل کرد و ما به اینکه درایور چی هست کاری نداریم و فقط بحث برنامه نویسی میکرو را در نظر داریم
    فرض کنید برای اینکه یک خط رفت و برگشت توسط دو استپر انجام شود و یک مسیر صاف در نظر بیاد باید به یکی مثلا 392 پله حرکت بدهیم و به دیگری مثلا 464 پله
    من برای اینکه این حرکت به صورت همزمان دیده بشه نه این که اول یکی از استپرها حرکت کنه بعد بره سراغ استپر بعدی اومدم یک تایمر اینتراپت 100 میکروثانیه گذاشتم
    و قبلا میام محاسبه می کنم که هر کدوم از این استپرها باید چه پالسی با چه فرکانسی بگیرند و در واقع از این تایمر برای اندازه پالس هر کدوم استفاده می کنم که چون دقتمون هم 100 میکرو هست تقریبا حرکت صاف و خوبی دیده میشه ولی می خواستم ببینم به نظرتون روش بهتری برای این برنامه هست که بشه چند تا موتور رو به صورت یک پارچه حرکت داد تا حرکتی که می خواهیم رو ببینیم
    باید بگم در سیستم مکانیکی نمی شود دست زد
    این سیستم طوری طراحی شده که برای کشیدن هر خط صافی در هر مکانی از صفحه باید تعداد پالس های مورد نیاز استپرها محاسبه شوند
    به طور مثال خطی به اندازه 100 میلی متر در بخشی از صفحه با بخش دیگری از صفحه محاسباتشون کاملا فرق می کنه
    اللهم صل علی محمد و ال محمد و عجل فرجهم
    پیامبر اکرم(ص):زکات علم نشر آن است.
    در کشور هاي غربي انتقال تجربيات و دانش به افراد مبتدي يک پيشرفت محسوب شده و به آن مديريت دانش مي گويند. ولي متاسفانه اين فرهنگ هنوز در کشور ايران رايج نشده است !!!

    #2
    پاسخ : برنامه کنترل هم زمان چند استپر موتور ؟؟؟

    با سلام
    بنظرم بستگی به سرعت مورد نیازتون هم داره. اما بعید میدونم اینکارو بشه با یه میکرو انجام داد.
    خود 100 میکرو ثانیه ماکزیمم 10 کیلوهرتز بهتون میده که عدد زیادی نیست. عملا فکر میکنم با این روش به سرعت خوبی دست پیدا نمیکنین.
    یکی از دردسرهای اینکار اینه که تغییرات فرکانس نسبت به تغییرات زمان که ما از تایمر بدست میاریم خطی نیست و نماییه و این کار رو مشکل میکنه.
    توی cnc ها هم معمولا آپشن داره که میخواید حرکتهایی که همزمان شروع میشن، با هم تموم بشن یا به ترتیب؟ البته فقط برای G0 این امکان هست که مسیر حرکت براش مهم نیست و فقط مقصد مهمه.
    من ترجیح میدم برای تولید فرکانسهای متفاوت و دقیق از FPGA استفاده کنم یا از یه سینتی سایزر! با میکرو تجربه ی دقیقی تو این زمینه نداشتم.
    کمترین توقع از یک فرد تحصیلکرده، دانستن املای صحیح کلمات است.

    دیدگاه


      #3
      پاسخ : برنامه کنترل هم زمان چند استپر موتور ؟؟؟

      توضیحم رو کامل تر کنم
      من تعداد پالس ها رو مقایسه می کنم هر کدوم که تعدادش بیش تر بود به ازای هر 2 میلی ثانیه یعنی 20 تا اینتراپت مقدارش تغییر می کنه تا یک پالس 4 میلی ثانیه تشکیل بشه
      خب حالا تعداد پالس بیش تر ضرب در 4 میلی ثانیه تقسیم بر تعداد پالس کم تر مشخص می کنه برای پالس کم تر چه عرض پالسی نیازه
      به طور مثال در همین اعدادی که گفتم
      464 پالس و 392
      خب برای 464 که همون 4 میلی ثانیه رو در نظر می گیرم
      حالا برای 392 داریم ====>>> 464 ضربدر 4 میلی ثانیه مساوی میشه با 1856 میلی ثانیه که تقسیم بر 392 مساوی میشه با 4.73 خرده ای که در این صورت به ازای هر 100 میکرو ثانیه 23 بار اینتراپت تغییر وضعیت داریم
      که همون طور که می بیند با این اعداد به این دقت می رسیم
      حالا اگر برنامه داخل میکرو و اینتراپت رو در نظر نگیریم تقریبا چیزی در حدود 130 میکرو ثانیه خطا داریم برای هر پالس
      اللهم صل علی محمد و ال محمد و عجل فرجهم
      پیامبر اکرم(ص):زکات علم نشر آن است.
      در کشور هاي غربي انتقال تجربيات و دانش به افراد مبتدي يک پيشرفت محسوب شده و به آن مديريت دانش مي گويند. ولي متاسفانه اين فرهنگ هنوز در کشور ايران رايج نشده است !!!

      دیدگاه


        #4
        پاسخ : برنامه کنترل هم زمان چند استپر موتور ؟؟؟

        نوشته اصلی توسط seyed saeed نمایش پست ها
        سلام
        در نظر داشته باشید که قرار است توسط میکرو چند استپر رو کنترل کرد و ما به اینکه درایور چی هست کاری نداریم و فقط بحث برنامه نویسی میکرو را در نظر داریم
        فرض کنید برای اینکه یک خط رفت و برگشت توسط دو استپر انجام شود و یک مسیر صاف در نظر بیاد باید به یکی مثلا 392 پله حرکت بدهیم و به دیگری مثلا 464 پله
        من برای اینکه این حرکت به صورت همزمان دیده بشه نه این که اول یکی از استپرها حرکت کنه بعد بره سراغ استپر بعدی اومدم یک تایمر اینتراپت 100 میکروثانیه گذاشتم
        و قبلا میام محاسبه می کنم که هر کدوم از این استپرها باید چه پالسی با چه فرکانسی بگیرند و در واقع از این تایمر برای اندازه پالس هر کدوم استفاده می کنم که چون دقتمون هم 100 میکرو هست تقریبا حرکت صاف و خوبی دیده میشه ولی می خواستم ببینم به نظرتون روش بهتری برای این برنامه هست که بشه چند تا موتور رو به صورت یک پارچه حرکت داد تا حرکتی که می خواهیم رو ببینیم
        باید بگم در سیستم مکانیکی نمی شود دست زد
        این سیستم طوری طراحی شده که برای کشیدن هر خط صافی در هر مکانی از صفحه باید تعداد پالس های مورد نیاز استپرها محاسبه شوند
        به طور مثال خطی به اندازه 100 میلی متر در بخشی از صفحه با بخش دیگری از صفحه محاسباتشون کاملا فرق می کنه

        چرا شما از یک اینترراپت برای دوتا موتور استفاده میکنید ؟
        آنهم با زمان بندی ثابت ؟

        برای هر موتور از یک اینترراپت استفاده کنید و زمان اجرای هر اینترراپت را هم مستقلا با توجه به سرعت آن موتور تنظیم کنید
        من اینکار را برای کنترلر پایه تلسکوپ کردم و نتیجه خوبی گرفتم

        دیدگاه


          #5
          پاسخ : برنامه کنترل هم زمان چند استپر موتور ؟؟؟

          نوشته اصلی توسط seyed saeed نمایش پست ها
          توضیحم رو کامل تر کنم
          بله. مهندس. گرفتم مطلبو. عرض کردم که به سرعتتون بستگی داره.
          اگه در همین حدود سرعت 200 - 300 هرتز براتون کافیه، با میکرو راهش همینه.
          اما برای سرعتهای بالاتر مشکل ساز میشه. یعنی درصد خطاش میره بالا.
          دقیقا همین خطا به مسیر حرکت هد هم منتقل میشه و روی دقت پوزیشنینگ دو بعدی تاثیر میذاره. بنا بر این علاوه بر سرعت، دقت مورد نیازتون هم تو این قصه تعیین کننده ست.
          کمترین توقع از یک فرد تحصیلکرده، دانستن املای صحیح کلمات است.

          دیدگاه


            #6
            پاسخ : برنامه کنترل هم زمان چند استپر موتور ؟؟؟

            نوشته اصلی توسط x935418 نمایش پست ها
            چرا شما از یک اینترراپت برای دوتا موتور استفاده میکنید ؟
            آنهم با زمان بندی ثابت ؟
            سلام
            زمانی که میکرو کارهایی دیگه نخواد انجام بده بهترین روش همین کاریست که شما کردید ولی اگر تعداد موتورها بیش تر شد چه
            و محاسبات و ارتباط با پرفریال های دیگه چه طور
            بعضی اوقات نمیشه از چند اینتراپت استفاده کرد به طور مثال من می تونستم این جا به جای 100 میکرو ثانیه 10 میکروثانیه اینتراپت بدم که دقتم بیش تر می شد تقریبا 10 برابر دقت کار بیش تر میشد ولی
            چون هنوز الباقی برنامه نوشته نشده و فعلا در تست هستم این کار رو نکردم شاید برنامه به جایی برسه که بتونم به قول شما از 2 اینتراپت استفاده کنم یا اینکه دقت اینتراپتم رو بالاتر ببرم
            ممنون

            دلیل: ادغام دو پست برای جلوگیری از اسپم

            نوشته اصلی توسط نو رسیده نمایش پست ها
            بله. مهندس. گرفتم مطلبو. عرض کردم که به سرعتتون بستگی داره.
            اگه در همین حدود سرعت 200 - 300 هرتز براتون کافیه، با میکرو راهش همینه.
            اما برای سرعتهای بالاتر مشکل ساز میشه. یعنی درصد خطاش میره بالا.
            دقیقا همین خطا به مسیر حرکت هد هم منتقل میشه و روی دقت پوزیشنینگ دو بعدی تاثیر میذاره. بنا بر این علاوه بر سرعت، دقت مورد نیازتون هم تو این قصه تعیین کننده ست.
            پس شما فکر می کنید در این سیستم این کار خوبه
            البته خیلی دوست دارم که سرعت بیش تری کار کنم ولی از نظر موتورها و مخصوصا وضعیت مکانیکی فکر می کنم این سرعت کافی باشه
            فعلا سازه آزمایشی است اگر به نتیجه برسه سیستم اصلاحاتی از نظر مکانیکی نیاز دارد
            که شاید با اصلاحات نهایی بشه سرعت بیش تری کار کرد
            اللهم صل علی محمد و ال محمد و عجل فرجهم
            پیامبر اکرم(ص):زکات علم نشر آن است.
            در کشور هاي غربي انتقال تجربيات و دانش به افراد مبتدي يک پيشرفت محسوب شده و به آن مديريت دانش مي گويند. ولي متاسفانه اين فرهنگ هنوز در کشور ايران رايج نشده است !!!

            دیدگاه


              #7
              پاسخ : برنامه کنترل هم زمان چند استپر موتور ؟؟؟

              نوشته اصلی توسط seyed saeed نمایش پست ها
              سلام
              زمانی که میکرو کارهایی دیگه نخواد انجام بده بهترین روش همین کاریست که شما کردید ولی اگر تعداد موتورها بیش تر شد چه
              و محاسبات و ارتباط با پرفریال های دیگه چه طور
              بعضی اوقات نمیشه از چند اینتراپت استفاده کرد به طور مثال من می تونستم این جا به جای 100 میکرو ثانیه 10 میکروثانیه اینتراپت بدم که دقتم بیش تر می شد تقریبا 10 برابر دقت کار بیش تر میشد ولی
              چون هنوز الباقی برنامه نوشته نشده و فعلا در تست هستم این کار رو نکردم شاید برنامه به جایی برسه که بتونم به قول شما از 2 اینتراپت استفاده کنم یا اینکه دقت اینتراپتم رو بالاتر ببرم
              ممنون
              اتفاقا این مال زمانی هستش که ما میخوایم 100 تا کار دیگه هم همزمان انجام بدیم !
              برای هر اینترراپت ، تایمر مربوطه رو تنظیم میکنیم تا در لحظه مناسب تابع مورد نظر ما را صدا کند
              قرار نیست مدت زمان اینترراپت را کم کنید (فاصله دوبار اجرای آن)، هر اینترراپت در زمان خودش اجرا میشود

              من در بدنه برنامه ام هم ارتباط یو اس بی دارم ، هم خواندن سنسور ها وهم آپدیت ال سی دی
              و هم اینکه موتور ها تا کجا پیش رفته اند تا سرعتشان را به تدریج کم کنم تا اینکه نهایتا متوقف شوند

              شاید هم من متوجه منظور شما نشدم، شاید منظور شما اینست که با توجه به اینکه معمولا بیش از 3 یا 4 تا تایمر
              در میکروها نداریم ، اگر بخواهیم بیش از این تعداد موتور رابا اینترراپت های مخصوص به خودشان کنترل کنیم، به مشکل برمیخوریم که صحیح است

              یا شاید شما در مدارتان از همه تایمر ها استفاده کرده اید و فقط یک تایمر برای کنترل موتورهایتان باقی مانده است
              الله اعلم

              دیدگاه


                #8
                پاسخ : برنامه کنترل هم زمان چند استپر موتور ؟؟؟

                نوشته اصلی توسط seyed saeed نمایش پست ها
                سلام
                پس شما فکر می کنید در این سیستم این کار خوبه
                البته خیلی دوست دارم که سرعت بیش تری کار کنم ولی از نظر موتورها و مخصوصا وضعیت مکانیکی فکر می کنم این سرعت کافی باشه
                فعلا سازه آزمایشی است اگر به نتیجه برسه سیستم اصلاحاتی از نظر مکانیکی نیاز دارد
                که شاید با اصلاحات نهایی بشه سرعت بیش تری کار کرد
                بله. وجود یه تایم بیس که تسکها باهاش سینک بشن خوب و لازمه.
                میزان سرعت و شتاب مورد نیاز هم به دینامیک ساختار مکانیکی بستگی داره. اگه بنظرتون مناسبه که خب حله.
                اما معمولا طراحی سیستمها رو طوری انجام میدن که بتونه با دینامیک سیستمهای مختلف هماهنگ بشه.
                بنظرم بد نیست روشهای دستیابی به سرعتهای بالاتر رو هم بررسی کنین.
                کمترین توقع از یک فرد تحصیلکرده، دانستن املای صحیح کلمات است.

                دیدگاه


                  #9
                  پاسخ : برنامه کنترل هم زمان چند استپر موتور ؟؟؟

                  پروژه جالبی است و عجیب در واقع یک روبات نقاش است که بازوهای آن توسط دو موتور استپر کنترل میشه و بازوها با تسمه به قسمتی که قراره خودکار رو به صفحه نزدیک کنه متصل هستند
                  و چون طرحش مثل cnc نیست یکم برنامه نویسی و محاسبات داره و کمی هم پیچیده است
                  در واقع اون قسمت که قرار هست نقاشی کنه آویزون هست و همین مسئله رو پیچیده کرده
                  می شد برای این کار با یک x و y کار رو ساده کرد و به سادگی کار رو راه انداخت ولی این مسئله جذابیت های خاص خودش رو داره
                  اللهم صل علی محمد و ال محمد و عجل فرجهم
                  پیامبر اکرم(ص):زکات علم نشر آن است.
                  در کشور هاي غربي انتقال تجربيات و دانش به افراد مبتدي يک پيشرفت محسوب شده و به آن مديريت دانش مي گويند. ولي متاسفانه اين فرهنگ هنوز در کشور ايران رايج نشده است !!!

                  دیدگاه

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