ايران ويج

نسخه‌ی کامل: راهنمایی برای ربات مین یاب
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
دوستان سلام.

من میخوام برنامه 1 ربات مین یاب اتوماتیک را بنویسم زیاد از برنامه نویسی سردر نمیارم اشنایی دارم اما نه ب اون حدی ک خودم تنها برنامه را بنویسم. از دوستان عزیز خواهش میکنم کمکم کنن ک تا اخر عمر دعای خیر من و هرکسی ک این تاپیک به کمکش میاد پشت سرشون باشه BiggrinBiggrinWink

اول از همه بگم ک برنامه را ب زبان بیسیک و با بسکام مینویسم.
- ای سی مورد استفاده mega 32 هست
- 9 تا اولتراسونیک srf02 برای تشخیص مانع و دور زدن ( i2c mode )
- قطب نمای cmps03 برای حرکت صاف ( i2c mode )
- مادون قرمز cny70 یا tcrt5000 برای تشخیص خط سفید دور زمین
- 2 تا موتور dc با شافت انکودر

خب برای برنامه نوشتن تا اونجایی ک میدونم برای srf02 & cmps03 باید از طریق دستورات i2c استفاده کرد اما دقیق نمیدونم چجوری.
برای مادون قرمز ها هم ک باید از adc استفاده کنم درسته ؟


خب اول از همه باید دستور حرکت ربات یعنی مستقیم رفتن را بنویسیم بعد میرسه به تشخیص مانع ، خط سفید ، قطب نما و ...

باید پیش نیاز ها تعریف بشه بعد برنامه نوشته بشه تا انجایی ک اطلاع داشتم 1 چیزهایی نوشتم خواهش میکنم کمکم کنید تا کاملش کنم :

کد:
$regfile = "m32def.dat"
$crystal = 8000000
Config Portb.0 = Output , Portb.1 = Output , Portb.2 = Output , Portb.3 = Output
Config Sda = Portc.1
Config Scl = Portc.0
Config Adc = Single , Prescaler = Auto
Enable Adc
Start Adc
R1 Alias Portb.0 : R2 Alias Portb.1 : L1 Alias Portb.3 : L2 Alias Portb.2


Do


Loop

این برنامه ای هست ک خودم بر طبق پیش نیازهایی ک داشتم نوشتم پورت b برای اتصال 2 تا موتور هست ک همونجور ک نوشتم :
R1 = سر مثبت موتور اول سمت راست
R2 = سر منفی موتور اول سمت راست
L1 = سر مثبت موتور دوم سمت چپ
L2 = سر منفی موتور دوم سمت چپ
بقیش هم ک مشخصه ممنون میشم اگه کمک کنید ، نمیگم ک کسی برنامه را کامل برام بنویسه میخوام جز ب جز بگین تحقیق کنم و با کمک هاتون یاد بگیرم . مرسی
دوست من....
از همه چیز مهم تر در روبات های مین یاب یک الگوریتم جامع وکار آمده که باید در برنامه تعریف بشه....
دوم:باید برنامه بنا بر شیوه سیم بندی و مدارتون طراحی و اجرا بشه تا روبات کار کنه

از چه موتوری استفاده میکنید؟
درایور های موتور ها چی اند؟
آیا نمایشگری هم نصب کرده اید؟
الگوریتم ک خیلی سادست مثل بقیه ربات های مین یاب خط اول را سنس میکنه و اگه مانعی باشه دور میزنه ب اخر ک رسید میره خط بعد و الی اخر ....

موتور ها هم dc 12 ولت شافت انکودر دار هستن.
درایور ها رو ب علت اینکه موتور ها جریان زیادی مصرف میکنن از Mosfet و l298 استفاده میکنیم.
نمایشگر فعلا نصب نکردیم اما مد نظرمون اعلام مختصات هست حالا یا روی نمایشگر نشون بده یا انتقال بده ب کامپیوتر.
[align=right]
این که به کدوم طرف دور بزنه رو باید الگوریتم بگه وگر نه الگوریتم نیست
حالا چرا ماسفت اگه 298 داه؟
این الگوریتمی هست ک من میخوام براش تعریف کنم :

[تصویر:  bf8aaef51c6e.jpg]


-------------------------------
موتور ها در عمل بیش از جریان نامی در بعضی جاها میکشن ک باعث میشه l298 نتونه تحمل کنه و بسوزه ب همین خاطر از mosfet و l298 استفاده میکنیم ک جریان کنترل بشه