کنترل سرعت موتور dc با استفاده از الگوریتم pid (stm32f4)
صفحه اصلی » وبلاگ » کنترل سرعت موتور dc با استفاده از الگوریتم pid (stm32f4)

کنترل سرعت موتور dc با استفاده از الگوریتم pid (stm32f4)

بازدیدها: 0     نویسنده: ویرایشگر سایت زمان انتشار: 2020-09-02 منبع: سایت

پرس و جو کنید

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

سلام به همه من طاهر الحق از پروژه دیگری هستم.
این بار زمان انجام MC بود که در 407-11-2017 استفاده شد.
این پایان برنامه میان مدت است.
امیدوارم خوشتون بیاد
این نیاز به مفاهیم و تئوری های زیادی دارد، بنابراین اجازه دهید ابتدا به آن نگاه کنیم.
با ظهور رایانه ها و فرآیند صنعتی، تحقیقاتی در تاریخ بشر برای توسعه روش هایی برای تعریف مجدد فرآیند و مهمتر از آن استفاده از ماشین ها برای کنترل مستقل فرآیند انجام شده است.
هدف کاهش مشارکت انسان در این فرآیندها و در نتیجه کاهش خطا در این فرآیندها است.
بنابراین رشته \'مهندسی سیستم کنترل\' به وجود آمد.
مهندسی سیستم کنترل را می توان به عنوان استفاده از روش های مختلف برای کنترل کار فرآیند یا نگهداری یک محیط ثابت و ترجیحی اعم از دستی یا خودکار تعریف کرد.
یک مثال ساده کنترل دمای اتاق است.
کنترل دستی به حضور فردی اطلاق می شود که شرایط فعلی را در محل (حسگر)
، با انتظارات (پردازش) بررسی می کند
و برای به دست آوردن مقدار مورد نظر (محرک) اقدام مناسب انجام می دهد.
مشکل این رویکرد این است که چندان قابل اعتماد نیست زیرا فرد مستعد خطا یا سهل انگاری در کار است.
علاوه بر این، مشکل دیگر این است که سرعت فرآیندی که محرک شروع می کند همیشه یکنواخت نیست، به این معنی که ممکن است گاهی اوقات سرعت آن بیشتر از سرعت مورد نیاز باشد و گاهی اوقات ممکن است کند باشد.
راه حل این مشکل استفاده از میکروکنترلر برای کنترل سیستم است.
با توجه به مشخصات داده شده، میکروکنترلر به گونه ای برنامه ریزی شده است که فرآیند اتصال را در مدار کنترل کند (
بعدا بحث شود)
مقدار یا شرایط آن، در نتیجه فرآیند را برای حفظ مقدار مورد نظر کنترل می کند.
فایده این فرآیند این است که نیازی به دخالت انسان در این فرآیند نیست.
علاوه بر این، سرعت این فرآیند ثابت است.
قبل از ادامه، تعیین عبارات مختلف در این مرحله بسیار مهم است: کنترل بازخورد: در این سیستم، ورودی در یک زمان معین به یک یا چند متغیر از جمله خروجی سیستم بستگی دارد.
بازخورد منفی: در این سیستم مرجع (ورودی)
به عنوان بازخورد خطا کم شده و فاز ورودی 180 درجه است.
بازخورد مثبت: در این سیستم
خطاهای مرجع (ورودی) زمانی اضافه می شوند که بازخورد و ورودی در فاز باشند.
سیگنال خطا: تفاوت بین خروجی مورد نظر و خروجی واقعی.
سنسور: وسیله ای است که برای تشخیص تعداد معینی از دستگاه ها در مدار استفاده می شود.
معمولاً در خروجی یا هر جایی که بخواهیم اندازه گیری کنیم قرار می گیرد.
پردازنده: بخشی از سیستم کنترل که بر اساس الگوریتم های برنامه نویسی پردازش می شود.
مقداری ورودی می گیرد و مقداری خروجی تولید می کند.
محرک: در سیستم کنترل از محرک برای انجام رویدادها بر اساس سیگنال تولید شده توسط میکروکنترلر برای تأثیر بر خروجی استفاده می شود.
سیستم حلقه بسته: سیستمی با یک یا چند حلقه بازخورد.
سیستم حلقه باز: هیچ سیستمی برای حلقه بازخورد وجود ندارد.
Rise Time: زمان لازم برای افزایش خروجی از 10 درصد حداکثر دامنه سیگنال به 90 درصد.
Drop Time: زمان مورد نیاز برای کاهش خروجی از 90% به 10%.
بیش از حد اوج: بیش از حد اوج مقدار خروجی بیش از مقدار حالت پایدار آن است (
طبیعی در طول پاسخ گذرا سیستم).
زمان پایدار: زمان مورد نیاز برای رسیدن خروجی به حالت پایدار.
خطای حالت پایدار: تفاوت بین خروجی واقعی و خروجی مورد انتظار پس از رسیدن سیستم به حالت پایدار. تصویر بالا یک نسخه بسیار ساده از سیستم کنترل را نشان می دهد.
میکروکنترلر هسته اصلی هر سیستم کنترلی است.
این یک جزء بسیار مهم است، بنابراین باید با توجه به نیازهای سیستم با دقت انتخاب شود.
میکروکنترلر ورودی را از کاربر دریافت می کند.
این ورودی شرایط مورد نیاز سیستم را مشخص می کند.
میکروکنترلر نیز ورودی را از سنسور دریافت می کند.
سنسور به خروجی متصل شده و اطلاعات آن به ورودی بازگردانده می شود.
این ورودی را می توان بازخورد منفی نیز نامید.
بازخورد منفی قبلا توضیح داده شد.
ریزپردازنده بر اساس برنامه ریزی خود محاسبات و خروجی های مختلفی را برای محرک انجام می دهد.
کارخانه کنترل محرک مبتنی بر خروجی تلاش می کند تا این شرایط را حفظ کند.
یک مثال ممکن است راننده موتوری باشد که موتور را هدایت می کند، جایی که راننده موتور راننده است و موتور کارخانه است.
بنابراین موتور با سرعت معینی می چرخد.
سنسور متصل وضعیت کارخانه فعلی را می‌خواند و آن را به میکرو کنترلر باز می‌گرداند.
میکروکنترلر دوباره مقایسه و محاسبه می شود، بنابراین حلقه تکرار می شود.
این فرآیند تکراری و بی پایان است و میکروکنترلر می تواند شرایط دلخواه را حفظ کند.
در اینجا دو روش اصلی برای کنترل سرعت موتور DC وجود دارد)
کنترل دستی ولتاژ: در کاربردهای صنعتی، مکانیسم کنترل سرعت موتور DC حیاتی است.
گاهی ممکن است به سرعت هایی بیشتر یا کمتر از حد معمول نیاز داشته باشیم.
بنابراین، ما به یک روش کنترل سرعت موثر نیاز داریم.
کنترل ولتاژ منبع تغذیه یکی از ساده ترین روش های کنترل سرعت است.
ما می توانیم ولتاژ را برای تغییر سرعت تغییر دهیم. ب)
کنترل PWM با استفاده از PID: راه کارآمدتر دیگر استفاده از میکروکنترلر است.
موتور DC از طریق درایور موتور به میکرو کنترلر متصل می شود.
درایور موتور یک آی سی دریافت کننده PWM (
مدولاسیون عرض پالس)
ورودی از میکرو کنترلر و خروجی به موتور DC با توجه به ورودی است. شکل 1.
2: فصل 1 سیگنال PWM.
مقدمه 3 با توجه به سیگنال PWM، ابتدا می توان عملکرد PWM را توضیح داد.
این شامل پالس های پیوسته برای یک دوره زمانی مشخص است.
دوره زمانی زمانی است که یک نقطه در فاصله ای برابر با طول موج حرکت می کند.
این پالس ها فقط می توانند مقادیر باینری (HIGH یا LOW) داشته باشند.
ما همچنین دو کمیت دیگر داریم، عرض پالس و چرخه وظیفه.
عرض پالس زمانی است که خروجی PWM زیاد است.
چرخه وظیفه درصدی از عرض پالس به دوره زمانی است.
برای بقیه دوره زمانی، خروجی کم است.
چرخه وظیفه مستقیماً سرعت موتور را کنترل می کند.
اگر موتور DC در مدت زمان معینی ولتاژ مثبت را تامین کند، با سرعت مشخصی حرکت می کند.
اگر ولتاژ مثبت برای مدت طولانی تری ارائه شود، سرعت بیشتر می شود.
بنابراین، چرخه وظیفه PWM را می توان با تغییر عرض پالس تغییر داد.
با تغییر چرخه کاری موتور DC می توان سرعت موتور را تغییر داد.
کنترل سرعت برای مشکلات موتور DC: مشکل اولین روش کنترل سرعت این است که ممکن است ولتاژ در طول زمان تغییر کند.
این تغییرات به معنای سرعت نابرابر است.
بنابراین، روش اول نامطلوب است.
راه حل: برای کنترل سرعت از روش دوم استفاده می کنیم.
برای تکمیل روش دوم از الگوریتم PID استفاده می کنیم.
PID نشان دهنده مشتق انتگرال متناسب است.
در الگوریتم PID سرعت جریان موتور اندازه گیری شده و با سرعت مورد نظر مقایسه می شود.
این خطا برای محاسبات پیچیده برای تغییر چرخه کار موتور با توجه به زمان استفاده می شود.
این فرآیند در هر چرخه وجود دارد.
اگر سرعت از سرعت مطلوب بیشتر شود، چرخه وظیفه کاهش می یابد و اگر سرعت کمتر از سرعت مورد نظر باشد، چرخه کار افزایش می یابد.
این تنظیم تا رسیدن به بهترین سرعت انجام نمی شود.
به طور مداوم این سرعت را بررسی و کنترل کنید.
در اینجا اجزای سیستم مورد استفاده در این پروژه و معرفی مختصری از جزئیات هر جزء آورده شده است.
STM 32F407: میکروکنترلر طراحی شده توسط ST Micro-section.
روی قشر ARM کار می کند. معماری M.
این خانواده با فرکانس کلاک بالای 168 مگاهرتز پیشتاز است.
درایور موتور L298N: از این آی سی برای راه اندازی موتور استفاده می شود.
دارای دو ورودی خارجی
یکی از میکرو کنترلر.
میکروکنترلر سیگنال PWM را برای آن فراهم می کند.
سرعت موتور را می توان با تنظیم عرض پالس تنظیم کرد.
ورودی دوم آن منبع ولتاژ مورد نیاز برای به حرکت درآوردن موتور است.
موتور DC: موتور DC با منبع تغذیه DC کار می کند.
در این آزمایش، موتور DC با استفاده از یک کوپلینگ فوتوالکتریک متصل به درایور موتور کار می‌کند.
سنسور مادون قرمز: سنسور مادون قرمز در واقع یک گیرنده مادون قرمز است.
امواج مادون قرمز را ارسال و دریافت می کند که می توان از آنها برای انجام کارهای مختلف استفاده کرد.
کوپلر نوری انکودر IR 4N35: کوپلر نوری وسیله ای است که برای جداسازی قسمت ولتاژ پایین مدار و قسمت فشار قوی استفاده می شود.
همانطور که از نام آن پیداست، بر اساس نور کار می کند.
هنگامی که قسمت ولتاژ پایین سیگنال را دریافت می کند، جریان در قسمت ولتاژ بالا جریان می یابد.
این سیستم یک سیستم کنترل سرعت است.
همانطور که قبلا ذکر شد، سیستم با استفاده از PID انتگرال و مشتق متناسب پیاده سازی می شود.
سیستم کنترل سرعت دارای اجزای فوق می باشد.
بخش اول سنسور سرعت است.
سنسور سرعت یک مدار فرستنده و گیرنده مادون قرمز است.
هنگامی که جامد از شکاف U شکل عبور می کند، سنسور وارد حالت پایین می شود.
به طور معمول در حالت بالا است.
خروجی سنسور به یک فیلتر پایین گذر متصل می شود تا تضعیف ناشی از گذرای ایجاد شده در هنگام تغییر وضعیت سنسور را از بین ببرد.
فیلتر پایین گذر از مقاومت و خازن تشکیل شده است.
مقادیر در صورت نیاز انتخاب شدند.
خازن مورد استفاده 1100nf و مقاومت استفاده شده حدود 25 اهم است.
فیلتر پایین گذر شرایط غیر ضروری گذرا را که ممکن است منجر به خوانش و مقادیر اضافی زباله شود را حذف می کند.
سپس فیلتر پایین گذر از طریق خازن به پین ​​دیجیتال ورودی میکروکنترلر stm خروجی می شود.
قسمت دیگر موتور کنترل شده توسط pwm است که توسط میکروکنترلر stm ارائه می شود.
این تنظیم با عایق الکتریکی با استفاده از آی سی کوپلر نوری ارائه شده است.
کوپلر نوری شامل یک led است که نور را در بسته ic ساطع می کند و هنگامی که یک پالس بالا در ترمینال ورودی داده می شود، ترمینال خروجی را اتصال کوتاه می کند.
ترمینال ورودی از طریق یک مقاومت pwm می دهد که جریان led متصل به کوپلر نوری را محدود می کند.
یک مقاومت کشویی در خروجی وصل می شود تا در هنگام اتصال کوتاه ترمینال، ولتاژ در مقاومت کشویی ایجاد شود و پایه متصل به ترمینال روی مقاومت حالت بالا را دریافت کند.
خروجی کوپلر فوتوالکتریک به IN1 IC درایور موتور متصل است که ارتفاع پین فعال را حفظ می کند.
هنگامی که چرخه وظیفه pwm در ورودی کوپلر نوری تغییر می کند، پین درایور موتور موتور را سوئیچ می کند و سرعت موتور را کنترل می کند.
پس از pwm ارائه شده به موتور، درایور موتور معمولا ولتاژ 12 ولت را تامین می کند.
سپس درایور موتور موتور را فعال می کند.
بیایید الگوریتمی را که در اجرای این پروژه تنظیم سرعت موتور استفاده کردیم، معرفی کنیم.
pwm موتور توسط یک تایمر تامین می شود.
پیکربندی تایمر ساخته و تنظیم شده است تا pwm را ارائه دهد.
هنگامی که موتور روشن می شود، شکاف متصل به شفت موتور را می چرخاند.
شکاف از حفره حسگر عبور می کند و پالس کم تولید می کند.
در پالس های کم، کد شروع می شود و منتظر می ماند تا شکاف حرکت کند.
هنگامی که شکاف ناپدید می شود، سنسور حالت بالا را ارائه می دهد و تایمر شروع به شمارش می کند.
تایمر زمان بین دو شکاف را به ما می دهد.
اکنون، هنگامی که یک پالس پایین دیگر ظاهر می شود، دستور IF دوباره اجرا می شود، منتظر لبه افزایشی بعدی و متوقف کردن شمارنده است.
پس از محاسبه سرعت، تفاوت بین سرعت و مقدار مرجع واقعی را محاسبه کنید و pid را بدهید.
Pid مقدار چرخه کاری را محاسبه می کند که در یک لحظه معین به مقدار مرجع می رسد.
این مقدار به CCR (
ثبت مقایسه) ارائه می شود
بسته به خطا، سرعت تایمر کاهش یا افزایش می یابد.
کد Atollic Truestudio پیاده سازی شده است.
ممکن است استودیو STM برای رفع اشکال نیاز به نصب داشته باشد.
پروژه را در استودیو STM وارد کنید و متغیرهایی را که می خواهید مشاهده کنید وارد کنید.
تغییر جزئی در 2017-11-4xx است.
فرکانس ساعت را دقیقاً به فایل h در 168 مگاهرتز تغییر دهید.
قطعه کد در بالا ارائه شده است.
نتیجه این است که سرعت موتور با استفاده از PID کنترل می شود.
با این حال، منحنی دقیقاً یک خط صاف نیست.
دلایل زیادی برای این وجود دارد: اگرچه سنسور متصل به فیلتر پایین گذر هنوز هم نقص های خاصی را ایجاد می کند، این به دلایل غیرقابل اجتناب مقاومت های غیرخطی و دستگاه های الکترونیکی آنالوگ است، موتور نمی تواند به آرامی در ولتاژ کم یا pwm بچرخد.
احمق هایی را فراهم می کند که ممکن است باعث شود سیستم مقداری اشتباه وارد کند.
به دلیل لرزش، سنسور ممکن است شکافی را که مقدار بالاتری را ارائه می دهد از دست بدهد و دلیل اصلی خطای دیگر ممکن است فرکانس ساعت هسته stm باشد.
کلاک هسته Stm 168 مگاهرتز است.
اگرچه در این پروژه به این مشکل پرداخته شد، اما یک مفهوم کل نگر از این مدل وجود دارد که چنین فرکانس بالایی را ارائه نمی دهد.
سرعت حلقه باز یک خط بسیار صاف با تنها چند مقدار غیرمنتظره فراهم می کند.
PID نیز کار می کند و زمان پایداری موتور بسیار پایین را فراهم می کند.
PID موتور در ولتاژهای مختلف آزمایش شد که سرعت مرجع را ثابت نگه داشت.
تغییر ولتاژ سرعت موتور را تغییر نمی دهد و نشان می دهد که PID کار می کند.
در اینجا چند بخش از خروجی نهایی PID آورده شده است. الف)
حلقه بسته @ 110 دور در دقیقه)
حلقه بسته @ 120 دور در دقیقه این پروژه بدون کمک اعضای گروه من انجام نمی شود.
من می خواهم از آنها تشکر کنم.
ممنون از تماشای این پروژه
امیدوارم به شما کمک کند.
لطفا منتظر مطالب بیشتر باشید.
قبل از آن به برکت ادامه دهید :)

گروه HOPRIO یک تولید کننده حرفه ای کنترلر و موتور است که در سال 2000 تاسیس شد. دفتر مرکزی گروه در شهر چانگژو، استان جیانگ سو.

لینک های سریع

تماس با ما

واتساپ: +86 18921090987 
تلفن: +86- 18921090987 
ایمیل: sales02@hoprio.com
اضافه کنید: شماره 19 جاده ماهانگ جنوبی، منطقه فناوری پیشرفته ووجین، شهر چانگژو، استان جیانگ سو، چین 213167
پیام بگذارید
با ما تماس بگیرید
کپی رایت © 2024 ChangZhou Hoprio E-Commerce Co., Ltd. کلیه حقوق محفوظ است. نقشه سایت | سیاست حفظ حریم خصوصی