NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 5786 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 10 از 10

موضوع: كنترل موتور DC با پتانسيومتر و 8051

  1. #1
    مدیر باز نشسته
    تاریخ عضویت
    Aug 2007
    نام
    تهران
    نوشته ها
    384
    تشکر
    2
    تشکر شده 57 بار در 31 پست

    پیش فرض كنترل موتور DC با پتانسيومتر و 8051

    براي كنترل موتور دي سي با 8051 از لينك زير كه با keil c51 نوشتم دانلود كنيد:

    http://alitaroosheh.parsaspace.ir/mo...%20control.rar

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  3. #2
    تازه وارد
    تاریخ عضویت
    Aug 2007
    نوشته ها
    4
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    سلام.
    با تشكر از شما.لطفا در مورد روش تبديل مقدار خوانده شده از ADC به PWM خروجي در برنامه توضيح بديد.
    نقش متغيرهاي tl,th,tbl,tbh رو لطفا توضيح بديد و در مورد خطوط زير:
    ;t=adc*250
    tb=60000-t
    ;tl=t%255;th=t/255
    tbl=tb%255;tbh=tb/255

    روش بسيار جالبيه كه اگه لطف كنيد كمي توضيح بديد 8051 رو هم مثل AVR داراي خروجي PWM كرديد.

    ممنون.

  4. #3
    مدیر باز نشسته
    تاریخ عضویت
    Aug 2007
    نام
    تهران
    نوشته ها
    384
    تشکر
    2
    تشکر شده 57 بار در 31 پست

    پیش فرض سلام

    در 8051 رجيستر مقدار تايمر صفر th0 و tl0 هستش كه من با اون متغييرها كه گفتيد بهش مقدار ميدمو از اون بكاپ و به شكل الاكلنگي مقدار تايمر براي ايجاد لبه بالا و بعدش لبه پايين رو در ميارم
    در واقع هرچي لبه بالا داريم منهاي 100٪ ميشه لبه بايين كه با tbl,tbh,tl,th مقدار دهي ميشه

  5. #4
    تازه وارد
    تاریخ عضویت
    Aug 2007
    نوشته ها
    4
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    با تشكر از لطفتون اما اگه ممكنه بيشتر توضيح بديد.در مورد روش ايجاد PWM در برنامتون توضيح بديد.خيلي ممنون.

  6. #5
    مدیر باز نشسته
    تاریخ عضویت
    Aug 2007
    نام
    تهران
    نوشته ها
    384
    تشکر
    2
    تشکر شده 57 بار در 31 پست

    پیش فرض سلام

    به قسمت زير برنامه اينتراپت توجه كنيد
    متغيير pos در هر بار فراخواني مقدارش تغيير ميكنه و باعث ميشه كه مقدار جديد در تايمر قرار بگيره
    يعني يه بار براي لبه بالا و يه بار براي لبه پايين
    مقدار adc هم بستگي به موتود داره كه چه تقييراتي روش انجام بشه

  7. #6
    تازه وارد
    تاریخ عضویت
    Aug 2007
    نوشته ها
    4
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    سلام.
    بله.اين موارد مشكلي نداره من اعداد 6000و250 و عمليات مربوط به تبديل خروجيadc به pwm خروجي رو متوجه نميشم.
    لطف كنيد خطوط زير رو توضيح بديد.
    =adc*250
    tb=60000-t
    ;tl=t%255;th=t/255
    tbl=tb%255;tbh=tb /255

    از توجهتون ممنون.

  8. #7
    مدیر باز نشسته
    تاریخ عضویت
    Aug 2007
    نام
    تهران
    نوشته ها
    384
    تشکر
    2
    تشکر شده 57 بار در 31 پست

    پیش فرض سلام

    اينجا با توجه به مشخصات موتور من عدد adc رو در 60000 ضرب كردم
    بعد چون عدد بزرگتر از يك بايت شد اون رو تقسيم بر 250 كردم كه در t قرارگرفت باقيمونده در tl و جواب تقسيم در th قرار گرفته
    چون قرار كه در هر سيكل مقدار تايمر عوض بشه مقدار ف از 60000 كم ميشه و در قرار ميگيره كه به روش بالا به دو بايت تبديل ميشه
    توجه كنيد كه مقدار adc به 240 محدود شده كه ضربدر 250 ميشه 60000 كه يعني 100٪ كه از t كم بشه مقدار لبه پايين در مياد

  9. #8
    تازه وارد
    تاریخ عضویت
    Aug 2007
    نوشته ها
    4
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    خيلي ممنون.

  10. #9
    تازه وارد
    تاریخ عضویت
    Jun 2008
    نوشته ها
    1
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    سلام
    خيلي ممنون از برنامه خوبي كه گذاشتين
    ميشه توضيح بدين وقتي كه اجرا ميكنيم برنامه را موتور چطوري كار مي كنه ؟؟؟ يعني در حين اجرا چطور به آن وقفه ميديم تا pos تغيير كند و موتور راست گرد يا چب گرد شود؟؟؟

  11. #10
    مدیر باز نشسته
    تاریخ عضویت
    Aug 2007
    نام
    تهران
    نوشته ها
    384
    تشکر
    2
    تشکر شده 57 بار در 31 پست

    پیش فرض سلام

    pwm يا مدولاسيون عرض پالس يعني اينكه ارزش داده ها در duty cycle قرار بگيره نه در سطح ولتاژ

    پس ما فركانس ثابتي داريم كه براي ارزشهاي بيشتر عرض پالس بيشتر و بلعكس براش صادقه

    حالا اگه انتگرال زير سطح اين پالس رو بگيريد مقدار DC بدست مياد كه باعث كم و زياد شدن سرعت موتور ميشه

    اين مورد براي توليد صدا هم هست(شنيدم گوشي هاي سوني اريكسون با PWM صدا رو توليد ميكنن)

    حالا چون 8051 اين امكان رو نداره به صورت نرم افزاري اون رو انجام ميديم
    تايمر رو پيكره بندي ميكنيم و هر بار توي زير برنامه اينتراپت موقعيت پالس رو چك ميكنيم اگه قراره لبه پايين رو ايجاد كنيم مقدار جديد رو بهش ميديد(مثلا اگه عرض پالس 70٪ براي لبه پايين 30٪ رو ايجاد ميكنيم)

    در اينتراپت بعدي قاعدتا بايد لبه بالا رو ايجاد كنيم كه متغيير pos اين شرايط رو ايجاد ميكنه(مثل الاكلنگ)

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

  1. سازمان منطقه ویژه اقتصادی پتروشیمی برگزار می کند...
    توسط rahnemoun در انجمن طراحی و ساخت و آزمایش مدارت الکترونیک
    پاسخ: 1
    آخرين نوشته: 15-12-2012, 20:12
  2. مشکل با بلوتوث لپتاپ sony
    توسط mehdi_nxp در انجمن ترفندهای کامپیوتری/معرفی نرم افزار های مفید
    پاسخ: 16
    آخرين نوشته: 01-06-2012, 10:53
  3. نمونه سوالات استخدامی شرکت نفت گاز و پتروشیمی
    توسط chonglong در انجمن گفت و گوي آزاد
    پاسخ: 1
    آخرين نوشته: 18-07-2011, 16:25
  4. ساخت نخستین ابررایانه‌ی پتافلاپ اروپا
    توسط arsalan681 در انجمن اخبار کامپیوتر و IT و مسابقات رباتیک
    پاسخ: 0
    آخرين نوشته: 03-06-2010, 14:10
  5. منبع تغذیه لپتاپ
    توسط piremard در انجمن طراحی و ساخت و آزمایش مدارت الکترونیک
    پاسخ: 9
    آخرين نوشته: 17-03-2010, 11:49

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

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