ايران ويج

نسخه‌ی کامل: تشخیص نوع کنترلر
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان
من برنامه ای نوشتم برای کنترل سرعت موتور DC
این برنامه به این نحوه که ورودی مطلوب رو با پالس خروجی شفت انکودر (سرعت) مقایسه میکنه و اگر اختلافشون مثبت باشه به ولتاژ قبلی حدود 0.4 ولت اضافه می کنه و اگر اختلافشون منفی باشه از ولتاژ قبلی 0.4 ولت کم میکنه
حالا به نظر شما این چه نوع کنترلری میشه؟ (مثلا P و PI و ...)
سلام.

براي كنترلر شرط گذاشتيد؟ ( if )
كنترلر شما از خلاقيت خودتون هست و جزء هيچكدوم از تركيبات P و I و D نيست!
اگر قصد پياده سازيه PID داريد ،‌حتما تو net سرچ بزنيد و بيس code ببينيد تا آشنا بشيد و بعد ارتقائش بديد و در پروژه تون استفاده كنيد.

موفق باشيد.
منظورم فقط P و I و ... نیست
یعنی این کنترلر جزو هیچکدوم از کنترلرهای شناخته شده دیگه نیست؟
یه کم شبیه کنترلرهای دو وضعیته ولی اونم نیست! :(
تا اونجايي كه من مي دونم ، PID يكي از ساده ترين نوع كنترلر هاست.
كنترلرها نوع هاي ديگه اي هم دارن اما من آشنايي ندارم.
الگوريتم شما هيچ وقت به پايداري نمي رسه ، از اين جهت كه ميزان ارور هيچ وقت صفر نمي شه. سرعت جبران سازي هم يكنواخت هست كه اين مورد هم مطلوب نيست.
براي پياده سازيه P بايد ميزان error رو بدست بياريد و در يك ثابت Kp ضربش كنيد.
error = input - setPoint

Kp هم بايد تجربي بدست بيايد.

براي پايداري بهتر هم به ترتيب D و I بايستي در مراحل بعدي بهش افزودهه بشه تا Overshoot و setteling time و ... تنظيم بشه و جبرانسازي با كمترين خطا و بيشترين سرعت امكان پذير بشه.

همش با محاسبات هست و نيازي به if نيست.
اگر تغييرات متغيير ها نياز بود محدود بشه ، براي اين موارد مي تونيد شرط بذاريد. اما خود كنترلر فقط با محاسبات رياضي هست .