تبليغاتX
E.l.e.B.o.y.s
منوی کاربری

Make Your HomePage    Send Email To Admin    Add to Favorites

پيغام مدير : با سلام امیدوارم از مطالب وبلاگ راضی شده باشید

با تشکر   

لينك دوستان
_.:: P30 پدرام ::.._

براي تبادل لينک ابتدا لينک مارو بانام:E.l.e.B.o.y.s در وبلاگ ياسايتتان قراردهيد ،

سپس از طریق فرم نظرات به ما خبر دهيد تاما هم اين کار رو براي شما بکنيم.

چت بامديـــــر
جستجوگر

Google
  
            
     در كل اينترنت
     در اين سايت

آرشيو
طراح قالب
آموزش ساخت ربات (برنامه نویسی 1)

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

امروز می خواهیم برنامه ای بنویسیم که بوسیله اون بشه استپر موتورهامون رو راه اندازی کنیم (عین همین روش رو باید در برنامه اصلی ربات استفاده کنیم) :

$crystal = 1000000
$regfile = "m32def.dat"

Config Portb = Output
Config Portc = Output

Dim A As Byte
Dim B As Byte

B = &B10001000
A = &B10001000

Do
  Rotate A , Left
  Portb = A

  Rotate B , Right
  Portc = B

  Waitms 15
Loop

End

خوب حالا خط به خط تحلیل می کنیم. البته خوب یادمه توضیحات کاملی رو در مورد کدهای استفاده شده در چهار خط اول در پست های "آموزش ساخت ربات (میکرو کنترلر 1 - 2 - 3 - 4) دادم. پس اگه یادتون رفته بهشون دوباره سر بزنید.

Dim A As Byte
Dim B As Byte

کلا در زبان های خانواده بیسیک که کامپایلر BASCOM هم از اون استفاده می کنه، از کلمات Dim و as به صورت Dim varname as type برای تعریف متغیر استفاده می شه، که varname نام متغیر و type نوع متغیر هستش. در اینجا دو متغیر به نامهای A و B با نوع Byte معرفی شدن (هر بایت از ۸ بیت تشکیل شده)

B = &B10001000
A = &B10001000

استفاده از " مقدار = نام متغیر " که برای همه قابل درکه (یعنی یک مقدار رو داخل متغیر بریزیم) اما در اینجا بجای مقدار از &B10001000 استفاده شده. برای قرار دادن مقادیر به صورت باینری در یک متغیر (در این زبان) باید مقدار باینری رو بعد از B& بنویسم. در اینجا، هم در A و هم در B مقدار باینری ۱۰۰۰۱۰۰۰ معادل دهدهی ۱۳۶ رو قرار دادیم. که دلیلش رو توضیح خواهم داد.

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

[+] نوشته شده توسط نیما در 12:46 | |

آموزش ساخت ربات (پروگرمر)

بچه ها سلام. اگر یکم تاخیر می کنم ببخشید! آخه دارم رو یه سیستم "معرفی کتاب جدید" برا وبلاگ کار می کنم، فکر کنم چیز قشنگی بشه و بزودی همین کنار ملاحضه اش خواهید کرد :).
اما از امروز می خوایم مباحث مربوط به میکرو کنترلر رو شروع کنیم. اگر از ابتدا با من همراه بودید یا اینکه مقالات قبل رو دنبال می کردید حتما یادتونه که چندتا پست اول مقدمات برنامه نویسی به زبان BASCOM برای میکروی AVR رو گفتم (اگر هم یادتون نیست لینکشون همین سمت راسته!). مدار ایجاد ولتاژ مناسب کار میکرو (۵ولت) با استفاده از رگولاتور رو هم که تو پست قبل به همراه لینک دانلود کامپایلر BASCOM-AVR گذاشتم (کرکش رو هم امروز آوردم ). بنابراین این جلسه می خوام نحوه ساخت پروگرمر برای میکروهای AVR رو آموزش بدم تا براحتی بتونید کدهایی که من میگم یا خودتون دارید رو روی میکرو بار کنید و بتونید به صورت کاملا عملی کار رو تجربه کنید...

ساخت پروگرمر STK200\300:
مدار این پروگرمر در چند نوع مختلف توسط آی سی بافر 74HC244 موجود هستش. اما مدلی رو که من الان میخوام آموزش بدم ساده ترین نوع موجود و بدون آی سی بافر هستش. برای ساخت این پروگرمر فقط به وسایل زیر احتیاج دارید:

  1. یک عدد سوکت ۲۵ پین، پورت Parallel یا موازی کامپوتر (از نوع نر)
  2. یک عدد قاب سوکت ذکر شده در صورت تمایل
  3. چند رشته سیم. البته پیشنهاد می کنم از سیم های فلت ۱۰ تایی استفاده کنید.
  4. یک عدد پایه محافظ میکرو ۴۰ پایه
  5. یک عدد میکروکنترلر AVR. پیشنهاد من از نوع ATmega32L/32 هستش.
  6. سایر موارد لازم مثل هویه، سیم قلع، فیبرمدار و....

شکل مقابل پین های سوکت پورت موازی رو با به صورت شماره گذاری از پین ۱ تا ۲۵ و نحوه اتصال پینهای اون به پایه های میکرو نشون میده. توضیح استفاده هرکدوم از این پینها خارج از بحث ماست فقط بدونید که پینهای ۱۸تا۲۵ باید به زمین وصل بشن و پین ۲-۹ هم مربوط به ۸ بیت موازی هستند.

تصویر پایه های میکروی AVR به همراه اسمشون رو قبلا در پست 13 گذاشتم، ببینیدش که در درک شکل بالا خیلی کمکتون می کنه.. با این حال به علت اهمیت بازم میگم:  پینهای شماره ۱۸الی۲۵ سوکت رو بهم و سپس به GND میکرو که پایه شماره ۱۱ اون هست وصل کنید و بعد پایه شماره ۱۱ میکرو رو هم به سر منفی منبع وصل کنید به همین ترتیب، پین شماره ۱۰ سوکت به MISO یا پایه ۷ میکرو، پین شماره ۹ سوکت به RESET یا پایه ۹ میکرو، پین شماره ۷ سوکت به MOSI یا پایه ۶ میکرو، پین شماره ۶ سوکت به SCK یا پایه ۸ میکرو وصل کنید و در آخر VCC یا پایه ۱۰ میکرو رو هم به سر مثبت منبع وصل کنید.   بخش سخت افزاری پروگرمر شما به همین سادگی آماده شد.

برای استفاده از این پروگرمر باید به روش زیر نوع پروگرمر خودتون رو به کامپایلر BASCOM معرفی کنید:

BASCOM-AVR > Options > Programmer >> Programmer = STK200\300 Programmer

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

اینم لینک دانلود کرک های برنامه BASCOM-AVR که سری پیش گذاشته بودم:


[+] نوشته شده توسط نیما در 23:44 | |

آموزش ساخت ربات (رگولاتور)

دوستان خوبم سلام.
می خواستم از این پست آمزشهای نرم افزاری و کار با  میکروکنترلر رو شروع کنم اما یادم افتاد یه بخش الکتریکی نسبتا مهم رو جا انداختم که البته بهترین زمان رو کردنش همین الان بود:

شاید بدونید که ولتاژهای عملیاتی میکروکنترلر AVR نوع ATmega32 از ۴.۵ تا ۵.۵ ولت و نوع ATmega32L از ۲.۷ تا ۵.۵ هستش، اما ولتاژ کاری موتورهای پله ای موجود در بازار معمولا ۱۲ و همچنین ممکنه منبع تغذیه ای که در اختیار داریم یا در اختیار ما میگذارن (منظورم مسابقاته!) ممکنه اصلا تو این رنج نباشه! برای ایجاد رنج دلخواه خودمون از قطعه ای بنام رگولاتور استفاده می کنیم که فعلا یه توضیح کوچیک از اون داشته باشید:

IC های رگولاتور۱: به تازگی آی-سی هایی عرضه شده که جانشین یک مدار رگولاتور شده و دارای امتیازاتی می باشد، به عنوان نمونه در صورت اتصال کوتاه شدن خروجی یا بار بیش از اندازه آی-سی محافظت شده و همچنین اگر آی-سی بسیار داغ شود مدار حفاظتی داخل آی-سی آن را خاموش خواهد کرد و این قطع ولتاژ خروجی تا زمانی ادامه پیدا خواهد کرد که آی-سی دوباره خنک شود. حجم کم این آی-سی ها نیز از امتیازات آنها به شمار می رود. در واقع وقتی شما از این IC در مدار خود استفاده کنید به میزان زیادی در وقت و پول خود صرفه جویی کرده اید. یک نمونه از این IC ها سری 78xx می باشد که سه پایه داشته و بسیار شبیه به ترانزیستور می باشد. ولتاژهای خروجی آنها نیز ثابت می باشد. بجای XX هر شماره ای روی بدنه IC نوشته شده باشد ولتاژ خروجی آن خواهد بود. جریان خروجی این IC ها یک آمپر می باشد و لازم است در این جریان رادیاتور مناسبی به IC متصل شود. در شکل زیر یک مدار رگولاتور به همراه دو خازن برای از بین بردن نوسانات نشان داده شده است. (در حالت عادی می توان خازن ها را حذف کرد)

البته با توجه به آمپراژ خروجی رگولاتور توجه داشته باشید نباید استپ موتورمون رو به لگولاتور وصل کنیم بلکه باید ولتاژ استپر موتورمون رو به صورت مستقیم از ۱۲-ولت و تغذیه میکروکنترلر و مدار سنسورهامون رو (که قبلا نشون دادیم) از خروجی رگولاتور بگیریم.

راستی پاراگراف ۱ رو عینا از روی کتاب "۵۰ مدار علمی منبع تغذیه" تالیف ناصر بهنوا نوشتم. در این مقاله می خواستم با بستن مدار رگولاتور، از پست بعد که کار با میکرو رو شروع می کنم دیگه مشکل تغذیه میکرو رو نداشته باشید. که البته جلسه بعد دوباره در مورد پایه های میکرو بیشتر توضیح خواهم داد.

راستی این هم لینک کامپایلر BASCOM که قولش رو داده بودم! پس دیگه تمام مواد لازم برای آموزشهای میکروکنترلر کاملا محیاست:

BASCOM software page
BASCOM-AVR Download

[+] نوشته شده توسط نیما در 21:23 | |

آموزش ساخت ربات (درایور)

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

علت تعدد سیمهای استپر موتور رو فهمیدیم و دونستیم چطور باید این سیمها ۰ و ۱ بفرستیم تا باعث حرکت موتور بشیم. همچنین در قسمتهای اولیه آموزش ساخت ربات (میکروکنترلر) فهمیدیم که میکرو دارای تعدادی پورت هستش که هر کدوم از این پورتها از ۸ تا بیت تشکیل شده و میشه این بیتها رو تغییر داد (۰ و ۱ کرد). خوب حالا حتما فکر می کنید میشه چهارتا سیم موتور رو به چهارتا پین از یه پورت (دلخواه) میکرو وصل کنیم و با تغییر متناوب بیتها (۰۰۰۱ ، ۰۰۱۰ و...) می تونیم باعث چرخش موتورمون بشیم.
اما واقعیت اینه که کمتر مصرف کننده ای رو میشه به صورت مستقیم به پایه های میکرو وصل کرد. علتش هم اینه که شایه های میکرو نمی تونن بیشتر از ۲۰ میلی آمپر رو سینک کنند (عبور بدن).

برای مثال فرض کنید یک LED داریم با آمپراژ مصرفی 50mA ، اگر سر مثبت اون رو به ولتاژ وصل کنیم و سر منفی اون رو به یه پین از میکرو وصل کنیم و اون پین رو صفر کنیم (به معنی GND کردن اون) باعث سوختن حداقل همون پین میکرومون میشیم. این بخاطر جریان کشیدن بیش از توان میکرو هستش، برای همین باید بین پین و پایه منفی LED یا پایه LED و سر مثبت منبع یه مقاومت مناسب قرار بدم. همین اتفاق در مورد استپر موتور صادقه فقط با مقیاس بزرگتر که دیگه جای شبه ای باقی نمیزاره به سوسک شدن میکروتون .

 برای جلوگیری از این پدیده از آیسی های رابط مخصوصی استفاده می کنند که اصتلاحا درایور نام دارند. باوجود تنوع زیاد درایور ها من از مدل ULN2803 که فکر می کنم یکی از رایجترین نوع برای ساخت ربات مسیریاب هستش استفاده می کنم. این درایور دارای ۱۸ پایه هستش. همونطور که در شماتیک درونی IC مشاهده می کنید پایه ۹ سر gnd و پایه ۱۰ سر vcc هستش و پایه های ۱ تا ۸ ورودی (در اینجا از میکرو) و پایه های ۱۱ تا ۱۸ خروجی (در اینجا به موتور) این آی سی هستند. در شکل نحوه رابط قرار دادن این آی سی بین ۴ پایه میکرو و ۴ سیم موتور رو مشاهده می کنید. راستی در این IC، پایه ۱۸ خروجی پایه ۱، پایه ۱۷ خروجی ۲، ۱۶ خروجی ۳ و... می باشد.

البته همونطور که در قسمت کنترل استپ موتور اشاره کردم بیت های ارائه شده در جدولهای پست قبل باید به صورت نقیض به موتور ارسال بشن. مثلا ۰۰۰۱ که از میکرو میاد باید به صورت ۱۱۱۱۰ به موتور ارسال بشه، چون می خواهیم سیمهای استپر رو به ترتیب ۱ های جدول GND کنیم و صفر به معنی GND هست نه ۱ (قبلا کفته بودم) !!!   یکی از کارهای مهم این IC هم همین هستش و خروجی های میکروی مارو که طبق جدول های پست قبل هست نقیض (NOT) میکنه و به موتور میفرسته.در ضمن از اونجایی که این درایور ۸ تا ورودی و ۸ تا خروجی داره، ما میتونیم هر دوتا موتورمون رو (برا مسیریاب ۲ تا استپر موتور لازم داریم) فقط با یه درایور راه بندازیم. ۴ تا ورودی و ۴ تا خروجی برای ۱ موتور و یه جفت ۴ تایی باقی مونده هم برای موتور دوم. مثل شکل قبل.

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

[+] نوشته شده توسط نیما در 12:0 | |

آموزش ساخت ربات (موتور پله ای 3)

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

اگر چهار پله d, c ,b ,a رو که هر کدوم به صورت چهار بیت در جدول نشون داده ش
سیم۱ سیم۲ سیم ۳ سیم ۴ شماره پله
0 0 0 1 1
0 0 1 0 2
0 1 0 0 3
1 0 0 0 4
دن رو به صورت مداوم به یک استپ موتور القا کنیم  (شبیه کیشدن GND به سرعت روی چهار سیم موتور) باعث حرکت منظم موتور در یک جهت خواهیم شد. این نوع القا بیتها،حرکت یک بیتی نام داره. یعنی در هر پله فقط ۱ بیت روشن یا ۱ هستش. در ضمن القا بیت ها طبق این جدول و جداول بعدی مرحله جدایی هست که باید با توسط میکرو انجام بگیره (بعدا توضیح میدم چطور).

نو دیگری از القا پله به موتور وجود داره که حرکت دوبیتی نام داره. هم
سیم۱ سیم۲ سیم ۳ سیم ۴ شماره پله
1 0 0 1 1
0 0 1 1 2
0 1 1 0 3
1 1 0 0 4
ونطور که در جدول می بینید در این نوع حرکت در یک پله همزمان دوبیت ۱ هستند (انگار همزمان دو سیم رو به زمین اتصال بدیم). اگر این مدل رو مثل بالایی به صورت مداوم تکرار کنیم باز هم باعث چرخش موتور خواهیم شد اما در این حالت گشتاور و جریان مصورفی موتور نزدیک ۲ برابر خواهد شد. افزایش گشتاور به معنی افزایش قدرت چرخانندگی (نه سرعت چرخش) هستش.

نوع دیگری از القا پله به استپ موتور وجود داره بنام
سیم۱ سیم۲ سیم ۳ سیم ۴ شماره پله
0 0 0 1 1
0 0 1 1 2
0 0 1 0 3
0 1 1 0 4
0 1 0 0 5
1 1 0 0 6
1 0 0 0 7
1 0 0 1 8
حرکت نیم پله. همونطور که از اسمش پیداست این مدل باعث چرخش موتور به اندازه نیم پله خواهد شد. مثلا اگر زاویه موتوری ۱.۸ درجه هست هر پله از این مدل باعث چرخش موتور به اندازه ۰.۹ درجه خواهد شد. از ویژگی های این روش افزایش حساسیت استپر موتور ما هستش.

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

نظر پیشنهاد و انتقاد (که نمی پذیریم ) یادتون نره! فعلا یا حق.

[+] نوشته شده توسط نیما در 16:22 | |

آموزش ساخت ربات (موتور پله ای 2)

سلام. کجا بودم؟ آها :

در مورد استپ های ۵ سیمه و ۶ سیمه صحبت می کردم! در مدل ۵ تایی فقط یک سیم مشترک (COM) وجود داره ولی در مدل ۶ تایی ۲ سیم مشترک وجود داره که باید به ولتاز وصل بشن (سیم یا سیمهای مشترک معمولا قرمز هستند ولی بازم از فروشنده بپرسید) یعنی در هر دو در آخر فقط ۴ تا سیم باقی میمونه که کاربردشون رو خواهم گفت. ۱ تفاوت عمده دارن که اون رو به موقعش توضیح میدم.

نحوه تست سالم بودن موتور پله ای: برای اینکار در مرحله اول باید مطمئن بشیم هیچکدوم از سیمها به هم اتصال ندارن (بهم نچسبیدن :)) حالا با دست شفت رو بچرخونید، می بینید که راحت و روان می چرخه! حالا تمام سیم ها رو به هم اتصال بدید و سعی کنید دوباره شفت رو با دست بچرخونید، اگر یه مقاومت یا سفتی نسبت به حالت قبل احساس کردید بدونید حتما استپتون سالمه! (بدون نیاز به هیچ منبع تغذیه)

یافتن ترتیب صحیح سیمها:  پیدا کردن این ترتیب خیلی مهمه و اگر رعایت نشه موتور ما درست نخواهد چرخید و مارو به اشتباه می اندازه. برای اینکار ابتدا سیم (یا سیمهای) مشترک رو به ولتاژ مورد نیاز موتور (روی بدنه موتور می نویسن ولی معمولا ۱۲ ولت) وصل می کنیم. بعد از میون ۴ تا سیم باقیمونده یکی رو انتخاب می کنیم و سر منفی یا زمین منبع رو به اون اتصال می دیم. اینکار باعث یه چرخش کوچیک میشه. یه کاغذ گرد یا یه تیکه چوب به شفت ببندین تا چرخش های ریز معلوم بشه.  این چرخش کوچیک در واقع همون یک پله موتور به اندازه زاویه موتور هستش. حالا سر منفی (از این به بعد میگم GND، یا گراند کردن) رو به یکی از ۳ تا سیم دیگه اتصال بدید. اگر از این ۳ تا سیم، سیم صحیح رو انتخاب کرده باشید یه گردش کوچیک (به اندازه قبلی) در ادامه حرکت قبلی می بینید ولی اگر خطا باشه گردش معکوس یا بیش از حد (۲ یا ۳ پله) خواهید داشت. اگر سیم خطا بود دوباره زمین رو به سیم اول اتصال بدید و همون کار رو با ۲ سیم دیگه تکرار کیند تا زمانی که سیم صحیح پیدا بشه. وقتی سیم صحیح پیدا شد سیم اول رو کنار میگزارید و مراحل رو از اول برای سه سیم باقیمونده انجام میدید تا ترتیب ۴ تا سیم رو پشت سر هم پیدا کنید.

نحوه کنترل موتور پله ای: یادتونه که برای یافتن ترتیب سیمها چکار می کردیم؟ بله سیم (سیمهای) مشترک رو به سر مثبت منبع وصل می کردیم و با اتصال دادن هر سیم به GND باعث چرخش یک پله ای موتور می شدیم. حالا اگر این چهارتا سیم رو به ترتیب صحیح کنار هم قرار بدیم و سر منفی منبع رو به ترتیب هی روی اونها بکشیم، می بینیم که موتور -هرچند دست و پا شکسته- شروع به چرخش می کنه! (البته باید ترتیب سیمها کاملا صحیح باشه)
حالا فرض کنی چهار تا سیم رو به صورت چهار بیت -بیت فقط میتونه ۰ یا ۱ باشه- در نظر بگیریم و ۱ شدن هر کدوم به معنی اتصال اون به GND باشه (البته اینجا شما فقط برای درک بهتر این رو فرض کنید  چون در واقعیت برعکسه یعنی ۰ به معنی گراند شدن هستش). مثلا ۰۰۰۱ یعنی سیم اول  گراند شده و ۰۱۰۰ یعنی سیم سوم گراند شده.

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

[+] نوشته شده توسط نیما در 1:35 | |

آموزش ساخت ربات (موتور پله ای 1)

دوستان گرام سلام . اول از همه بگم فراخوان پست قبل (حتما بخونیدش) هنوز ادامه داره و با حساب ۲X۲ تا ۴ تایی که کردم تا حالا، با خودم ۱۳ - ۱۴ نفری اعلام آمادگی کردن. خواهشی که از شما دارم اینه که هر چه زودتر این خبر رو به دوستان علاقمند خودتون هم نشون بدید تا ایشاالله بتونیم هرچه سریعتر گروه رو تشکیل بدیم و از این کلاسها استفاده کنیم.

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

سوم اینکه امروز می خوام راجع به موتورهای پله ای (Stepper Motor) که بخش مکانیکی و نیروی محرکه ربوت مارو تشکیل خواهد داد، بنویسم. البته مقالات خیلی زیادی تو نت راجع به نحوه عملکرد استپ موتور (تریپ مغناطیس و...) و یا ساختار درونی اون (سیم پیچ و آهنربا و...) وجود داره اما چیزی که من الان می خوام بگم یه توضیح مختصر به زبان عامیانه ست:

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

در واقع واژه پله به معنی چرخش به اندازه درجه تعریف شده موتور هستش. مثلا استپ موتوری با درجه ۱.۸ باید ۲۰۰ پله انجام بده تا ۳۶۰ درجه یا یک دور کامل بچرخه (۱.۸X۲۰۰ = ۳۶۰) و یک استپ با درجه ۱۵ فقط باید ۲۴ پله برای یک دور کامل انجام بده (۲۴X۱۵=۳۶۰ ). این ویژگی فوائد بسیار زیادی داره از جمله امکان کنترل سرعت.
زاويه پله پله در دور
0.72 500
1.8 200
2.0 180
2.5 144
5.0 72
7.5 48
15 24

اما موتور DC چطور؟ وقتی بهش ولتاژ میدیم از یه سرعت آروم شروع می کنه و شتاب می گیره و با قطع کردن ولتاژ تازه می خواد شتاب منفی بگیره و معلوم نیست چند ثانیه بعد از قطع ولتاژ از چرخش بایسته. با این تفاسیر فکر می کنید تو هارددیسک یا دیسکت درایوها ویا ویدئو ها از کدوم موتور استفاده می کنند؟ در رباتیک بسته به نوع شرائط از هر دو نوع موتور استفاده میشه که شرایط ما فعلا با ستپ جوره!

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

[+] نوشته شده توسط نیما در 14:47 | |

ارائه دوره آموزشی شبيه سازی فوتبال و امداد ربوکاپ

سلام. تعجب کردید اینقدر زود اومدم ! نه ایندفه یه چیز مهم دارم برای خوره های روباتیک:

چند روز پیش ایمیلی از طرف سایت iranianrobot.com به دستم رسید و وقتی به سایت سر زدم و فهمیدم "حلی کاپ" ئی درمیون بوده و من (حداقل برای تماشا هم که شده) از دستش دادم خیلی ناراحت شدم اما بعد یه خبر کوچیک نظرمو جلب کرد:
"ارائه دوره آموزشی شبيه سازی فوتبال و امداد ربوکاپ برای مدارس و گروه ها: گروهی از مربيان مجرب در زمينه شبيه سازی فوتبال ربوکاپ، با پشتوانه چندين حضورموفقيت آميز در مسابقات ربوکاپ آماده انتقال تجربيات خود به شما ميباشند...."

پیگیر شدم و متوجه شدم این دوستان دوره هایی برگزار می کنن با محتوای آموزشی زیر:

  • 20 ساعت آموزش لينوکس
  • 60 ساعت آموزش برنامه نويسی ++C
  • 10 ساعت آشنايی مقدماتی با Server مسابقات ربوکاپ (2D Soccer، 3D Soccer و يا Rescue) و آماده سازی اوليه يک تيم

این دوره باید به صورت گروهی (۲۰ نفره) برگزار بشه مثلا گروه با هماهنگی مدرسه یا دانشگاه. اما برای خیلی از ما این یا اصلا شدنی نیست یا هماهنگیش خیلی وقت میبره! برا همین یه فراخوان گزاشتم تا از شما دوستان نظرخواهی کنم ببینم اصلا چقدر آدم پایه پیدا میشه!

راستی طی پرس وجوی ایمیلی با مسئولین این دوره متوجه شدم هزینه این دوره برای هر نفر فقط ۴۵ هزارتومن ناقابل تموم میشه! باور کنید باوجود اینکه بنظر پول کمی نیست اما هیچ جای دیگه حتی ۲۰ ساعت آموزش لینوکسش رو هم با این قیمت ندارن! (می تونید بپرسید) همچنین محدودیتی برای دختر یا پسر بودن شما وجود نداره و مشکلی از لحاظ مختلط بودن کلاسها نیست. این دوره ۹۰ ساعته در قالب ۴۵ جلسه ۲ ساعته ارائه خواهد شد که با توافق طرفین می تونیم تعداد روز در هفته و ساعتشو تغییر بدیم. فقط یه مشکلی هست و اون مکان آموزشه! شما از هرجایی معرفی میشید (مثلا دانشگاه) مکانشم باید همونجا تامین و... ولی گفتن خودشمون هم میتونن یجایی پیدا کنن اما اونطوری که تو ایمیل گفتن مثل اینکه خرج داره! با این حال فکر نیم کنم نهایتا بیشتر از نفری ۵۰ هزار تومن بشه( بازم می ارزه!) شما دوستان هم اگه سوال دیگه ای دارید می تونید مثل من با ایمیل info@iranianrobot.com تماس بگیرید. دوستان بسیار با محبتی به سرعت به شما جواب میدن، فقط اگه سوالتون به درد بقیه هم میخورد تو نظرات بنویسید که بقیه هم با خبر بشن .

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

اگر مايل به همراهمي ما براي تشكيل اين گروه 20 نفره هستيد لطفا ميزان علاقه خودتون رو با شركت در اين نظرسنجي اعلام كنيد. بعد از شرکت در نظر سنجی لطفا نام و ایمیل خودتون رو از طریق فرم زیر برام بفرستید تا درصورت لزوم با شما تماس بگیرم.





Powered by WebGozar

از وب گذر متشکرم!

[+] نوشته شده توسط نیما در 15:55 | |

آموزش ساخت ربات (مدار سنسورها 2)

سلام. همه خوبید؟ خداروشکر. راستی از لطفتون به پست قبلی ممنونم . خوب جلسه پیش مدار سنسورها رو نشون دادم اما توضیحات تکمیلی موندش که حالا میگم.
ببینید کلا هرچقدر تعداد و تنوع سنسورها در یه ربات بیشتر باشه بالطبع عملکرد اون خیلی بهتر و عاقلانه تر (هوشمندانه تر) بنظر خواهد رسید. البته کنترل و ایجاد ارتباط میان این سنسورها در مغز ربات (میکروکنترلر) بسیار مهم هستش و بدون یک برنامه بهینه هیچوقت این ادعا درست نخواهد بود! با این وجود همونطور که در مدل ها و مدارهای مختلف در سایت ها و وبلاگهای متعددی دیدید هرکدوم از هرچندتا سنسور که دوست داشتن استفاده کردن! از حالت مینیمم که دوسنسوره باشه گرفته تا چهارتایی و بیشتر... اما همونطور که گفتم هر چقدر تعداد این سنسورها بیشتر باشه برای بهینه تر کردن کارایی اونها در میکروکنترلر باید برنامه پیچیده تری رو نوشت. این پیچیدگی در کد یجورایی بصورت تصاعدی افزایش پیدا میکنه، ولی خوب تا سه یا چهار سنسور این تصاعد زیاد صعودی نیست و بعد از اون (۵ ۶ ۷ وو...) بیشتر خودشو نشون میده! که البته این به نحوه قرار گرفتن سنسورها هم خیلی ربط داره... با این حال من بخاطر اینکه این مقالات رو از ابتدایی ترین سطح شروع کردم سعی کردم از همون مدل ۲ سنسوره که حالت قرارگیری اون رو هم در شکل نشون دادم، استفاده کنم. بزرگترین مزیت این مدل (۲ سنسوره) این هست که کد میکروی بسیار ساده و کوتاهی داره و آموزش و فهم اون خیلی راحته و بزرگترین عیبش هم اینه که روبوت یه جورایی زیگزالی حرکت میکنه! (البته هرچقدر استانداردها به سمت ایده آل میل کنه این خطا هم کمتر میشه) که البته برای شروع عیب بزرگی نیست! در چیدمان سنسورهاتون اگر از مدل ما (۲ تایی) استفاده می کنید مثل شکل، حتما فاصله بین فرستنده و گیرنده، که معمولا ۲.۵ میلیمتر در نظر گرفته میشه (اما هرچقدر کمتر باشه حساسیت بیشتر میشه) و فاصله بین دو گیرنده (۲ نقطه سیاه) که بستگی به ضخامت خط سیاهتون داره (۱.۵ الی ۲ سانت بیشتر)، را در نظر بگیرید تا از ایجاد نقص های ذکر شده جلوگیری کنید. همچنین فاصله پک سنسورها (مجموعه فرستنده و گیرنده) از زمین نباید زیاد باشه و معمولا اون رو ۱.۵ تا ۳ سانت اختیار میکنن تا حساسیت کم نشه!

 راستی یادتون باشه برای خرید میکروی AVR Atmega32 حتما مدل L اون رو بخرید چون با وجود یکسان بودن قیمت، مل ال اون پروگرمر ساده ای داره درواقع اصلا پروگرمر نیست فقط باید چندتا پایش رو مستیم به پورت موازی وصل کنید (که بعدا شکلشو نشون میدم). پس یادتون باشه مثل من اشتباه نکیند. در مورد کامپایلر Bascom هم که چند وقت پیش برا دانلود گذاشته بودم معذرت می خوام چون متوجه شدم اصلا بدرد نمی خوره!!!. یه نسخه عالی دارم که بوقتش آپلودش می کنم.

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

[+] نوشته شده توسط نیما در 21:22 | |

مطالب پيشين