امتیاز موضوع:
  • 9 رأی - میانگین امتیازات: 4.44
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش ساخت ربات از صفر تا جایی که بتونیم
نویسنده پیام
محمد حسینی آفلاین
کاربر فعال بخش رباتیک
****

ارسال‌ها: 1,363
موضوع‌ها: 139
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 974
( 1780 تشکر در 620 ارسال )
ارسال: #34
RE: آموزش ساخت ربات از صفر تا جایی که بتونیم
درسته از یه موتور و 4 پایه (بیت) استفاده کردیم ولی با اینطور مقدار دادن به پایه ها 4 بیت دیگه پورت هم مقدار دهی شدن به نظر میرسه دیگه نمیشه ازشون استفاده کرد! پس یعنی باید یکی یکی پایه ها رو مقداردهی کنیم ؟

به راه بادیه رفتن، به از نشستن باطل ------------- اگرچه وصل نیابم، بقدر وسع بکوشمRolleyes
(آخرین ویرایش در این ارسال: ۲۷-تير-۱۳۸۸, ۲۱:۴۶:۰۲، توسط محمد حسینی.)
۲۷-تير-۱۳۸۸, ۲۰:۳۴:۳۴
ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000, mahdi20, tazphoenix, WhiteNoise
ilgar آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 843
موضوع‌ها: 17
تاریخ عضویت: اردیبهشت ۱۳۸۷

تشکرها : 383
( 2597 تشکر در 855 ارسال )
ارسال: #35
RE: آموزش ساخت ربات از صفر تا جایی که بتونیم
من قبلاً گفتم که من با بیسیک کار میکنم ولی مهم نیست ما الگوریتمو بررسی میکنیم هر کی واسه خودش برنامه مینویسه:

اولاً حتماً دستوری تو C هست که وقتی شیفت میدی مقدار شیفت شده رو تو بایت برگردونه . بگردین پیداش کنین یا اگه از دوستان حضور ذهن داشتن راهنمایی کنن.

دوماً من حلقه رو طوری نوشتم که به ازای هر گام یه بار سنسورارو اسکن کنه این زیاد وقت برنامه رو نمیگیره

سوماً دیلی 100 میلی خیلی زیاده فکرشو بکنین اگه تو یه ثانیه 10 گام بره جلو برای موتور 2 درجه یعنی 20 درجه و این یعنی 360 تقسیم بر 20 میشه یک هجدهم محیط یک چرخ تو یه ثانیه و این هم یعنی هر 18 ثانیه یه دور که خیلی کمه

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


5) اگه از پورت مشترک استفاده کردین مثلاً مقدار اولیه میشه 11001100 . اینو تو یه رجیستر نگه میدارین و با 15 که اندش کردین میشه 1100000 و اینو تو یه رجیستری قرار میدین که قراره به پورت اعمال بشه. اونوقت مقدار 0000 برای موتور دوم باعث حرکت نمیشه و در حالت قبلی میمونه و برای موتور دوم هم که با 240 اند میشه، میشه 00001100. و دائم او چهار تا بیت شیفتشون به چشم میاد
ویا میتونین تو توابع هنگام استفاده از هر نیبل ، بیتهای نیبل بعدی رو ورودی معرفی کنین تا امپدانس بالا بشه و بی تأثیر.

در کل گه از مگا 16 یا 32 استفاده میکنین بهتره از پورتای مستقل استفاده کنین
۲۸-تير-۱۳۸۸, ۲۱:۴۰:۳۱
ارسال‌ها
پاسخ
تشکر شده توسط : محمد حسینی, mahdi20, t3r!p3000, tazphoenix, WhiteNoise, Amingho
محمد حسینی آفلاین
کاربر فعال بخش رباتیک
****

ارسال‌ها: 1,363
موضوع‌ها: 139
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 974
( 1780 تشکر در 620 ارسال )
ارسال: #36
RE: آموزش ساخت ربات از صفر تا جایی که بتونیم
لطفا اگه کسی میدونه تو کدویژن چطوری میشه حلقه ای شیفت داد بگه.
اگه نشد هم که مجبوریم به ترتیب حالت ها رو به پورت بدیم.

راستی برای این ربات فکر میکنم موتور دی سی هم جواب بده. البته نمیدونم الگوریتمی که شما می خواین بگین چطوریه. ربات دو سنسوره زیگ زاگی که تو ذهن منه با دی سی جواب میده. البته مثل اینکه شما گفتید 5 سنسور. منتظر ادامه آموزش هستیم. ممنون.

به راه بادیه رفتن، به از نشستن باطل ------------- اگرچه وصل نیابم، بقدر وسع بکوشمRolleyes
۲۸-تير-۱۳۸۸, ۲۲:۴۶:۰۶
ارسال‌ها
پاسخ
تشکر شده توسط : mahdi20, tazphoenix, WhiteNoise
محمد حسینی آفلاین
کاربر فعال بخش رباتیک
****

ارسال‌ها: 1,363
موضوع‌ها: 139
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 974
( 1780 تشکر در 620 ارسال )
ارسال: #37
RE: آموزش ساخت ربات از صفر تا جایی که بتونیم
یه تابع برای شیفت نوشتم. تاحالا برنامه خیلی ساده. سعی کردم تا حد ممکن قابل فهم باشه.

کد:
/*
        right motor : PORTB 0,1,2,3
        left motor  : PORTD 0,1,2,3
*//////////////////////////////////

#include <mega32.h>
#include <delay.h>

void LeftMotor  ( );
void RightMotor ( );
void DoubleMotor( );

void Shift      (char Value);

char LValue = 0b00001100;
char RValue = 0b00001100;

void main       ( )
{
        DDRB  = 0xFF;
        DDRD  = 0xFF;
        PORTB = 0x00;
        PORTD = 0x00;
        
        while   (1)
        {
                delay_ms(20);
                //check sensor
                //call suitable motor
        
        }

}


void LeftMotor  ( )
{
        Shift(RValue);
        PORTB = RValue;
}

void RightMotor ( )
{
        Shift(LValue);
        PORTD = LValue;
}

void DoubleMotor( )
{
        Shift(RValue);
        Shift(LValue);
        PORTB = RValue;
        PORTD = LValue;

}

void Shift      (char Value)
{
        if (Value == 0b00001100)
        {
                Value = 0b00000110;
        } else if (Value == 0b00000110)
        {
                Value = 0b00000011;
        } else if (Value == 0b00000011)
        {
                Value = 0b00001001;
        } else if (Value == 0b00001001)
        {
                Value = 0b00001100;
        }
}

چرا گفتین بهتره پورت هر موتور جدا باشه و اینطوری روونتر میره ؟

به راه بادیه رفتن، به از نشستن باطل ------------- اگرچه وصل نیابم، بقدر وسع بکوشمRolleyes
(آخرین ویرایش در این ارسال: ۲۹-تير-۱۳۸۸, ۱۷:۰۰:۰۰، توسط محمد حسینی.)
۲۹-تير-۱۳۸۸, ۱۶:۵۷:۳۸
ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000, tazphoenix, WhiteNoise
ilgar آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 843
موضوع‌ها: 17
تاریخ عضویت: اردیبهشت ۱۳۸۷

تشکرها : 383
( 2597 تشکر در 855 ارسال )
ارسال: #38
RE: آموزش ساخت ربات از صفر تا جایی که بتونیم
چون وقتی در حالت پورت مشترک ربات به جلو میره یه گام چرخ راست دور میزنه و بعد دیلی موتور چپ یه گام حرکت میکنه. البته برای رفع این مورد هم میشه بعد اند کردن بایتها با 15 و 240 این دو بایت رو ترکیب کنیم بعد به پورت بدیم.البته این کارها یه خورده پیچیده به نظر میرسه. من بهشون اشاره کردم ولی برای کسی که بخواد برای بار اول ربات بسازه فکر میکنم بهتر بود مطرح نمیشد.
۳۰-تير-۱۳۸۸, ۱۲:۰۵:۴۱
ارسال‌ها
پاسخ
تشکر شده توسط : mahdi20, t3r!p3000, محمد حسینی, WhiteNoise
mehrdadgh آفلاین
کاربر با تجربه
****

ارسال‌ها: 830
موضوع‌ها: 58
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 654
( 1904 تشکر در 596 ارسال )
ارسال: #39
RE: آموزش ساخت ربات از صفر تا جایی که بتونیم
سلام
دوستان در مورد تغذیه ربات هم بحث کنید
برای یه موتور 12 ولتی فکر نکنم که 12 تا باطری 1.5 ولتی رو سری کنیم چون هم حجم زیاد میگیره و هم جریانشون کم هستش ، از 6 ولتی ها هم نمیشه استفاده کرد بازم به دلیل حجم پس چی کارش کنم؟

وبلاگ من : Azarrobot.blogfa.com

ISAplast.ir
۳۱-تير-۱۳۸۸, ۲۲:۰۰:۱۴
ارسال‌ها
پاسخ
تشکر شده توسط : mahdi20, tazphoenix, WhiteNoise
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #40
RE: آموزش ساخت ربات از صفر تا جایی که بتونیم
سه تا باتري موبايل .

باتري MP3 پلاير ها و همينطور گوشي هاي بيسيم هم خوبن !

يا 8 تا باتري نيكل كادميوم ( شا هيدريد فلزي )
۳۱-تير-۱۳۸۸, ۲۳:۴۵:۱۱
ارسال‌ها
پاسخ
تشکر شده توسط : محمد حسینی, ilgar, mahdi20, mehrdadgh, tazphoenix, WhiteNoise
ilgar آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 843
موضوع‌ها: 17
تاریخ عضویت: اردیبهشت ۱۳۸۷

تشکرها : 383
( 2597 تشکر در 855 ارسال )
ارسال: #41
RE: آموزش ساخت ربات از صفر تا جایی که بتونیم
البته اگه با سطوح ولتاژ 5 و موتور 5 ولت کار کنیم برای رگولاتور 7805 مقدار 7.5 ولت کافیه. آپ امپاروهم میتونیم با همون 7.5 تغذیه کنیم. نظر شما چیه؟ (مخصوصاً علی آقا)
۰۱-مرداد-۱۳۸۸, ۰۰:۳۳:۱۵
ارسال‌ها
پاسخ
تشکر شده توسط : mahdi20, mehrdadgh, WhiteNoise, veria70
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #42
RE: آموزش ساخت ربات از صفر تا جایی که بتونیم
مهندس هنگامي كه با 324 كار مي كرديم و تغذيه 5 ولت بهشون مي داديم مي ديدم كه خروجي كه به ميكرو مي ره 3.5 ولت بيشتر نيستش و واسه همين تغذيه اپ امپ هامون رو 6 ولت در نظر گرفتيم تا حدود 5 ولت خروجيش باشه !!
تغذيه ميكرو رو همون 5 ولت بود !

مي گن حداقل ولتاژ ورودي آي سي هاي رگولاتور ولتاژ رگولاتور بعلاوه 2 ولت هستش كه براي 5 ولت مي شه حدود 7 ولت و 7.5 ولت رو مي تونيم به رگولاتور 7805 بديم و خروجي 5 بگيريم !

پيشنهاد مي كنم دوتا ديود سري كنيد ( 2*0.7=1.4 ) و بعد يه آپ امپ بدين تا احيانا خروجيش زياد نشه و به ميكرو آسيب برسونه ! ( يعني حدود 6 ولت به آپ امپ بدين و ولتاژ رو با چند تا ديود سري كم كنيد )

البته اگر قرار نيست خروجي آپ امپ به ميكرو وصل بشه مي تونيد به آپ امپ تا 15 ولت دوبل ( يعني 30 ولت ) را بدون هيچ مشكلي بدين !
۰۱-مرداد-۱۳۸۸, ۰۰:۵۲:۴۶
ارسال‌ها
پاسخ
تشکر شده توسط : alaska, mehrdadgh, tazphoenix, WhiteNoise, veria70
mehrdadgh آفلاین
کاربر با تجربه
****

ارسال‌ها: 830
موضوع‌ها: 58
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 654
( 1904 تشکر در 596 ارسال )
ارسال: #43
RE: آموزش ساخت ربات از صفر تا جایی که بتونیم
8 تاباطری رو که سری کردیم ولتاژشون که چمع میشه 12 ولت ولی مشکل جریان کشیدن موتور پیش نیاد؟
می گم بهتر نیست ولتاژ رگوله به موتور بدیم؟

وبلاگ من : Azarrobot.blogfa.com

ISAplast.ir
۰۱-مرداد-۱۳۸۸, ۰۸:۵۵:۴۶
ارسال‌ها
پاسخ
تشکر شده توسط : tazphoenix, WhiteNoise
ilgar آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 843
موضوع‌ها: 17
تاریخ عضویت: اردیبهشت ۱۳۸۷

تشکرها : 383
( 2597 تشکر در 855 ارسال )
ارسال: #44
RE: آموزش ساخت ربات از صفر تا جایی که بتونیم
8 تا باتری نیکل کادمیوم سری بشن میشه 9.6 ولت چون اونا 1.2 هستن

بله بهترین ولتاژ کاری برای 324 مقدار 30پیک تو پیک هستش ولی مشکل تو ساخت روبات اینه که ما میخوایم از حداقل ولتاژ ممکن استفاده کنیم. درضمن اگه مقدور باشه بهتره از 358 استفاده بشه .ضمناً من با سری کردن چند تا دیود برای کاهش ولتاژ که تو اکثر مدارهای توی نت هم به چشم میخوره موافق نیستم.چون آپ امپای ما بصورت سوئیچ قراره عمل کنن(نه تقویت کننده) بهتره حداکثر مقدار خروجیو پیشبینی کنیم و براش تقسیم ولتاژ مقاومتی بذاریم.
۰۱-مرداد-۱۳۸۸, ۱۱:۲۱:۲۲
ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000, mehrdadgh, tazphoenix, WhiteNoise


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  ربات مسیریاب 5 سنسور با میکروکنترلر AVR omid_phoenix 123 49,612 ۰۵-آبان-۱۳۹۷, ۲۱:۱۳:۱۸
آخرین ارسال: 1نفر
  [مقاله] آموزش ساخت (مونتاژ)کواد کوپتر و اجزای آن a.mehran 3 7,925 ۰۲-مهر-۱۳۹۷, ۱۸:۳۶:۵۰
آخرین ارسال: Ambassador
  کمک در ساخت ربات مسیر یاب osh 31 31,083 ۱۸-تير-۱۳۹۵, ۱۵:۵۸:۱۲
آخرین ارسال: omid_phoenix
  [آموزشی] اموزش ساخت ربات پرنده یا کواد کوپتر a.mehran 17 54,193 ۱۰-اردیبهشت-۱۳۹۵, ۱۲:۱۵:۱۶
آخرین ارسال: a.mehran
  ساخت ربات نور یاب برای مبتدی ها balanmo12 28 69,174 ۲۷-آذر-۱۳۹۴, ۰۳:۰۸:۰۳
آخرین ارسال: omid_phoenix
  کمک برای برنامه ربات تعقیب خط iman-63 13 16,578 ۲۸-تير-۱۳۹۴, ۱۰:۵۹:۴۳
آخرین ارسال: milad15m
  [فوری] سوالات ربات مسیریاب milad15m 245 88,823 ۰۸-خرداد-۱۳۹۴, ۲۲:۲۷:۴۴
آخرین ارسال: omid_phoenix
  مشکل تو برنامه نویسی ربات تعقیب خط (سخت افزارشو ساختم) haji110 22 24,409 ۰۶-خرداد-۱۳۹۴, ۲۳:۱۸:۲۱
آخرین ارسال: علی عابدینی
  اموزش ساخت ربات مسیر یاب 1nafar 6 104,301 ۲۰-فروردین-۱۳۹۴, ۱۶:۱۳:۰۰
آخرین ارسال: sinaitg
  [آموزشی] فیلم ساخت قدم به قدم ربات پرنده behzady 2 12,468 ۲۰-آذر-۱۳۹۳, ۰۰:۳۶:۴۷
آخرین ارسال: aminramyar78

پرش به انجمن:


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

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS