فهرست مطالب:
- مرحله 1: سیم سیگال را انتخاب کنید
- مرحله 2: Wire را به برد آردوینو گسترش دهید
- مرحله 3: تجزیه و تحلیل سیگنال
- مرحله 4: تجزیه و تحلیل سیگنال خود را کدگذاری کنید
- مرحله 5: یک فیلتر را شناسایی کنید
- مرحله 6: فیلترینگ: قسمت 1
- مرحله 7: فیلترینگ: قسمت 2
- مرحله 8: فیلترینگ: قسمت 3
- مرحله 9: فیلترینگ: قسمت 4
تصویری: استفاده از آردوینو برای نمایش دور موتور: 10 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
این راهنما نحوه استفاده من از Arduino UNO R3 ، یک صفحه نمایش 16x2 LCD با I2C و یک نوار LED را نشان می دهد که به عنوان یک سرعت سنج موتور و تغییر نور در ماشین پیست Acura Integra من استفاده می شود. این عبارت بر اساس شخصی با تجربه یا در معرض نرم افزار آردوینو یا به طور کلی برنامه نویسی ، نرم افزار ریاضی MATLAB و ایجاد یا اصلاح مدارهای الکتریکی نوشته شده است. در آینده ممکن است این مورد تجدید نظر شود تا درک آن برای افرادی که تجربه کمی در این زمینه ها دارند یا هیچ تجربه ای ندارند آسان تر شود.
مرحله 1: سیم سیگال را انتخاب کنید
شما باید سیگنالی دریافت کنید که به دور موتور مربوط می شود. می توان سیستمی را که سرعت موتور را اندازه گیری می کند اضافه کرد ، اما استفاده از سیم فعلی که اطلاعات دور موتور را حمل می کند بسیار کاربردی تر است. ممکن است یک ماشین واحد منابع متعددی برای این کار داشته باشد و ممکن است در یک مدل خودرو حتی سال به سال متفاوت باشد. به خاطر این آموزش ، من از نمونه ماشین خود استفاده می کنم ، یک پیست اصلاح شده 2000 Acura Integra LS. در موتورم (B18B1 با OBD2) متوجه شدم که ولتاژ بلااستفاده ای وجود دارد که 12 ولت بالا است و پس از انجام یک دور کامل به 0 ولت کاهش می یابد.
مواردی که به شناسایی سیگنال احتمالی دور موتور کمک می کند:
- نمودار سیم کشی برای وسیله نقلیه شما
- جستجوی انجمن ها برای وسیله نقلیه خود شامل سیگنال های موتور/ECU
- مکانیک دوستدار یا علاقه مند به ماشین
مرحله 2: Wire را به برد آردوینو گسترش دهید
پس از انتخاب یک سیگنال مناسب ، باید آن را به هرجایی که برد آردوینو خود را قرار می دهید ، گسترش دهید. من تصمیم گرفتم وسیله خود را در داخل خودرویی که قبلاً رادیو بود قرار دهم ، بنابراین سیم جدید را از موتور ، از طریق یک روکش لاستیکی در دیوار آتش ، و درست به منطقه رادیو منتقل کردم. از آنجا که در حال حاضر راهنمای زیادی در مورد نحوه برش ، لحیم کاری و محافظت از سیم کشی وجود دارد ، من این فرایند را توضیح نمی دهم.
مرحله 3: تجزیه و تحلیل سیگنال
اینجاست که همه چیز می تواند پیچیده شود. داشتن درک کلی از تجزیه و تحلیل سیگنال و کنترل ها به شما کمک زیادی می کند ، اما با دانش کمی امکان پذیر است.
سیم سیگنال انتخاب شده به احتمال زیاد مقدار دقیق دور موتور را تف نمی کند. باید شکل داده و اصلاح شود تا تعداد دقیق دور موتور مورد نظر شما داده شود. با توجه به این واقعیت که هر ماشین و سیم سیگنال دیگری ممکن است متفاوت باشد ، از این به بعد من نحوه استفاده از سیگنال موقعیت توزیع کننده در Integra خود را توضیح خواهم داد.
سیگنال من معمولاً 12 ولت است و هنگام تکمیل یک دور کامل به 0 ولت می افتد. اگر زمان تکمیل یک چرخش کامل یا یک چرخه کامل را می دانید ، به راحتی می توانید با استفاده از برخی مفاهیم اساسی به دور در دقیقه تبدیل کنید.
1 / (ثانیه در هر چرخه) = چرخه در ثانیه یا هرتز
دور در دقیقه = هرتز * 60
مرحله 4: تجزیه و تحلیل سیگنال خود را کدگذاری کنید
این روش مستلزم دریافت زمان لازم برای تکمیل یک چرخه کامل سیگنال ورودی است. خوشبختانه نرم افزار Arduino IDE دارای یک فرمان است که دقیقاً همان کار را انجام می دهد ، PulseIn.
این دستور منتظر می ماند تا یک سیگنال از آستانه عبور کند ، شمارش را شروع کرده و هنگامی که آستانه دوباره عبور کرد ، شمارش را متوقف کند. برخی از جزئیات وجود دارد که هنگام استفاده از دستور باید توجه داشته باشید ، بنابراین من پیوندی به اطلاعات PulseIn در اینجا قرار می دهم:
PulseIn مقداری بر ثانیه برمی گرداند و برای ساده نگه داشتن ریاضی ، باید فوراً به ثانیه های عادی تبدیل شود. پس از محاسبه ریاضی در مرحله قبل ، می توان این مدت زمان را مستقیماً با RPM برابر کرد.
توجه: پس از آزمایش و خطا متوجه شدم که توزیع کننده دو دور برای هر دور میل لنگ موتور انجام می دهد ، بنابراین من به سادگی پاسخ خود را بر 2 تقسیم کردم تا به آن توجه شود.
مرحله 5: یک فیلتر را شناسایی کنید
اگر خوش شانس باشید سیگنال شما "نویز" (نوسانات) نخواهد داشت و دور موتور شما دقیق خواهد بود. در مورد من ، سر و صدای زیادی از توزیع کننده می آمد که اغلب ولتاژهایی را دور از انتظار می داد. این به خواندن بسیار غلط از سرعت واقعی موتور تبدیل می شود. این سر و صدا باید فیلتر شود.
پس از تجزیه و تحلیل سیگنال ، تقریباً همه سر و صدا در فرکانس (هرتز) بسیار بالاتر از آنچه موتور خود تولید می کرد (که در بیشتر سیستمهای دینامیکی واقعی صادق است) بود. این بدان معناست که یک فیلتر کم گذر کاندیدای ایده آلی برای مراقبت از این مورد است.
یک فیلتر کم گذر به فرکانس های پایین (دلخواه) اجازه عبور می دهد و فرکانس های بالا (نامطلوب) را تضعیف می کند.
مرحله 6: فیلترینگ: قسمت 1
طراحی فیلتر را می توان با دست انجام داد ، اما در صورت دسترسی به نرم افزار ، استفاده از MATLAB این امر را به میزان قابل توجهی افزایش می دهد.
یک فیلتر کم گذر را می توان با یک تابع انتقال (یا کسر) در دامنه لاپلاس (دامنه فرکانس) برابر دانست. فرکانس ورودی در این کسر ضرب می شود و خروجی یک سیگنال فیلتر شده است که فقط اطلاعات مورد نظر شما را دارد.
تنها متغیر تابع tau است. تاو برابر با 1 / امگا است ، جایی که امگا فرکانس قطع مورد نظر شما است (باید بر حسب رادیان بر ثانیه باشد). فرکانس قطع محدودیتی است که در آن فرکانس های بالاتر از آن حذف می شود و فرکانس های کمتر از آن حفظ می شود.
فرکانس قطع را برابر با RPM تنظیم می کنم که موتور من هرگز به آن نمی رسد (990 دور در دقیقه یا 165 هرتز). نمودارهای FFT تقریباً نشان می دهد که سیگنال خام من چه فرکانس هایی را حمل می کند و فرکانس های خارج شده از فیلتر.
مرحله 7: فیلترینگ: قسمت 2
در اینجا MATLAB دوباره به خاطر زمان مورد استفاده قرار گرفت. فرکانس قطع تعریف شده و از آن تابع انتقال حاصله نمایش داده می شود. به خاطر داشته باشید که این بخش فقط برای دامنه Laplace اعمال می شود و نمی تواند مستقیماً در میکرو کنترلرهای مبتنی بر زمان مانند Arduino UNO R3 استفاده شود.
مرحله 8: فیلترینگ: قسمت 3
MATLAB دارای فرمانی است که یک تابع پیوسته (دامنه فرکانس) را به یک تابع گسسته (حوزه زمانی) تبدیل می کند. خروجی این دستور معادله ای را ارائه می دهد که به راحتی می توان آن را در کد Arduino IDE گنجانید.
مرحله 9: فیلترینگ: قسمت 4
در طرح آردوینو ، متغیرهای u و y را قبل از راه اندازی وارد کنید. دستور float به سادگی نحوه ذخیره متغیر داده ها (مواردی مانند حداکثر مقدار ، اعشار و غیره …) را تعریف می کند و پیوندی به اطلاعات بیشتر در این مورد در اینجا ارائه می شود: https://www.arduino.cc/reference/fa/language /varia…
در حلقه ای که تبدیل سیگنال خام به دور موتور در حال انجام است ، متغیر u و معادله چندگانه y را وارد کنید. روشهای مختلفی برای استفاده از این روش وجود دارد ، اما متغیر u باید برابر سیگنال ورودی خام اندازه گیری شده باشد و متغیر y مقدار فیلتر شده خواهد بود.
توصیه شده:
استپر موتور کنترل شده استپر موتور - استپر موتور به عنوان رمزگذار روتاری: 11 مرحله (همراه با تصاویر)
استپر موتور کنترل شده استپر موتور | استپر موتور به عنوان رمزگذار روتاری: آیا چند موتور پله ای در اطراف شما خوابیده است و می خواهید کاری انجام دهید؟ در این دستورالعمل ، بیایید از یک موتور پله ای به عنوان یک رمزگذار چرخشی برای کنترل موقعیت یک موتور پله ای دیگر با استفاده از میکروکنترلر آردوینو استفاده کنیم. بنابراین بدون هیچ گونه توضیح بیشتر ، اجازه دهید
انتخاب گام موتور و درایور برای پروژه صفحه نمایش سایه خودکار آردوینو: 12 مرحله (همراه با تصاویر)
انتخاب گام موتور و درایور برای پروژه صفحه نمایش سایه خودکار آردوینو: در این دستورالعمل ، مراحلی را طی می کنم که برای انتخاب Step Motor و Driver برای نمونه اولیه پروژه Automated Shade Screen انجام دادم. صفحات سایه دار مدلهای محبوب و ارزان قیمت Coolaroo هستند و من می خواستم آن را جایگزین کنم
ریموت بی سیم با استفاده از ماژول NRF24L01 2.4 گیگاهرتز با آردوینو - Nrf24l01 گیرنده فرستنده 4 کانال / 6 کانال برای کوادکوپتر - هلیکوپتر Rc - Rc Plane با استفاده از آردوینو: 5 مرحله (همراه با تصاویر)
ریموت بی سیم با استفاده از ماژول NRF24L01 2.4 گیگاهرتز با آردوینو | Nrf24l01 گیرنده فرستنده 4 کانال / 6 کانال برای کوادکوپتر | هلیکوپتر Rc | Rc Plane با استفاده از آردوینو: برای کار با ماشین Rc | کوادکوپتر | هواپیمای بدون سرنشین | هواپیمای RC | قایق RC ، ما همیشه به گیرنده و فرستنده نیاز داریم ، فرض کنید برای RC QUADCOPTER به فرستنده و گیرنده 6 کاناله نیاز داریم و این نوع TX و RX بسیار پرهزینه است ، بنابراین ما یکی از آنها را در دستگاه خود تهیه می کنیم
نمایش درجه حرارت در ماژول صفحه نمایش LED P10 با استفاده از آردوینو: 3 مرحله (همراه با تصاویر)
نمایش درجه حرارت در ماژول صفحه نمایش LED P10 با استفاده از آردوینو: در آموزش قبلی نحوه نمایش متن بر روی ماژول نقطه صفحه نمایش LED P10 با استفاده از Arduino و DMD Connector توضیح داده شده است ، که می توانید اینجا را بررسی کنید. در این آموزش ما یک پروژه ساده با استفاده از ماژول P10 به عنوان صفحه نمایش
نمایش متن در صفحه نمایش LED P10 با استفاده از آردوینو: 5 مرحله (همراه با تصاویر)
نمایش متن در صفحه نمایش P10 LED با استفاده از آردوینو: صفحه نمایش داتماتریکس یا بیشتر به عنوان Running Text در مغازه ها اغلب به عنوان وسیله ای برای تبلیغ محصولات خود یافت می شود ، در استفاده کاربردی و انعطاف پذیر است که فعالان تجاری را تشویق می کند از آن به عنوان توصیه تبلیغاتی استفاده کنند. اکنون استفاده از نقطه