اطلاعیه

Collapse
No announcement yet.

کنترل موقعیت موتور

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    کنترل موقعیت موتور

    کسی از دوستان میتونه قطعه کد یا شبه کد مربوط به کنترل موقعیت موتور یا یک انکدر پالسی ( افزایشی) یا سنسور های استاتیک ( که دارای رینگ هستند در واقع ( مثلا 12 بیتی ) ، رو بیان بکنه ؟ میکرو مثلا AVr و موتور هم روش حساسیت خاصی در مورد نوع و شکل و .. نداریم ..

    مرسی

    #2
    پاسخ : کنترل موقعیت موتور

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

    دیدگاه


      #3
      پاسخ : کنترل موقعیت موتور

      اره درسته ، فقط نکته ای که هست مثلا باید فکر کنم تعیین شده باشه که چند سوراخ داریم که مثلا بگیم اگه 100 سوراخ داشت ، هر پالسی که اومد ، یک دونه تغییر کرد و بعد مثلا بگیم 360 تقسیم بر 100 میشه 3.6 و هر پالس میشه انقدر درجه ، درسته ؟

      اما اینجا دو نکته هست ، من مشکلم روی نقطه صفر هست ، اون نقطه صفر رو مثلا باید داد به یه اینتراپت خارجی یا مثلا یه پورت یا پایه میکرو ؟ اینکه مثلا بگیم هر وقت رسید اونجا یه وقفه رخ بده یا یه کاری کنه.. بعد موقعیت رو صفر کنه درسته ؟

      حالا مسئله اصلی روی جهت چپ گرد و راست گرد هست ! من روی این یکم مشکل دارم، تنها چیزی که روی تحقیقاتم فهمیدم اینه که باید یه اختلاف فاز 90 درجه بین دو سنسور بذاریم تا اگه مثلا روی لبه بالارونده اون صفر یا یک بود ، جهت چپ گرد و یا راست گرد باشه.. پیشنهاد این تیکه چیه ؟مثلا A رو بدم به وقفه خارجی صفر و برای B هم باید یه فکری کرد ... !؟

      در مورد اون سنسور های استاتیک پیشنهاد خاصی نیست !؟ مثلا یه سنسور استاتیک 12 بیتی ( 12 رینگی ) برای محاسبه موقعیت یک موتور ..

      دیدگاه


        #4
        پاسخ : کنترل موقعیت موتور

        نوشته اصلی توسط amirmufc
        اره درسته ، فقط نکته ای که هست مثلا باید فکر کنم تعیین شده باشه که چند سوراخ داریم که مثلا بگیم اگه 100 سوراخ داشت ، هر پالسی که اومد ، یک دونه تغییر کرد و بعد مثلا بگیم 360 تقسیم بر 100 میشه 3.6 و هر پالس میشه انقدر درجه ، درسته ؟

        اما اینجا دو نکته هست ، من مشکلم روی نقطه صفر هست ، اون نقطه صفر رو مثلا باید داد به یه اینتراپت خارجی یا مثلا یه پورت یا پایه میکرو ؟ اینکه مثلا بگیم هر وقت رسید اونجا یه وقفه رخ بده یا یه کاری کنه.. بعد موقعیت رو صفر کنه درسته ؟

        حالا مسئله اصلی روی جهت چپ گرد و راست گرد هست ! من روی این یکم مشکل دارم، تنها چیزی که روی تحقیقاتم فهمیدم اینه که باید یه اختلاف فاز 90 درجه بین دو سنسور بذاریم تا اگه مثلا روی لبه بالارونده اون صفر یا یک بود ، جهت چپ گرد و یا راست گرد باشه.. پیشنهاد این تیکه چیه ؟مثلا A رو بدم به وقفه خارجی صفر و برای B هم باید یه فکری کرد ... !؟

        در مورد اون سنسور های استاتیک پیشنهاد خاصی نیست !؟ مثلا یه سنسور استاتیک 12 بیتی ( 12 رینگی ) برای محاسبه موقعیت یک موتور ..
        آره درسته همون 3.6////برا اینکه بفهمی چپه یا راست یه پرچ بزار با 2 تا گیرنده فرستنده لیزری از هرکدوم اول رد شد میتونی بفهمی راست گرد یا چپ. اینجوری نقطه صفرم میتونی تشخیص بدی. یا نه اول که موتور رو استارت میزنی تو نقطه 0 شروع کن.بعدم که موقعیتو بریز تو eeprom حل میشه دیگه!/////در مورد سنسورم یه انکودر ساده میخوای نه کمتر نه بیشتر
        hi miami

        دیدگاه

        لطفا صبر کنید...
        X