انجمن های گفتگوی روبوایکیو

لطفا به سیستم وارد یا ثبت‌نام کنید.

لطفا برای ورود نام کاربری و رمز عبورتان را وارد نمایید

لطفا برای استفاده بهتر از انجمن، ثبت نام کنید!

نویسنده موضوع: برنامه نویسی ربات مسیریاب  (دفعات بازدید: 14898 بار)

0 کاربر و 1 مهمان درحال دیدن موضوع.

آفلاین Tragzes

  • کاربر جدید
  • *
  • ارسال: 39
  • امتیاز: 5
    • ديدن مشخصات
برنامه نویسی ربات مسیریاب
« : 22 آذر, 1392, 11:05:39 »
سلام خدمت دوستان.
عزیزان سئوال زیاد است و متاسفانه حرفه ای تمام عیار درآشنایان کم و نایاب(بااستاد هم بخاطر پرسیدن سئوالهای متعدد یه کم شکرآبیم)
الکترونیک رو فولم اما برنامه نویسی چیزیه که حتما باید کتابها درموردش بخونی تا کامل مسلط بشی
دنیای وب هم بزرگ اما یافتن جواب یکسری از سئوالات ظاهرا غیرممکن
...روی ربات مسیر یاب کار میکنم یک مشکلی که پیش اومده اینه که ربات رو برای مسیرهایی که دارای خط مشکلی است برنامه نویسی کردم به زبان بیسیک حالا رسیدم به قسمتی که باید جای عبور از زمینه سفید با خط مشکلی از زمینه مشکی با خط سفید عبور کند
خب همونطور که مشخصه به محض رسیدن سنسورها به زمینه تماما مشکی تمامی دستورات مربوط به خط مشکی از قبل تعریف شده فعال میشوند تمامی دستورات با هم قاطی میشه و میکرو ربات بدبخت سرگیجه میگیره
در برنامه نویسی ربات برای مسابقات این مشکل رو چجوری حل میکنن ؟
باتشکر
« آخرين ويرايش: 23 آذر, 1392, 04:56:29 توسط Tragzes »

آفلاین Tragzes

  • کاربر جدید
  • *
  • ارسال: 39
  • امتیاز: 5
    • ديدن مشخصات
پاسخ : برنامه نویسی ربات مسیریاب
« پاسخ #1 : 02 دی, 1392, 11:23:23 »
این سئوالی که پرسیدم جوابش سریه یا اینکه واقعا کسی اطلاع نداره ؟ :-\

آفلاین mehdi

  • یه دنگ از سایت به نامشه
  • *****
  • ارسال: 882
  • امتیاز: 48
    • ديدن مشخصات
پاسخ : برنامه نویسی ربات مسیریاب
« پاسخ #2 : 02 دی, 1392, 11:42:12 »
درود بر شما :) سلام

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

فقط یه کمک میتونم بکنم اینه که مسئله شکر آب رو با استاد حل کنی.
یا پاسخ به سمت شما می آید یا خودتان باید به جستجوی پاسخ بروید به انتظار دیگران نشستن خطاست باید کمر همت بسته و شروع به تلاش کرد.

امیدوارم ربات خوشگلتونم ساخته بشه ;) :D

آفلاین Soheil Beigi

  • مدیر انجمن
  • بابا حرفه ای
  • ****
  • ارسال: 484
  • امتیاز: 131
    • ديدن مشخصات
پاسخ : برنامه نویسی ربات مسیریاب
« پاسخ #3 : 03 دی, 1392, 02:54:42 »
سلام.
یه نمونه کد از ربات خودم به زبان C براتون میذارم که اینورت رو هم بتونه بره. اینورت همون مسیر سفید روی زمینه ی مشکی هست.

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

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

آفلاین Tragzes

  • کاربر جدید
  • *
  • ارسال: 39
  • امتیاز: 5
    • ديدن مشخصات
پاسخ : برنامه نویسی ربات مسیریاب
« پاسخ #4 : 08 دی, 1392, 05:10:29 »
مرسی مهدی جان لطف داری عزیز
مشکل اصلی که نه مسئله اصلی اینجاست یکی که سرکلاس زیاد سئوال میپرسه و ذهن استاد رو اذیت میکنه غیرعادی میزنه وگرنه اگر بقیه هم دانشجوین باید سئوال بپرسن...که نمیپرسن و استاد هم همیشه معمولی درس میده نه تند تند و پیشرفته
جناب Bit
تشکر از پاسخ کاملی که قرار دادید.میگم شما که کم از استادی ندارید قطعا درکل این اساتید گرامی آموزشگاه ها و دانشگاه ها بلاخره کتابی چیزی مطالعه میکنن که هرچی ازشون میپرسی بلدن،برای ادامه کار واسه اینکه کمتر مزاحمتون بشم کاشکی چندتا کتاب برنامه نویسی با BASCOM-AVR که بصورت کامل تمامی دستورات رو معرفی کرده باشن معرفی میکردید حالا که دارم ربات جدا طراحی و آماده میکنم به استقلال کامل برسم دیگه کلاس ها روهم شرکت نکنم.باتشکر

آفلاین Soheil Beigi

  • مدیر انجمن
  • بابا حرفه ای
  • ****
  • ارسال: 484
  • امتیاز: 131
    • ديدن مشخصات
پاسخ : برنامه نویسی ربات مسیریاب
« پاسخ #5 : 08 دی, 1392, 05:42:23 »
خواهش میکنم. :)

این 2 کتاب رو پیشنهاد میکنم. امیدوارم مفید باشه.
البته فقط basic نیستند و C هم آموزش میدند.

(مرجع کامل میکروکنترلرهای AVR - تألیف : محمد مهدی پرتوی فر ، فرزاد مظاهریان و یوسف بیانلو)

و

(مرجع کامل عملی ATmega32 - "قابل تعمیم به کلیه ی میکروکنترلر های AVR" - تألیف : مهندس داوود متولی زاده ی نائینی)

آفلاین Tragzes

  • کاربر جدید
  • *
  • ارسال: 39
  • امتیاز: 5
    • ديدن مشخصات
پاسخ : برنامه نویسی ربات مسیریاب
« پاسخ #6 : 27 دی, 1392, 01:53:40 »
شدیدا تشکر خیلی لطف کردید
یه مشکلی هست نتونستم جفتشونو توی یک فروشگاه پیدا کنم واسه همین میخوام فقط کتاب اولی رو سفارش بدم اگر دومی فعلا خریداری نکنم چقدری ضرر کردم؟
یه چندتا سئوال دیگه
استفاده از مالتی پلکسر درمقایسه با اتصال مستقیم به میکرو یه کم تاخیر نداره؟
شما مدار PCB رو چجوری روی برد چاپ می کنید ؟
مرسی

آفلاین Soheil Beigi

  • مدیر انجمن
  • بابا حرفه ای
  • ****
  • ارسال: 484
  • امتیاز: 131
    • ديدن مشخصات
پاسخ : برنامه نویسی ربات مسیریاب
« پاسخ #7 : 27 دی, 1392, 04:49:51 »
خواهش میکنم.
مشکلی نیست. همون اولی رو مطالعه کنید. :)
چرا. تاخیر داره. البته به قول شما تاخیر کمه ولی همون رو هم بشه از بین برد بهتره. (اتصال مستقیم)
جاهایی هستند که فایل PCB طراحی شده ی خودتون رو میفرستید براشون و اونها براتون با مشخصات دلخواه شما(رنگ فیبر ، جنس فیبر ، تعداد لایه ، متالیزه بودن/نبودن و ...) PCB تون رو چاپ میکنند.

آفلاین BlueSky

  • بابا حرفه ای
  • ****
  • ارسال: 260
  • امتیاز: 62
  • amir2012 سابق
    • ديدن مشخصات
پاسخ : برنامه نویسی ربات مسیریاب
« پاسخ #8 : 25 اسفند, 1392, 08:48:35 »
سلام خدمت دوستان.
عزیزان سئوال زیاد است و متاسفانه حرفه ای تمام عیار درآشنایان کم و نایاب(بااستاد هم بخاطر پرسیدن سئوالهای متعدد یه کم شکرآبیم)
الکترونیک رو فولم اما برنامه نویسی چیزیه که حتما باید کتابها درموردش بخونی تا کامل مسلط بشی
دنیای وب هم بزرگ اما یافتن جواب یکسری از سئوالات ظاهرا غیرممکن
...روی ربات مسیر یاب کار میکنم یک مشکلی که پیش اومده اینه که ربات رو برای مسیرهایی که دارای خط مشکلی است برنامه نویسی کردم به زبان بیسیک حالا رسیدم به قسمتی که باید جای عبور از زمینه سفید با خط مشکلی از زمینه مشکی با خط سفید عبور کند
خب همونطور که مشخصه به محض رسیدن سنسورها به زمینه تماما مشکی تمامی دستورات مربوط به خط مشکی از قبل تعریف شده فعال میشوند تمامی دستورات با هم قاطی میشه و میکرو ربات بدبخت سرگیجه میگیره
در برنامه نویسی ربات برای مسابقات این مشکل رو چجوری حل میکنن ؟
باتشکر

ربات باید تغییر رنگ زمینه را بفهمد.

1- اگر ربات وارد محیط با رنگ پس زمینه ی معکوس بشود خروجی همه ی سنسور ها در هر آرایشی که باشند، معکوس می شود.
ما می توانیم در برنامه نویسی یک زیر برنامهای بنویسیم که دائماً با فواصل زمانی کم چک کند که آیا خروجی همه ی سنسور ها به طور ناگهانی معکوس می شود یا خیر.

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

2-راه دوم و بهتر آن است که ، یک سنسور جدا گانه را به صورت مدار فوق به یک گیت not که بسته به تعداد سنسور های شماست، وصل کنیم.(در این جا این کار برای یک ربات 3 سنسوره انجام شده است).



شرمنده مجبور شدم با کیفیت بالا آپلود کنم.

در این مدار یک سنسور فرعی که به دور از سنسور های اصلی ( در یک گوشه ی ربات ) قرار داده شده تعیین می کند که خروجی  بقیه سنسور ها معکوس شود یا نه .

شما می دانید که npn با ولتاژ 5+ جریان را هدایت می کند.
و همچنین pnp با ولتاژ 0 ولت جریان را هدایت می کند.

پس اگر پس زمینه سفید باشد خروجی آپ امپ هم 5+ خواهد بود و در نتیجه فقط ترانزیستور های npn ( که هیچ گیت not ای در مسیر خود ندارند)، روشن می شوند و اطلاعات سنسور های اصلی بدون تغییر به MCU یا میکرو می رسد.

حالا اگر پس زمینه سیاه باشد خروجی آپ امپ هم 0 ولت می شود و در نتیجه فقط ترانزیستور های pnp ( که در مسیر خود گیت not دارند ) ، روشن می شوند و خروجی سنسور ها به صورت عکس حالت واقعی به MCU می رسند.

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

در پاسخ به این سوال باید گفت که وقتی ربات به محیط پس زمینه سیاه وارد شده ، یکبار خروجی سنسور های ربات منفی شده !و
ما با دوباره منفی کردن در واقع آن را از این حالت خارج می کنیم. ( منفی در منفی = مثبت )

مزیت این روش این است که ما در برنامه هیچ تغییری اعمال نمی کنیم .


موفق باشید. :)

در ضمن اون عکس مدار رو هم پیوست کردم


« آخرين ويرايش: 25 اسفند, 1392, 08:56:17 توسط BlueSky »
درخت هرچه پربار تر، سر به زیر تر

آفلاین Tragzes

  • کاربر جدید
  • *
  • ارسال: 39
  • امتیاز: 5
    • ديدن مشخصات
پاسخ : برنامه نویسی ربات مسیریاب
« پاسخ #9 : 27 اسفند, 1392, 06:43:19 »
تشکر دوست عزیز راه حلتون استثنایی و عالی بود  ;)

آفلاین Tragzes

  • کاربر جدید
  • *
  • ارسال: 39
  • امتیاز: 5
    • ديدن مشخصات
پاسخ : برنامه نویسی ربات مسیریاب
« پاسخ #10 : 07 تیر, 1393, 10:35:25 »
سلام.دوستان یک راهنمایی میکنید لطفا
درایور L293D طبق یک نقشه پایه ها من پایه شماره 8 رو وصل کردم به 5 ولت جهت تغذیه خود آی سی و پایه شماره 16 رو وصل کردم به ولتاژی که قراره داده بشود به موتورها یعنی 7.4 دوتا باتری لیتیومی
مشکلی که متوجه اون شدم اینه که پالس PWM رو روی 255 گذاشتم پس موتور باید با حداکثر سرعت بچرخد اما دور موتور نسبت به زمانی که مستقیم وصلش میکنم به خود باطری ها کمتر است
از این سایت که نقشه پایه ها جدید رو گرفتم :
http://www.engineersgarage.com/electronic-components/l293d-motor-driver-ic
طبق این صفحه اگر حساب کنیم دلیل کم بودن سرعت موتورها مشخص میشود و من پایه هارو جاباجا وصل کردم(یعنی به موتورها 5 ولت داده میشه) اما شک دارم اشتباه کرده باشم چون اگر به پایه 5 ولت خود درایور من ولتاژ 7.4 داده باشم نباید آی سی می سوخت ؟؟
یعنی این آی سی خودش ولتاژ رو به 5 ولت تبدیل میکنه و آی سی نمیسوزه؟؟

آفلاین Soheil Beigi

  • مدیر انجمن
  • بابا حرفه ای
  • ****
  • ارسال: 484
  • امتیاز: 131
    • ديدن مشخصات
پاسخ : برنامه نویسی ربات مسیریاب
« پاسخ #11 : 08 تیر, 1393, 11:04:34 »
سلام.دوستان یک راهنمایی میکنید لطفا
درایور L293D طبق یک نقشه پایه ها من پایه شماره 8 رو وصل کردم به 5 ولت جهت تغذیه خود آی سی و پایه شماره 16 رو وصل کردم به ولتاژی که قراره داده بشود به موتورها یعنی 7.4 دوتا باتری لیتیومی
مشکلی که متوجه اون شدم اینه که پالس PWM رو روی 255 گذاشتم پس موتور باید با حداکثر سرعت بچرخد اما دور موتور نسبت به زمانی که مستقیم وصلش میکنم به خود باطری ها کمتر است
از این سایت که نقشه پایه ها جدید رو گرفتم :
http://www.engineersgarage.com/electronic-components/l293d-motor-driver-ic
طبق این صفحه اگر حساب کنیم دلیل کم بودن سرعت موتورها مشخص میشود و من پایه هارو جاباجا وصل کردم(یعنی به موتورها 5 ولت داده میشه) اما شک دارم اشتباه کرده باشم چون اگر به پایه 5 ولت خود درایور من ولتاژ 7.4 داده باشم نباید آی سی می سوخت ؟؟
یعنی این آی سی خودش ولتاژ رو به 5 ولت تبدیل میکنه و آی سی نمیسوزه؟؟
سلام.
شما تنها اشتباهی که داشتید این بوده که پایه های 8 و 16 رو جابجا وصل کردید.

VS ( پایه ی 8 ) : باید به باتری وصل بشه
VSS ( پایه ی 16 ) : باید به +5 ولت وصل بشه

توی همین لینک هم اگر به جدول پایین صفحه نگاه کنید ، میبینید که پایه ی 8 رو نوشته : Supply voltage for Motors.
یعنی ولتاژ مورد نیاز موتور ها.

ضمنا اگر بار اول هست که مداری رو تست میکنید ، حتما از منبع تغذیه با جریان محدود استفاده کنید.
به کار گیری باتری برای تست مدار اصلا امنیت نداره!

آفلاین Tragzes

  • کاربر جدید
  • *
  • ارسال: 39
  • امتیاز: 5
    • ديدن مشخصات
پاسخ : برنامه نویسی ربات مسیریاب
« پاسخ #12 : 10 تیر, 1393, 11:39:45 »
مسئله جالبی که است اینه که وقتی پایه ای که ظاهرا پایه تغذیه آی سی هستش رو بجای ولتاژ 7.4 به 5 ولت وصل میکنم به فرض اینکه اشتباه هم پایه ها رو وصل کرده باشم اما دور موتور با کاهش از 7.4 به 5 ولت کمتر میشود پس مشخصه مشکلی در نقشه پایه های سایتها وجود داره
درایور 293 سایت قیمت زده 2800 ولی من از یکی از مراکز رباتیک شهرمون خریداری کردم 6000 تومن واسه همین ریسک پرضرری است آزمایش جابجا وصل کردن پایه ها

آفلاین Soheil Beigi

  • مدیر انجمن
  • بابا حرفه ای
  • ****
  • ارسال: 484
  • امتیاز: 131
    • ديدن مشخصات
پاسخ : برنامه نویسی ربات مسیریاب
« پاسخ #13 : 11 تیر, 1393, 03:13:46 »
برای اینکه از نقشه ها مطمئن باشید ، هیچوقت توی سایت ها دنبالشون نگردید و از دیتاشیت استفاده کنید.
www.alldatasheet.com

آفلاین Tragzes

  • کاربر جدید
  • *
  • ارسال: 39
  • امتیاز: 5
    • ديدن مشخصات
پاسخ : برنامه نویسی ربات مسیریاب
« پاسخ #14 : 11 تیر, 1393, 12:59:32 »
ممنون
دقیقا براساس PDF همین سایت پایه ها درست وصل شدن
ولی این اختلاف سرعت رو چکار کنم یعنی اتلاف انرژی یا مقاومت مدارهای 293 اینقدر زیاده؟
298 هم همینجوریه ؟؟
(293 چون دیود محافظ نمیخواد ازش استفاده کردم)
برای اینکه از نقشه ها مطمئن باشید ، هیچوقت توی سایت ها دنبالشون نگردید و از دیتاشیت استفاده کنید.
www.alldatasheet.com
« آخرين ويرايش: 11 تیر, 1393, 01:04:39 توسط Tragzes »