امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
کمک....کار با تایمرها
نویسنده پیام
mahdieh_sh آفلاین
تازه وارد

ارسال‌ها: 6
موضوع‌ها: 2
تاریخ عضویت: اسفند ۱۳۹۳

تشکرها : 3
( 0 تشکر در 0 ارسال )
ارسال: #1
کمک....کار با تایمرها
من یه سوال دارم میشه دوستان کمک کنن .من تو تایمرا مشکل دارم اگر راهنماییم کنید ممنون میشم
با استفاده از مد fast pwm (تایمر یک) یک پالس مربعی به گونه ای تولید کنید که با استفاده از دو کلید فشاری برای D.C و دو کلید فشاری برای فرکانس بتواند 100khz<f<1Mhz و دیوتی سایکل بین 35 تا 55 درصد تغییر کند.
nرا خودمون باید تعیین کنیم
F=4MHz
۰۸-آذر-۱۳۹۴, ۲۰:۰۳:۰۶
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #2
RE: کمک....کار با تایمرها
سلام.

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

موفق باشی.

۰۸-آذر-۱۳۹۴, ۲۲:۳۷:۲۴
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : mahdieh_sh
mahdieh_sh آفلاین
تازه وارد

ارسال‌ها: 6
موضوع‌ها: 2
تاریخ عضویت: اسفند ۱۳۹۳

تشکرها : 3
( 0 تشکر در 0 ارسال )
ارسال: #3
RE: کمک....کار با تایمرها
میشه اگر میتونید کد این برنامه رو تا یه حدیشو برام بنویسید .... چون من خیلی گیج شدم[تصویر:  154fs232528.gif][تصویر:  dash1.gif]

من این مبحثو نفهمیدم کدو برنامه خوبیم پیدا نمیکنم که از روش بخونم ...اگر کسی میتونه کمکم کنه و یه سری توضیحاتم بده ممنونش میشم.
۰۹-آذر-۱۳۹۴, ۱۸:۲۵:۴۶
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #4
RE: کمک....کار با تایمرها
با سلام.

کلی نوشتم همه اش پاک شد!!!
خلاصه بگم، یک کتاب مرجع برای میکروکنترلر AVR تهیه کنید وقسمت تایمر و PWM اش رو با دقت بخونید.
پروژه رو 2 قسمت کنید. اول موج PWM رو بسازید، بعد از اون قابلیت تغییر فرکانس رو بهش اضافه کنید.
در مود fast PWM تایمر از مقدار 0 تا top شمارش می کنه و سرریز می کنه و مجدد از 0 شروع به شمارش می کنه.
در این بین یک رجیستر به نام OCR در اختیار دارید ، زمانی که TCNT ( رجیستر شمارشی تایمر ) به مقدار OCR برسه ، خروجی PWM فرضا 1 می شه. TCNT کارش رو ادامه می ده تا به top برسه، در همین هنگام، زمان سرریز رخ می ده و خروجی PWM فرضا 0 می شه.
با تغییر مقدار OCR می تونید دیوتی سایکل های مختلف رو ایجاد کنید. از اونجایی که TCNT از 0 تا top می شماره، فرکانس PWM ثابت خواهد بود.
---------->> پس تا اینجا موج PWM رو ساختید.
مرحله ی بعد تغییر فرکانس موج PWM هست، کافیه مقدار top رو کم و زیاد کنید، چون TCNT از 0 تا top شمارش می کنه ، با تغییر top فرکانس PWM رو هم می تونید کنترل کنید. برای این منظور رجیستر ICRx رو در اختیار دارید.
توجه:
بین دقت دیوتی سایکل و فرکانس PWM یه trade off وجود داره و کار کنترل رو با دقت ثابتی نمی شه انجام داد.
توجه:
اگر از کدویزارد استفاده کنید، پیکر بندی اولیه رجیستر ها رو خود کدویزارد انجام می ده.

موفق باشید.

۰۹-آذر-۱۳۹۴, ۲۱:۳۶:۳۴
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : mahdieh_sh
mahdieh_sh آفلاین
تازه وارد

ارسال‌ها: 6
موضوع‌ها: 2
تاریخ عضویت: اسفند ۱۳۹۳

تشکرها : 3
( 0 تشکر در 0 ارسال )
ارسال: #5
RE: کمک....کار با تایمرها
یعنی مقدار اولیه (TCNT) رو صفر درنظر بگیرم؟
۱۰-آذر-۱۳۹۴, ۱۹:۳۲:۲۹
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #6
RE: کمک....کار با تایمرها
بستگی داره از چه روشی استفاده کنید!
در روشی که بالا ارائه دادم، مقدار top رو دست می زنیم و اجازه می دیم TCNT از 0 شمارش کنه ...

موفق باشید.

۱۰-آذر-۱۳۹۴, ۱۹:۴۱:۳۱
وب سایت ارسال‌ها
پاسخ
mahdieh_sh آفلاین
تازه وارد

ارسال‌ها: 6
موضوع‌ها: 2
تاریخ عضویت: اسفند ۱۳۹۳

تشکرها : 3
( 0 تشکر در 0 ارسال )
ارسال: #7
RE: کمک....کار با تایمرها
یه سوال دیگه
ببخشید میشه روابط مربوط به تایمر یک مد fast pwm رو بگید ... اخه من توی هرکتاب و جزوه ای یه چیزی پیدا میکنم  ):
۱۰-آذر-۱۳۹۴, ۱۹:۴۶:۱۹
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #8
RE: کمک....کار با تایمرها
شخصا از هیچ رابطه ای استفاده نمی کنم. شما اساس کار رو بدونید، روابط رو خودتون می سازید ...
طبق توضیحات بالا اگر کارتون رو می خواید انجام بدید ، برید جلو و تحلیل کنید، هرجا مشکل داشتید مطرح کنید، تا دوستان راهنمایی کنن.

جهت راهنمایی: زمان شمارش یک واحد تایمر رو با تنظیماتی که لحاظ می کنید محاسبه کنید.
مثال: زمان شمارش یک واحد TCNT برابر 1us
زمان یک سیکل کامل PWM می شه زمان شمارش 0 تا top رجیستر TCNT
مثال: مقدار top برابر 255 باشه ، 256 تا 1us می شه 256us
برای بدست آوردن فرکانس این مقدار رو معکوس کنید.
مثال: فرکانس PWM می شه 1 به روی 256us یعنی 3.906KHz

همینطور که می بینید ، روابط خودشون در میاد، نیازی به حفظ کردن نداره ...

موفق باشید.

(آخرین ویرایش در این ارسال: ۱۰-آذر-۱۳۹۴, ۲۰:۰۶:۱۲، توسط sharin.)
۱۰-آذر-۱۳۹۴, ۲۰:۰۵:۱۰
وب سایت ارسال‌ها
پاسخ
mahdieh_sh آفلاین
تازه وارد

ارسال‌ها: 6
موضوع‌ها: 2
تاریخ عضویت: اسفند ۱۳۹۳

تشکرها : 3
( 0 تشکر در 0 ارسال )
ارسال: #9
RE: کمک....کار با تایمرها
خب پس برای OCR که باهاش محدوده ی دیوتی سایکل رو مشخص میکنن باید چیکار کنم؟؟؟
من توی این مبحث کتاب زیاد خوندم ولی واقعا گیج شدم استادمونم یه نمونه سوالم برامون حل نکرده :divar:
۱۰-آذر-۱۳۹۴, ۲۰:۱۳:۱۶
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #10
RE: کمک....کار با تایمرها
شما کافیه که یک کتاب خوب رو ، خیلی خوب بخونید، حتی اگر نیازه چند بار بخونیدش.
دیوتی سایکل ماهیتش چی هست؟
برای اینکه یه عدد بامسما برای عرض پالس ارائه بشه و راحت یه مفهومی رو برسونه، در نظر گرفتیم عرض پالس رو بر حسب درصد بیان کنیم. درسته؟
وقتی TCNT از 0 تا 255 می شماره، 
OCR = 0 یعنی D.C = 0%
OCR = 127 یعنی D.C = 50%
OCR = 255 یعنی D.C = 100%
به همین راحتی!
بین رقم رجیستر و "درصد" یک تناسب ایجاد کنید. همینطور که می بینید رابطه خودش ساخته می شه ...

اگر دقیقا بدونید چه اتفاقی داره می یفته، همه چیز واضح هست، مسئله رو یه جور دیگه ببینید ...

موفق باشید.

۱۰-آذر-۱۳۹۴, ۲۰:۳۹:۱۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : mahdieh_sh, alimogmov
alimogmov آفلاین
مدیر بخش
*****

ارسال‌ها: 456
موضوع‌ها: 36
تاریخ عضویت: اردیبهشت ۱۳۹۰

تشکرها : 867
( 940 تشکر در 393 ارسال )
ارسال: #11
RE: کمک....کار با تایمرها
درود وسلام

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

سپاس

۱۰-آذر-۱۳۹۴, ۲۱:۴۶:۰۰
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  سوال در مورد تایمرها در میکرو atmega16 و زبان code vision karimip 3 5,526 ۰۴-مهر-۱۳۹۰, ۲۰:۰۲:۱۳
آخرین ارسال: sharin
  مشکل با تایمرها در atmega8 Morteza_rk 1 2,607 ۰۸-اسفند-۱۳۸۸, ۲۱:۰۰:۰۷
آخرین ارسال: Morteza_rk

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS