به نام خداوند بخشنده و مهربان!

سلام خدمت دوستان گل و هموطنان گرامی....!

بعد از چند وقتی که درگیر ساخت ربات ام بودم بالاخره به لطف خداوند تموم شد! البته زیاد حرفه ای نیست ولی انشالله شروعی باشه برای پیشرفت گسترده تر در زمینه رباتیک و الکترونیک...!

خوب در این جا تصمیم دارم که برای کسانی که مثل من برای اولین بار هست که میخوان یه ربات بسازن یه سری توضیحاتی رو بدم! انشالله که مفید واقع بشه و به دردتون بخوره.

خوب میخواید جهت آشنایی با کاری که الان میخوایم بکنیم و توضیحاتی که میخوایم بدیم ابندا فیلم ربات ما رو ببینید بعد اگه پسندیدید ادامه ی مطلب رو هم دنبال کنید!

خوب همونطور که توی فیلم مشخص هست شاسی از جنس پلکسی گلاس است و دو موتور تک محوره و یک هرزگرد و دو تا چرخ تشکیل شده! اگه شما هم دوست دارید بدنه ماشینتون مثل مال من باشه به فروشگاه رو به رو یه سری بزنید (لینک شاسی و... کلیک کنید)

خوب همونطور که تو فیلم دیدید این ربات یا ماشین با وایفای کار میکنه و باید به گوشی به ربات متصل شد و بهش فرمان داد! شاید اگه تو فیلم دقت کرده باشید دیده باشید که بعضی وقتها یه مشکلاتی توی کنترلش به وجود میاد مثلا میزنی بره جلو دیگه متوقف نمیشه و یا مثلا بعضی وقت ها که روی کلید ها میزنی خوب کار نمیکنه و باید دوباره بزنی تا فرمان ارسال بشه و از این قبیل مشکلات (البته الان چون هنوز ربات رو نساختید احتمالا با خودتون گفتید که اشکالی نداره حالا فعلا ربات رو بسازیم به فکری به حال این مشکل خواهیم کرد! درسته؟ s14 ولی نه اینطور نیست وقتی بسازید میبینید که یه مشکل بزرگه واسه خودش! شاید هم مشکل از کد برنامه ی من باشه و یا تغییراتی توی اون بتونید اونو درستش کنید) راستی ماژول وایفای مدل ESP8266-01 هست که میتونید از لینک رو به رو تهییه کنید (کلیک کنید) البته از سایت های دیگه ای هم میتونید تهییه کنید!

یه آیسی معروف کنترل موتور L298N هم داره که خوب اینو هر جا برید بهتون میدن! (من خریدم 4.5 ولی فک کنم خیلی چینیه s16)

یه ال سی دی معروف کاراکتری 16*2 داره که اونم هر جا برید دارن و نمیخواد زیاد خودتون رو به زحمت بندازید! (البته شما مثل من لحیمش نکنید! من رفتم سیم های بردبورد رو بهش لحیم کردم خیلی زشت شدهs12 کوتاه و بلنده... اگه خواستید میتونید پین هدر بهش لحیم کنید که کارتون تمیز بشه البته باز هم اختیار با خودتونه)

خوب دیدید که تموم شد و ما هیچ کاری نکردیم! ربات آماده است فقط کافیه سیم ها رو به هم وصل کنیم!

ابتدا از L298N شروع میکنیم! (این آیسی رو با زور تو برد بورد جا دادم آخه ترتیب پایه هاش کمی برای برد بورد ناجوره) بعد میتونید طبق شکل زیر اونو ببندید!

 

پايه هاي 1 و 15: اين پايه ها "Current sensing" نام دارند و بايد هر 2 به – متصل شوند.
پايه هاي 2 و 3: همان‌طور که مي دانيد اين آي سي مي‌تواند 2 موتور را همزمان و به صورت مستقل از يکديگر راه‌‌اندازي و کنترل کند (2 موتور را A , B مي‌ناميم). اين 2 پايه بايد به موتور A متصل شوند. (خروجي براي موتور A)
پايه‌ي 4: هر ولتاژي بر روي اين پايه قرار گيرد براي راه اندازي موتورها استفاده مي شود. مثلاً اگر موتورهاي شما 12 ولت است، بايد اين پايه به 12 ولت متصل شود.
پايه هاي 5 و 7: اين 2 پايه، ورودي براي کنترل موتور A هستند. اين 2 پايه بايد توسط کاربر يا مدار کنترل کننده‌ي ربات کنترل شوند.
اگر اين 2 پايه هر 2، 0 يا 1 منطقي باشند، موتور بدون حرکت مي ايستد. اگر اين 2 پايه به ترتيب 0 و 1 شوند، موتور به يک جهت مشخص مي‌چرخد و اگر 1 و 0 شوند(يعني ورودي برعکس شود)، موتور عکس جهت قبلي خواهد چرخيد.
پايه ي 6 و 11: اين 2 پايه به ترتيب فعال ساز موتورهاي A و B هستند. براي استفاده از هر 2 موتور بايد هر 2 پايه 1 شوند.(براي فعال‌سازي هر موتور بايد پايه‌ي مربوط به آن 1 شود).
پايه ي 8: بايد به – متصل شود.
پايه ي 9: اين پايه بايد به ولتاژ 5 ولت متصل شود.
پايه‌هاي 10 و 12: اين 2 پايه، ورودي براي کنترل موتور B هستند. کار با اين 2 پايه نيز مانند پايه‌هاي 5 و 7 (ورودي‌هاي موتور A) مي‌‌باشد.
پايه‌هاي 13 و 14: اين 2 پايه بايد به موتور B متصل شوند. (خروجي براي موتور B).

معرفی پایه ها از سایت http://electrovolt.ir/ بود! (مطلب بالا)

فقط یه نکته ی مهم که خیلی برام جای سوال بود و آخر سر فهمیدم چی شد! اینکه پین 4 توی L298N فقط پایه مثبت تغذیه است (این پایه برای ولتاژ موتور ها استفاده میشه) پس پایه منفی اش به کدوم پین میخوره! جواب سوال اینه که پایه منفی رو باید به پایه ی منفی مدار زد! یعنی پایه های منفی باطری موتور و باطری مربوط به میکرو رو با هم به مدار میزنیم! (یعنی سیم هاش رو به هم میپیچیم)

خوب حالا ما چهار تا پایه اش رو به میکرو وصل میکنیم! که عبارت از پایه های 5 و 7 برای موتور اول و پایه های 10 و 12 برای موتور دوم که ما میتونیم با اینا جهت چرخش موتور رو معلوم کنید! این چهار پایه به ترتیب به پایه های P2.8 , P2.9 , P2.10 , P2.11 وصل کنید (البته اینو من میگم چون برنامه رو اینجوری نوشتم شما میتونید به هر پایه ای که بخواید وصل کنید)

خوب برای اتصال LCD باید پین های 4 و5 و 6 رو به P2.0 , P2.1 , P2.2 وصل کنید و پین های 11 و 12 و 13 و 14ی LCD رو به پایه های P2.4 , P2.5 , P2.6 , P2.7 وصل کنید! (یعنی پایه ی P2.3 بدون اتصال میمونه) دیگه بقیه پایه هاش نظیر VCC و GND و... رو به ولتاژ های مورد نیازشون وصل کنید!

پایه های ماژول ESP8266 هم که چیزی نداره فقط یه TX  و RX داره که TX به P0.3 و RX به P0.2 وصل میشه! (UART0) حواستون باشه که باید RX و TX ضربدری وصل بشن! یعنی RX ماژول به TX میکرو و TX میکرو به RX ماژول وصل میشه!

شکل مدار کلی هم به صورت زیر هست!

 

راستی: قضیه باتری برای من که خیلی دردسر داشت و داره! تا الانم نتونستم یه منبع تغذیه ی درست و حسابی جور کنم! دوست داشتم باتری شارژی  داشتم که میتونستم خیلی بیشتر ازش استفاده کنم و دیگه نگران باتری نبودم ولی آخرش که نتونستم! (البته فعلا)

 لینک زیر هم دانلود برنامه ی مربوطه است! فقط قطعا مشکلاتی داره! مثلا برای افزایش سرعت دریافت وایفای یه وایل گذاشتم منتظر تا منتظر : باشه! چون میدونید برای دریافت یه استرینگ، ماژول به ما متن زیر رو میده! (مثلا براش ali رو فرستادیم)

+IPD,0,3:ali

پس باید تا قیل از دو نقطه پاک بشه! پس تو وایل میزاریم تا اون قبلیا رو کلا دریافت نکنیم!

اگه سوالی درباره ی کد نویسی اش داشتید بپرسید در خدمتم!

دانلود برنامه میکروکنترلر LPC1768

فقط توجه کنید خیلی چیز ها رو توضیح ندادم! سپردم به خودتون برنامه نویسی اش هم رو به زبان ++C نوشتم! اینجوری بهتره و چند تا کتاب خونه که اولش AF نوشته رو به زبان ++C درآوردم میتونید ازشون استفاده کنید!

فعلا

یا علی مدد...!