فهرست مطالب:
- مرحله 1: تجهیزات
- مرحله 2: راه اندازی میکروکنترلر
- مرحله 3: راه اندازی MATLAB
- مرحله 4: توابع
- مرحله 5: آزمایش
- مرحله 6: نتیجه گیری
تصویری: مدل کولر گازی آردوینو: 6 مرحله ای
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
به عنوان بخشی از نشان دادن توانایی تیم ما در ایجاد مدل دستگاه قطار هوشمند برای اهداف بازاریابی ، هدف ایجاد سیستمی بود که در آن یک سنسور دما داده های مدار را می خواند و اطلاعات را به یک مقدار دما تبدیل می کند که هر دو روی یک صفحه روشن نشان داده شده و روی روشن یا خاموش شدن فن متمرکز شده است. هدف این است که با استفاده از یک سیستم خودکار ، شرایط سواری مسافران را تطبیق داده و همچنین دما را در مجاورت آن نشان دهد.
با استفاده از کیت میکروکنترلر آردوینو و نسخه های MATLAB 2016b و 2017b ، ما توانستیم این نتایج را با موفقیت نسبی نشان دهیم.
مرحله 1: تجهیزات
کیت میکروکنترلر با موارد زیر:
-Sparkfun Red Board
-Sparkfun Breadboard
-LCD Board
-پتانسیومتر
-حسگر دما
-سروو
-آداپتور USB/Arduino
سیم های جهنده (حداقل 25 عدد)
لپ تاپ (ویندوز 10) با ورودی USB
چاپ شی سه بعدی (اختیاری)
مرحله 2: راه اندازی میکروکنترلر
این را در نظر بگیرید: کل سیستم از واحدهای واحدی تشکیل شده است که هریک عامل مهمی را در نتیجه نهایی اعمال می کنند. به همین دلیل ، توصیه می شود قبل از اتصال سیم در یک آشفته پیچیده ، تصویر مدار را تنظیم کنید.
تصاویر هر مدل جداگانه را می توانید در دفترچه راهنمای ابزار میکروکنترلر یا در وب سایت آن به آدرس https://learn.sparkfun.com/tutorials/tags/arduino؟page=all مشاهده کنید.
با اتصال سنسور دما ، پتانسیومتر ، اتصالات سروو و LCD به برد شروع کنید. توصیه می شود که به دلیل اندازه LCD و نیاز به تعداد سیم برای آن ، آن را روی نیمی از تخته نان قرار دهید و سایر قطعات را در نیمه دیگر و پتانسیومتر را در منطقه ای قرار دهید تا کسی بتواند به راحتی دکمه خود را بچرخانید
برای مرجع:
LCD: c1-16
سرو: i1-3 (GND + -)
سنسور دما: i13-15 (- GND +)
پتانسیومتر: g24-26 (- GND +)
سپس ، اتصال سیم های بلوز به هر پین واحد میکروکنترلر را شروع کنید. اگرچه در طرح کلی کلی دلخواه بود ، اما طراحی با این اتصالات مهم ایجاد شد:
اتصال پتانسیومتر به LCD: f25 - e3
سیم Servo GND: j1 - ورودی دیجیتال 9
سنسور دما GND: j14 - ورودی آنالوگ 0
ورودی های LCD: e11-e15-ورودی دیجیتال 2-5
e4 - ورودی دیجیتال 7
e6 - ورودی دیجیتال 6
(توجه: در صورت موفقیت آمیز ، هر دو چراغ لبه LCD باید چشمک بزنند و پتانسیومتر می تواند با تنظیم قدرت از آداپتور ، روشنایی آن را تنظیم کند.)
اختیاری: از یک شی چاپ سه بعدی به عنوان بخشی از الزامات استفاده شد. برای جلوگیری از آسیب احتمالی به قطعات شکننده ، یک قاب بزرگ به عنوان یک آستین در اطراف LCD قرار داده شد. اندازه صفحه نمایش LCD تقریباً 2-13/16 "x 1-1/16" x 1/4 "بود و بنابراین فقط ارتفاع به طور قابل توجهی تغییر کرد. اگر چاپگر سه بعدی به راحتی در دسترس است ، افزودن یک شی شخصی را در نظر بگیرید. ، هر چند غیر ضروری. همچنین ، توجه داشته باشید که اندازه گیری ها ممکن است متفاوت باشد.
مرحله 3: راه اندازی MATLAB
نصب نسخه به روزتری از MATLAB (2016a به بعد) ، که در وب سایت MathWorks موجود است https://www.mathworks.com/products/matlab.html؟s_tid=srchtitle. پس از باز شدن ، به برگه های افزودنی در برگه Home بروید و "بسته پشتیبانی MATLAB برای سخت افزار آردوینو" را بارگیری کنید تا دستورات میکروکنترلر در دسترس باشند.
پس از اتمام ، می توان آزمایشی را برای یافتن اتصال میکروکنترلر به رایانه/لپ تاپ انجام داد. پس از اتصال آنها با آداپتور USB از کیت ابزار ، دستور "fopen (serial ('nada'))" را وارد کنید.
یک پیغام خطا ظاهر می شود که کانکتور را به عنوان "COM#" نشان می دهد ، که برای ایجاد یک شیء آردوینو لازم است مادامی که ورودی یکسان در همه زمانها باشد.
به دلیل عدم اتصال مستقیم LCD به کتابخانه آردوینو ، برای نمایش پیام ها باید کتابخانه جدیدی ایجاد شود. توصیه این است که پس از جستجوی "Arduino LCD" و قرار دادن آن در پوشه +arduinoioaddons ، یک فایل LCDAddon.m از مثال LCD موجود در پنجره راهنمای MATLAB ایجاد کنید ، یا از پوشه فشرده متصل شده استفاده کرده و تمام محتوای آن را در موارد فوق کپی کنید. پوشه
در صورت موفقیت ، کد ایجاد یک شیء Arduino در MATLAB مطابق شکل زیر است.
a = arduino ("com#" ، "uno" ، "Libraries" ، "ExampleLCD/LCDAddon") ؛
مرحله 4: توابع
یک تابع MATLAB ایجاد کنید. برای ورودی ها از متغیرهای "eff" و "T_min" استفاده می کنیم. برای خروجی ها ، هرچند در طراحی کلی غیر ضروری است ، ما از متغیر "B" به عنوان راهی برای نگهداری داده ها از نتایج استفاده کردیم. ورودی "eff" حداکثر سرعت سرو را مدیریت می کند و ورودی "T_min" حداقل دمای مورد نظر را کنترل می کند. بنابراین مقدار "B" باید ماتریسی تولید کند که شامل سه ستون برای زمان ، دما و کارایی فن است. همچنین ، به عنوان یک امتیاز برای جزئیات ، کد ذکر شده در زیر نیز دارای عبارت if است به گونه ای که سرعت فن هنگام نزدیک شدن به حداقل دمای مطلوب ، پنجاه درصد کاهش می یابد.
اگر تمام ورودی ها و سیم های جامپر دقیقاً قرار گرفته باشند و با فرض اینکه پورت اتصال آردوینو COM4 باشد و نام تابع "fanread" باشد ، کد زیر باید کافی باشد:
تابع [B] = fanread (Tmin ، eff)
روشن a؛ lcd clear؛ a = arduino ('com4' ، 'uno' ، 'Libraries' ، 'ExampleLCD/LCDAddon') ؛
t = 0 ؛ t_max = 15 ؛ ٪ زمان در ثانیه
lcd = addon (a، 'ExampleLCD/LCDAddon'، {'D7'، 'D6'، 'D5'، 'D4'، 'D3'، 'D2'})؛
initializeLCD (ال سی دی ، "ردیف" ، 2 ، "ستون" ، 2) ؛
if eff> = 1 || e <0
خطا ('فن فعال نمی شود مگر اینکه eff بین 0 و 1 تنظیم شود')
پایان
برای t = 1: 10٪ تعداد حلقه ها/فواصل
روشن c ؛ ٪ از تکرار خطا جلوگیری می کند
v = readVoltage (a ، 'A0') ؛
TempC = (v-0.5)*100 ؛ درصد تخمین برای محدوده ولتاژ 2.7-5.5 ولت
if TempC> Tmin اگر TempC
c = ['Temp'، num2str (TempC، 3)، 'C On']؛
writePWMDutyCycle (a ، 'D9' ، eff/2) ؛ ٪ سروو را با نصف سرعت روشن کنید
spd = 50 ؛
دیگری
c = ['Temp'، num2str (TempC، 3)، 'C On']؛
writePWMDutyCycle (a، 'D9'، eff)؛ ٪ با سرعت داده شده سروو روشن کنید
spd = 100؛
پایان
دیگری
c = ['Temp'، num2str (TempC، 3)، 'C Off']؛
writePWMDutyCycle (a، 'D9'، 0)؛ ٪ خاموش می شود اگر قبلاً روشن است
spd = 0؛
پایان
printLCD (ال سی دی ، ج) ؛
مکث (3) ؛ ٪ سه ثانیه در هر حلقه سپری می شود
زمان (t) = t.*3؛
tempplot (t) = TempC؛
act (t) = spd ؛
فرع فرعی (2 ، 1 ، 1)
نمودار (زمان ، tempplot ، 'b-o')٪ خط نمودار
محور ([0 33 0 40])
xlabel ('زمان (ثانیه)')
ylabel ('دما (C)')
صبر کن
طرح ([0 33] ، [Tmin Tmin] ، 'r-')
صبر کن
طرح ([0 33] ، [Tmin+2 Tmin+2] ، 'g-')
فرع فرعی (2 ، 1 ، 2)
نوار (زمان ، عمل)٪ نمودار میله
xlabel ('زمان (ثانیه)')
ylabel ("کارایی ())")
پایان
B = انتقال ([زمان ؛ tempplot ؛ عمل]) ؛
پایان
اکنون که عملکرد کامل است ، زمان آزمایش است.
مرحله 5: آزمایش
اکنون عملکرد را در پنجره فرمان با درج "نام_کارکرد (input_value_1 ، input_value_2)" آزمایش کرده و تماشا کنید. مطمئن باشید که هیچ شیء آردوینو در حال حاضر وجود ندارد. اگر چنین است ، از دستور "clear a" برای حذف آن استفاده کنید. در صورت بروز خطا ، بررسی کنید و ببینید آیا اتصالات در محل اشتباه هستند یا از ورودی های دیجیتال یا آنالوگ اشتباه استفاده شده است. انتظار می رود که نتایج متفاوت باشد ، اگرچه این ممکن است به دلیل قرار دادن سیم های جامپر خاص و سنسور دما ایجاد شود.
انتظارات از نتایج باید تغییراتی در عملکرد سروو و داده های روی LCD ایجاد کند. در هر بازه سه ثانیه ای ، یک خط از متن باید دما را برحسب درجه سانتیگراد و اینکه آیا فن فعال است یا خیر در حالی که فن با تمام سرعت ، نیم سرعت یا بدون سرعت کار می کند ، نمایش دهد. به احتمال زیاد داده ها باید یکسان نباشند ، اگرچه نتایج متفاوت تری را بخواهید ، مقدار "Tmin" را نزدیک به دمای متوسط تولید شده توسط مدار قرار دهید.
مرحله 6: نتیجه گیری
اگرچه انجام آزمایش سخت و دشوار کار دشواری بود ، اما نتایج نهایی بسیار جالب و رضایت بخش بود. چنین سیستمی به ما نشان می دهد که چگونه بسیاری از ماشین های پیچیده ، یا حتی برخی از قطعات آنها ، به عنوان مجموعه ای از قطعات مستقل در کنار هم برای دستیابی به یک هدف خاص دیده می شوند.
با توجه به طراحی بسیار ساده پروژه نهایی ، کسانی که علاقه مند به بهبود عملکرد آن هستند می توانند تغییراتی را در محصول نهایی ایجاد کنند که می تواند پروژه را بهتر و پیچیده تر کند. با این حال ، ضعف هایی در مدار مانند فعال شدن سروو که منجر به نوسانات پراکنده در خواندن ولتاژ مدار می شود ، نشان می دهد که می تواند باعث شود سیستم هرگز نتایج یکسان را تولید نکند. همچنین ، هنگام تغییر سرعت سروو هنگام تنظیم "eff" 0.4 و بالاتر مشکلاتی وجود دارد. اگر از سنسور دما و رطوبت استفاده می شد ، مدل نهایی پیچیده تر و در عین حال مقادیر سازگارتری ارائه می داد. با این وجود ، این تجربه ای است که نشان می دهد یک ماشین پیچیده می تواند به عنوان ترکیبی از قطعات ساده آن عمل کند.
توصیه شده:
آسانسور مدل کنترل شده با آردوینو: 7 مرحله (همراه با تصاویر)
آسانسور مدل کنترل شده با آردوینو: در این دستورالعمل به شما نشان خواهم داد که چگونه یک آسانسور اسباب بازی دو سطحی ، با درهای کشویی کارکرده و خودرویی که در صورت تقاضا بالا و پایین می رود ، ساختم. قلب آسانسور Arduino Uno (یا در این مورد متروی Adafruit) است ، با Adafruit Moto
مدل راه آهن مدل خودکار با حلقه های معکوس: 14 مرحله
طرح خودکار مدل راه آهن با حلقه های معکوس: در یکی از دستورالعمل های قبلی من ، نحوه ساخت یک راه آهن ساده نقطه ای به نقطه مدل ساده را نشان دادم. یکی از معایب اصلی آن پروژه این بود که قطار برای برگشت به نقطه شروع باید در جهت معکوس حرکت کند. آر
آموزش PCB کولر گازی با کارکردن و تعمیر: 6 مرحله
آموزش PCB تهویه مطبوع با کارکردن و تعمیر آن: سلام ، بچه ها چه خبر! Akarsh اینجا از CETech. آیا تا به حال فکر کرده اید که در قسمت داخلی کولر گازی شما چه می گذرد؟ اگر بله ، پس باید این مقاله را مرور کنید زیرا امروز من قصد دارم بین اتصالات و محاسبه اطلاعاتی ارائه دهم
ارزان ترین آردوینو -- کوچکترین آردوینو -- آردوینو پرو مینی -- برنامه نویسی -- آردوینو ننو: 6 مرحله (همراه با تصاویر)
ارزان ترین آردوینو || کوچکترین آردوینو || آردوینو پرو مینی || برنامه نویسی || آردوینو ننو: …………………………. لطفاً برای ویدیوهای بیشتر به کانال YouTube من مشترک شوید ……. .این پروژه در مورد نحوه ارتباط با کوچکترین و ارزانترین آردوینو است. کوچکترین و ارزان ترین آردوینو arduino pro mini است. شبیه آردوینو
هوای سردتر! برای پول کمتر! کولر گازی سوپرشارژ !!: 14 مرحله (همراه با تصاویر)
هوای سردتر! برای پول کمتر! با این روش می توانید خنک کننده را بهبود بخشید و هزینه برق را کاهش دهید. یک کولر گازی با فشرده سازی مبرد گاز کار می کند تا زمانی که در کندانسور (شما حدس زده اید) در قسمت بیرونی متراکم شود. این امر گرمای بیرون را آزاد می کند. سپس وقتی آن