اطلاعیه

Collapse
No announcement yet.

سروو؟؟؟؟؟!!!!!!

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

    سروو؟؟؟؟؟!!!!!!

    با سلام خدمت همه ی دوستان و اساتید گرامی.
    دوستان بنده در پروژه ای میبایست 7 عدد سروو موتور رو با شرط کنترل میکردم، یعنی برای چرخش هر سروو در زاویه ی خاصی که براش تعریف میکنیم ، باید ابتدا یک شرطی محقق میشد که این شرط فرکانس خروجی یک سنسور هست که به میکرو وصله.
    (راستی تا یادم نرفته میکروی کاریمون PIC16F877A و سروو موتورهامون هم در حال حاضر MG995 هست که قرار بر این هست که در ادامه با MG9805 جایگزین بشند)

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

    به این صورت که در هر فرکانس خاصی یک تعداد از سرووهامون در زاویه های تعریف شدش قرار میگیرند.
    منتها الان 2 تا مشکل وجود داره که این 2 مساله به نوع سرووهامون برمیگرده...

    یکی اینکه زمانی که مدار 7 سروو بسته میشه و فرکانس ورودی هم به اون اعمال میشه، به محض زدن تغذیه، سرووها به صورت همزمان در یک زاویه ای که در ابتدای برنامه براشون تعریف شده قرار میگیرند و بعد منتظر رسیدن شرط مربوط به خودشون میمونند و با تحقق شرط در همون زاویه ای قرار میگیرند که بعد از شرط براشون تعریف شده.

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

    و مشکل دوم اینکه ما هدفمون این هست که در یک فرکانس خاصی مثلا 25 هرتز،برای مثال 3 تا از سرووهامون، هر کدوم به ترتیب در یک زاویه ای قرار بگیرند.
    به این ترتیب که ابتدا سرووی اولی بره در زاویه ی تعریف شدش ، به محض اینکه در زاویه قرار گرفت دومی حرکت کنه و بعد از اتمام چرخش دومی، سرووی سومی به زاویه بره.
    منتها در حال حاضر اتفاقی که می افته اینه که هر 3 همزمان حرکت میکنن، و این اصلا مد نظر ما نیست و دقیقا بر خلاف اون چیزی هست که ما میخوایم...

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

    بنده یک دنیا سپاسگذار خواهم شد تا دوستانی که در رباتیک دستشون در کار هست :mrgreen: و با سرووها سر و کار داشتند نظرشون رو راجع به این ماجرا بفرمایند.

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

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



    زندگی برگ بودن در مسیر باد نیست
    امتحان ریشه هاست
    ریشه هم هرگز اسیر باد نیست
    زندگی چون پیچک است
    انتهایش میرسد پیش خدا!

    #2
    پاسخ : سروو؟؟؟؟؟!!!!!!

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

    و اما راجع به سرووها:
    چیزی که خیلی ذهنم رو درگیر میکنه، اینه که اصلا چرا باید ساختار سرووهایی که من استفاده میکنم و خیلی های دیگه ی امثال اون، باید به این نحو باشه که به محض دریافت پالس شروع به حرکت کنن؟
    منظورم اینه که در کاربردهایی مثل بازوهای ربات یا خیلی کاربردهای دیگه، اگر قرار باشه این سرووها آنا با دریافت تغذیه شروع به حرکت کنن و هیچ شرط یا محدودیت یا قانونی رو برای نحوه ی حرکت خودشون رعایت نکنند، در این صورت آیا کار اییشون زیر سوال نمیره؟!
    یا اینکه خیر، تمهیداتی برای بهبود کار آییشون اندیشیده شده؟
    و یا اینکه شاید اصلا به قول فرمایش یکی از دوستان باید جهت این کاربردها از نوع صنعتی این سرووها استفاده بشه؟

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

    دیدگاه


      #3
      پاسخ : سروو؟؟؟؟؟!!!!!!

      خوب اینکه سروو ها به محض اینکه تغذیه میشن خوب مسلما در حالت صفر درجه قرار میگیرن و غیر از این هم نباید انتظاری داشته باشی
      تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
      داشتن عقله زيادتر از دیگر آدم ها است

      دیدگاه


        #4
        پاسخ : سروو؟؟؟؟؟!!!!!!

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

        دوستان و اساتید گرامی بنده چشم به راه راهنمائیهای شمام.....
        زندگی برگ بودن در مسیر باد نیست
        امتحان ریشه هاست
        ریشه هم هرگز اسیر باد نیست
        زندگی چون پیچک است
        انتهایش میرسد پیش خدا!

        دیدگاه


          #5
          پاسخ : سروو؟؟؟؟؟!!!!!!

          ببینید من دقیق متوجه منظور شما نمی شم خودم به شخصه کار با استپ رو ترجیح میدم به خاطر قیمت ولی خوب پول راحتی میاره که خیلی مهمه

          اما از بابت زاویه صفردرجه سروو ها شاید برای شما مشکل ساز باشه مثلا شما میخواهید سرو در زاویه 45 درجه باشه خوب در اول برنامه بمحض اینکه سرو تغذیه شد
          عرض پالس مناسب رو حساب کنید و به سرو بدید با توجه به سرعت کم چرخیدن محور نسبت به پالس الکترونیک ( درنگ دورانی ) سروو مجال جم خوردن پیدا نمیکنه
          تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
          داشتن عقله زيادتر از دیگر آدم ها است

          دیدگاه


            #6
            پاسخ : سروو؟؟؟؟؟!!!!!!

            با سلام

            به نظر می رسد یک پلان معین را برای هر نوبت خاموش نمودن و روشن نمودن سیستم نیاز دارید.
            قبل از خاموش نمودن سیستم یا با هر بار تغییر وضعیت ، زوایا را در یک حافظه غیر فرار مانند eeprom ذخیره نمایید.
            با هر نوبت روشن شدن سیستم، آن زوایا را به pwm ها اعمال کنید.( در کنار کنترل اولیه یک سوییچ قدرت که تغذیه سرووها را فراهم می کند)

            برای موضوع همزمانی حرکت سرووها چون از فید بک استفاده نمی کنید، با فرض خام اینکه سرعت زاویه ای همواره ثابت می ماند،
            (با چند بار آزمایش ،سرعت زاویه ای برای هر مجموعه سروو و اتصالات ،بدست می اید.)
            زمان حرکت هر سروو از پوزیشن فعلی تا پوزیشن بعدی را محاسبه کنید و این تایم ها را برای هر 3 سروو بدست بیاورید.
            برای سروو اولی ، یک زاویه هدف را به pwm اولی اعمال کنید و به اندازه تایم تخمینی ، تاخیر اضافه کنید.
            سپس دومی ( اعمال زاویه دوم به pwm دوم و تاخیر به اندازه تایم محاسباتی مربوطه)
            سپس سومی،( اعمال زاویه سوم به pwm سوم و تاخیر به اندازه تایم محاسباتی مربوطه)
            تا توالی و نوبت بندی قابل قبولی بدست آید.

            با سپاس
            گشتی در لاله زار
            http://www.eca.ir/forum2/index.php?topic=76138.0

            http://www.eca.ir/forum2/index.php?topic=76141

            دیدگاه


              #7
              پاسخ : سروو؟؟؟؟؟!!!!!!

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

              نوشته اصلی توسط Solsal
              با سلام
              به نظر می رسد یک پلان معین را برای هر نوبت خاموش نمودن و روشن نمودن سیستم نیاز دارید.
              قبل از خاموش نمودن سیستم یا با هر بار تغییر وضعیت ، زوایا را در یک حافظه غیر فرار مانند eeprom ذخیره نمایید.
              با هر نوبت روشن شدن سیستم، آن زوایا را به pwm ها اعمال کنید.( در کنار کنترل اولیه یک سوییچ قدرت که تغذیه سرووها را فراهم می کند)
              باز هم یک دنیا سپاسگذار جناب مهندس.
              در این گیر و دار ذهنی که فکر میکردم دیگه نمیتونم با این سرووها به نتیجه ای برسم، فرمایشات شما مانند همیشه برای بنده چراغ امید بود.

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

              نوشته اصلی توسط Solsal
              برای موضوع همزمانی حرکت سرووها چون از فید بک استفاده نمی کنید، با فرض خام اینکه سرعت زاویه ای همواره ثابت می ماند،
              (با چند بار آزمایش ،سرعت زاویه ای برای هر مجموعه سروو و اتصالات ،بدست می اید.)
              زمان حرکت هر سروو از پوزیشن فعلی تا پوزیشن بعدی را محاسبه کنید و این تایم ها را برای هر 3 سروو بدست بیاورید.
              برای سروو اولی ، یک زاویه هدف را به pwm اولی اعمال کنید و به اندازه تایم تخمینی ، تاخیر اضافه کنید.
              سپس دومی ( اعمال زاویه دوم به pwm دوم و تاخیر به اندازه تایم محاسباتی مربوطه)
              سپس سومی،( اعمال زاویه سوم به pwm سوم و تاخیر به اندازه تایم محاسباتی مربوطه)
              تا توالی و نوبت بندی قابل قبولی بدست آید.

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

              زندگی برگ بودن در مسیر باد نیست
              امتحان ریشه هاست
              ریشه هم هرگز اسیر باد نیست
              زندگی چون پیچک است
              انتهایش میرسد پیش خدا!

              دیدگاه


                #8
                پاسخ : سروو؟؟؟؟؟!!!!!!

                نوشته اصلی توسط aliila
                ببینید من دقیق متوجه منظور شما نمی شم خودم به شخصه کار با استپ رو ترجیح میدم به خاطر قیمت ولی خوب پول راحتی میاره که خیلی مهمه

                اما از بابت زاویه صفردرجه سروو ها شاید برای شما مشکل ساز باشه مثلا شما میخواهید سرو در زاویه 45 درجه باشه خوب در اول برنامه بمحض اینکه سرو تغذیه شد
                عرض پالس مناسب رو حساب کنید و به سرو بدید با توجه به سرعت کم چرخیدن محور نسبت به پالس الکترونیک ( درنگ دورانی ) سروو مجال جم خوردن پیدا نمیکنه
                سلام و بسیار متشکرم از پاسختون جناب aliila.
                ببینید منظور بنده این هست که زمانی که سرووها ، تغذیه رو دریافت میکنند، ساکن باشند و بعد از اینکه شرط مربوط به حرکت هر کدوم محقق شد، در زاویه ی تعریف شدشون قرار بگیرند.
                جناب aliila بنده متاسفانه متوجه منظورتون از درنگ دورانی نشدم، میشه لطف کنیدو مقداری بیشتر توضیح بدید؟
                متشکرم.
                زندگی برگ بودن در مسیر باد نیست
                امتحان ریشه هاست
                ریشه هم هرگز اسیر باد نیست
                زندگی چون پیچک است
                انتهایش میرسد پیش خدا!

                دیدگاه


                  #9
                  پاسخ : سروو؟؟؟؟؟!!!!!!

                  با سلام
                  پلان خاموش نمودن:
                  1- از لوپ کنترلی خارج می شود.(خواندن سنسور و انجام محاسبات و واکنش به سنسور )
                  2- زاویه تمام سرووها در حافظه ذخیره می شود( مقادیر pwm ها )
                  3- تغذیه سرووها توسط سوییچ قدرت ، قطع می شود.
                  4- قطع دستی تغذیه.

                  پلان روشن نمودن:
                  1- اتصال دستی تغذیه( مدار میکروکنترلر برق دار می شود و برق تا سر سوییچ قدرت می رسد ولی سوییچ قدرت قطع است)
                  2- زاویه سرووها از حافظه خوانده شده و در pwm ها تنظیم می شود.
                  3- سوییچ قدرت تغذیه سرووها وصل می شود.

                  4- وارد لوپ کنترلی (خواندن سنسور و انجام محاسبات و واکنش به سنسور ) می شود.


                  مورد دوم:
                  سرعت زاویه ای = سرعت دوران یا حرکت خطی سروو
                  فرض خام = سرعت مذکور تا حدودی ثابت باشد.( این برای کارهای غیر دقیق متناسب است که کمی زودتر یا دیرتر شدن و همپوشانی حرکت سرووها ایجاد اشکال نمی کند.)
                  لذا پیشنهاد ایجاد تاخیر متناسب داده شد ولی:

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

                  با سپاس
                  گشتی در لاله زار
                  http://www.eca.ir/forum2/index.php?topic=76138.0

                  http://www.eca.ir/forum2/index.php?topic=76141

                  دیدگاه


                    #10
                    پاسخ : سروو؟؟؟؟؟!!!!!!

                    برای اینکه بشه بهتر کمکتون کرد بهتر خود ماشین و سیستم رو شرح بدید تا بدونیم دارید چه کار میکنید
                    اگه ممکن یک عکس بذارید من دقیق نمی دونم مشکل شما در همزمانی چیه


                    و مشکل دوم اینکه ما هدفمون این هست که در یک فرکانس خاصی مثلا 25 هرتز،برای مثال 3 تا از سرووهامون، هر کدوم به ترتیب در یک زاویه ای قرار بگیرند.
                    به این ترتیب که ابتدا سرووی اولی بره در زاویه ی تعریف شدش ، به محض اینکه در زاویه قرار گرفت دومی حرکت کنه و بعد از اتمام چرخش دومی، سرووی سومی به زاویه بره.
                    منتها در حال حاضر اتفاقی که می افته اینه که هر 3 همزمان حرکت میکنن، و این اصلا مد نظر ما نیست و دقیقا بر خلاف اون چیزی هست که ما میخوایم...
                    با توجه به دیتا شیت سروو مثلا شما می تونید از هر 50 میلی ثانیه به سروو پالس بدید عرض پالس هم بین یک میلی تا دو میلی ثانیه است برای صفر تا 180 درجه است خوب شما 3 تایمر داری هر تایمر یک سروو رو کنترل میکنه خوب به سرو شماره سه بگید بره به 56 درجه 10 ساعت بعد بره به 32 درجه یک ساعت بعد سروو شماره یک بره به 24 درجه یک ماه بعد سرو شماره 2 بره 18 درجه ؟ آیا مشکلی هست ؟

                    درنگ دورانی هم یک اختراع خودم در سروو موتور است یعنی اگه پی در پی به میکرو پالس بدی اون آخرین مقدار رو انجام میده ( یک مفهومی در درس ذخیره و بازیابی اطلاعات است برای هارد دیسک )
                    تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
                    داشتن عقله زيادتر از دیگر آدم ها است

                    دیدگاه


                      #11
                      پاسخ : سروو؟؟؟؟؟!!!!!!

                      نوشته اصلی توسط Solsal
                      با سلام
                      از بنده هم عرض سلام و ادب جناب solsal.
                      از توضیحات روشن کنندتون بسیار متشکرم.

                      نوشته اصلی توسط Solsal
                      پلان خاموش نمودن:
                      1- از لوپ کنترلی خارج می شود.(خواندن سنسور و انجام محاسبات و واکنش به سنسور )
                      2- زاویه تمام سرووها در حافظه ذخیره می شود( مقادیر pwm ها )
                      3- تغذیه سرووها توسط سوییچ قدرت ، قطع می شود.
                      4- قطع دستی تغذیه.

                      پلان روشن نمودن:
                      1- اتصال دستی تغذیه( مدار میکروکنترلر برق دار می شود و برق تا سر سوییچ قدرت می رسد ولی سوییچ قدرت قطع است)
                      2- زاویه سرووها از حافظه خوانده شده و در pwm ها تنظیم می شود.
                      3- سوییچ قدرت تغذیه سرووها وصل می شود.
                      4- وارد لوپ کنترلی (خواندن سنسور و انجام محاسبات و واکنش به سنسور ) می شود.
                      ok.

                      نوشته اصلی توسط Solsal
                      مورد دوم:
                      سرعت زاویه ای = سرعت دوران یا حرکت خطی سروو
                      فرض خام = سرعت مذکور تا حدودی ثابت باشد.( این برای کارهای غیر دقیق متناسب است که کمی زودتر یا دیرتر شدن و همپوشانی حرکت سرووها ایجاد اشکال نمی کند.)
                      لذا پیشنهاد ایجاد تاخیر متناسب داده شد ولی:

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

                      با سپاس
                      جناب مهندس برای حل مشکل اول، روال تئوریش رو دقیقا متوجه شدم ، امیدوارم بتونم تو برنامه و مدارم درست اعمالش کنم و جواب بگیرم.

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

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

                      دیدگاه


                        #12
                        پاسخ : سروو؟؟؟؟؟!!!!!!


                        با سلام و عرض ادب خدمت شما جناب aliila
                        بسیار سپاسگذارم از لطف مجددتون جناب مهندس.

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

                        به عبارتی فرض کنید این اتفاق باید دقیقا در فرکانس 25 هرتز رخ داده بشه، یعنی هر 2 سرووی حرکت افقی و حرکت عمودی باید، دقیقا سر این فرکانس عکس العمل نشون بدند، منتها ابتدا سرووی اول و بعد از اتمام حرکت سرووی اول، سرووی دوم باید حرکت کنه.

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

                        نوشته اصلی توسط aliila
                        با توجه به دیتا شیت سروو مثلا شما می تونید از هر 50 میلی ثانیه به سروو پالس بدید عرض پالس هم بین یک میلی تا دو میلی ثانیه است برای صفر تا 180 درجه است خوب شما 3 تایمر داری هر تایمر یک سروو رو کنترل میکنه خوب به سرو شماره سه بگید بره به 56 درجه 10 ساعت بعد بره به 32 درجه یک ساعت بعد سروو شماره یک بره به 24 درجه یک ماه بعد سرو شماره 2 بره 18 درجه ؟ آیا مشکلی هست ؟
                        بله، فرمایش شما کاملا درست هست، منتها روتین کنترلی سرووهای بنده در برنامه ای که نوشته شده، به صورتی هست که در پست بعدی خدمتتون عرض میکنم.

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

                        باز هم متشکرم از حسن نیت و بزرگواریتون.
                        زندگی برگ بودن در مسیر باد نیست
                        امتحان ریشه هاست
                        ریشه هم هرگز اسیر باد نیست
                        زندگی چون پیچک است
                        انتهایش میرسد پیش خدا!

                        دیدگاه


                          #13
                          پاسخ : سروو؟؟؟؟؟!!!!!!

                          خدمت بزرگواران خودم عرض کنم که برنامه ای که با بزرگواری جناب perfect برای راه اندازی سرووهای کار بنده نوشته شد به این صورت بود:

                          کد:
                           DEFINE OSC 8
                          @ DEVICE pic16f877a,WDT_OFF ,PWRT_ON ,PROTECT_OFF ,LVP_OFF ,HS_OSC ,BOD_OFF
                           
                          servo1 var byte 
                          servo2 var byte 
                          servo3 var byte 
                          servo4 var byte 
                          servo5 var byte 
                          servo6 var byte 
                          servo7 var byte
                          
                          a var byte
                          f var word
                          flag var bit
                          
                          ON INTERRUPT GOTO _interrupt
                          ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                          
                          
                            TRISD=$00
                            PORTD=$00
                            TRISc.0=1
                            TRISB=0
                           ;;;;;;;;;       
                           TMR1L=0
                           TMR1H=0
                           T1CON=$03 ;turn on timer1 in counter mode
                          ;;;;;;;;;  
                          
                           PIR1.1=0 ; TMR2IF=0
                           TMR2=0
                           PR2=249
                           PIE1.1=1 ; Enable timer2 interrupt
                           T2CON=$4F
                          ;;;;;;;;;
                          
                            INTCON.6=1  ;PEIE=1
                            INTCON.7=1  ;GIE=1 , enable global interrupt
                            
                          ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;  
                              
                           servo1=125
                           servo2=125
                           servo3=125
                          servo4=125
                          servo5=125
                          servo6=125
                          servo7=125
                             
                          again:
                          
                          if flag=1 then 
                           
                           if f <= 25 then
                           servo3 = 250
                           servo1 = 100
                           servo2 = 50
                           servo3 = 150
                           endif
                           
                            if f >= 26 and f <= 28 then
                           servo3 = 200
                           servo2 = 200
                           endif
                           
                           if f >= 29 and f <= 31 then
                           servo4 = 100
                           servo1 = 150
                           endif
                           
                           if f >= 32 and f <= 40 then
                           servo3 = 250
                           endif
                           
                            if f >= 41 and f <= 60 then
                           servo4 = 150
                           endif
                          
                           if f >= 61 and f <= 63 then
                           servo3 =100
                           endif
                           
                           if f >= 64 and f <= 66 then
                           servo4 =200
                           endif
                           
                           if f >= 67 and f <= 80 then
                           servo4 =100
                           servo7 = 50
                           servo6 = 250
                           endif
                           
                          
                           if f >= 81 and f <= 100 then
                           servo4 =50
                           servo5 = 100
                           endif
                          
                           if f >= 101 and f <= 103 then
                           servo4 = 25
                           endif
                           
                           if f >= 104 and f <= 115 then
                           servo3 = 25
                           endif
                          
                           if f >= 116 then
                           servo4 = 0
                           endif
                           
                           
                          flag=0 
                          endif 
                             
                          goto again
                          
                          
                          ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                          
                            DISABLE 
                          _interrupt:            ; interrupt service
                          
                          if PIR1.1=1 then     ; if TMR2IF=1 then
                           
                           a=a+1
                           
                           if a>=50 then 
                           F.byte1=TMR1H
                           F.byte0=TMR1L      
                           TMR1L=0
                           TMR1H=0
                           T1CON=$03
                           a=0 
                           flag=1
                           PORTB=f
                           endif  
                             
                                    
                               PORTD = $01
                               PAUSEUS 990 
                               INTCON.2=0
                               TMR0 = 255-servo1
                               OPTION_REG = OPTION_REG & $c0 
                               OPTION_REG = OPTION_REG | $02 
                               while INTCON.2=0
                               wend   
                               PORTD=$00
                               ;;;;;;;;;;;;;;;;;;;;;;;;;;
                                PORTD=$02;
                                PAUSEUS 990 
                                INTCON.2=0
                                TMR0 = 255-servo2 
                                OPTION_REG = OPTION_REG & $c0 
                                OPTION_REG = OPTION_REG | $02 
                                while INTCON.2=0
                                wend
                                 PORTD=$00    
                               ;;;;;;;;;;;;;;;;;;;;;;;;;; 
                                PORTD=$04;
                                PAUSEUS 990 
                                INTCON.2=0
                                TMR0 = 255-servo3
                                OPTION_REG = OPTION_REG & $c0 
                                OPTION_REG = OPTION_REG | $02
                                while INTCON.2=0
                                wend
                                 PORTD=$00
                               ;;;;;;;;;;;;;;;;;;;;;;;;;;  
                                PORTD=$08;
                                PAUSEUS 990  
                                INTCON.2=0
                                TMR0 = 255-servo4 
                                OPTION_REG = OPTION_REG & $c0 
                                OPTION_REG = OPTION_REG | $02
                                while INTCON.2=0
                                wend
                                 PORTD=$00
                               ;;;;;;;;;;;;;;;;;;;;;;;;;;  
                                PORTD=$10
                                PAUSEUS 990  
                                INTCON.2=0
                                TMR0 = 255-servo5
                                OPTION_REG = OPTION_REG & $c0 
                                OPTION_REG = OPTION_REG | $02
                                while INTCON.2=0
                                wend
                                 PORTD=$00
                               ;;;;;;;;;;;;;;;;;;;;;;;;;; 
                                PORTD=$20
                                PAUSEUS 990  
                                INTCON.2=0
                                TMR0 = 255-servo6 
                                OPTION_REG = OPTION_REG & $c0 
                                OPTION_REG = OPTION_REG | $02
                                while INTCON.2=0
                                wend
                                 PORTD=$00
                               ;;;;;;;;;;;;;;;;;;;;;;;;;;  
                                PORTD=$40
                                PAUSEUS 990  
                                INTCON.2=0
                                TMR0 = 255-servo7
                                OPTION_REG = OPTION_REG & $c0 
                                OPTION_REG = OPTION_REG | $02
                                while INTCON.2=0
                                wend
                                PORTD=$00
                               ;;;;;;;;;;;;;;;;;;;;;;;;;; 
                             PIR1.1=0  ; clear TMR2IF
                             endif 
                                
                            RESUME     ;return from interrapt 
                            ENABLE 
                          ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                          
                          end
                          که در این برنامه تایمر1 در مد کانتر کانفیگ شده و وظیفه ی خوندن فرکانس خروجی سنسور که به عنوان شرز برای حرکت سرووهاست رو بر عهده داره.
                          از تایمر 2 برای ساختن زمان رفرش 20 میلی ثانیه برای سرووها استفاده شده که زمانیکه این 20 میلی ثانیه ساخته شد، پرش به روتین کنترلی سرووها اتفاق می افته، یعنی ما 20 میلی ثانیه ای رو که برای کنترل سرووها نیاز داریم ساختیم، حالا برای کنترل سروها، زمان high بودن پالس رو که بین 1 تا 2 میلی ثانیه هست درون وقفه به این صورت ایجاد میکنیم که این زمان 1 تا 2 میلی ثانیه رو به 2 بخش تقسیم میکنیم، بخش اول که یک زمان ثابت1 میلی ثانیه است که توسط pauseus = 990 ساخته میشه، و زمان باقی مونده بین 1 تا 2 میلی ثانیه، توسط سرریز تایمر صفر ساخته میشه.

                          به این ترتیب هر 7 روتین برای کنترل هر 7 سروو هم به همین شکل خواهد بود، که تایمر صفر زمان 1 تا 2 میلی ثانیه رو میسازه، تایمر 2 زمان 20 میلی ثانیه رو و تایمر 1 هم وظیفه ی خوندن فرکانس رو بر عهده داره.

                          بنده باز هم در اینجا از جناب مهندس perfect بابت تمامی زحماتشون برای این برنامه، متشکرو سپاسگذارم.

                          زندگی برگ بودن در مسیر باد نیست
                          امتحان ریشه هاست
                          ریشه هم هرگز اسیر باد نیست
                          زندگی چون پیچک است
                          انتهایش میرسد پیش خدا!

                          دیدگاه


                            #14
                            پاسخ : سروو؟؟؟؟؟!!!!!!

                            با سلام خدمت همه ی دوستان و اساتید محترم:

                            دوستان خوبم همونطور که در پستهای قبل خدمتتون عرض کردم با لطف دوست خوبمون جناب perfect پروژه ی بنده به اینجا
                            رسید که برنامه ای نوشته شد که در اون، 7 سروو موتور، هر کدوم با احقاق شرط مربوط به خودشون در زاویه های تعریف شدش، قرار میگرفتند، منتها بعد از اون با 2 تا مشکل مواجه هستیم:
                            که اولیش حرکت اولیه ی سرووها به محض زدن تغذیه است به عبارتی، با وصل شدن تغذیه، و زمانی که هنوز به شرطها نرسیدیم، همه ی سرووها به سمت یک زاویه ای حرکت میکنند، و مشکل دوم هم حرکت همزمان تعداد سرووهایی هست که بعد از احقاق یک شرط باید بچرخند، و هدف ما این هست که این سرووها به ترتیب و پشت سر هم بچرخند، یعنی در یک شرط خاص، اگر بنا بر این باشه که 3 سروو، هر کدوم در زاویه های متفاوت قرار بگیرند، ابتدا سرووی اول به زاویه بره و بعد از اون دومی و به همین ترتیب بعد از در زاویه قرار گرفتن دومی، سومین سروو به زاویه بره، در صورتی که در حال حاضر هر 3 با احقاق شرط همزمان حرکت میکنند.

                            برای حل مشکل اول، با کمک دوستان به این نتیجه رسیدم که باید این کار رو انجام داد که تایمرهایی که وظیفه ی ساختن وقفه ی 20 میلی ثانیه برای رفرش سرووها و کلا کنترل سرووها رو در برنامه بر عهده دارند، در ابتدای برنامه غیر فعال، و بعد از احقاق اولین شرط فعال کنیم، بنده هم تایمر 2 رو که جناب perfect در برنامه برای کنترل سرووها تنظیم کرده بودند، در ابتدای برنامه 0 و بعد از احقاق شرط اول 1 کردم، منتها اتفاقی که افتاد این بود که وقتی با این حالت به مدار تغذیه میدادم، میکرو داغ میشد و علاوه بر ابنکه عملکرد سرووها به هم میریخت؛ اونها هم گرم میشدند و یک بویی ازشون میومد!
                            البته بعد که تست کردم سرووها و بقیه ی المانهای مدارم سالم بودند و نسوخته بودند.
                            منتها بنده هم فکر میکنم این روش راه حل معقول و درستی برای حل این مشکل باشه، منتها نمیدونم چرا جواب نداد؟!
                            به نظر بنده برنامه از لحاظ تنظیم تایمرها نمیتونه ایرادی داشته باشه، چون اگر اینطور بود اصلا سرووها نباید عملکرد درست میداشتند، به نظر دوستان ، آیا تغییری که در برنامه به نفع غیر فعال کردن تایمرها در ابتدا و فعا ل کردنش بعد از شرط به نحو زیر انجام دادم، اشتباست؟

                            کد:
                            '****************************************************************
                            '* Name  : UNTITLED.BAS                   *
                            '* Author : [select VIEW...EDITOR OPTIONS]          *
                            '* Notice : Copyright (c) 2012 [select VIEW...EDITOR OPTIONS] *
                            '*     : All Rights Reserved                *
                            '* Date  : 13/01/2012                    *
                            '* Version : 1.0                        *
                            '* Notes  :                          *
                            '*     :                          *
                            '****************************************************************
                              
                             DEFINE OSC 8
                            @ DEVICE pic16f877a,WDT_OFF ,PWRT_ON ,PROTECT_OFF ,LVP_OFF ,HS_OSC ,BOD_OFF
                             
                            servo1 var byte 
                            servo2 var byte 
                            servo3 var byte 
                            servo4 var byte 
                            servo5 var byte 
                            servo6 var byte 
                            servo7 var byte
                            
                            a var byte
                            f var word
                            flag var bit
                            
                            ON INTERRUPT GOTO _interrupt
                            ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                            
                            
                              TRISD=$00
                              PORTD=$00
                              TRISc.0=1
                              TRISB=0
                             ;;;;;;;;;       
                             TMR1L=0
                             TMR1H=0
                             T1CON=$03 ;turn on timer1 in counter mode
                            ;;;;;;;;;  
                            
                             PIR1.1=0 ; TMR2IF=0
                             TMR2=0
                             PR2=249
                             PIE1.1=0
                             T2CON=$4F
                            ;;;;;;;;;
                            
                              INTCON.6=0  
                              INTCON.7=0  
                              
                            ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;  
                                
                               
                            again:
                            
                            if flag=1 then 
                             
                             if f <= 25 then
                             
                              INTCON.6=1
                              INTCON.7=1
                              PIE1.1=1
                             
                             servo3 = 250
                             endif
                            
                              if f >= 26 and f <= 40 then
                             servo3 = 100
                             
                             endif
                             
                              if f >= 41 and f <= 60 then
                             servo3 = 200
                             endif
                            
                             if f >= 61 and f <= 80 then
                             servo3 =50
                             endif
                            
                             if f >= 81 and f <= 100 then
                             servo4 =250
                             endif
                            
                             if f >= 101 and f <= 116 then
                             servo4 = 50
                             endif
                            
                             if f >= 117 then
                             servo4 = 200
                             endif
                             
                             
                            flag=0 
                            endif 
                               
                            goto again
                            
                            
                            ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                            
                              DISABLE 
                            _interrupt:            ; interrupt service
                            
                            if PIR1.1=1 then     ; if TMR2IF=1 then
                             
                             a=a+1
                             
                             if a>=40 then 
                             F.byte1=TMR1H
                             F.byte0=TMR1L      
                             TMR1L=0
                             TMR1H=0
                             T1CON=$03
                             a=0 
                             flag=1
                             PORTB=f
                             endif  
                               
                                      
                                 PORTD = $01
                                 PAUSEUS 990 
                                 INTCON.2=0
                                 TMR0 = 255-servo1
                                 OPTION_REG = OPTION_REG & $c0 
                                 OPTION_REG = OPTION_REG | $02 
                                 while INTCON.2=0
                                 wend   
                                 PORTD=$00
                                 ;;;;;;;;;;;;;;;;;;;;;;;;;;
                                  PORTD=$02;
                                  PAUSEUS 990 
                                  INTCON.2=0
                                  TMR0 = 255-servo2 
                                  OPTION_REG = OPTION_REG & $c0 
                                  OPTION_REG = OPTION_REG | $02 
                                  while INTCON.2=0
                                  wend
                                   PORTD=$00    
                                 ;;;;;;;;;;;;;;;;;;;;;;;;;; 
                                  PORTD=$04;
                                  PAUSEUS 990 
                                  INTCON.2=0
                                  TMR0 = 255-servo3
                                  OPTION_REG = OPTION_REG & $c0 
                                  OPTION_REG = OPTION_REG | $02
                                  while INTCON.2=0
                                  wend
                                   PORTD=$00
                                 ;;;;;;;;;;;;;;;;;;;;;;;;;;  
                                  PORTD=$08;
                                  PAUSEUS 990  
                                  INTCON.2=0
                                  TMR0 = 255-servo4 
                                  OPTION_REG = OPTION_REG & $c0 
                                  OPTION_REG = OPTION_REG | $02
                                  while INTCON.2=0
                                  wend
                                   PORTD=$00
                                 ;;;;;;;;;;;;;;;;;;;;;;;;;;  
                                  PORTD=$10
                                  PAUSEUS 990  
                                  INTCON.2=0
                                  TMR0 = 255-servo5
                                  OPTION_REG = OPTION_REG & $c0 
                                  OPTION_REG = OPTION_REG | $02
                                  while INTCON.2=0
                                  wend
                                   PORTD=$00
                                 ;;;;;;;;;;;;;;;;;;;;;;;;;; 
                                  PORTD=$20
                                  PAUSEUS 990  
                                  INTCON.2=0
                                  TMR0 = 255-servo6 
                                  OPTION_REG = OPTION_REG & $c0 
                                  OPTION_REG = OPTION_REG | $02
                                  while INTCON.2=0
                                  wend
                                   PORTD=$00
                                 ;;;;;;;;;;;;;;;;;;;;;;;;;;  
                                  PORTD=$40
                                  PAUSEUS 990  
                                  INTCON.2=0
                                  TMR0 = 255-servo7
                                  OPTION_REG = OPTION_REG & $c0 
                                  OPTION_REG = OPTION_REG | $02
                                  while INTCON.2=0
                                  wend
                                  PORTD=$00
                                 ;;;;;;;;;;;;;;;;;;;;;;;;;; 
                               PIR1.1=0  ; clear TMR2IF
                               endif 
                                  
                              RESUME     ;return from interrapt 
                              ENABLE 
                            ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                            
                            end
                            قسمتهای رنگی مربوط به غیر فعال کردن تایمر در ابتدای برنامه و فعال کردن مجدد اون بعد از احقاق شرط هست:

                            PIR1.1=0
                            TMR2=0
                            PR2=249
                            PIE1.1=0
                            T2CON=$4F
                            ;;;;;;;;;

                            INTCON.6=0
                            INTCON.7=0
                            again:

                            if flag=1 then

                            if f <= 25 then

                            INTCON.6=1
                            INTCON.7=1
                            PIE1.1=1


                            servo3 = 250
                            endif

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

                            جناب solsal پیشنهاد دادند که آخرین وضعیت سرووها قبل از خاموش شدن دستگاه در حافظه ی eeprom ذخیره بشه و به محض روشن کردن مجدد دستگاه، مقدار اونها به سرووها اعمال بشه، برای ثابت موندن سرووها در ابتدای برق دار شدن، دستور ذخیره کردن در حافظه رو از تو هلپ برنامه خوندم که به این صورت هست:

                            EEPROM {Location,}[Constant{,Constant...}]
                            حالا دقیقا نمیدونم برای اینکه روش اخیر رو به کار ببندم، باید از کجا بفهمم که آخرین وضعیت سرووها کدوم هست تا اون رو در یک خونه از حافظه قرار بدم، و بعد باید به چه نحو اون رو از اون خونه ی حاظه دوباره بعد از روشن شدن دستگاه به سرووها اعمال کنم؟!

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

                            دیدگاه


                              #15
                              پاسخ : سروو؟؟؟؟؟!!!!!!

                              باسلام خدمت همه ی دوستان و اساتید گرامی.
                              دوستان محترم متاسفانه بنده برای حل مشکلاتی که با سروو موتورهام داشتم نتونستم به نتیجه ای برسم :sad:
                              برای همین تصمیم گرفتم که سرووهام رو عوض کنم و به پیشنهاد یکی از دوستان از سروو موتورهای صنعتی و یا سرووهای داینامیکسل استفاده کنم،
                              هر چند راه اندازی این سروویی که الان در حال کار با اون هستم (mg9805 و mg995) برای بنده بسیار سخت بوده و تایم خیلی زیادی رو از بنده گرفته و گذشته از همه ی اینها، اگر لطف دوستان و اساتید محترم این سایت مخصوصا جناب perfect نبود، فکر میکنم بنده باید یک تایم خیلی اساسی تر و بیشتر رو صرف این کار میکردم..
                              اما برای پروژه ی ما مهم این هست که نهایتا یک کار تمیز و درست و حسابی، داشته باشیم و به لطف خدا با تموم شدن کار و ساخت دستگاه نگرانی ای بابت عملکرد سرووها که از اساسی ترین اجزای کار هست، نداشته باشیم.

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

                              و یا اینکه خیر، با توجه به همه ی تایم (حدود 10 ما!!) و انرژی ای که برای راه انداختن این سرووها، با شرایط خاص خودش که در پستهای قبلی عرض شد، صرف شده باز هم به صلاح هست که سرووها عوض بشند و از نوع سرووهای صنعتی و یا از سرووهای داینامیکسل که در روباتهای انسان نما استفاده میشند، استفاده کنیم؟

                              اگر این طور هست یعنی تشخیص دوستان بر تعویض سرووها هست بسیار سپاسگذار میشم که بفرمایید بهتره دقیقا از کدوم یک از 2 نوع صنعتی و یا داینامیکسل استفاده بشه؟ و آیا این موتورها دیگه مشکلات قبلی که با موتورهای فعلی داریم رو نخواهند داشت؟ (با توجه به اینکه دلیل اصلی تعویض احتمالی سرووها همین مشکلات هستند)
                              در صورتی که دوستان اطلاعات دیگه ای راجع به سرووهای صنعتی و یا dynamixel دارند، بسیار سپاسگذار میشم که در اختیار بنده قرار بدند، اطلاعاتی مثل نحوه ی کلی برنامه ریزی که آیا با سرووهایی که الان در حال کار با اونها هستم خیلی متفاوت هست، و یا قیمت اونها و یا هر چیز دیگه ای که دوستان از اون اطلاع دارند...

                              باز هم از همه ی شما بزرگوارانی که همواره با حوصله پاسخ گوی سوالات متداول بنده بوده و هستید، یک دنیا سپاسگذارم :agree:
                              زندگی برگ بودن در مسیر باد نیست
                              امتحان ریشه هاست
                              ریشه هم هرگز اسیر باد نیست
                              زندگی چون پیچک است
                              انتهایش میرسد پیش خدا!

                              دیدگاه

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