ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






جهت تبلیغ در وب سایت ECA کلیک کنید.

کاربران برچسب زده شده

نمایش نتایج: از 1 به 4 از 4
  1. #1
    2008/03/15
    139
    0

    كنترل سرعت موتور طي چند مرحله حركت

    سلام
    من يه پروژه براي كنترل حركت موتور توي كدويژن نوشتم. توي اين پروژه يه سنسور اثر هال داريم كه به موتور وصله و با حركت موتور به پايه T0 يا T1 ميكرو پالس ميده. موتور هم به يك جك مكانيكي وصله. و با حركت موتور مقدار حركت جك به صورت دقيق اندازه گيري ميشه. اين پروژه سه قسمت داره:

    1- توي مرحله اول حركت موتور طوري تنظيم ميشه كه جك مكانيكي مقدار خاصي رو كه توي برنامه مشخص شده حركت كنه. اين حركت توي چند مرحله انجام ميشه كه اين مراحل به صورت يك آرايه در ابتداي برنامه تعريف ميشه. مثلا اگر آرايه شامل اعداد زير باشه:

    150
    120
    140
    100

    اگر آرايه اين چهار عدد رو داشته باشه حركت در واقع شامل سه مرحله س. اعداد بر حسب ميليمتر هستن. يعني اول جك روي عدد 15 سانت قرار داره.(به صورت اختياري) بعد بايد به 120 بره يعني سه سانت بايد در يك جهت مثلا راست حركت كنه. مرحله بعد از 120 به 140 ميرسه . يعني بايد دو سانت در جهت خلاف جهت قبلي حركت كنه.

    2- مرحله دوم پروژه استفاده از pwm براي كنترل سرعت بود كه كاملا به جواب رسيد و دقيقا در زماني كه ميخواستم. مثلا اگر موتور تو سرعت ماكزيمم هر سانت رو توي 3.3 ثانيه ميرفت. با يه تناسب ساده طوري تنظيمش كردم كه مثلا هر سانت رو توي 6 ثانيه بره.

    3- قسمت سوم در واقع به نوعي تركيب مرحله اول و دومه. توي اين مرحله ميخوام طوري تنظيم كنم كه مثلا اگه كل حركت 3 مرحله س. هر كدوم از اين سه مرحله رو توي يه زمان ثابت بره. مثلا مرحله اول رو توي 5 ثانيه؛ مرحله دوم توي 5 ثانيه و مرحله سوم هم توي 5 ثانيه. واضحه كه براي اين كار بايد اول مرحله اي كه ماكزيمم حركت تو اون مرحله س پيدا بشه و از اونجا مينيمم زماني كه ميشه انتخاب كرد و اونو براي همه مراحل مبنا قرار داد پيدا ميشه و حركت بقيه استپ ها بر اون اساس تنظيم بشه. با يه مثال بهتر مشخص ميشه:

    براي مثال سه مرحله زير رو داريم:
    1- دو سانت به راست
    2- يك سانت به چپ
    3- سه سانت به راست

    با احتساب اينكه توي سرعت ماكزيمم جك مكانيكي هر سانت رو توي 3.3 ثانيه ميره:

    1- دو سانت در 6.6 ثانيه
    2- يك سانت در 3.3
    3- سه سانت در 9.9 ثانيه

    در اينجا ماكزيمم زماني كه توي هر مرحله حركت داريم 9.9 هست. پس اگر بخوايم حركت هر 3 مرحله توي زمان ثابت انجام بشه اون زمان بايد 9.9 باشه. چون اگه زمان كمتر از اين باشه مرحله سوم كامل انجام نميشه.

    خوب برنامه مربوط به اين هم چيز خيلي سختي نيست: فقط بايد يه تناسب بين زمان ‹‹مرحله اي كه توش هستيم›› و ‹‹زمان ماكزيمم›› ببنيدم و اين تناسب به OCR1A يا OCR1B داده بشه. تا به همون نسبت حركت موتور كند بشه. يعني مقداري كه بايد به OCR1A يا OCR1B توي هر مرحله داده بشه: (با فرض استفاده از تايمر 1 كه ماكزيمم مقدارش 3FF يا 1023 هست)

    1- مرحله اول: OCR1A=1023*(6.6/9.9)

    2- مرحله دوم: OCR1A=1023*(3.3/9.9)

    3- مرحله سوم: OCR1A=1023*(9.9/9.9)

    خوب حالا تا اينجا داشتم صورت مسئله ميگفتم!
    براي اينكه مشكل رو بگم بايد كاملا پروژه رو توضيح ميدادم:

    حالا مشكل اصلي

    مرحله اول و دوم به خوبي و با تكرار پذيري كامل به جواب رسيدن. ولي مرحله سوم جواب رندم ميگيرم. يعني درواقع جواب ميده ولي تكرار پذير نيست. مسئله اينجاست كه انگار مراحل رو گم ميكنه.مثلا بعضي وقتا مرحله اول رو 2 يا 3 بار ميره بعد بقيشو درست ميره. بعضي وقتا فقط مرحله اول رو واسه خودش تكرار ميكنه!!! يا مثلا دو مرحله رو ميره به جاي مرحله سوم برميگرده مرحله اول رو ميره!!!!! تقريبا دارم از دستش ديوونه ميشم. هر پارامتري كه تونستم تغيير دادم. ولي درست نشد :angry:

    حالا احتمالاتي كه خودم ميدم:
    1- فيوز بيتها: كه البته در اين مورد به جايي نرسيد. فقط سوالي كه توي اين زمينه دارم: اصلا امكان داره به خاطر اشتباه پروگرم شدن يه فيوزبيت برنامه جواب رندم داشته باشه؟

    2- نويز: آي سي كه استفاده ميكنم atmega32 هست. اين آي سي تا چقدر به نويز حساسه . مدار كنترلي روي يه برد بورد بسته شده. امكان داره به خاطر خازن هايي كه روي برد بورد بوجود مياد دچار خطاي رندم بشه؟؟

    3- جك مكانيكي: يه احتمال هم دادم كه ممكنه جايي كه ميكرو به درايور فرمان ميده و درايور به موتور؛ توي اون قسمت مثلا موتور يا جك مكانيكي نميتونن درست مراحل رو تشخيص بدن. البته بايد اشاره كنم كه سيستم مراحل رو قاطي ميره ولي هر مرحله اي رو كه ميره دقيق ميره مثلا مراحلي كه اينجا داشتم يك؛دو و سه سانت بود. هر مرحله حركت از اين سه حالت خارج نيست و دقيق هم ميره ولي ترتيب مراحل رو رعايت نميكنه.

    اگر كسي چيز ديگه اي به ذهنش ميرسه مارو هم بي نصيب نذاره!

    اگه لازم بود بگيد كل برنامه رو بذارم

  2. #2
    2008/03/15
    139
    0

    پاسخ : كنترل سرعت موتور طي چند مرحله حركت

    کسی نظری نداره؟
  3. #3
    2008/03/15
    139
    0

    پاسخ : كنترل سرعت موتور طي چند مرحله حركت

  4. #4
    2008/03/15
    139
    0

    پاسخ : كنترل سرعت موتور طي چند مرحله حركت

    یعنی هیچ کس نبود؟ :sad:
نمایش نتایج: از 1 به 4 از 4

موضوعات مشابه

  1. پاسخ: 20
    آخرين نوشته: 2015/08/15, 14:56
  2. كنترل سرعت چشمكزن با اي سي 555
    توسط hsoft2 در انجمن میکروکنترلرهای AVR
    پاسخ: 6
    آخرين نوشته: 2011/08/28, 10:26
  3. كنترل سرعت موتور جريان بالا
    توسط vishtasp در انجمن ترانسفورماتورها و ماشين هاي الکتريکي
    پاسخ: 4
    آخرين نوشته: 2011/08/26, 13:29
  4. ربات كنترل شونده با حركت چشم(EOG)
    توسط hajix در انجمن بيو الكتريك
    پاسخ: 8
    آخرين نوشته: 2010/10/27, 12:49
  5. كنترل سرعت پمپ آب
    توسط MOHANDES-HASAN در انجمن ترانسفورماتورها و ماشين هاي الکتريکي
    پاسخ: 5
    آخرين نوشته: 2007/05/13, 16:12

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •