فهرست مطالب:
- مرحله 1: مرحله 1: از شرایط کار سنسورها و دستگاه ها اطمینان حاصل کنید
- مرحله 2: چگونه کار می کند؟
- مرحله 3: Arduino خود را با استفاده از Arduino IDE برنامه ریزی کنید
- مرحله 4: شبیه سازی با استفاده از پروتئوس
- مرحله 5: اجرای سخت افزار
تصویری: اندازه گیری سرعت موتور با استفاده از آردوینو: 6 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:51
آیا اندازه گیری دور در دقیقه موتور سخت است ؟؟؟ فکر نمی کنم. در اینجا یک راه حل ساده وجود دارد.
فقط یک سنسور IR و آردوینو در کیت شما می توانند این کار را انجام دهند.
در این پست من یک آموزش ساده در مورد نحوه اندازه گیری RPM هر موتور با استفاده از سنسور IR و Arduino UNO/nano ارائه می دهم.
تدارکات:
1. Arduion uno (آمازون) / Arduion nano (آمازون)
2. سنسور IR (آمازون)
3. موتور DC هر (آمازون)
4. LCD 16*2 (آمازون)
ابزارهای مورد استفاده
1. آهن لحیم کاری (آمازون)
2. سیم گیر (آمازون)
مرحله 1: مرحله 1: از شرایط کار سنسورها و دستگاه ها اطمینان حاصل کنید
سنسور مادون قرمز چیست؟ حسگر مادون قرمز یک دستگاه الکترونیکی است که به منظور حس کردن اجسام اطراف ، نور را از خود ساطع می کند. یک سنسور IR می تواند گرمای یک جسم را اندازه گیری کرده و حرکت را نیز تشخیص دهد. معمولاً در طیف مادون قرمز ، همه اجسام نوعی تابش حرارتی را منتشر می کنند. این نوع تابش برای چشم ما نامرئی است ، اما سنسور مادون قرمز می تواند این تابش ها را تشخیص دهد.
موتور DC چیست؟ موتور جریان مستقیم (DC) نوعی ماشین الکتریکی است که انرژی الکتریکی را به انرژی مکانیکی تبدیل می کند. موتورهای DC نیروی الکتریکی را از طریق جریان مستقیم می گیرند و این انرژی را به چرخش مکانیکی تبدیل می کنند.
موتورهای DC از میدانهای مغناطیسی ناشی از جریانهای الکتریکی ایجاد شده استفاده می کنند که باعث حرکت یک روتور ثابت شده در محور خروجی می شود. گشتاور و سرعت خروجی بستگی به ورودی الکتریکی و طراحی موتور دارد.
آردوینو چیست؟
آردوینو یک پلتفرم الکترونیکی منبع باز است که بر اساس سخت افزار و نرم افزارهای آسان برای استفاده است. بردهای آردوینو می توانند ورودی ها - نور روی سنسور ، انگشت روی دکمه یا پیام توییتر - را بخوانند و آن را به خروجی تبدیل کنند - موتور را فعال کرده ، LED را روشن کنند ، چیزی را به صورت آنلاین منتشر کنند. با ارسال مجموعه ای از دستورالعمل ها به میکروکنترلر روی برد ، می توانید به برد خود بگویید که چه کار کند. برای انجام این کار ، از زبان برنامه نویسی آردوینو (بر اساس سیم کشی) و نرم افزار آردوینو (IDE) ، بر اساس پردازش استفاده می کنید.
ARDUINO IDE را بارگیری کنید
مرحله 2: چگونه کار می کند؟
پس منطق پشت این چیست ؟؟
بسیار شبیه به رمزگذار عمل می کند. درک رمزگذار برای مبتدیان سخت است. تنها چیزی که باید بدانید این است که سنسور IR پالس تولید می کند و ما فاصله زمانی بین هر پالس را پیدا می کنیم.
در این حالت سنسور IR هنگامی که پرتو IR آن با ملخ های موتور قطع می شود ، یک پالس به آردوینو ارسال می کند. به طور معمول ما از پروانه های دو تیغه استفاده می کنیم اما من از پروانه با سه تیغه استفاده می کنم همانطور که در شکل نشان داده شده است. بسته به تعداد پره های پروانه ، هنگام محاسبه RPM باید برخی مقادیر را تغییر دهیم.
بیایید در نظر بگیریم که یک پروانه داریم که دارای دو تیغه است. برای هر موتور چرخشی ، تیغه دو بار اشعه IR را رهگیری می کند. بنابراین سنسور IR در هر زمان قطع کننده ها ، پالس تولید می کند.
اکنون باید برنامه ای بنویسیم که بتواند تعداد پالس های تولید شده توسط حسگر IR را در یک بازه زمانی خاص اندازه گیری کند.
بیش از یک راه برای حل یک مشکل وجود دارد ، اما ما باید انتخاب کنیم که در این کدها کدام یک بهتر است. من مدت زمان وقفه ها (سنسور IR) را اندازه گیری کرده ام (از توابع micros () برای اندازه گیری مدت زمان ضربان در میکرو ثانیه استفاده کردم.
می توانید از این فرمول برای اندازه گیری RPMRPM = ((1/مدت)*1000*1000*60)/پره ها استفاده کنید
که در آن ، مدت زمان - فاصله زمانی بین پالس ها.
60 ثانیه تا دقیقه
1000 - آسیاب تا ثانیه
1000 - میکرو به آسیاب
تیغه - بدون بال در پروانه.
نمایشگر LCD - آردوینو دستورات و ثبت داده های صفحه نمایش LCD را به روز می کند. که کاراکترهای ASCII را روی صفحه LCD نمایش می دهد.
مرحله 3: Arduino خود را با استفاده از Arduino IDE برنامه ریزی کنید
#عبارتند از
LCD مایع LiquidCrystal (9 ، 8 ، 7 ، 6 ، 5 ، 4) ؛ const int IR_IN = 2 ؛ // سنسور IR INPUT prevmicros طولانی بدون علامت ؛ // برای ذخیره مدت زمان طولانی بدون علامت ؛ // برای ذخیره تفاوت زمان بدون علامت طولانی lcdrefresh؛ // برای ذخیره زمان lcd برای بازخوانی int rpm ؛ // مقدار RPM جریان بولی ؛ // وضعیت فعلی اسکن ورودی IR prevstate بولی؛ // وضعیت سنسور IR در اسکن قبلی void setup () {pinMode (IR_IN، INPUT)؛ lcd.begin (16 ، 2) ؛ prevmicros = 0 ؛ prevstate = LOW؛ } void loop () {/////////////////////////////////////// ///////////////////////////////////// RPM اندازه گیری جریان فعلی = digitalRead (IR_IN) ؛ // وضعیت سنسور IR را بخوانید اگر (prevstate! = currentstate) // در صورت تغییر در ورودی {if (currentstate == LOW) // اگر ورودی فقط از HIGH به LOW تغییر کند {duration = (micros () - prevmicros)؛ // تفاوت زمانی بین دور در میکروثانیه rpm = ((60000000/مدت)/3) ؛ // دور در دقیقه = (1/ زمان میلی ثانیه)*1000*1000*60 ؛ prevmicros = micros ()؛ // ذخیره زمان برای محاسبه انقلاب nect}} prevstate = currentstate؛ // ذخیره این اسکن (اسکن قبلی) برای اسکن بعدی ///////////////////////////////// //////////////////////////////////////////////// LCD نمایش اگر ((millis ()-lcdrefresh)> = 100) {lcd.clear ()؛ lcd.setCursor (0 ، 0) ؛ lcd.print ("سرعت موتور") ؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("RPM =")؛ ال سی دی چاپ (دور در دقیقه) ؛ lcdrefresh = millis ()؛ }}
مرحله 4: شبیه سازی با استفاده از پروتئوس
وقتی سعی کردم این پروژه را با کمک پروتئوس شبیه سازی کنم ، این پروژه کاملاً خوب کار کرد.
به جای استفاده از سنسور IR ، من از ژنراتور پالس DC استفاده کردم که پالس IR را شبیه به پالس IR ایجاد می کند که در هنگام برخورد اشعه مادون قرمز به پره های پروانه ایجاد می شود.
بسته به سنسوری که استفاده می کنید ، باید برنامه خود را تغییر دهید
سنسور IR با LM358 باید از این دستور استفاده کند.
if (currentstate == HIGH) // اگر ورودی فقط از LOW به HIGH تغییر کند
سنسور IR با LM359 باید از این دستور استفاده کند.
if (currentstate == LOW) // اگر ورودی فقط از HIGH به LOW تغییر کند
مرحله 5: اجرای سخت افزار
برای شماتیک از تصاویر شبیه سازی استفاده کنید یا کدهای برنامه را ارجاع داده و مطابق آن اتصالات را ایجاد کنید. کد برنامه را در آردوینو بارگذاری کنید و RPM هر موتور را اندازه گیری کنید. منتظر پست بعدی من باشید و کانال YouTube من را تماشا کنید.
توصیه شده:
اندازه گیری زمان (ساعت اندازه گیری نوار): 5 مرحله (همراه با تصاویر)
Time Time (Tape Measure Clock): برای این پروژه ، ما (Alex Fiel & amp؛ Anna Lynton) یک ابزار اندازه گیری روزانه تهیه کردیم و آن را به ساعت تبدیل کردیم! طرح اولیه این بود که یک نوار اندازه گیری موجود را موتور کنید. در ساخت آن ، ما تصمیم گرفتیم که راحت تر بتوانیم پوسته خودمان را ایجاد کنیم
سرعت سنج/اندازه گیری اسکن با استفاده از Arduino ، OBD2 و CAN Bus: 8 مرحله
اندازه گیری سرعت سنج/اندازه گیری اسکن با استفاده از Arduino ، OBD2 و CAN Bus: هر صاحب تویوتا پریوس (یا سایر خودروهای هیبریدی/ویژه) می داند که ممکن است در صفحه داشبورد آنها چند صفحه وجود نداشته باشد! دور موتور من دور موتور یا دماسنج ندارد. اگر اهل اجرا هستید ، ممکن است بخواهید مواردی مانند پیشرفت زمان و
استفاده از بیش از 4 موتور - چیدن چند موتور موتور: 3 مرحله
استفاده از بیش از 4 موتور - چیدمان چند موتور موتور: دستگاه تعویض و تقویت حسی ارتعاشی قابل آموزش (https://www.instructables.com/id/Vibrotactile-Sens …) راهی برای ساخت دستگاهی که حسی را ترجمه می کند ، نشان می دهد. ورود به محرک های ارتعاشی آن محرک های ارتعاشی عبارتند از
نحوه اجرای موتور DC بدون برس بدون کوادکوپتر بدون سرنشین با استفاده از کنترل کننده سرعت موتور HW30A بدون براش و تستر سرو: 3 مرحله
نحوه عملکرد موتور DC بدون جاروبک بدون سرنشین با استفاده از HW30A Brushless Motor Speed Controller و سرو تستر: توضیحات: این دستگاه Servo Motor Tester نام دارد که می توان با استفاده از یک سروو موتور ساده و منبع تغذیه به آن سرو موتور را فعال کرد. این دستگاه همچنین می تواند به عنوان مولد سیگنال برای کنترل کننده سرعت الکتریکی (ESC) استفاده شود ، سپس می توانید
نحوه کنترل موتور DC بدون برس بدون کوادکوپتر بدون سرنشین (3 نوع سیم) با استفاده از کنترل کننده سرعت موتور HW30A و Arduino UNO: 5 مرحله
نحوه کنترل موتور DC بدون برس بدون کوادکوپتر بدون سرنشین (3 نوع سیم) با استفاده از کنترل کننده سرعت موتور HW30A و Arduino UNO: توضیحات: کنترل کننده سرعت موتور HW30A را می توان با باتری های 4-10 NiMH/NiCd یا 2-3 سلولی LiPo استفاده کرد. BEC با حداکثر 3 سلول LiPo کاربردی است. می توان از آن برای کنترل سرعت موتور DC بدون برس (3 سیم) با حداکثر حداکثر 12Vdc استفاده کرد. مخصوص