امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
سوال : اضافه کردن سنسور به ربات مسیریاب
#1
سلام "
من یک مسیریاب با 7تا سنسور ساختم و برنامه اش رو هم به کمک یکی از دوستام با bascom نوشتم .
الان می خوام تعداد سنسورها رو به 13 یا 15 ارتقا بدم .
3تا سوال :

1. برای اتصال سنسورها به ربات باید از یک پورت دیگه استفاده کنم و یا اینکه می شه سنسورهای هم محور رو با هم سری کرد ؟
یعنی اینکه 2تا سنسور سمت راست رو به یک پورت و ....

2. اگر برای اتصال سنسورها باید از یک پورت دیگه استفاده شه . کسی می تونه نحوه اتصال دو پورت رو به من بگه ؟
برنامه نویسی اش رو می گم .

3. سرعت موتورها رو به غیر از محدود کردن ولتاژ کاری موتور به صورت سخت افزاری دیگه چه جوری می شه کنترل کرد !
کاری با pwm ندارم منظورم رو پیست بود ! دکمه ای و .....

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

ممنون می شم اگه کمکم کنید !

پاسخ
 سپاس شده توسط مهرداد
#2
سلام دوست عزیز

درباره سوال اولتون فرقی نمیکنه ، اجباری نیست که حتما از یه پورت استفاده کنید، شما اصلا میتونی به هر پورتی که دلت میخواد هر چند تا که سنسور خواستی بزنی ، البته بعضی از پین های پورت ، که دارای وضایف خاصی هستند بهتره به عنوان ورودی و خروجی تعریف نشن!!! (مثلا پین تایمر /کانتر که توی pwm ازش استفاده میشه یا مثلا پین مربوط به restart و یا xtal1 , xtal2 که واسه نصب کریستاله و ....) !!!
درضمن شما از آپ امپ استفاده کردید یا از adc میکرو یا همونطوری خروجی سنسورها رو دادید به میکرو؟؟؟

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

سرعت موتور ها بهترین کار واسش استفاده از pwm هستش، ولی حالا که شما میخوای روبات زو از بیرون کنترل کنی ، یه کم جریان فرق میکنه ،شما دقیقا میخواید کی سرعت موتور کم بشه؟؟؟ یه توضیحاتی درباره اینکه کی و چرا میخواید سرعت موتورها رو کم کنید بدید تا بهتر بشه تصمیم گرفت که چیکار کرد

در چشم کسانی که پروازت را باور ندارند
هر چه بیشتر اوج گیری کوچک تر خواهی شد ...
پاسخ
 سپاس شده توسط ehsancompany ، AzhidahakA
#3
سلام "

از اپ امپ استفاده کردم !
می خوام روی پیست با چندتا کلید سرعت رو کنترل کنم برای مثال از رکورد رو با یک سرعت بره !
نحوه برنامه نویسی زمانی که می خوام از دو پورت استفاده کنم چه جوری هست ؟
می شه یکی یک مثال بزنه ! bascom باشه خیلی بهتره !

ممنون !
پاسخ
#4
سلام
همونطور که گفتم پورتها مجزا از هم هستن مثلا پورت b ربطی به پورت c نداره

همونطور که خواستی یه مثال میزنم
توی این مثال ، 5 تا سنسور داریم که به آپ امپ وصل هستن و ما 5 تا خروجی از کل آپ امپ ها خواهیم داشت حالا ما 3 تاش رو میدیم به portb (پین های شماره 0 و 1 و 2) و 2 تاش رو میدیم به portd (پین های 0 و 1) و میخوایم در صورت 1 شدن هرکدوم اتفاق مجزایی بیفته!!!

کد:
config portb=input
config portd=input

do
if portb.0=1 then
lcd a
end if

f portb.1=1 then
lcd b
end if

if portd.1=1 then
lcd c
end if

loop
end

یه برنامه همینجوری نوشتم ، توی این برنامه از دوتا پورت b , پورتd استفاده کردم!!! باز اگه جایی ابهام داشتی بگو توضیح بدم!!!



در چشم کسانی که پروازت را باور ندارند
هر چه بیشتر اوج گیری کوچک تر خواهی شد ...
پاسخ
 سپاس شده توسط AzhidahakA
#5
سلام همش ابهام بود !

منظورم از مثال نحوه اسکن کردن سنسورها بود که چه جوری اسکن کنه !

مثلا این رو نگاه کن !

نقل قول: 'rast
Case &B00001111:
Gosub Rast_stop
While Pind.5 = 0
Portb.0 = 0
Wend
Portb.1 = 1
Waitms 20
Portb.0 = 1

الان تو این مثال چپترین صفر یعنی توی B00001111 یکی از پایه های پورت b هستش گه چون سنسور بهش وصل نیست من با یک مقاومت زمین کردمش .

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

حالا اگه من بخوام این فرم کد رو با 13 یا 15 سنسور نشون بدم باید چی کار کنم ؟
ممنون !
پاسخ
#6
سلام دادا
بذا مرحله به مرحله بریم جلو تا موضوع تودرتو و گیج کننده نشه و هم من منظور شما رو بفهمم و هم شما منظور منو!!
---------------------------------------------------------------------------------------------------------------
مرحله اول :
سنسور ها رو طبق چیدمانی که روی برد داری از 1 شماره گذاری کن تا 15
خب حالا 15 تا سنسور رو دونه به دونه باید بایاسش کنیم!!!
نحوه بایاس کردن cny70 : فرستنده رو مستقیم بایاس میکنی با مقاومت حدود 220 اهم و گیرنده رو معکوس بایاس میکنی با مقاومت حدود 200کیلو
اگه از نحوه بایاس کردن سنسور سوال داری یا ابهام داشت بگو با تصویر توضیح میدم
----------------------------------------------------------------------------------------------------------------
مرحله 2:
خب حالا ما توی این مرحله که سنسور ها رو بایاس کردیم، 15 تا خروجی از سنسورها داریم که میخوایم به میکرو مون وصلش کنیم ، یعنی 15 تا پین از میکرو رو احتیاج داریم
حالا میایم از portd و portc استفاده میکنیم (البته شما آزادی از هرپورتی که دلت خواست استفاده کنی)

سنسورهای 1,2,3,4,5,6,7,8 رو به portd به ترتیب از 0 تا 7 وصل میکنیم

سنسور 1 وصل میشه به portd.0
سنسور 2 وصل میشه به portd.1
.
.
.
سنسور 8 وصل میشه به portd.7

و بعد مابقی سنسورها یعنی 9,10,11,12,13,14,15 رو میدیم به پورت c

سنسور 9 وصل میشه به portc.0
.
.
.
سنسور 15 وصل میشه به portc.6
---------------------------------------------------------------------------------------------------------
تا اینجا ما کارهای سخت افزاریش رو انجام دادیم و از دوتا پورت میکرو استفاده کردیم!!!
تازه میرسیم به قسمت برنامه نویسی
اگه تا اینجاش سوالی داری بپرس!
نحوه برنامه نویسی شدیدا مربوط میشه به چیدمان سنسورها!! شما یه لطفی بکن و یه عکس از چیدمان سنسورهات بذار تا باهم شروع به برنامه نویسی بکنیم!!!


در چشم کسانی که پروازت را باور ندارند
هر چه بیشتر اوج گیری کوچک تر خواهی شد ...
پاسخ
 سپاس شده توسط AzhidahakA
#7
سلام"

ممنون تا اینجا هیچ مشکلی نیست ! یعنی دقیقا مشکلات از اینجا به بعد شروع می شه !

نحوه چیدمان سنسورها از چپ به راست 15 تا به شکل سر یک پیکان :

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

یعنی سنسور 8 در بالاترین نقطه قرار دارد !

طول برد سنسورها 12 تا 13 سانتی متر و و عرض سنسورها هم تقریبا 3 تا 5 سانتی !
=============
سوال اول : این اندازه برد برای ربات خودم هست و تو این ربات می خوام جاهای خالی رو با سنسور پر کنم تا دقت بره بالا به نظر تون خوب هست یا باید تغییرش بدم ؟
=============
سوال دوم : شما گفتید سنسور CYN من از GP2S که سنسور مخصوص ربات مسیریاب هست هم استفاده کردم ولی اندازه سنسورهای IR LED جواب نگرفتم حالا شما می گید از کدام استفاده کنم ؟
=============
و یک پیش نهاد : Rolleyes
چون می خواهیم از atmega16 استفاده کنیم بهتر است که از پورتهای b و d استفاده کنیم !
سوال سوم : به نظر شما اگه از atmega32 استفاده کنیم سرعت پردازش بیشتر نمی شه ؟ (به نظر من خیر چون جفتشون هم پردازنده 8 بیتی دارن! Big Grin )

این هم عکس




ممنون Tongue

پاسخ
#8
سلام دادا

نقل قول: سوال اول : این اندازه برد برای ربات خودم هست و تو این ربات می خوام جاهای خالی رو با سنسور پر کنم تا دقت بره بالا به نظر تون خوب هست یا باید تغییرش بدم ؟
درباره سوال اولت : ببينيد نحوه چيدمان سنسورها توي ربات ،‌ بستگي به عواملي مثل نحوه پيستي كه قراره ربات توش حركت كنه،‌عرض خطي كه توي پيست هستش ،‌ يا عواملي مثل اينكه مثلا قراره رنگ عوض بشه يا نه (يعني خط بشه سفيد و زمينه بشه سياه) و .... بستگي داره،‌ شما بايد اول پيستت رو نگاه كني بعد بياي ببيني به چند تا سنسور احتياج داري و چطوري بايد بچينيشون و در مرحله آخر همونطور كه توي پست قبلي هم اشاره كردم،‌بعد چيدمان بري سراغ برنامه نويسي
و به نظر من اينكه جاهاي خالي رو با سنسور پر كنيم نه اصلا كار درستي نيست ،‌ بازم ميگم اين فقط نظر شخصيه منه،‌شما هرطور راحتي


نقل قول: سوال دوم : شما گفتید سنسور CYN من از GP2S که سنسور مخصوص ربات مسیریاب هست هم استفاده کردم ولی اندازه سنسورهای IR LED جواب نگرفتم حالا شما می گید از کدام استفاده کنم ؟
والا من از cny70 استفاده كردم ،‌خيلي خوب جواب داده،‌ توي گيرنده حداقل 3 الي 3.5 ولت اختلاف ولتاژ ميده و اين يعني همه چي حله،‌ تازه ارزونه (دونه اي 500 تومن) نور محيط روش تاثير كمي داره و و و و
در ضمن اينم بگم كه gp2s قيمتش رو نميدونم چنده و باهاش كار نكردم،‌شايد اين خيلي بهتر تر باشه ولي cny70 تا حالا مشكلي باهاش نداشتم
نقل قول: سوال سوم : به نظر شما اگه از atmega32 استفاده کنیم سرعت پردازش بیشتر نمی شه ؟
به نظر من خیر چون جفتشون هم پردازنده 8 بیتی دارن
البته يه سري تفاوت ها باهم دارن،‌مثلا اينكه تعداد پايه هاش بيشتر از 16 هستش و يه سري امكانات ديگه.... كه زياد توي اين كاري كه شما ميخواي بكني تاثير آنچناني نداره

و اما اتمام سوال ها و ورود به برنامه نويسي (همه رو يه جا نميريم جلو ،‌ قدم به قدم)

قدم اول:
1-شما از يه كريستال 8مگا هرتز داخلي استفاده كني راحت جواب ميده
کد:
$crystal=8000000
2- پورت d ,b رو ورودي ميكنيم
کد:
config portd=input
config portb=input
3- از دستور alias براي راحتي كار استفاده ميكنيم به مثال توجه كن
s1 alias portd.0
s2 alias portd.1
.
.
.
s15 alias portb.6

با اين كار ديگه كارا خيلي راحت تر ميشن و برنامه خيلي روشن و شفاف ميشه

خب حالا رسيديم به قسمتي كه يه lcd تعريف كنيم تا كلاس كاري بره بالا تر (البته الزامي نيست كه باشه،‌فقط واسه كلاسه) و اين قسمت به عهده خودت!

رسيديم به قسمت استفاده از pwm واسه كنترل موتورها مون به مثال زير توجه كن!!
يه فايل ميذارم اينجا از حالت فشرده خارجش كن و بعد اجراش كن (پروتئوس با بسكام)، (كنترل دوتا موتور با pwm هستش به اينصورت كه وقتي مقدار logic state ها تغيير ميكنه وضعيت چرخش موتورها نيز تغيير ميكنه 3 تا logic state وجود داره كه شما هركدوم رو به منزله يه سنسور در نظر بگير) به نظرم اين بهتر از توضيح دادنه
http://s2.picofile.com/file/7283806876/N..._.rar.html

واسه اين جلسه ديگه بسه ،‌
درضمن سوالي داشتي بپرس

در چشم کسانی که پروازت را باور ندارند
هر چه بیشتر اوج گیری کوچک تر خواهی شد ...
پاسخ
 سپاس شده توسط AzhidahakA
#9
سلام دوباره !

اول اینکه بله می خوام این ربات هم تو زمین سفید با خط سیاه و هم توی زمین سیاه با خط سفید حرکت کنه !
ولی نباید طول برد سنسور بیشتر از 12 یا 13 سانتی متر بشه چون اینطوری با خطهای کناری سنسورها تداخل پیدا می کنه !

دوم gp2s تقریبا 800 تا 900 تومان هستش ولی تو جمهوری سری قبل فروشنده خیلی بی انصاف بود 1200 حساب کرد !
اگر می گید CYN خوبه خوب خوبه دیگه !

یک نکته دیگه !
من می خوام از یک کریستال 12 مگا خارجی استفاده کنم !
البته باز نظر شما رو هم می خوام بدونم ! خوبه ؟ یا همون 8 مگا داخلی بهتره ؟

تا اینجا مشکلی نیست !
پاسخ
#10
سلام دادا

اول اينكه اگه ميخواي روباتت عوض شدن رنگ رو تشخيص بده ميتونم بگم با 7 تا سنسور راحت ميتوني اين كارو انجام بدي (عملا اينو يه جا ديدم و توي نت هم يكي از دوستاي گلم به اسم آقا مرتضي يه همچين روباتي گذاشته كه با 7 تا سنسور كارايي ميكنه كه نگو TongueWink) و نيازي به 15 تا سنسور نيست،‌ولي خب حال كردي 15 تا سنسور بذاري چه بهتر

من همونطور كه گفتم از gp2s استفاده نكردم و نميدونم چه شكليه كار كردن باهاش ، ولي خب تاحالا هم باوجود cny70 حتي وسوسه هم نشدم واسه مسيرياب برم از يه سنسور ديگه استفاده كنم

درباره كريستالم هرطور كه حال ميكني،‌ اصلا شما 16 بذار ، ولي نظر و توصيه من روي 8داخلي هستش چون چند تا مزيت داره ،‌اول اينكه دوتا از پايه هاي ميكروت بيخودي اشغال نميشه دوم اينكه مدارت شلوغ نميشه ( چون بايد خازن هم بذاري توي خارجي و كلي مكافات) سوم اينكه كريستال اضافي بكار نميبري ،‌ و چهارم اينكه توي پروگرام كردن فيوزبيتهات به هيچ وجه به مشكل برنميخوري پنچم :شما نياز آنچناني به كريستال نخواهي داشت ،‌ ما كلا از يه تايمر قراره استفاده كنيم (واسه كنترل دور موتور) كه بيشترين كاري كه از كريستال ميكشيم اينه و شما اگه 4 هم بذاري خيلي راحت جواب ميده و اصلا نيازي به محاسبات دقيق زماني و ... نخواهي داشت ،‌ باتوجه به اين توضيحات خودت انتخاب كن

راستي آراد جان يه چند روزي سرم شلوغه ، اگه اشكالي نداره ،‌ يكي دو روز مارو ببخش (البته روي پروژه شما هم كار ميشه ،‌ تو پروتئوس نقشه اش رو كشيدم ولي هنوز برنامه نويسي نكردم)
شما خودتهم يه كارايي بكن تا بعد نهايتا 2 روز تاخير كه خواهم داشت ،‌ به مشورت بپردازيم

در چشم کسانی که پروازت را باور ندارند
هر چه بیشتر اوج گیری کوچک تر خواهی شد ...
پاسخ
 سپاس شده توسط AzhidahakA


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  کمک برای ساخت ربات مسیریاب با قابلیت تشخیص فلز ehsan922 0 309 22-9-1394، 12:52 صبح
آخرین ارسال: ehsan922
  PCB ربات مسیر یاب Soheil 136 57,289 7-9-1394، 11:08 عصر
آخرین ارسال: ghanbari
  كمك در مورد ساخت يك ربات مسير ياب soheyl111 16 3,768 4-4-1392، 06:56 عصر
آخرین ارسال: morteza90
  ساده ترین ربات نوریاب ali zade 4 1,711 21-1-1392، 07:33 عصر
آخرین ارسال: ali zade
Smile ربات مسیر یاب se2010 22 8,588 20-12-1391، 04:12 صبح
آخرین ارسال: گلینی
  مسابقات رباتهای مسیریاب دانشگاه کارنگی ملون d2006h 0 867 20-10-1391، 10:31 عصر
آخرین ارسال: d2006h
  دزخواست کمک در مورد ربات مسیر یاب amateur92 14 4,382 8-9-1391، 02:00 عصر
آخرین ارسال: karaneha
  عکس از ربات مسیریاب fanta 2 1,749 30-7-1391، 12:39 صبح
آخرین ارسال: fanta
  احتیاج به یک ربات مسیر یاب با مشخصات زیر maykel 2 1,088 28-7-1391، 11:21 عصر
آخرین ارسال: maykel
  ربات مسیر یاب robot man 8 2,497 6-5-1391، 03:48 عصر
آخرین ارسال: Last_Days

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان