اطلاعیه

Collapse
No announcement yet.

سوال در مورد استفاده ای خاص از Gcode

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

    سوال در مورد استفاده ای خاص از Gcode

    با سلام خدمت اساتید محترم
    خوب به خط پایین دقت کنید:
    0_____________1___________2__________3____________ _4__________5
    خط بالا رو یک محور در نظر بگیرید که در نقاط 1234 اسپیندل کار کرده( حک کردن یک نقطه با لیزر ) و یک اثری رو ایجاد کرده و نقاط 0 و 5 ابتدا و انتهای محور میباشد.
    Gcode در عملیات بالا به این صورت دستگاه رو راه اندازی میکنه که محور از نقطه صفر شروع به حرکت میکنه و در نقطه 1 وامیسته اسپیندل روشن میشه کارش رو انجام میده و دوباره حرکت میکنه تا نقطه 2 و دوباره وامیسته و اسپیندل روشن میشه و همینطور تا برسه به نقطه 5
    حالا من میخوام محور از نقطه 0 تا نقطه 5 رو بدون مکث حرکت کنه و در نقاط 1234 هیچ مکثی نداشته باشه اما همچنان اسپیندل در نقاط 1234 روشن بشه و تاثیر خودشو بزاره در واقع من میخوام محور از نقطه 0 تا 5 رو با سرعت یکسان حرکت کنه و در نقاط 1234 مکث نکنه ولی اسپیندل در این نقاط کارش رو انجام بده
    سوالم اینه که Gcode این قابلیتو به ما میده؟ اگر میده به چه صورت؟
    فقط خودمو خودشو خدامون...

    #2
    پاسخ : سوال در مورد استفاده ای خاص از Gcode

    تاخیر برای عملکرد اسپیندل معمولا در نرم افزار تعریف می شود (مثلا در mach3 که زمان هایی قابل تعریف است) و در صورت صفر بودن این تاخیرها می توانید بصورت پشت سر هم، حرکت هایی را از طریق GCODE تعریف کنید و در پایان هر حرکت هم عملیات فعال و غیر فعال کردن اسپیندل را برای فرمان به لیزر انجام دهید.
    اوژن: به معنای افکننده و شکست دهنده است
    دانایی، توانایی است-Knowledge is POWER
    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

    دیدگاه


      #3
      پاسخ : سوال در مورد استفاده ای خاص از Gcode

      نوشته اصلی توسط طراح
      تاخیر برای عملکرد اسپیندل معمولا در نرم افزار تعریف می شود (مثلا در mach3 که زمان هایی قابل تعریف است) و در صورت صفر بودن این تاخیرها می توانید بصورت پشت سر هم، حرکت هایی را از طریق GCODE تعریف کنید و در پایان هر حرکت هم عملیات فعال و غیر فعال کردن اسپیندل را برای فرمان به لیزر انجام دهید.
      ممنون
      ولی من دارم با GRBL کار میکنم. طبق توضیحاتی که فرمودین، در لینک رو به رو https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.8 کدام یک از موارد $0 تا $22 مربوط به تاخیر اسپیندل میشه؟ :read:
      با تشکر
      به تصویر زیر دقت کنید:
      ----------------------
      ----0..0---0..0----
      ---0....0-0....0---
      ---0...........0----
      ----0.........0-----
      ------0.....0-------
      --------0.0---------
      ---------0-----------
      ----------------------
      در نقاط --- محور با سرعتی خاص حرکت میکنه بدون روشن بودن اسپیندل. در نقاط ... محور با همون سرعت حرکت میکنه با روشن بودن اسپیندل. و نقاط 0 نقاطی هستند که اسپیندل در اون نقاط روشن یا خاموش میشه. مشکل اینه که در نقاط 0 یعنی هنگام روشن شدن یا خاموش شدن اسپیندل مکث بزرگی وجود داره که باعث میشه اون نقطه خیلی پر رنگ تر از نقاط .... بشه و در واقع تصویر به همین شکلی که بالا درست کردم در میاد طوری که انگار دور اون قلب رو خطی کشیده باشیم ولی در اصل باید اینطوری بشه:
      ----------------------
      ----....---....-------
      ---......-......------
      ---.............------
      ----...........-------
      ------.......---------
      --------...-----------
      ---------.------------
      ----------------------
      حالا چطور میتونم این تاخیر رو از بین ببرم؟
      فقط خودمو خودشو خدامون...

      دیدگاه


        #4
        پاسخ : سوال در مورد استفاده ای خاص از Gcode

        با سلام
        توی GCODE دستور ها پشت سر هم اجرا میشن. مثلا وقتی شما دستور G0 بدین و بعدش مثلا دستور M3 ، اول با G0 به اون نقطه میره و بعدش با M3 اسپیندل تو جهت مورد نظر روشن میشه و بعد مثلا با G1 حرکت رو ادامه میده.

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

        بنا بر این فکر میکنم بهتره پارامتر شتاب رو افزایش بدین یعنی 8$ رو زیادتر کنین.
        کمترین توقع از یک فرد تحصیلکرده، دانستن املای صحیح کلمات است.

        دیدگاه


          #5
          پاسخ : سوال در مورد استفاده ای خاص از Gcode

          نوشته اصلی توسط نو رسیده
          با سلام
          توی GCODE دستور ها پشت سر هم اجرا میشن. مثلا وقتی شما دستور G0 بدین و بعدش مثلا دستور M3 ، اول با G0 به اون نقطه میره و بعدش با M3 اسپیندل تو جهت مورد نظر روشن میشه و بعد مثلا با G1 حرکت رو ادامه میده.

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

          بنا بر این فکر میکنم بهتره پارامتر شتاب رو افزایش بدین یعنی 8$ رو زیادتر کنین.
          سلام
          بله همینطور که میفرمایید هست اما شتاب رو هم روی حداکثر خودش قرار میدم ولی مقدار شتاب از یک حدی به بعد بی تاثیر میشه و دیگه نمیتونه سرعت رو بالا ببره واون مکث بسیار کوچیک چون تعدادش بالاس بسیار بزرگ دیده میشه و کاری رو که در 10 دقیقه میشه زد 1 ساعت طول میکشه بزنه و جدا از این مورد دور تا دور طرح رو حاشیه میندازه که این دو مشکلات بسیار بزرگی هستند.
          یعنی در جی کد راه حلی برای این موضوع وجود نداره؟ باید به فکر نوشتن کدی اختصاصی باشم؟
          فقط خودمو خودشو خدامون...

          دیدگاه


            #6
            پاسخ : سوال در مورد استفاده ای خاص از Gcode

            توی CNCآ‌ های صنعتی هم همینطوریه. یعنی بعضی از کروها که قابل تبدیل به وکتور نیستن، با مجموعه ای از نقاط مختصات دهی میشن و این حجم برنامه رو خیلی بالا میبره، ضمن اینکه برای یه سیستم ضعیف زمان ماشینکاری رو هم زیاد میکنه.

            توی اونا چون اسپیندل دائم روشنه، و قرار نیست سیستم در بین این نقاط کاری انجام بده، این مسئله رو با درونیابی حل کردن، بطوریکه حتی با مختصات نقطه ای، حرکت محور کاملا پیوسته دیده میشه. ولی اگه درست فهمیده باشم مسئله شما اینه که باید بعد از هر حرکت و تو هر نقطه، لیزر رو خاموش و روشن کنین و محور باید حتما توقف کنه. درسته؟

            با این حساب چون محور برای روشن و خاموش کردن بیم حتما باید توقف کنه، حتما لبه های کار (نقاط توقف) پررنگ تر میشن. به نظرم یه راهش اینه که روشن و خاموش کردن بیم توسط یه سیستم دیگه انجام بشه. چون پردازشگر داره محور رو جلو میبره، نمیتونه همزمان بیم رو هم روشن کنه. بنا براین نیاز به یه سیستم دیگه هست که بطور موازی با میکروی اصلی کار کنه.

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

            دیدگاه


              #7
              پاسخ : سوال در مورد استفاده ای خاص از Gcode

              نوشته اصلی توسط نو رسیده
              توی CNCآ‌ های صنعتی هم همینطوریه. یعنی بعضی از کروها که قابل تبدیل به وکتور نیستن، با مجموعه ای از نقاط مختصات دهی میشن و این حجم برنامه رو خیلی بالا میبره، ضمن اینکه برای یه سیستم ضعیف زمان ماشینکاری رو هم زیاد میکنه.

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

              دیدگاه


                #8
                پاسخ : سوال در مورد استفاده ای خاص از Gcode

                آقا ویرایش کردم. لطفا ببینین.
                کمترین توقع از یک فرد تحصیلکرده، دانستن املای صحیح کلمات است.

                دیدگاه


                  #9
                  پاسخ : سوال در مورد استفاده ای خاص از Gcode

                  نوشته اصلی توسط نو رسیده
                  آقا ویرایش کردم. لطفا ببینین.
                  درسته این کار شدنی هست اما این فقط میتونه قضیه ی حاشیه دار شدن تصویر رو درست کنه. ولی قضیه سرعت همچنان پا بر جاس. من این حاشیه دار شدن تصویر رو چون مشکل یکسانی با سرعت داشت و بیانش ساده تر بود گفتم در واقع باید بگم مشکل اصلی سرعت کار هست چون اون قضیه در موارد خاص اتفاق میوفته که من خودم یک بار بهش بر خوردم یعنی روی یک جنس خاص میخواستم حک کنم که خودش رو نشون داد. اما مشکل اصلی اینه که سرعت دستگاه رو میخوام ارتقا بدم.
                  ببینید این مشکل سرعت رو تا چند ده برابر کم کرده به این صورت که مثلا یک سطر رو اگر پیوسته و بدون توقف حرکت کنه مثلا یک ثانیه طول میکشه حالا اگر در این سطر بیست بار لیزر روشن و 20 بار خاموش بشه یعنی 40 بار توقف وجود داره که تقریبا چیزی بین 15 تا 20 برابر سرعت رو کم میکنه حالا برای طرح های بزرگتر تصور کنید چه فاجعه ای میشه الان دستگام عکس 10 *10 سانتی متر رو با حداکثر سرعت و شتاب 1 ساعت طول میده که بزنه در صورتی که باید کمتر از 20 ثانیه بزنه (البته این رو فقط تست کردم یعنی این حداکثر سرعت عملا چیزی حک نکرد فقط برای طی کردن مسیر امتحان کردم)
                  فقط خودمو خودشو خدامون...

                  دیدگاه


                    #10
                    پاسخ : سوال در مورد استفاده ای خاص از Gcode

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

                    دیدگاه


                      #11
                      پاسخ : سوال در مورد استفاده ای خاص از Gcode

                      نوشته اصلی توسط نو رسیده
                      اگه دقت کرده باشین تو روش پیشنهادی، مشکل حاشیه ها با حذف توقف حل میشه، وقتی توقف حذف بشه خب سرعت هم میره بالا و بالاتر هم میتونه بره. یعنی شما دیگه توقف نخواهید داشت.
                      چون کنترل بیم توسط یه میکروی دیگه انجام میشه، دیگه لازم نیست محور توقف کنه و بیم روروشن یا خاموش کنه و فقط حرکت میکنه.
                      خوب اگر اینطور که میفرمایید باشه باید کدی اختصاصی براش نوشت دیگه. چون الان این Gcode هست که مشکل آفرین شده. فکر کنم منظور شما این هست که سیستم بیاد فرمان های اسپیندل رو جدا و مختصات رو هم جدا پردازش کنه تا با هم تداخل نداشته باشن. اما این تداخل و تاخیر در Gcode تولید شده وجود داره نه در Gcode پردازش شده. این تاخیر ایجاد شده ناشی از پردازش همزمان نیست ناشی از پیوسته نبودن خوده کد هست. من اگر بیام فرمان لیزر رو از کد جدا کنم باز هم در اون لحظه توقف وجود داره چون کد تولید شده این توقف رو ایجاد کرده. بزارید یه مثال بزنم در یک مختصات 0 تا 100 محور پیوسته و بدون توقف حرکت میکنه حالا بیایم این مختصات رو تجذیه کنیم به ده تا ده تا جدا کنیم به این صورت:
                      0 تا 10
                      10 تا 20
                      20 تا 30
                      ...
                      90 تا 100
                      در کد بالا مثلا فرمان اسپیندل رو جدا کردم و با یک پردازشگر دیگه پردازشش میکنم اما همچنان کد تکه تکه هست و بین هر تکه این مکث هنوز وجود داره.
                      بنده این رو امتحان کردم که میگم. به این صورت که فرمان های اسپیندل رو از کد پاک کردم و فقط مختصات هارو گذاشتم اما در حرکت محور هیچ تاثیری نداشت بنابر این فرمان های اسپیندل تاثیری در حرکت ندارن این مکث برای تکه تکه بودن مختصات هست پس نمیتونه مشکل از پردازش باشه درسته؟
                      فقط خودمو خودشو خدامون...

                      دیدگاه


                        #12
                        پاسخ : سوال در مورد استفاده ای خاص از Gcode

                        بله. کد اختصاصی میخواد. چون GCODE همزمانی اجرا رو ساپورت نمیکنه.

                        فرض کنین شما ازمختصات0 تا 100 باید برین. مثلا توی 10 بیم روشن و توی مثلا 60 باید خاموش بشه. پیش از حرکت، میکروی اصلی مختصات نقاط روشن و خاموش رو به میکروی کمکی میفرسته، بعد حرکت رو از 0 شروع میکنه و یه سره تا 100 میره. میکروی کمکی که داره همزمان مختصات رو مانیتور میکنه، وقتی محور به 10 رسید، بیم رو روشن و وقتی به 60 رسید خاموشش میکنه. این روش نه توقف داره و نه حاشیه. حتی ممکنه بشه میکروی اصلی رو هم حذف کرد. چون فقط یه حرکت یکنواخت میخواد انجام بده. البته ممکنه یه خورده پیچیده بشه. ولی ممکنه.
                        کمترین توقع از یک فرد تحصیلکرده، دانستن املای صحیح کلمات است.

                        دیدگاه


                          #13
                          پاسخ : سوال در مورد استفاده ای خاص از Gcode

                          نوشته اصلی توسط نو رسیده
                          بله. کد اختصاصی میخواد. چون GCODE همزمانی اجرا رو ساپورت نمیکنه.

                          فرض کنین شما ازمختصات0 تا 100 باید برین. مثلا توی 10 بیم روشن و توی مثلا 60 باید خاموش بشه. پیش از حرکت، میکروی اصلی مختصات نقاط روشن و خاموش رو به میکروی کمکی میفرسته، بعد حرکت رو از 0 شروع میکنه و یه سره تا 100 میره. میکروی کمکی که داره همزمان مختصات رو مانیتور میکنه، وقتی محور به 10 رسید، بیم رو روشن و وقتی به 60 رسید خاموشش میکنه. این روش نه توقف داره و نه حاشیه. حتی ممکنه بشه میکروی اصلی رو هم حذف کرد. چون فقط یه حرکت یکنواخت میخواد انجام بده. البته ممکنه یه خورده پیچیده بشه. ولی ممکنه.
                          بله درسته با این حساب باید روی یک کد اختصاصی کار کنم. ممنون از راهنماییاتون.
                          فقط خودمو خودشو خدامون...

                          دیدگاه


                            #14
                            پاسخ : سوال در مورد استفاده ای خاص از Gcode

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

                            دیدگاه


                              #15
                              پاسخ : سوال در مورد استفاده ای خاص از Gcode

                              GCODE اطلاعات حرکت را در اختیار قرار می دهد و از این نظر تفاوتی نمی کند که یک مسیر مستقیم در یک دستور گنجانده شود و یا در چند مرحله پشت سر هم نوشته شود. تاخیری که در عمل در کار شما بوجود می آید ناشی از نحوه اجرای GCODE توسط کنترلر مورد استفاده است و اگر اشکالی در این مورد وجود دارد باید یا کنترلر خود را تغییر دهید و یا اگر امکان آن وجود داشته باشد، در کنترلر موجود اصلاحات لازم را انجام دهید.
                              اوژن: به معنای افکننده و شکست دهنده است
                              دانایی، توانایی است-Knowledge is POWER
                              برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                              وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                              قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                              اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                              ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                              دیدگاه

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