فهرست مطالب:

کنترل کننده قطار مدل آردوینو 2 در 1: 4 مرحله
کنترل کننده قطار مدل آردوینو 2 در 1: 4 مرحله

تصویری: کنترل کننده قطار مدل آردوینو 2 در 1: 4 مرحله

تصویری: کنترل کننده قطار مدل آردوینو 2 در 1: 4 مرحله
تصویری: لزبازی لیلا اوتادی چه لبی میگیره (نبینی از دستت رفته) 2024, جولای
Anonim
کنترل کننده قطار مدل آردوینو 2 در 1
کنترل کننده قطار مدل آردوینو 2 در 1

چهل سال پیش من یک دریچه گاز مدل قطار بر اساس op-amp برای چند دوست طراحی کردم ، و سپس حدود چهار سال پیش با استفاده از میکروکنترلر PIC آن را بازسازی کردم. این پروژه آردوینو نسخه PIC را بازسازی می کند اما همچنین قابلیت استفاده از اتصال بلوتوث را به جای سوئیچ های دستی برای گاز ، ترمز و کنترل جهت اضافه می کند. در حالی که طرحی که در اینجا ارائه می کنم برای یک موتور راه آهن مدل 12 ولت طراحی شده است ، می توان آن را به راحتی برای انواع دیگر برنامه های کنترل موتور DC تغییر داد.

مرحله 1: مدولاسیون عرض پالس (PWM)

مدولاسیون عرض پالس (PWM)
مدولاسیون عرض پالس (PWM)

برای شما که با PWM آشنایی ندارید ، آنقدرها هم که به نظر می رسد ترسناک نیست. برای برنامه کنترل ساده موتور ما همه این بدان معناست که ما یک موج مربعی با فرکانس ایجاد می کنیم و سپس چرخه کار را تغییر می دهیم. چرخه وظیفه به عنوان نسبت زمانی تعریف می شود که خروجی در مقایسه با دوره شکل موج یک مقدار منطقی است. در نمودار بالا کاملاً واضح است که شکل موج بالا در چرخه وظیفه 10٪ ، شکل موج میانی در چرخه وظیفه 50٪ و شکل موج پایین در چرخه کار 90٪ است. خط تیره روی هر شکل موج نشان دهنده ولتاژ DC معادل مشاهده شده توسط موتور است. با توجه به اینکه آردوینو دارای قابلیت PWM است ، ایجاد این نوع کنترل موتور DC بسیار ساده است. یکی دیگر از مزایای استفاده از PWM این است که به جلوگیری از شروع سریع موتور در هنگام استفاده از DC مستقیم کمک می کند. یکی از معایب PWM این است که گاهی اوقات در فرکانس PWM صدای موتور از موتور شنیده می شود.

مرحله 2: سخت افزار

سخت افزار
سخت افزار
سخت افزار
سخت افزار
سخت افزار
سخت افزار

تصویر اول اتصالات آردوینو برای کلیدها و ماژول درایور موتور LM298 را نشان می دهد. در داخل آردوینو مقاومتهای کششی ضعیفی وجود دارد بنابراین برای سوئیچ ها نیازی به مقاومت کششی نیست. سوئیچ Direction یک سوئیچ ساده SPST (تک قطبی تک پرتاب) است. کلیدهای دریچه گاز و ترمز به طور معمول دکمه های تماس لحظه ای باز و معمولی نشان داده می شوند.

تصویر دوم اتصالات آردوینو برای ماژول بلوتوث و ماژول درایور موتور LM298 را نشان می دهد. خروجی بلوتوث TXD مستقیماً به ورودی سریال Arduino RX متصل می شود.

تصویر سوم یک ماژول دو پل H29 LN8N است. ماژول LM298 دارای یک تنظیم کننده 5 ولت داخلی است که می تواند توسط یک بلوز فعال شود. ما برای آردوینو و بلوتوث به +5 ولت نیاز داریم اما برای حرکت موتور 12+ ولت می خواهیم. در این حالت ما +12 ولت را به ورودی " +12V قدرت" L298N اعمال می کنیم و بلوز "فعال کردن 5 ولت" را در جای خود رها می کنیم. این اجازه می دهد تا تنظیم کننده 5 ولت به اتصال "قدرت +5" در ماژول خروجی دهد. آن را به آردوینو و بلوتوث وصل کنید. فراموش نکنید که سیمهای زمین ورودی +12 و خروجی +5 را به ماژول "power GND" وصل کنید.

ما می خواهیم ولتاژ خروجی به موتور بر اساس PWM تولید شده توسط آردوینو به جای اینکه فقط روشن یا خاموش باشد ، متفاوت باشد. برای انجام این کار ، ما جامپرها را از "ENA" و "ENB" حذف کرده و خروجی Arduino PWM خود را به "ENA" در ماژول متصل می کنیم. به خاطر داشته باشید که پین فعال کننده واقعی نزدیک ترین لبه به برد است (در کنار پین های "ورودی"). پین پشتی برای هر فعال کننده +5 ولت است ، بنابراین می خواهیم مطمئن شویم که به آن متصل نیستیم.

پین های "IN1" و "IN2" روی ماژول به پین های مربوط به آردوینو متصل می شوند. این پین ها جهت موتور را کنترل می کنند و بله ، دلیل خوبی وجود دارد که اجازه دهید آردوینو به جای اتصال سوئیچ به ماژول آنها را کنترل کند. دلیل آن را در بحث نرم افزار خواهیم دید.

مرحله 3: ماژول بلوتوث

ماژول بلوتوث
ماژول بلوتوث

تصویر نشان داده شده در اینجا معمولی از ماژول های بلوتوث موجود است. هنگام جستجو برای خرید ، می توانید عبارت "HC-05" و HC-06 "را جستجو کنید. تفاوت بین این دو در سیستم عامل و معمولاً در تعداد پین های روی برد است. تصویر بالا از یک ماژول HC-06 است و دارای سیستم عامل ساده ای است که فقط پیکربندی بسیار اولیه را امکان پذیر می کند. همچنین به عنوان یک دستگاه بلوتوث "Slave" فقط تنظیم شده است. به عبارت ساده ، این بدان معناست که فقط می تواند به دستورات یک دستگاه "Master" پاسخ دهد و نمی تواند به تنهایی دستورات را صادر کند. ماژول HC-05 امکانات پیکربندی بیشتری دارد و می تواند به عنوان یک دستگاه "Master" یا "Slave" تنظیم شود. HC-05 معمولاً به جای چهار پین نشان داده شده در بالا برای HC-06 دارای شش پین است. اگر می خواهید پیکربندی انجام دهید ، پین وضعیت واقعاً مهم نیست ، اما پین کلید (گاهی اوقات با نامهای دیگر مانند "EN") مورد نیاز است. به طور کلی ، اگر شما با نرخ پیش فرض پیش فرض 9600 خوب هستید و اهمیتی نمی دهید که نام خاصی به ماژول بدهید ، نیازی به پیکربندی ندارند. چندین پروژه دارم که از آنها استفاده می کنم ، بنابراین دوست دارم بر اساس آنها نام ببرم.

پیکربندی ماژول های بلوتوث مستلزم این است که یا یک رابط را برای یک پورت سریال RS-232 یا یک پورت USB خریداری یا ایجاد کنید. من در این پست نحوه ایجاد یکی را توضیح نمی دهم ، اما باید بتوانید اطلاعاتی را در وب پیدا کنید. یا فقط یک رابط خریداری کنید. دستورات پیکربندی از دستورات AT مانند آنچه در قدیم با مودم های تلفن استفاده می شد ، استفاده می کند. من یک دفترچه راهنمای کاربر را در اینجا ضمیمه کرده ام که شامل دستورات AT برای هر نوع ماژول است. نکته ای که باید به آن توجه کنید این است که HC-06 به دستورات UPPERCASE نیاز دارد و رشته فرمان باید در عرض 1 ثانیه تکمیل شود. این بدان معناست که برخی از رشته های طولانی تر برای مواردی مانند تغییر نرخ baud باید بریده شده و در برنامه ترمینال شما چسبانده شوند یا برای ارسال فایل های متنی تنظیم کنید. شرط UPPERCASE فقط در صورتی است که سعی در ارسال دستورات پیکربندی دارید. حالت ارتباط منظم می تواند هر 8 بیت داده را بپذیرد.

مرحله 4: نرم افزار

این نرم افزار برای نسخه دستی و نسخه بلوتوث بسیار ساده است. برای انتخاب نسخه بلوتوث ، فقط عبارت "#define BT_Ctrl" را کامنت نکنید.

وقتی کد PIC را نوشتم ، فرکانس PWM را آزمایش کردم و در نهایت روی 500 هرتز قرار گرفتم. من کشف کردم که اگر فرکانس خیلی زیاد باشد ، ماژول LM298N نمی تواند به اندازه کافی سریع به پالس ها واکنش نشان دهد. این بدان معناست که ولتاژ خروجی خطی نبوده و می تواند جهش های بزرگی انجام دهد. Arduino دارای دستورات PWM است ، اما آنها فقط به شما اجازه می دهند چرخه کار را تغییر دهید و نه فرکانس را. خوشبختانه ، فرکانس در حدود 490 هرتز است به طوری که به اندازه کافی نزدیک به 500 هرتز است که من در PIC استفاده کردم.

یکی از ویژگی های دریچه گاز قطار احساس حرکت برای شتاب و ترمز برای شبیه سازی نحوه عملکرد قطار واقعی است. برای انجام این کار ، یک تاخیر زمانی ساده در حلقه نسخه دستی نرم افزار وارد می شود. با مقدار نشان داده شده ، تقریباً 13 ثانیه طول می کشد تا از 0 تا 12 ولت یا از 12 ولت به صفر برسد. تاخیر را می توان به راحتی برای مدت طولانی یا کوتاه اصلاح کرد. تنها موردی که شتاب در کار نیست زمانی است که سوئیچ Direction تغییر می کند. برای اهداف حفاظتی ، هرگاه این سوئیچ تعویض شود ، چرخه وظیفه PWM بلافاصله روی 0٪ تنظیم می شود. این در واقع باعث می شود که سوئیچ جهت نیز به عنوان ترمز اضطراری دو برابر شود.

برای اطمینان از کنترل فوری کلید Direction ، کد آن را در یک کنترل کننده وقفه قرار دادم. این همچنین به ما امکان می دهد از تابع "وقفه در تغییر" استفاده کنیم ، بنابراین مهم نیست که تغییر از کم به زیاد یا زیاد به پایین باشد.

نسخه بلوتوث نرم افزار از دستورات تک حرفی برای شروع عملکردهای Forward ، Reverse ، Brake و Throttle استفاده می کند. در واقع ، دستورات دریافتی جایگزین سوئیچ های دستی می شوند اما پاسخ های یکسانی را ایجاد می کنند. برنامه ای که من برای کنترل بلوتوث استفاده می کنم توسط Prototypes بعدی "Bluetooth Serial Controller" نامیده می شود. این به شما امکان می دهد یک صفحه کلید مجازی را پیکربندی کرده و رشته ها و نام های فرمان خود را برای هر کلید تنظیم کنید. همچنین به شما امکان می دهد نرخ تکرار را تنظیم کنید ، بنابراین دکمه های ترمز و دریچه گاز را روی 50 میلی ثانیه قرار می دهم تا حدود 14 ثانیه حرکت کند. عملکرد تکرار را برای دکمه های Forward و Reverse غیرفعال کردم.

همین برای این پست سایر دستورالعمل های من را بررسی کنید. اگر به پروژه های میکروکنترلر PIC علاقه دارید ، وب سایت من را در www.boomerrules.wordpress.com ببینید.

توصیه شده: