اطلاعیه

Collapse
No announcement yet.

سروو موتور 360 درجه

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

    سروو موتور 360 درجه

    با سلام عزیزان گرام
    یک سروو موتور MG945 با زاویه 360 درجه به همراه یک CCPM Servo Consistecy Master که یک سروو تستر هست از فروشگاه تهیه کردم.

    زمانیکه با سروو تستر موتوررا روشن میکنم با ولومش هم به سمت راست میچرخه هم به سمت چپ می چرخه. ولتاژ پالس 310میلی راست میچرخه .360 میلی ثابت میشه . و 390 میلی تا 600 میلی هم چپ می چرخه

    اما وقتی با آردینو بهش پالس میدم فقط سمت راست(ساعت) می چرخه. ولتاژ پالس 130میلی راست میچرخه .360 میلی ثابت میشه . اما از 390 میلی به بالا فقط صدای ویز موتور در میاد اما نمیچرخه.

    علت چیه؟

    کد PHP:
    #include "Servo.h"

    Servo danasaz;

    void setup() {
      
    danasaz.attach(6);
    }
    void loop() {

      
    danasaz.write(0); //سرعت زیاد به راست
      
    delay(5000);
      
    danasaz.write(83);//سرعت متوسط به راست
      
    delay(5000);
      
    danasaz.write(84);//سرعت کم به راست
      
    delay(5000);
      
    danasaz.write(85);//سرعت خیلی کم به راست
      
    delay(5000);
      
    danasaz.write(86);//سرعت خیلی خیلی کم به راست
      
    delay(5000);
      
    danasaz.write(90);// ثابت
      
    delay(5000);
      
    danasaz.write(135);//چپ گرد.فقط ویز ویز میکنه
      
    delay(5000);
      
    danasaz.write(360);//چپ گرد.فقط ویز ویز میکنه
      
    delay(5000);

    جدیدترین ویرایش توسط حمید حمید; ۱۲:۳۴ ۱۳۹۸/۱۲/۲۴.

    #2
    پاسخ : سروو موتور 360 درجه

    راه حل برطرف کردن مشکل را فهمیدم اما دلیلش را نمیدانم.
    راه حل اینه که برای حرکت در سمت چپ سروو باید ابتدا با 1 ثانیه با سرعت بسیار کم سروو را در سمت چپ حرکت داد بعد با سرعت زیاد می تواند حرکت کند.
    این مسئله در حرکت به سمت راست صدق نمیکند.
    برنامه زیر سروو را یک دور به سمت راست و سپس یک دور به سمت چپ می چرخاند.البته یک دور حدودی هست چونکه بسته به ولتاژی که به سروو میدین سرعت حرکتش فرق میکند
    کد PHP:
    #include "Servo.h"

    Servo danasaz;

    void setup() {
      
    danasaz.attach(6);
    }
    void loop() {

      
    danasaz.write(83);//Rotate Right 
      
    delay(1800);
      
    danasaz.write(90);//Stop
      
    delay(1000);

      
      
    danasaz.write(100);//Rotate Left
      
    delay(2160);
      
    danasaz.write(90);//Stop
      
    delay(1000);

    جدیدترین ویرایش توسط حمید حمید; ۱۵:۰۶ ۱۳۹۸/۱۲/۲۴.

    دیدگاه


      #3
      پاسخ : سروو موتور 360 درجه

      نوشته اصلی توسط حمید حمید نمایش پست ها
      راه حل برطرف کردن مشکل را فهمیدم اما دلیلش را نمیدانم.
      راه حل اینه که برای حرکت در سمت چپ سروو باید ابتدا با 1 ثانیه با سرعت بسیار کم سروو را در سمت چپ حرکت داد بعد با سرعت زیاد می تواند حرکت کند.
      این مسئله در حرکت به سمت راست صدق نمیکند.
      برنامه زیر سروو را یک دور به سمت راست و سپس یک دور به سمت چپ می چرخاند.البته یک دور حدودی هست چونکه بسته به ولتاژی که به سروو میدین سرعت حرکتش فرق میکند
      کد PHP:
      #include "Servo.h"

      Servo danasaz;

      void setup() {
        
      danasaz.attach(6);
      }
      void loop() {

        
      danasaz.write(83);//Rotate Right 
        
      delay(1800);
        
      danasaz.write(90);//Stop
        
      delay(1000);

        
        
      danasaz.write(100);//Rotate Left
        
      delay(2160);
        
      danasaz.write(90);//Stop
        
      delay(1000);

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






      امیرحسین ضیا

      دیدگاه

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