Table of Contents

 پروژه کنترل

💡 کنترل چیست؟

کنترل در مهندسی یعنی «هدایت و تنظیم رفتار یک سیستم» به‌طوری‌که خروجی اون سیستم مطابق با مقدار دلخواه (مرجع) بشه.
هدفش اینه که سیستم پایدار، دقیق، سریع و قابل اعتماد کار کنه.


⚙️ مثال‌های ساده از کنترل:

پروژه کنترل

  • ترموستات در کولر یا بخاری دما رو تنظیم می‌کنه.

  • کروز کنترل خودرو سرعت ماشین رو ثابت نگه می‌داره.

  • سیستم تعادل پهپاد باعث می‌شه موقع پرواز سقوط نکنه.

در همه‌ی این موارد، یه حلقه‌ی کنترل وجود داره که ورودی، خروجی و بازخورد (Feedback) داره.


🔁 ساختار سیستم کنترل:

یک سیستم کنترل معمولاً از این بخش‌ها تشکیل میشه:

  1. ورودی مرجع (Setpoint): مقدار مطلوب (مثلاً دمای ۲۵ درجه).

  2. خروجی سیستم: مقدار واقعی (مثلاً دمای فعلی اتاق).

  3. حسگر (Sensor): برای اندازه‌گیری خروجی واقعی.

  4. کنترل‌کننده (Controller): تصمیم می‌گیره چطور باید سیستم رو تنظیم کنه.

  5. عملگر (Actuator): فرمان کنترل‌کننده رو اجرا می‌کنه (مثل موتور یا شیر برقی).

  6. بازخورد (Feedback): مسیر برگشتی که اختلاف بین مقدار واقعی و مطلوب رو مشخص می‌کنه.


🧠 انواع سیستم‌های کنترل:

  1. کنترل حلقه باز (Open Loop): بدون بازخورد
    مثال: تایمر ماشین لباسشویی (فقط زمان می‌گیره و متوقف میشه).

  2. کنترل حلقه بسته (Closed Loop): با بازخورد
    مثال: کولر گازی که دما رو می‌سنجه و خودش خاموش یا روشن میشه.


📚 شاخه‌های مهم در درس کنترل:

  1. کنترل خطی (Linear Control):

    • تحلیل پایداری سیستم‌ها

    • مکان هندسی ریشه‌ها

    • پاسخ زمانی و فرکانسی

    • طراحی PID

  2. کنترل دیجیتال و پروژه کنترل:

    • طراحی کنترل‌کننده‌ها در حوزه‌ی زمان گسسته

    • استفاده از تبدیل Z

  3. کنترل مدرن (State Space) و پروژه کنترل:

    • استفاده از ماتریس‌های حالت برای توصیف سیستم

    • طراحی کنترل به کمک فیدبک حالت

  4. کنترل فازی و هوشمند و پروژه کنترل:

    • بر پایه منطق فازی یا شبکه‌های عصبی

    • برای سیستم‌های پیچیده که مدل ریاضی دقیق ندارن


💻 ابزارها و نرم‌افزارها در پروژه کنترل:

  • MATLAB / Simulink (مهم‌ترین ابزار برای شبیه‌سازی کنترل)

  • Arduino / Raspberry Pi (برای پروژه‌های عملی)

  • Python (با کتابخانه‌هایی مثل control یا scipy.signal)

  • LabVIEW (در پروژه‌های صنعتی و آزمایشگاهی)


🚀 کاربردهای مهندسی کنترل:

  • رباتیک و پهپاد

  • صنایع خودروسازی (ترمز ABS، پایداری خودرو)

  • سیستم‌های برق (کنترل ولتاژ، توان و فرکانس)

  • پزشکی (کنترل دوز دارو یا ضربان قلب مصنوعی)

  • کارخانه‌ها (اتوماسیون و خطوط تولید)

🔍 مفاهیم پایه‌ای در کنترل

1. پایداری (Stability)

پایداری یعنی وقتی سیستم دچار اختلال بشه، دوباره به حالت تعادلش برگرده.
مثلاً اگه توپ رو درون یک کاسه بندازی، بالا و پایین می‌ره ولی در نهایت به مرکز برمی‌گرده ⇒ پایدار
اما اگه روی قله‌ی تپه بذاری، با یه تلنگر می‌افته ⇒ ناپایدار

در کنترل، سیستم باید پایدار باشه تا بتونیم روش حساب کنیم.


2. پاسخ گذرا و ماندگار (Transient & Steady-State Response)

  • پاسخ گذرا: رفتار سیستم در لحظه‌های اولیه‌ی تغییر (مثلاً وقتی کولر تازه روشن میشه و دما داره تنظیم میشه).

  • پاسخ ماندگار: رفتار سیستم بعد از مدت طولانی، وقتی همه‌چیز تثبیت شده.

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


3. خطای ماندگار (Steady-State Error)

تفاوت بین خروجی واقعی و مقدار مطلوب در حالت پایدار.
هرچی خطا کمتر، کنترل بهتر ✅


4. سیستم‌های مرتبه اول و دوم

در درس کنترل، سیستم‌ها معمولاً با «معادلات دیفرانسیل» توصیف می‌شن.

  • مرتبه اول: یه متغیر دینامیکی (مثل دمای اتاق)

  • مرتبه دوم: دو متغیر (مثل موقعیت و سرعت یک جرم فنر-دمپر)


⚙️ کنترل‌کننده‌های معروف

  1. P (تناسبی): فقط بر اساس خطا عمل می‌کنه.

  2. PI (تناسبی – انتگرالی): خطای ماندگار رو حذف می‌کنه.

  3. PD (تناسبی – مشتقی): سرعت واکنش رو بهتر می‌کنه.

  4. PID: ترکیب هر سه نوع بالاست و پرکاربردترین کنترل‌کننده‌ی دنیاست 🔥

🔸 مثلاً در MATLAB می‌تونیم با دستور زیر یه کنترل‌کننده PID طراحی کنیم:

C = pid(Kp, Ki, Kd);

📊 تحلیل پایداری با مکان هندسی ریشه‌ها (Root Locus) پروژه کنترل

در کنترل خطی، از نمودار مکان هندسی ریشه‌ها برای دیدن اثر تغییر بهره (Gain) روی پایداری استفاده می‌کنن.
به کمکش می‌فهمیم که اگه پارامترهای کنترل‌کننده تغییر کنن، سیستم پایدار می‌مونه یا نه.


🧮 کنترل مدرن (فضای حالت – State Space) پروژه کنترل

در کنترل مدرن، به جای معادله‌های دیفرانسیل، از ماتریس‌ها استفاده می‌شه:

x˙=Ax+Bu\dot{x} = Ax + Bu y=Cx+Duy = Cx + Du

که در اون:

  • xx: بردار حالت‌ها

  • uu: ورودی

  • yy: خروجی

  • A,B,C,DA, B, C, D: ماتریس‌های سیستم

این روش برای تحلیل سیستم‌های پیچیده، چند ورودی و چند خروجی کاربرد داره (مثل ربات‌ها یا پهپادها).


🧠 کنترل فازی و هوشمند و پروژه کنترل

وقتی سیستم مدل دقیقی نداره، از منطق فازی (Fuzzy Logic) استفاده می‌کنن.
به‌جای فرمول، با جملات زبانی کار می‌کنه:

اگر دما زیاد باشد و سرعت فن کم باشد، آنگاه فن را زیاد کن.

همچنین کنترل با شبکه عصبی (Neural Control) هم امروزه خیلی استفاده میشه (در هوش مصنوعی و سیستم‌های خودکار).


🚀 چند ایده برای پروژه کنترل:

  1. کنترل دمای اتاق با Arduino یا MATLAB

  2. کنترل سرعت موتور DC با کنترل‌کننده PID

  3. شبیه‌سازی سیستم تعلیق خودرو در MATLAB

  4. طراحی کنترل‌کننده فازی برای تنظیم نور محیط

  5. کنترل زاویه یک ربات دوچرخ (مثل Segway)

🔧 طراحی و پیاده‌سازی سیستم‌های کنترل

وقتی می‌خوای یه سیستم کنترل طراحی کنی، معمولاً باید ۵ مرحله رو طی کنی:


1️⃣ مدل‌سازی سیستم (Modeling)

در این مرحله، رفتار فیزیکی سیستم رو با معادلات ریاضی یا تابع انتقال (Transfer Function) توصیف می‌کنی.

مثلاً برای موتور DC:

G(s)=ω(s)V(s)=K(Js+b)(Ls+R)+K2G(s) = \frac{\omega(s)}{V(s)} = \frac{K}{(Js + b)(Ls + R) + K^2}

یا در MATLAB:

num = [K];
den = [J*L, (J*R + L*b), (b*R + K^2)];
G = tf(num, den);

✅ خروجی: مدل ریاضی موتور DC آماده برای تحلیل.


2️⃣ تحلیل پایداری

باید بررسی کنیم که آیا سیستم بدون کنترل پایدار هست یا نه.

روش‌های بررسی پایداری:

  • نمودار مکان هندسی ریشه‌ها (Root Locus)

  • نمودار بود (Bode Plot)

  • معیار نایکویست (Nyquist Criterion)

  • روش راث–هرویتز (Routh–Hurwitz)

در MATLAB مثلاً:

rlocus(G)
bode(G)

3️⃣ طراحی کنترل‌کننده (Controller Design)

در این مرحله تصمیم می‌گیری که چه نوع کنترل‌کننده‌ای برای سیستم مناسبه:

نوع کنترل‌کننده کاربرد
P کنترل ساده، ولی ممکنه خطای ماندگار داشته باشه
PI حذف خطای ماندگار
PD افزایش سرعت پاسخ
PID تعادل بین دقت و سرعت – پرکاربردترین نوع

در MATLAB:

C = pid(Kp, Ki, Kd);
T = feedback(C*G, 1);
step(T)

این کد سیستم حلقه‌بسته رو می‌سازه و پاسخ پله (Step Response) رو نشون می‌ده.


4️⃣ شبیه‌سازی و تحلیل پاسخ

برای دیدن عملکرد کنترلر:

  • از step response برای بررسی سرعت و نوسان استفاده می‌کنی.

  • از impulse response برای بررسی پایداری اولیه.

مثلاً:

step(T)
impulse(T)

می‌تونی مقدار Overshoot، زمان نشست (Settling Time) و خطای ماندگار رو هم به‌دست بیاری:

info = stepinfo(T)

5️⃣ پیاده‌سازی عملی (Implementation)

وقتی کنترلر طراحی شد، می‌تونی اونو روی سخت‌افزار واقعی مثل:

  • Arduino

  • Raspberry Pi

  • PLC
    پیاده‌سازی کنی.

برای مثال کنترل دما:

  • ورودی: دمای حسگر (مثل LM35)

  • کنترلر: PID در Arduino

  • خروجی: کنترل فن یا هیتر

کد ساده‌ی Arduino برای کنترل PID:

double error = setpoint - temperature;
integral += error * dt;
derivative = (error - prevError) / dt;
output = Kp*error + Ki*integral + Kd*derivative;
prevError = error;

⚙️ سیستم‌های کنترل در دنیای واقعی و پروژه کنترل

حوزه کاربرد
خودرو کنترل ABS، پایداری، کروز
هوافضا کنترل ارتفاع و جهت هواپیما
رباتیک کنترل بازو، مسیر، تعادل
نیروگاه‌ها کنترل فشار و دمای بویلرها
پزشکی کنترل دوز دارو و ربات‌های جراح

💬 جمع‌بندی پروژه کنترل

سیستم‌های کنترل قلب تپنده‌ی هر فناوری مدرنه ❤️
از ماشین لباسشویی گرفته تا موشک، همه‌شون یه کنترلر دارن که تعادل، سرعت، و دقت رو تنظیم می‌کنه.

🚀 کنترل در دنیای واقعی (Applied Control Systems)

کنترل فقط توی آزمایشگاه نیست — تقریباً در تمام فناوری‌های مدرن نقش کلیدی داره.
بیاین چند تا مثال مهم رو بررسی کنیم:


🏎️ 1. کنترل در خودروها

امروزه ماشین‌ها پر از سیستم‌های کنترلی هستن:

سیستم نوع کنترل
ترمز ABS کنترل حلقه بسته برای جلوگیری از قفل شدن چرخ‌ها
کنترل پایداری ESP کنترل چندورودی برای حفظ تعادل در پیچ‌ها
Cruise Control حفظ سرعت ثابت خودرو با PID
تزریق سوخت کنترل دقیق میزان سوخت و هوا برای مصرف بهینه

📘 کنترلرها معمولاً با سنسور سرعت، فشار، دما و واحد ECU (کنترل الکترونیکی) کار می‌کنن.


✈️ 2. کنترل در هوافضا و پروژه کنترل

پروژه کنترل

در سیستم‌های پرواز، دقت و پایداری حیاتی‌ان.

  •  کنترل خودکار خلبان (Autopilot) و پروژه کنترل
    جهت، ارتفاع و سرعت رو با فیدبک دائمی از سنسورهای GPS، فشار و ژیروسکوپ حفظ می‌کنه.

  • کنترل وضعیت ماهواره (Attitude Control) پروژه کنترل
    با ژیروسکوپ و چرخ‌های واکنشی (Reaction Wheels) زاویه‌ی ماهواره تنظیم میشه.

📊 برای این کار معمولاً از کنترل‌کننده‌های پیشرفته‌تر مثل:

  • LQR (Linear Quadratic Regulator)

  • Kalman Filter (برای تخمین وضعیت دقیق)
    استفاده میشه.


🤖 3. کنترل در رباتیک

در ربات‌ها، کنترل شامل چند سطحه:

  • کنترل حرکت مفصل‌ها (Joint Control) پروژه کنترل

  • کنترل مسیر (Trajectory Tracking) پروژه کنترل

  • کنترل نیرو و گشتاور و پروژه کنترل

در ربات بازویی:

τ=Kp(qd−q)+Kd(qd˙−q˙)\tau = K_p (q_d – q) + K_d (\dot{q_d} – \dot{q})

(یک کنترلر PD برای تعقیب موقعیت)

در MATLAB می‌تونیم با Simulink مسیر بازو رو شبیه‌سازی کنیم و کنترل PID یا فازی طراحی کنیم.


🌡️ 4. کنترل دما، فشار و سطح مایع (فرآیند صنعتی) پروژه کنترل

 پروژه کنترل در کارخانه‌ها و پروژه کنترل:

  • کنترل دما در کوره‌ها و پروژه کنترل

  • کنترل سطح در مخازن و پروژه کنترل

  • کنترل فشار در بویلرها و پروژه کنترل

معمولاً از کنترلرهای PID استفاده میشه که به‌صورت سخت‌افزاری توی PLC یا DCS نصب میشن.

نمودار کنترل دما معمولاً به شکل زیره:

[Sensor][Controller][Heater/Fan][System][Feedback]

🧠 5. کنترل تطبیقی و هوشمند

در سیستم‌های مدرن، چون شرایط همیشه ثابت نیست (مثل وزن خودرو، دمای محیط، یا باد)، از کنترل تطبیقی (Adaptive Control) استفاده میشه که خودش رو با شرایط جدید وفق می‌ده.

همچنین کنترل‌های فازی (Fuzzy) و عصبی (Neural Network) برای سیستم‌هایی به‌کار می‌رن که مدل دقیق ندارن ولی می‌خوایم خروجی دلخواه بگیریم.


🔬 چند الگوریتم پیشرفته‌ی کنترل

الگوریتم توضیح
PID ساده و قابل تنظیم؛ در ۹۰٪ سیستم‌ها استفاده میشه
LQR کنترل بهینه برای سیستم‌های چندمتغیره
MPC (Model Predictive Control) کنترل پیش‌بین با استفاده از مدل و محدودیت‌ها
Fuzzy Control بر پایه منطق زبانی، مناسب برای سیستم‌های مبهم
Adaptive Control کنترل‌کننده‌ای که پارامترهای خودش رو خودش تنظیم می‌کنه

🧩 نرم‌افزارهای مهم در کنترل

نرم‌افزار کاربرد
MATLAB / Simulink تحلیل، طراحی، شبیه‌سازی کامل سیستم‌ها
Python (کتابخانه control و scipy) شبیه‌سازی سبک‌تر و برنامه‌نویسی قابل انعطاف
LabVIEW محیط گرافیکی برای کنترل در صنعت
Proteus / Multisim شبیه‌سازی سخت‌افزارهای کنترلی (مثل Arduino)
PLC software (مثل TIA Portal) برای کنترل صنعتی در کارخانه‌ها

🎓 نکات طلایی برای درس یا پروژه کنترل

  1. همیشه مدل ریاضی سیستم رو بنویس (تابع انتقال یا فضای حالت).

  2. پایداری اولین شرطه — تا سیستم پایدار نباشه، کنترل معنی نداره.

  3. برای هر پروژه، نوع کنترل‌کننده مناسب رو انتخاب کن (PID، فازی، یا مدرن).

  4. در MATLAB از Simulink برای ساخت بلوک دیاگرام استفاده کن — دیدنش خیلی کمک می‌کنه.

  5. اگه پروژه‌ی سخت‌افزاری داری، Arduino + Sensor + Actuator یه ترکیب عالیه برای تمرین عملی.

فصل چهارم: مبانی پیشرفته کنترل

4-1. مقدمه

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


4-2. ساختار کلی یک سیستم کنترل

هر سیستم کنترل از چند جزء اصلی تشکیل می‌شود:

  1. ورودی مرجع (Reference Input): مقدار مطلوب یا هدف نهایی سیستم.

  2. عنصر مقایسه‌کننده (Comparator): اختلاف بین مقدار مطلوب و مقدار واقعی را محاسبه می‌کند.

  3. کنترل‌کننده (Controller): بر اساس خطا، فرمان کنترلی تولید می‌کند.

  4. عملگر (Actuator): فرمان کنترل را به نیروی فیزیکی یا حرکتی تبدیل می‌کند.

  5. فرآیند یا سیستم تحت کنترل (Plant): بخشی از سیستم که باید کنترل شود.

  6. حسگر (Sensor): خروجی واقعی سیستم را اندازه‌گیری و به کنترل‌کننده بازمی‌گرداند.

  7. حلقه بازخورد (Feedback Loop): مسیر برگشت سیگنال از خروجی به ورودی جهت تصحیح خطا.

به‌صورت کلی، ساختار سیستم کنترل حلقه بسته را می‌توان به‌شکل زیر نمایش داد:

Reference Input→[Controller]→[Plant]→[Sensor]→Feedback to Controller\text{Reference Input} \rightarrow [Controller] \rightarrow [Plant] \rightarrow [Sensor] \rightarrow \text{Feedback to Controller}


4-3. انواع سیستم‌های کنترل و پروژه کنترل

4-3-1. سیستم‌های حلقه باز (Open-Loop Systems) پروژه کنترل

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

4-3-2. سیستم‌های حلقه بسته (Closed-Loop Systems) پروژه کنترل

در این نوع، خروجی سیستم اندازه‌گیری شده و با ورودی مقایسه می‌شود. کنترل‌کننده بر اساس خطای به‌دست‌آمده، ورودی جدیدی تولید می‌کند تا خطا کاهش یابد.
نمونه: ترموستات کنترل دما.


4-4. تحلیل و طراحی سیستم‌های کنترل و پروژه کنترل

4-4-1. مدل‌سازی سیستم‌ها در پروژه کنترل

اولین گام در طراحی سیستم کنترل، مدل‌سازی ریاضی رفتار سیستم است. این مدل می‌تواند به‌صورت:

  • معادله دیفرانسیل،

  • تابع انتقال (Transfer Function)،

  • یا مدل فضای حالت (State-Space Model)
    بیان شود.

تابع انتقال برای سیستم خطی و زمان‌ناوردا در پروژه کنترل چنین تعریف می‌شود:

G(s)=Y(s)U(s)G(s) = \frac{Y(s)}{U(s)}

که در آن U(s)U(s) ورودی، و Y(s)Y(s) خروجی سیستم در حوزه‌ی لاپلاس است.


4-5. پایداری سیستم‌ها در پروژه کنترل

پایداری از مهم‌ترین مفاهیم در مهندسی کنترل است.
یک سیستم پایدار است اگر در برابر ورودی محدود، پاسخ آن نیز محدود باشد (BIBO Stability).

روش‌های تحلیل پایداری شامل:

  • معیار راث–هرویتز (Routh–Hurwitz Criterion) پروژه کنترل

  • نمودار مکان هندسی ریشه‌ها (Root Locus) پروژه کنترل

  • نمودار بود (Bode Plot) پروژه کنترل

  • نمودار نایکویست (Nyquist Plot) پروژه کنترل

در MATLAB می‌توان پایداری را با دستورات زیر تحلیل کرد:

rlocus(G)
bode(G)
nyquist(G)

4-6. طراحی کنترل‌کننده‌ها

4-6-1. کنترل‌کننده PID

یکی از پرکاربردترین کنترل‌کننده‌ها در صنایع است.
فرمول کلی آن به صورت زیر است:

u(t)=Kpe(t)+Ki∫e(t)dt+Kdde(t)dtu(t) = K_p e(t) + K_i \int e(t) dt + K_d \frac{de(t)}{dt}

که در آن:

  • e(t)e(t): خطا (تفاوت بین ورودی مطلوب و خروجی واقعی)

  • KpK_p: ضریب تناسبی

  • KiK_i: ضریب انتگرالی

  • KdK_d: ضریب مشتقی

مزایا:

  • کاهش خطای ماندگار

  • بهبود سرعت پاسخ

  • کاهش نوسانات


4-6-2. کنترل در فضای حالت (State-Space Control)

در روش فضای حالت، سیستم به صورت مجموعه‌ای از معادلات ماتریسی نمایش داده می‌شود:

x˙(t)=Ax(t)+Bu(t)\dot{x}(t) = A x(t) + B u(t) y(t)=Cx(t)+Du(t)y(t) = C x(t) + D u(t)

این روش برای سیستم‌های چندورودی و چندخروجی بسیار مناسب است.
طراحی در این حالت معمولاً شامل تعیین ماتریس بهره‌ی فیدبک حالت KK است تا:

u=−Kxu = -Kx

و قطب‌های سیستم در مکان مطلوب قرار گیرند.


4-7. کنترل پیشرفته و هوشمند

پروژه کنترل

در سیستم‌های پیچیده یا غیرخطی، از کنترل‌های هوشمند استفاده می‌شود، از جمله:

  1. کنترل فازی (Fuzzy Control):
    بر پایه منطق زبانی و قواعد «اگر-آنگاه» عمل می‌کند.

  2. کنترل تطبیقی (Adaptive Control):
    کنترل‌کننده‌ای که پارامترهای خود را متناسب با تغییر شرایط محیطی به‌صورت خودکار تنظیم می‌کند.

  3. کنترل پیش‌بین مدل (Model Predictive Control – MPC):
    با استفاده از مدل ریاضی سیستم، خروجی آینده را پیش‌بینی و ورودی را بهینه‌سازی می‌کند.


4-8. کاربردهای صنعتی سیستم‌های کنترل

سیستم‌های کنترل امروزه در حوزه‌های مختلف صنعتی و علمی مورد استفاده قرار می‌گیرند، از جمله:

حوزه نمونه کاربرد
خودروسازی کنترل سرعت، ترمز ABS، تزریق سوخت
هوافضا کنترل پرواز، پایدارسازی ماهواره
پزشکی کنترل دوز دارو، ربات جراح
نیروگاه‌ها کنترل دما و فشار بویلرها
رباتیک کنترل موقعیت و تعادل ربات‌ها
الکترونیک کنترل ولتاژ و توان در مدارهای قدرت

فصل پنجم: مطالعه‌ی موردی و طراحی سیستم کنترل نمونه

5-1. مقدمه

به‌منظور درک بهتر مفاهیم تئوریک مطرح‌شده در فصول گذشته، در این فصل یک پروژه‌ی عملی کنترل مورد بررسی قرار می‌گیرد.
سیستم انتخاب‌شده یک موتور جریان مستقیم (DC Motor) است که هدف از طراحی، کنترل سرعت زاویه‌ای آن با استفاده از کنترل‌کننده PID می‌باشد.


5-2. هدف پروژه

هدف از این مطالعه عبارت است از:

  1. مدل‌سازی ریاضی سیستم موتور DC.

  2. طراحی کنترل‌کننده PID جهت کنترل سرعت.

  3. شبیه‌سازی رفتار سیستم در محیط MATLAB.

  4. تحلیل نتایج و بررسی پاسخ سیستم.


5-3. مدل‌سازی سیستم موتور DC

مدل فیزیکی موتور DC شامل مدار الکتریکی آرمیچر و بخش مکانیکی چرخش محور است.
بر اساس قوانین کیرشهف و نیوتن، روابط حاکم به‌صورت زیر بیان می‌شوند:

V(t)=Ldi(t)dt+Ri(t)+Keω(t)V(t) = L \frac{di(t)}{dt} + R i(t) + K_e \omega(t) Jdω(t)dt+bω(t)=Kti(t)J \frac{d\omega(t)}{dt} + b \omega(t) = K_t i(t)

که در آن:

نماد توضیح
V(t)V(t) ولتاژ ورودی
i(t)i(t) جریان آرمیچر
ω(t)\omega(t) سرعت زاویه‌ای محور
LL اندوکتانس سیم‌پیچ آرمیچر
RR مقاومت آرمیچر
KeK_e ضریب نیروی ضد محرکه
KtK_t ضریب گشتاور موتور
JJ ممان اینرسی محور
bb ضریب اصطکاک ویسکوز

5-4. تابع انتقال موتور DC

با گرفتن تبدیل لاپلاس از معادلات فوق و حذف جریان i(s)i(s)، تابع انتقال بین ولتاژ ورودی V(s)V(s) و سرعت زاویه‌ای ω(s)\omega(s) به‌صورت زیر به‌دست می‌آید:

ω(s)V(s)=Kt(JLs2+(JLb+JR+Lb)s+(bR+KeKt))\frac{\omega(s)}{V(s)} = \frac{K_t}{(JLs^2 + (JLb + JR + Lb)s + (bR + K_e K_t))}

این تابع انتقال مبنای طراحی کنترل‌کننده خواهد بود.


5-5. طراحی کنترل‌کننده PID

کنترل‌کننده PID با هدف کاهش خطا و بهبود پاسخ سیستم طراحی می‌شود.
فرمول کنترلی آن به شکل زیر است:

U(s)=Kp[1+1Tis+Tds]E(s)U(s) = K_p \left[ 1 + \frac{1}{T_i s} + T_d s \right] E(s)

که در آن:

  • KpK_p: بهره تناسبی

  • TiT_i: زمان انتگرالی

  • TdT_d: زمان مشتقی

در MATLAB کنترل‌کننده به‌صورت زیر تعریف می‌شود:

Kp = 1.2;
Ki = 0.8;
Kd = 0.05;
C = pid(Kp, Ki, Kd);
T = feedback(C*G, 1);
step(T)

5-6. شبیه‌سازی در MATLAB

برای شبیه‌سازی عملکرد سیستم، ابتدا پارامترهای موتور در MATLAB مقداردهی می‌شوند:

J = 0.01;
b = 0.1;
K = 0.01;
R = 1;
L = 0.5;

num = [K];
den = [J*L, (J*R + L*b), (b*R + K^2)];
G = tf(num, den);

سپس کنترل‌کننده PID اعمال و پاسخ پله بررسی می‌شود:

C = pid(40, 400, 0.01);
T = feedback(C*G, 1);
step(T)
grid on

5-7. نتایج شبیه‌سازی

  • پاسخ گذرا (Transient Response): سیستم پس از حدود ۲ ثانیه به مقدار مرجع می‌رسد.

  • Overshoot: کمتر از ۵٪، که نشان‌دهنده‌ی پایداری مطلوب است.

  • Steady-State Error: تقریباً صفر، نشان‌دهنده‌ی عملکرد دقیق کنترل‌کننده.

  • زمان نشست (Settling Time): حدود ۱٫۸ ثانیه.

نمودار پاسخ پله نشان می‌دهد که کنترل‌کننده PID توانسته سیستم را با پایداری و سرعت مناسب به مقدار مطلوب برساند.


5-8. تحلیل نتایج

مشاهدات شبیه‌سازی نشان می‌دهد که:

  • افزودن مولفه‌ی انتگرالی، خطای ماندگار را حذف کرده است.

  • مولفه‌ی مشتقی موجب کاهش نوسانات در پاسخ شده است.

  • بهره‌ی تناسبی نقش اصلی در سرعت پاسخ را ایفا کرده است.

به‌طور کلی، طراحی کنترل‌کننده PID موجب بهبود رفتار دینامیکی موتور DC شده است.


5-9. نتیجه‌گیری کلی پروژه

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

پست های مرتبط