نسخه ي فارسي سايت شهرداري رويان سيستم تبليغاتي Atis.ir همه كه مثل بقيه تو زرد از آب در اومد
شهریور ۲۰

عرض شود كه اول قرار بود كار آموزي برم شركت پيدك ولي خب چون ميخواستم همزمان به كار هاي پروژه كارشناسي هم برسم، تصميم گرفتم همين اصفهان بمونم. كارآموزي را تو دانشگاه خودمون گرفتم و قرار بر اين شد كه به جاش يه پروژه بدن بهم كه تكميل كنم.

Robotic Arm

پروژه هم از اين قرار بود كه گويا n سال پيش مدل يك بازوي صنعتي در ابعاد آزمايشگاهي خريداري شده بود كه به مرور زمان، درايور آن از كار افتاده بود و حالا مي خواستن يه درايور جديد و نرم افزار هاي مربوطش را بدن يكي از دانشجوها طراحي كنه. البته قبل از من داده بودن به يكي ديگه به عنوان پروژه كارشناسي كه اون هم ماشالله سيستم به اين خوبي را برداشته بود حلقه باز كنترل ميكرد در صورتي كه طراحي مكانيكي بازو طوري انجام شده بود كه تمام مفاصل فيدبك داشتن و چون ميخواسته كار خودشو راحت كنه بي خيال اونا شده بوده.

۵ درجه آزادي داره اين بنده خدا كه كلاً از ۶ موتور استفاده شده.(ششمي مربوط به سر گريپر هست كه براي باز و بسته شدن استفاده ميشه). تمام ۶ موتور از شفت انكدر استفاده ميكنن به عنوان فيدبك كه توسط كانال هاي ADC ميكرو خونده ميشن. كلاً چون موتور ها نسبتاً كوچك هستن و جريان زياد نميكشن، براي درايو كردنشون از L۲۹۸ كه تو كشور ما زياد استفاده ميشه، استفاده كردم و از اون طرف هم همه چيز از طريق ارتباط USART به كمك پورت RS۲۳۲ به كامپيوتر يا فرستنده/گيرنده اي كه در اينجا از ماژول HM-TR استفاده شد وصل ميشه.

قسمت سخت افزاري درايور كه خيلي ساده بود و سريع تكميل شد. مسئله ي اصلي اون كار هاي نرم افزاري بود كه با اينكه نتيجه مطلوب ازش گرفته شده، اما همچنان در حال ايجاد تغييرات و بهينه سازي كد ها هستم. ضمناً ميكروي مورد استفادهAtMega۳۲ هست كه يه نكته ي جالب هم در مورد يكي از فيوزبيت هاي اين ميكرو و ميكرو هاي مشابهش (AtMega۱۶) فهميدم. تا حالا پيش نيومده بود كه با اين برخورد كنم. اكثراً كارهاي من با AtMega۸ راه ميفتاد يا اينكه اگه هم با AtMega۳۲ و AtMega۱۶ كار كرده بودم، زياد درگير PORT.C نشده بودم. قضييه از اين قرار بود كه نشستم برنامه ي اوليه براي راه اندازي موتور ها را نوشتم ولي ديدم ۲ تا از موتور ها درست كار نميكنن. كلي ور رفتم تا فهميدم ۴ تا از Pinهاي PORT.C اونطور كه بايد كار نميكنن و روي سطح ولتاژ ثابتي گير كردن. اول فكر كردم بد پروگرم شده كه ديدم از اون نبود. بعدش فكر كردم شايد مشكل از پروگرمر هست كه ديدم بازم مشكل از اون نبود. فكر كردم شايد يه اشتباه كردم و زدم اين ۴ تا Pin رو يجوري سوزوندم(كه نميدونم اصلاً ممكن هست اينطوري بشه يا نه) كه بازم ديدم كار اشتباهي نكردم. خلاصه اينكه پيش خودم به اين نتيجه رسيدم كه شايد ميكرو از اول مشكل داشته. رفتم يه ميكرو ديگه برداشتم، بازم همون مشكل. چند روزي بيخيال شدم و كلي فحش بار فروشنده بدبخت كردم كه يه شب يكي از بچه ها اومد پيشم كه براي پروژش كمكش كنم كه ديدم اِ… مال اونم همينطوره درصور تيكه از جاي ديگه اي خريده بود و شماره سريالش هم به كل فرق داشت. اينجا بود كه فهميدم يه جاي كار خودم ميلنگه. رفتم ديتاشيتشونو خوندم و ديدم بللللههههه. اين PORT.C غير از كاربرد I/O يه كاربرد ديگه هم داره كه مربوط به امكانات JTAG هست و اگه Fuse Bit مربوطه فعال باشه Pin هاي ۲ تا ۵ PORT.C ديگه كارايي I/O خودشون را از دست ميدن. :-D يه فيوز بيت مسخره، اين همه كار منو عقب انداخته بود! انقد به خودم فحش دادم كه چرا از اول اين ديتاشيت را نگاه نكرده بودم…. يه جورايي ۱-۲ هفته بيخودي سر اين قضييه وقت خودمو تلف كردم. ولي خب جالب بود. از چند نفر كه تو اين زمينه ادعايي هم داشتن پرسيدم اما هيچكدوم نميدونستن چي به چيه! شايدم ميدونستن اما طبق اين اخلاق ايراني جماعتي چيزي به رو نياوردن.

بعد از ۲ ماه ور رفتن به اين بازو ديگه واقعاً سخته ازش دل بكنم. كلي چيز ازش ياد گرفتم و خيلي از جيز هايي كه در مورد ميكرو قديما خونده بودم و يادم نبود را مجبور شدم باز مرور كنم تا بتونم اين جونورو راه بندازم. با اينكه همه موتور هاي DC معمولي بودن و حتي اون ۲ موتوري كه به نظر سرو ميان به جز يه فيدبك هيچ واحد كنترلي نداشتن و فكر ميكردم كنترلش خيلي سخت باشه، ولي نسبتاً آسون بود. فقط مسئله اصلي دفعه ي اول بودن خيلي از كارهايي بود كه تو اين پروژه انجام دادم كه باعث شد كار كند پيش بره. من حتي با اينكه يه درس جدا واسه كار با OrCad هم پاس كرده بودم و باهاش PCB هم طراحي كرده بودم، چون تا حالا به قصد ساخت چيزي باش نزده بودم خيلي نكته ها بود كه موقع طراحي PCb مجبور بودم رعايت كنم و كارمو سخت تر كرده بود. (البته براي اينكه يه چيز جديد هم ياد گرفته باشم، PCB را با Proteus-ARES زدم اين دفعه).

Robotic Arm Controller

Robotic Arm

Robotic Arm

Robotic Arm

Robotic Arm

Robotic Arm

همه ي اينارو گفتم كه بگم من با اين قطعاتي كه گفتم، يه چنين سخت افزاري را طراحي كردم و راه انداختم و با خيلي از مشكلات مربوط به اين كار هم آشنا شدم و بيشترشونو از سر راه برداشتم. حالا اگه كسي ميخواد تو اين زمينه ها كاري كنه و يه وقت با مشكلي برخورد كرده كه من ممكنه راه حلشو بدونم، خوشحال ميشم كه همينجا مطرح كنه و من هم اگه بلد بودم راهنمايي كنم. كلاً هركي هر سوالي داشت در مورد اين بازو و نحوه ي كنترلش، من در خدمتم.


۱۶ نظر در مورد “پروژه ي كار آموزي و بازويي كه دل كندن از آن سخت است”

صفحه: « 1 [2] نمایش تمام نظرات

  1. نویسنده: Nima

    سلام، ببخشيد من مسافرت بودم. حقيقتش اصلاً تا حالا فكر فروشش را نكردم اما ايميل ميزنم تا ببينيم اوضاع از چه قرار هست.

  2. نویسنده: mostafa

    با عرض سلام

    شما در مورد اینکه که چطوری توانستید port . c (۲ ta ۵)c فعال کنید نگفتید

    (((خواهشاً فوری جواب دهید)))

    با تشکر…

  3. نویسنده: Nima

    سلام، یکمی بیشتر حوصله می کردید برای خوندن و بررسی به جواب می رسیدید:

    نوشتم: “اين PORT.C غير از كاربرد I/O يه كاربرد ديگه هم داره كه مربوط به امكانات JTAG هست و اگه Fuse Bit مربوطه فعال باشه Pin هاي ۲ تا ۵ PORT.C ديگه كارايي I/O خودشون را از دست ميدن. :-D يه فيوز بيت مسخره، اين همه كار منو عقب انداخته بود!”

    یه بررسی اگر بکنید تو Datasheet متوجه می شید که بصورت پیش فرض Fuse Bit مربوط به JTAG فعال هست، کافیه اون Fuse Bit را صفر کنید تا مشکل به همین راحتی حل بشه.

    موفق باشید.

  4. نویسنده: مهدی

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

  5. نویسنده: جعفر

    با سلام
    منهم دارم روی یه همچین پروژه ای کار میکنم .امکانش هست بگین نرم افزاری که باهاش این بازو رو کنترل کردین اسمش چیه و اینکه خودتون نوشتین و یا میشه از بیرون گیر اورد

  6. نویسنده: Nima

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

  7. نویسنده: جعفر

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

  8. نویسنده: Nima

    اون بستگی داره دقیقا چی بخوایین از جونش! وگرنه hyperterminal یا برنامه های مشابهش هم میتونید استفاده کنید برای قسمت ویندوز اگر فقط صرفا هدف فرمان دادن و گرفتن اطلاعات ساده باشه…

  9. نویسنده: جعفر

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

  10. نویسنده: Nima

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

صفحه: « 1 [2] نمایش تمام نظرات

نظر دهید