امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 1
  • 1
  • 2
  • 3
  • 4
  • 5
تشخیص زمان لبه بالا رونده pwm
نویسنده پیام
m_azari16 آفلاین
تازه وارد

ارسال‌ها: 18
موضوع‌ها: 12
تاریخ عضویت: اسفند ۱۳۸۷

تشکرها : 0
( 6 تشکر در 5 ارسال )
ارسال: #1
تشخیص زمان لبه بالا رونده pwm
سلاممن می خوام با میکرو زمان لبه بالا رونده یک موج pwm رو اندازه بگیرم کسی می تونه کمک کنهبا تشکر
۱۴-تير-۱۳۸۹, ۰۴:۱۸:۰۵
ارسال‌ها
پاسخ
تشکر شده توسط : ma_f66
محمد حسینی آفلاین
کاربر فعال بخش رباتیک
****

ارسال‌ها: 1,363
موضوع‌ها: 139
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 974
( 1780 تشکر در 620 ارسال )
ارسال: #2
RE: تشخیص زمان لبه بالا رونده pwm
با وقفه خارجی. وقفه رو روی لبه بالا رونده تنظیم کن و خروجی pwm رو هم به پایه وقفه (INTx) وصل کن.
با ورودی پورت هم میشه ...

به راه بادیه رفتن، به از نشستن باطل ------------- اگرچه وصل نیابم، بقدر وسع بکوشمRolleyes
(آخرین ویرایش در این ارسال: ۱۴-تير-۱۳۸۹, ۰۶:۵۵:۳۳، توسط محمد حسینی.)
۱۴-تير-۱۳۸۹, ۰۶:۵۳:۵۱
ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000, ma_f66
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #3
RE: تشخیص زمان لبه بالا رونده pwm

Pulsein



توسط اين دستور ميتوان زمان تناوب يک پالس مربعي را اندازه گرفت ، فرم کلي اين دستور به شکل زير است:

کد php:
Pulsein Var , PINX State 

اين دستورزمان تناوب پالس اعمال شده به پورت PINX و پين Y دلخواه را در متغير Var که بايد از جنس Word باشد قرار مي دهد .

شما ميتوانيد مشخص کنيد که زمان بين از صفر به يک رفتن يا از يک به صفر رفتن پالس اندازه گرفته شود ، براي حالت اول به جاي STATE صفر و براي حالت دوم به جاي STATE يک قرار دهيد .

مثال :

کد php:
$regfile "m16def.dat"
$crystal 1000000
Config Lcd 
16 Cursor Off
Config Lcdpin 
Pin Db4 PORTD.0 Db5 PORTD.1 Db6 PORTD.2 _
Db7 
PORTD.3 PORTD.4 Rs PORTD.5
Dim X 
As Word
Config PORTC.0 
Input
Do
   
Bitwait PINC.0 Reset
   Pulsein X 
PINC 1
   Locate 1 
Lcd "1 = " "   "
   
Bitwait PINC.0 Set
   Pulsein X 
PINC 0
   Locate 2 
Lcd "0 = " "   "
Loop
End 

در مثال بالا زمان تناوب پالس مثبت و منفی که به پين C.0 اعمال شده اندازه گرفته مي شود و سپس بر روي LCD نمايش داده مي شود . (زمان تناوب نبايد از 65535 ميلي ثانيه بيشتر باشد ، اين دستور از تايمر هاي ميکرو استفاده نمي کند .)

منبع : کتاب بسکام سعید یه نفر
۱۴-تير-۱۳۸۹, ۱۱:۵۵:۲۱
ارسال‌ها
پاسخ
تشکر شده توسط : ma_f66, sharin
ilgar آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 843
موضوع‌ها: 17
تاریخ عضویت: اردیبهشت ۱۳۸۷

تشکرها : 383
( 2597 تشکر در 855 ارسال )
ارسال: #4
RE: تشخیص زمان لبه بالا رونده pwm
با میکرو نمیشه مدت زمان لبه بالا رونده رو که خود میکرو ایجاد می کنه حساب کرد. چون لبه های بالا و پایین رونده به علت دقت پایین بودن قطعات بوده و هرچی کیفیت قطعات بالا تر باشه لبه های تیز تری ایجاد میکنه
پس میکرویی که سرعتش انقدر پایینه که لبه ایجاد میکنه، باهاش نمیشه زمان لبه خود میکرو رو حساب کرد. اما با پروسسورهای فرکانس بالا میشه لبه میکرو رو اندازه گرفت
۱۵-تير-۱۳۸۹, ۰۰:۳۸:۵۷
ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000, ma_f66
m_azari16 آفلاین
تازه وارد

ارسال‌ها: 18
موضوع‌ها: 12
تاریخ عضویت: اسفند ۱۳۸۷

تشکرها : 0
( 6 تشکر در 5 ارسال )
ارسال: #5
RE: تشخیص زمان لبه بالا رونده pwm
سلام
خیلی ممنون از راهنمایی هاتون
من یه موج مربعی دارم که دامنه اون 1 میلی ثانیه است. پس دامنه لبه بالا رونده کمتر از 1 میلی ثانیه است.
من مشکلی تو تشخیص وضعیت صفر یا یک موج ندارم فقط مشکلم دقت اندازه گیری است. درضمن اگه بتونم از تایمر کانتر استفاده کنم بهتره چون نمی خوام پردازنده مشغول بشه به نظر شما تایمر کانتر این دقت رو داره.
۱۸-تير-۱۳۸۹, ۱۷:۵۷:۳۰
ارسال‌ها
پاسخ
تشکر شده توسط : ma_f66
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #6
RE: تشخیص زمان لبه بالا رونده pwm
آره !
۱۹-تير-۱۳۸۹, ۰۱:۰۹:۰۵
ارسال‌ها
پاسخ
تشکر شده توسط : ma_f66


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  مبدل فرکانس 1000مگاهرتز به بالا به 5V DC mahdi_jan 3 2,314 ۲۴-مرداد-۱۳۹۳, ۱۳:۰۹:۳۵
آخرین ارسال: mahdi_jan
  کمک برای پروژه پایانی تشخیص حرکت برای روشن کردن لامپ mreza_dm2004 3 4,551 ۲۰-اردیبهشت-۱۳۸۹, ۲۱:۰۵:۰۱
آخرین ارسال: رسول

پرش به انجمن:


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

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