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

ارسال‌ها: 22
موضوع‌ها: 9
تاریخ عضویت: تير ۱۳۸۶

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #1
مشکل در تولید فرکانس 40K
من می خام فرکانس 40K بسازم ولی وقتی از کریستال خود میکرو استفاده می کنم فرکانس 35K تولید می کنه و وقتی هم از کریستال خارجی استفاده می کنم فرکانس 34K تولید می کنه.مشکل از کجاست؟چرا اینقدر اختلاف؟آیا مشکل از دقیق نبود کریستاله؟چکار باید بکنم تا بتونم فرکانس 40K یا حداقل 39K تولید کنم؟

توضیح:
میکرومن Atmega16 هست.
از تایمر 0 استفاده می کنم.
کریستال خارجی من 8.000000 است.مقدار Prescale رو هم 1 می ذارم.
این مشکل رو هم با بسکام و هم با کدویژن دارم.
TCNT0 رو با 0x100-100 مقدار دهی می کنم.
TCNT0=0x100-100
روش محاسبه من:
8MHz/4KHz=200/2=100
۱۹-مرداد-۱۳۸۶, ۱۸:۴۰:۴۷
ارسال‌ها
پاسخ
IMeysam آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 323
موضوع‌ها: 56
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 0
( 53 تشکر در 30 ارسال )
ارسال: #2
 
برای تولید یه فرکانس روی یه پین اگه مکان پین مهم نباشه باید از مد CTC استفاده کرد. تو این مد هرگاه مقدار ثبات تایمر با مقدار ثبات OCR0 برسه ، حالت پین OC0 رو عوض می کنه، (صفر ،یک یا معکوس می کنه که این حالت آخری مد نظر ماست). برای پیدا کردن مقدار صحیح ثبات OCR0 از فرمول زیر استفاده می کنیم:
OCR0=( (CRYSTAL/fer)/2 ) - 1
یعنی برای داشتن فرکانس 40 کیلو باید مقدارOCR0 برابر99 در مبنای دهدهی باشه
اون روشی که شما رفتی احتمالا استفاده از روتین وقفه سرریز تایمر بوده که تو همون روتین هم TCNT0 رو هم مقدار دهی می کردی هم پین رو بر عکس. ولی اون روش اشتباهه و مال 8051 هستش.
با نوشتن تنها همین دو تا خط و البته خروجی تعریف کردن PINB.3 فرکانس 40 کیلو تو خروجی میاد. احتیاج به هیچ چیز دیگه ای هم نیست.
TCCR0=0x19
OCR0=99

تفاوت فرکانس نوسانساز داخلی با کریستال خارجی می تونه به خاطر دما یا ولتاژ تغذیه باشه که 5ولت نبوده.

اي آمده از عالم روحاني تفت /////// حيران شده در پنج و چهار و شش و هفت
می نوش ندانی ز کجا آمده‌اي /////// خوش باش ندانی بکجا خواهی رفت
۱۹-مرداد-۱۳۸۶, ۲۳:۵۰:۰۴
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000, Ambassador, sinohe
kingArtur آفلاین
تازه وارد

ارسال‌ها: 22
موضوع‌ها: 9
تاریخ عضویت: تير ۱۳۸۶

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #3
 
با تشکر از شما.
من موج معمولی نمی خام.می خام یه موج بسازم که 20تا پالس 40کیلوهرتز داشته باشه بعد به مدت 10 میلی ثانیه صفر بشه و دوباره 20تا پالس 40کیلوهرتز و...
آیا با استفاده از روش شما می شه همچین کاری کرد؟چگونه؟

آیا روش شما فرکانس رو دقیق می ده؟مثلا اگر بخام فرکانس 40کیلو تولید کنم همون 40 کیلو می ده یا مثل روش خودم یه موج با فرکانس مثلا 35کیلو تولید می کنه؟
۲۰-مرداد-۱۳۸۶, ۱۲:۳۵:۴۸
ارسال‌ها
پاسخ
IMeysam آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 323
موضوع‌ها: 56
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 0
( 53 تشکر در 30 ارسال )
ارسال: #4
 
این روش یه روش معمول برای تولید فرکانس در avr هاست. چون وقفه نداره باعث اختلال در برنامه هم نمی شه.این اشکال در 8051 به وضوح دیده میشد، که وقتی می خواستیم یه فرکانس بسازیم کل برنامه به هم میریخت.
من قبلا تست کردم دقیق هست.
ولی اگه بخوای مثلا 20 تا پالس بدی بعد یه مدت تاخیر بندازی الان فقط یه راه به ذهنم میرسه اگه بخوای از روش من استفاده کنی که شاید جالب نباشه. اونم استفاده از تایمر2 به عنوان کانتر هست،که وقتی 20 تا پالس زد با مقدار دهی TCCR0=0 تایمر صفر متوقف میشه.بعد از مدت DELAY باز با مقدار دهی TCCR0=0X19 تایمر راه می افته البته قبلش TCNT0 رو صفر کن. خوبی این کار نداشتن وقفه است.
اگه میبینی تو روش خودت جواب نگرفتی دلیلش اینه که تا به reload یا همون دوباره بارگذاری tcnt یه زمانی صرف میشه که تو باید اونو هم در نظر بگیری،یعنی اون0x100-100 یه ذره زیاده میتونی با پروتئوس مقدار درست رو بدست بیاری. واگر نه روش وقفه ای که خودت به کار بردی هم دارای دقت هست .

اي آمده از عالم روحاني تفت /////// حيران شده در پنج و چهار و شش و هفت
می نوش ندانی ز کجا آمده‌اي /////// خوش باش ندانی بکجا خواهی رفت
۲۰-مرداد-۱۳۸۶, ۱۳:۳۲:۵۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000, sinohe
kingArtur آفلاین
تازه وارد

ارسال‌ها: 22
موضوع‌ها: 9
تاریخ عضویت: تير ۱۳۸۶

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #5
 
متشکرم.
۲۰-مرداد-۱۳۸۶, ۲۰:۱۰:۱۷
ارسال‌ها
پاسخ
mitra2640 آفلاین
تازه وارد

ارسال‌ها: 1
موضوع‌ها: 0
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #6
RE:
با سلام وتشکر از راهنمایی شما

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

میشه توضیح بدید چرا TCCR0 را این گونه مقدار دهی کردید؟
و کلا این روش به چه صورت کار میکنه و من اطلاعات بیشتر را از کجا میتونم بگیرم

باز هم از لطف شما متشکرم

البته اگر پاسخ را به e-mail من بفرستید بسیار ممنون میشم.

mitra2640@yahoo.com
۳۰-آذر-۱۳۸۸, ۰۰:۳۷:۰۰
ارسال‌ها
پاسخ
iman-63 آفلاین
کاربر فعال بخش الکترونیک
***

ارسال‌ها: 365
موضوع‌ها: 71
تاریخ عضویت: مرداد ۱۳۸۶

تشکرها : 62
( 332 تشکر در 148 ارسال )
ارسال: #7
RE: مشکل در تولید فرکانس 40K
نقل قول: میشه لطفا درباره ی مد ctc بیشتر توضیح بدهید.

مد ctc همون مد مقایسه هست. در این حالت ریجستر TCNT0 به طور دائم با رجیستر OCR0 مقایسه میشه و اگه با هم تطابق داشت مقدار TCNT0 صفر میشه.

نقل قول: ایا تایمر صفر هم این مد را دارد؟
بله.
نقل قول: میشه توضیح بدید چرا TCCR0 را این گونه مقدار دهی کردید؟
این مقدار (TCCR0=0X19 ) تقریباً همون 10 میلی ثانیه تاخیره.

نقل قول: البته اگر پاسخ را به e-mail من بفرستید بسیار ممنون میشم.

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


تشکر لازم نیست.

تشکر لازم نیست !!!
۳۰-آذر-۱۳۸۸, ۱۲:۴۴:۳۸
ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000, Ambassador, sinohe


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [سوال] تفاوت کلاک و فرکانس babyy 3 2,150 ۱۸-خرداد-۱۳۹۷, ۲۲:۲۵:۴۴
آخرین ارسال: salehjg
  [فوری] ایجاد موج مربعی با دو کلید و نماش فرکانس در ال سی دی mamadr 0 2,041 ۰۹-تير-۱۳۹۶, ۱۶:۲۰:۲۹
آخرین ارسال: mamadr
  [سوال] تنظیم دقیق فرکانس داخلی میکرو xxabasxx 6 5,823 ۰۴-آذر-۱۳۹۵, ۰۲:۱۲:۱۳
آخرین ارسال: xxabasxx
  راهنمایی برای تولید پالس vistac2000 15 17,041 ۰۸-اردیبهشت-۱۳۹۵, ۰۰:۳۹:۴۶
آخرین ارسال: omid_phoenix
  سوال درباره نحوه تولید پالس مربعی sinohe 37 41,329 ۱۷-اسفند-۱۳۹۴, ۱۸:۳۶:۲۴
آخرین ارسال: sharin
  [سوال] اندازه گیری فرکانس پالس مربعی mohza 6 6,886 ۳۰-اردیبهشت-۱۳۹۴, ۲۱:۴۴:۵۶
آخرین ارسال: sharin
  مشکل با فرکانس 16 مگ میکرو pontiac132 3 3,237 ۰۳-اسفند-۱۳۹۳, ۱۳:۲۸:۲۸
آخرین ارسال: pontiac132
  [سوال] تولید موج مربعی 10% در مد fast pwm mmmjavad 1 2,175 ۳۰-آذر-۱۳۹۳, ۱۲:۴۶:۲۱
آخرین ارسال: patmatp
  کمک برای شرط گذاشتن برای یک فرکانس خاص sinohe 5 4,170 ۱۱-آذر-۱۳۹۳, ۰۰:۱۵:۱۸
آخرین ارسال: sinohe
  درخواست راهنمایی در خصوص تولید صفر و یک sinastar 0 1,492 ۲۹-مرداد-۱۳۹۳, ۲۱:۲۹:۰۲
آخرین ارسال: sinastar

پرش به انجمن:


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

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