اطلاعیه

Collapse
No announcement yet.

کنترل سرعت موتور DC با PID

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

    کنترل سرعت موتور DC با PID

    با سلام

    خوشبختانه پروژه کنترل سرعت موتور DC با استفاده از کنترلر PID و مانیتورینگ با نرمآ‌افزار LabVIEW به بهترین نحو به نتیجه رسید، درضمن کنترل کننده های مختلفی رو برای پروسه های مختلفی طراحی کردم، واقا جالب و کاربردیه.

    www.controlmotor.blogfa.com
    mohammad_shahmirzayi@yahoo.com
    تقدیر تقویم انسانهای عادی ، تغییر تدبیر انسانهای عالیست.

    #2
    پاسخ : کنترل سرعت موتور DC با PID

    تا اونحایی که بنده اطلاع دارم :
    البته اگر که بخواید با میکرو کار کنید
    موتور رو با سیگنال pwm راه اندازی میکنید

    خروجی انکدر رو به میکرو میدید بستگی به دقتش در یک زمان مشخص مثلا 0.1 ثانیه تعداد پالس هار میشمارید و سرعتتون بدست میاد (مثلا انکدر 6 پالسه 12 تا پالس داده پس 20 دور در ثانیه سرعتشه)

    بعد این سرعت رو با سرعت مورد نظر مقایسه میکنید و duty cycle این سیگنالتون رو کم و زیاد میکنید تا به مقدار مورد نظر برسه.
    فقط حواستون باشه دیود هرز گرد یادتون نره که میکروتون به احتمال زیاد میسوزه اکه استفاده نکنید(تجربه نکردم ولی میدونم ارزش تجربه رو نداره چون موقع توقف ولتاژ زیادی به میکروی بیچاره وارد میشه دیگه....)

    head<=
    ...تشکر خدا...
    [img width=97 height=100]http://mahdi3d.persiangig.com/image/5280543_t.jpg[/img]

    دیدگاه


      #3
      پاسخ : کنترل سرعت موتور DC با PID

      نوشته اصلی توسط m4hd1r
      تا اونحایی که بنده اطلاع دارم :
      البته اگر که بخواید با میکرو کار کنید
      موتور رو با سیگنال pwm راه اندازی میکنید

      خروجی انکدر رو به میکرو میدید بستگی به دقتش در یک زمان مشخص مثلا 0.1 ثانیه تعداد پالس هار میشمارید و سرعتتون بدست میاد (مثلا انکدر 6 پالسه 12 تا پالس داده پس 20 دور در ثانیه سرعتشه)

      بعد این سرعت رو با سرعت مورد نظر مقایسه میکنید و duty cycle این سیگنالتون رو کم و زیاد میکنید تا به مقدار مورد نظر برسه.
      فقط حواستون باشه دیود هرز گرد یادتون نره که میکروتون به احتمال زیاد میسوزه اکه استفاده نکنید(تجربه نکردم ولی میدونم ارزش تجربه رو نداره چون موقع توقف ولتاژ زیادی به میکروی بیچاره وارد میشه دیگه....)
      ممنون از توجه شما، اما من همه ی این کارهایی که شما گفتید رو انجام دادم و مشکلی نداره، اما مسله اینجاست که این روش یه کنترل P با بهره قابل تنظیمه، من باید کنترل کننده ی انتگرالی و مشتق گیر رو بهش اضافه کنم.
      برای این کار میخوام مدل موتورم رو دربیارم، ازش تبدیل لاپلاس بگیرم، ببرم به حالت گسسته، با استفاده از نایکوئیست و... سیستممو پایدار کنم، ضرایب Kp,Ki,Kd رو بدست بیارم، بعد این ضرایب رو بدم به میکرو، همونطور که میدونیم کنترل کننده ی PID یعنی kp+ki int e +kd de/dt حالا باید این تابع رو به میکرو بدم، یه جا اینطوری داده بود، اما نمیدونم چرا؟
      ki int e : ki*e(t) + e(t-1
      Kd de/dt : (e(t) - e(t-1))*Kd
      تقدیر تقویم انسانهای عادی ، تغییر تدبیر انسانهای عالیست.

      دیدگاه


        #4
        پاسخ : کنترل سرعت موتور DC با PID

        شرمنده من خودم تاحالا این مساله رو حل نکردم ولی میدونم اگه شما وقت بزاری و RPM موتورت رو برحسب Duty cycle بدست بیاری روشی به اسم Ziegler - Nichols که افتخار این دوتا نام گذاری شده هست که ضرایب ازونا بسادگی به دست میاد
        امیدوارم کمک کرده باشم!

        head<=
        ...تشکر خدا...
        [img width=97 height=100]http://mahdi3d.persiangig.com/image/5280543_t.jpg[/img]

        دیدگاه


          #5
          پاسخ : کنترل سرعت موتور DC با PID

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

          تا جائیکه یادمه برای راه انداختن موتور احتیاجی به پیدا کردن مدل موتور نیست !با دادن یک پالس !پاسخ پله موتور رو داشته باشید میتونید با نمودار زیگلر نیکولز ضرایب PID رو تعیین کنید .مثلا نیروی کامل به موتور بدید و انکودر رو بخونید و به صورت نمودار توی یه جایی مثل MATLAB یا با دست روی کاغذ بکشید . با بدست آوردن شیب نمودار زمان T بدست میاد که به جدول رجوع میکنید و ضرایب رو بدست میارید .
          من روشو کلی گفتم برای اینکه شرح دقیقشو بفهمید میتونید یه سرچی توی اینترنت بزنید مطالب کامل تری پیدا میکنید .

          دیدگاه


            #6
            پاسخ : کنترل سرعت موتور DC با PID

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

            دیدگاه


              #7
              پاسخ : کنترل سرعت موتور DC با PID

              سلام دوست عزیز

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


              إِنَّ الَّذِینَ یُحِبُّونَ أَنْ تَشِیعَ الْفاحِشَهُ فِی الَّذِینَ آمَنُوا لَهُمْ عَذابٌ أَلِیمٌ فِی الدُّنْیا وَ الْآخِرَهِ وَ اللَّهُ یَعْلَمُ وَ أَنْتُمْ لا تَعْلَمُونَ.
              کسانى که دوست دارند زشتی ها در میان مردم با ایمان شیوع یابد عذاب دردناکى براى آنها در دنیا و آخرت است، و خداوند میداند و شما نمی‏دانید. (نور19)

              دیدگاه

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