فهرست مطالب:
- تدارکات
- مرحله 1: آماده سازی موتورهای DC
- مرحله 2: استفاده از ماژول درایور موتور L298N
- مرحله 3: افزودن PWM به ماژول درایور L298N
- مرحله 4: استفاده از سنسور ردیاب خط
- مرحله 5: همه چیز را کنار هم قرار دهید
تصویری: ربات Line Follower با PICO: 5 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
قبل از آنکه بتوانید رباتی بسازید که بتواند تمدن را آنگونه که ما می شناسیم پایان دهد و بتواند به نسل بشر پایان دهد. ابتدا باید بتوانید ربات های ساده ای بسازید که می توانند خطی را که روی زمین کشیده شده دنبال کنید و در اینجا اولین قدم خود را برای پایان دادن به همه ما بر می دارید>. <
اول از همه ، خط بعدی ربات ، روباتی است که می تواند خطی را روی زمین دنبال کند و این خط معمولاً یک خط سیاه است که روی زمینه سفید کشیده شده یا برعکس. و این به این دلیل است که برای ربات راحت تر است تفاوت بین رنگ های بسیار متضاد مانند سیاه و سفید را تشخیص دهد. جایی که ربات بسته به رنگی که می خواند زاویه خود را تغییر می دهد.
تدارکات
- PICO
-
شاسی ربات دو چرخ متحرک که دارای موارد زیر است:
- شاسی اکریلیک
- 2 موتور DC با چرخ و رمزگذار
- چرخ کاستور با روکش فلزی
- نگهدارنده باتری 4 کاناله
- تعدادی پیچ و مهره
- کلید روشن/خاموش
- ماژول درایور موتور L298N
- 2 سنسور ردیاب خط
- باتری 7.4 ولت
مرحله 1: آماده سازی موتورهای DC
شما می توانید از شاسی دو چرخ "2WD" برای سهولت این پروژه استفاده کنید ، زیرا در ساخت شاسی شخصی شما زمان و تلاش شما صرفه جویی می شود. به شما زمان بیشتری می دهد تا بر روی وسایل الکترونیکی پروژه تمرکز کنید.
بیایید از موتورهای DC شروع کنیم ، زیرا شما از موتورها برای کنترل سرعت حرکت و جهت ربات خود بسته به خوانش سنسورها استفاده خواهید کرد. اولین کاری که باید انجام دهید این است که شروع به کنترل سرعت موتورها کنید که مستقیماً با ولتاژ ورودی متناسب است ، به این معنی که برای افزایش سرعت باید ولتاژ را افزایش دهید و برعکس.
تکنیک PWM "Pulse Width Modulation" برای این کار ایده آل است ، زیرا به شما امکان می دهد مقدار متوسطی را که برای دستگاه الکترونیکی (موتور) شما استفاده می شود تنظیم و سفارشی کنید. و با استفاده از سیگنال های دیجیتال "HIGH" و "LOW" برای ایجاد مقادیر آنالوگ ، با متناوب کردن بین 2 سیگنال با سرعت بسیار بالا کار می کند. جایی که ولتاژ "آنالوگ" بستگی به درصد بین سیگنال های دیجیتال HIGH تا سیگنال LOW دیجیتال موجود در طول یک دوره PWM دارد.
لطفاً توجه داشته باشید که ما نمی توانیم PICO را مستقیماً به موتور وصل کنیم ، زیرا موتور به حداقل 90 میلی آمپر نیاز دارد که توسط پین های PICO قابل کنترل نیست ، و به همین دلیل از ماژول درایور موتور L298N استفاده می کنیم که به ما این امکان را می دهد تا هر دو را ارسال کنیم. جریان کافی به موتورها و تغییر قطبیت آن.
حال ، بیایید یک سیم را به هر یک از پایانه های موتور لحیم کنیم ، مراحل زیر را دنبال کنید:
- مقدار کمی لحیم کاری را روی پایانه موتور وصل کنید
- نوک سیم را بالای ترمینال موتور قرار دهید و آن را با لحیم کاری گرم کنید تا لحیم روی ترمینال ذوب شود و با سیم متصل شود ، سپس لحیم کاری را بردارید و اجازه دهید اتصال سرد شود.
- مراحل قبلی را با پایانه های باقیمانده هر دو موتور تکرار کنید.
مرحله 2: استفاده از ماژول درایور موتور L298N
موتور درایور موتور L298N این قابلیت را دارد که سیگنال ناشی از PICO را تقویت کرده و قطبیت جریان عبوری از آن را تغییر دهد. به شما امکان می دهد سرعت و جهت حرکت موتورهای خود را کنترل کنید.
L298N پین خروجی
- اولین ترمینال موتور DC A
- دومین ترمینال موتور DC A
- بلوز تنظیم کننده 5 ولت روی برد. اگر ولتاژ منبع تغذیه موتور را بیش از 12 ولت وصل می کنید ، این بلوز را بردارید تا تنظیم کننده ولتاژ سخت نشود.
- ولتاژ تغذیه موتور. حداکثر 35 ولت است ، و اگر از بیش از 12 ولت استفاده می کنید ، تنظیم کننده ولتاژ را فراموش نکنید.
- GND
- خروجی 5 ولت این خروجی در صورت وصل بودن از تنظیم کننده ولتاژ می آید و به شما این امکان را می دهد که PICO خود را از همان منبع موتور تغذیه کنید.
- موتور DC A جهنده فعال. اگر این بلوز متصل باشد ، موتور با سرعت کامل به جلو یا عقب کار می کند. اما ، اگر می خواهید سرعت را کنترل کنید ، فقط بلوز را برداشته و به جای آن یک پین PWM وصل کنید.
- In1 ، به کنترل قطبیت جریان و در نتیجه جهت چرخش موتور A کمک می کند.
- In2 ، به کنترل قطبیت جریان و در نتیجه جهت چرخش موتور A کمک می کند.
- In3 ، به کنترل قطبیت جریان و در نتیجه جهت چرخش موتور B کمک می کند.
-
In4 ، به کنترل قطبیت جریان و در نتیجه جهت چرخش موتور B کمک می کند.
- موتور DC B جامپر را فعال می کند. اگر این بلوز متصل باشد ، موتور با سرعت کامل به جلو یا عقب کار می کند. اما ، اگر می خواهید سرعت را کنترل کنید ، فقط بلوز را برداشته و به جای آن یک پین PWM وصل کنید.
اولین ترمینال موتور DC B
دومین ترمینال موتور DC B
تعداد پین هایی که موتور درایور L298N دارد استفاده از آن را دشوار می کند. اما ، در واقع بسیار آسان است ، و بیایید با یک مثال عملکردی ثابت کنیم که از آن برای کنترل جهت چرخش هر دو موتور خود استفاده می کنیم.
PICO را به صورت زیر به راننده موتور وصل کنید: "نمودار بالا را خواهید یافت":
- In1 → D0
- In2 → D1
- In3 → D2
- In4 → D3
جهت موتور با ارسال یک مقدار منطقی HIGH و LOW بین هر دو پین درایور In1/2 و In3/4 کنترل می شود. به عنوان مثال ، اگر HIGH را به In1 و LOW را به In2 ارسال کنید ، باعث می شود که موتور در یک جهت بچرخد و ارسال LOW به In1 و HIGH به In2 ، موتور را در جهت مخالف می چرخاند. اما ، اگر سیگنال های یکسان یا پایین را همزمان به هر دو In1 و In2 ارسال کنید ، موتورها متوقف می شوند.
فراموش نکنید که GND PICO را با GND باتری وصل کنید و بلوزهای Enable A و Enable B را حذف نکنید.
همچنین کد این مثال را در بالا خواهید یافت.
مرحله 3: افزودن PWM به ماژول درایور L298N
اکنون می توانیم جهت چرخش موتورهای خود را کنترل کنیم. اما ، ما هنوز نمی توانیم سرعت آنها را کنترل کنیم ، زیرا یک منبع ولتاژ ثابت داریم که حداکثر توان را به آنها می دهد. و برای انجام این کار ، به دو پایه PWM برای کنترل هر دو موتور خود نیاز دارید. متأسفانه شما ، PICO فقط 1 خروجی PWM دارد که ما باید آن را با استفاده از ماژول PCA9685 OWM گسترش دهیم و این ماژول شگفت انگیز می تواند PWM شما را از 1 به 16 افزایش دهد!
PCA9685 Pinouts:
- VCC → این قدرت منطقی شما است ، با حداکثر 3-5 ولت.
- GND pin برای تکمیل مدار ، پین منفی باید به GND متصل شود.
- V+ → این پین توان حاصل از منبع تغذیه خارجی را توزیع می کند ، در درجه اول در موتورهایی استفاده می شود که به مقدار زیادی جریان احتیاج دارند و به منبع تغذیه خارجی نیاز دارند.
- پین ساعت SCL ial سریال ، که به SCL PICO متصل می کنید.
- SDA pin پین داده سریال ، که به SDA PICO متصل می کنید.
- پین فعال سازی OE → Output ، این پین فعال LOW است ، بدین معنا که وقتی پین LOW باشد ، همه خروجی ها فعال هستند و وقتی HIGH باشد همه خروجی ها غیرفعال می شوند. این یک پین اختیاری است و پیش فرض LOW کشیده می شود.
ماژول PCA9685 PWM دارای 16 خروجی PWM است که هر کدام دارای سیگنال V+، GND و PWM مخصوص به خود هستند که می توانید مستقل از سایرین آنها را کنترل کنید. هر PWM می تواند 25 میلی آمپر جریان را کنترل کند ، بنابراین مراقب باشید.
اکنون قسمتی می آید که ما از ماژول PCA9685 برای کنترل سرعت و جهت موتورهای خود استفاده می کنیم و اینگونه است که ما PICO را به ماژول های PCA9685 و L298N متصل می کنیم:
PICO تا PCA9685:
- D2 (PICO) SDA (PCA9685)
- D3 (PICO) SCL (PCA9685)
PCA9685 تا L298N:
- PWM 0 (PCA9685) → In1 (L298N) ، جهت کنترل جهت موتور A
- PWM 1 (PCA9685) → In2 (L298N) ، جهت کنترل جهت موتور A
- PWM 2 (PCA9685) → In3 (L298N) ، جهت کنترل جهت موتور B
- PWM 3 (PCA9685) → In4 (L298N) ، جهت کنترل جهت موتور B
- PWM 4 (PCA9685) → enableA (L298N) ، برای ارسال سیگنال PWM که سرعت موتور A را کنترل می کند.
- PWM 5 (PCA9685) → enableB (L298N) ، برای ارسال سیگنال PWM که سرعت موتور B را کنترل می کند.
کد همه این قسمتها را در بالا پیوست می کنید.
مرحله 4: استفاده از سنسور ردیاب خط
ردیاب خط بسیار ساده است. این سنسور قابلیت تشخیص بین دو سطح را ، بسته به کنتراست بین آنها ، مانند سیاه و سفید ، دارد.
سنسور ردیاب خط دارای دو بخش اصلی است ، LED IR و دیود نوری. با تابش نور مادون قرمز از LED و خواندن بازتاب هایی که به فوتودیود باز می گردد ، می تواند رنگها را تشخیص دهد ، سپس فوتودیود بسته به نور منعکس شده مقدار ولتاژ را خروجی می دهد (مقدار بالا برای سطح نورانی "براق" و مقدار LOW برای سطح تیره)
پین های ردیاب خط:
- A0: این پین خروجی آنالوگ است و اگر بخواهیم یک ورودی آنالوگ بخوانیم (0-1023) از آن استفاده می کنیم
- D0: این پین خروجی دیجیتال است و اگر می خواهیم خوانش ورودی دیجیتالی باشد (0-1) از آن استفاده می کنیم
- GND: این پایه زمین است و ما آن را به پین GND PICO متصل می کنیم
- VCC: این پین قدرت است و ما آن را به پین VCC PICO وصل می کنیم (5 ولت)
- پتانسیومتر: این دستگاه برای کنترل حساسیت سنسور استفاده می شود.
بیایید سنسور ردیاب خط را با یک برنامه ساده آزمایش کنیم که در صورت تشخیص خط سیاه ، LED را روشن می کند و در صورت تشخیص سطح سفید هنگام چاپ قرائت سنسور در مانیتور سریال ، LED را خاموش می کنیم.
کد این آزمون را در بالا ضمیمه می کنید.
مرحله 5: همه چیز را کنار هم قرار دهید
آخرین کاری که باید انجام دهیم این است که همه چیز را در کنار هم قرار دهیم. همانطور که همه آنها را به صورت جداگانه آزمایش کرده ایم و همه آنها مطابق انتظار عمل می کنند.
ما ماژول های PICO ، PCA9685 و L298N را همانطور که هستند متصل نگه می داریم. سپس ، سنسورهای دنبال کننده خط را به تنظیمات موجود خود اضافه می کنیم و به شرح زیر است:
- VCC (همه سنسورهای ردیابی خط) → VCC (PICO)
- GND (همه سنسورهای ردیابی خط) ND GND (PICO)
- D0 (سنسور ردیاب راست خط) → A0 (PICO)
- D0 (سنسور ردیاب خط مرکزی) → A1 (PICO)
- D0 (سنسور ردیاب خط چپ) → A2 (PICO)
این آخرین کد است که ماشین شما را کنترل می کند و به شما می گوید که در مورد ما از یک خط ، خط سیاه در زمینه سفید پیروی کنید.
توصیه شده:
ربات Line Follower با استفاده از Arduino Uno و L298N: 5 مرحله
ربات Line Follower با استفاده از Arduino Uno و L298N: Line Flower یک ربات بسیار ساده است که برای لوازم الکترونیکی مبتدی ایده آل است
ربات شادی (Robô Da Alegria) - ربات منبع باز 3D چاپ شده ، ربات Arduino !: 18 مرحله (همراه با تصاویر)
ربات شادی (Robô Da Alegria) - ربات منبع باز سه بعدی ، ربات قدرتمند Arduino!: جایزه اول در مسابقه چرخ های دستورالعمل ، جایزه دوم در مسابقه دستورالعمل های آردوینو و دومین مسابقه در طراحی برای کودکان. با تشکر از همه کسانی که به ما رای دادند! روبات ها به همه جا می رسند. از کاربردهای صنعتی تا
ربات متعادل کننده / ربات 3 چرخ / ربات STEM: 8 مرحله
ربات متعادل کننده / ربات 3 چرخ / ربات STEM: ما یک ربات متعادل کننده و 3 چرخ ترکیبی برای استفاده آموزشی در مدارس و برنامه های آموزشی بعد از مدرسه ساخته ایم. این ربات بر اساس Arduino Uno ، یک سپر سفارشی (تمام جزئیات ساخت ارائه شده است) ، یک باتری لیتیوم یون (همه ساخت
ربات Line Follower: 11 مرحله (همراه با تصاویر)
ربات Line Follower: من یک ربات دنبال کننده خط با ریزپردازنده PIC16F84A مجهز به 4 سنسور IR ساختم. این ربات می تواند روی خطوط سیاه و سفید کار کند
[ربات آردوینو] چگونه می توان یک ربات ضبط حرکتی ساخت - ربات انگشت شست - سرو موتور - کد منبع: 26 مرحله (همراه با تصاویر)
[ربات آردوینو] چگونه می توان یک ربات ضبط حرکتی ساخت | ربات انگشت شست | سرو موتور | کد منبع: ربات انگشت شست از پتانسیومتر سروو موتور MG90S استفاده شده است. بسیار سرگرم کننده و آسان است! کد بسیار ساده است. فقط در حدود 30 خط است. به نظر می رسد یک حرکت ضبط است. لطفاً هر گونه سوال یا بازخوردی بگذارید! [دستورالعمل] کد منبع https: //github.c