PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : ایده ساخت یک فرکانس متر!



agape
10-01-2012, 21:51
خوب سلام به تمام دوستان !
کسی تا حالا فرکانس متر ساخته !
منم میخوام فرکانس متر بسازم ولی نه به این روش که بیام توی یک ثانیه تعداد پالس های رسیده رو شمارش کنم ! این روش خیلی کندی هست !
روشی که خودم به ذهنم رسیده استفاده از pll هست و یا بیام مدت زمان یک یا صفر بودن رو اندازه بگیرم و با محاسبه به دست بیارم موج چه فرکانسی داره ! نظر شما چیه ، ایده ای دارید برای این موضوع در ضمن ماکزیمم فرکانس ورودی 100 هرتز هست:hi: البته میخوام فرکانس متر دقیق باشه

morteza_rk
10-01-2012, 22:24
سلام دادا

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

البته اگه دیوتی سایکل پالست 50 درصد باشه می تونی فقط زمان یک بودن یا صفر بودن رو حساب کنی و بعد در 2 ضرب کنی.

اگه آدم مطمئن باشه فرکانس پایداری قراره اندازه گیری بشه میشه از روش شمارش تعداد پالس ها هم استفاده کرد. منتهی بجای اینکه بیای توی یک ثانیه تعداد پالس هارو بشماری مثلا توی 100 میلی ثانیه می شماری و بعد در 10 ضرب می کنی. البته دقت روشی که اول گفتم بهتره.

sadmonew
10-01-2012, 22:26
با سلام
بله ايده جالبيه.
من تو يه سايتي ديده بودم كه از (PLL (LMX2322 به عنوان يه قطعه براي محاسبه فركانس در حد 2.5GHz استفاده كرده بودن. فايل PDF اين فركانس متر رو ميذارم. البته سايتش رو هم ميذارم.
ديگه نميدنم منظورتون شبيه يه همچين چيزيه يا نه؟

agape
10-01-2012, 23:02
دایی جان متشکر از کمکتون و اما حالا
مشخصات دوایس من


Typically 50% duty cycle pulse (equal on/off state). Largest difference 46% on / 54% off state.
100 Hz max possible output to collection device.

خوب فکر میکنم با این فرکانس مدت زمانی که لازم باشه PLL بهش برسه طولانی تر از چند سیکل کامل این شکل موج باشه ، و با توجه به این که اداعا شده که شکل موج خروجی دیوتی سایکل 50 درصد داره اندازه گیری مدت زمان یک یا صفر بودن اون فکر می کنم کافی باشه ، و دقت خوبی فرکانس رو در اختیار بذاره و حالا سوال دوم چطوری مدت زمان صفر یا یک بودن رو تشخیص بدم ؟
روشی که دارم بهش فکر میکنم :
1- پایه رو یه اینتراپت وصل کنم و با لبه بالارونده بیام رو روال وقفه تایمر رو فعال کنم و با یه بار رخداد دیگه اینراپت بیام مقدار رو بخونم که در واقع میشه مقدار یه پریود کامل موج و فرکانس رو به دست بیارم !
2-پالس ورودی تایمر رو از خارج تامین کنم ، یه AND بزارم و یه ورودی AND رو به مثلا فرکانس 1 مگا وصل کنم پایه دیگه رو به ورودی پالس بدم ، و هم زمان ورودی پالس رو به اینتراپت وصل کنم و تو وقفه با لبه پایین رونده مقدار تایمر رو بخونم و تایمر رو صفر کنم که مقدار خونده شده میشه نصف پریود موج!
نظر شما چی هست ؟

mzarkoob
10-01-2012, 23:24
برای اینکه فرکانس متر دقیق داشته باشی بهترین روش همینه که مدت زمان صفر بودن و یک بودن رو حساب کنی. این کار شدنیه و خوب هم جواب میده. مخصوصا که فرکانس ورودیت پائینه. من قبلا ساختم ، خیلی خوب کار می کنه دادا.
با سلام
ما تو آز میکرو کارشناسیمون یادمه این دو روش(شمردن تعداد در یک ثانیه و محاسبه زمان یک پریود) را پیاده سازی کردم و سه سوت آزمایشگاه اجرا کردم و جواب گرفتم. البته اون موقع 8051 بود.


روشی که دارم بهش فکر میکنم :
1- پایه رو یه اینتراپت وصل کنم و با لبه بالارونده بیام رو روال وقفه تایمر رو فعال کنم و با یه بار رخداد دیگه اینراپت بیام مقدار رو بخونم که در واقع میشه مقدار یه پریود کامل موج و فرکانس رو به دست بیارم !
نظر شما چی هست ؟

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

حالا سوال دوم چطوری مدت زمان صفر یا یک بودن رو تشخیص بدم ؟

این میشه محاسبه دیوتی سایکل که فکر کنم با تنظیم رجیستر extmode می توان نوع حساسیت را انتخاب کرد.

morteza_rk
11-01-2012, 00:17
دادا به نظر من همون روش اول اول بهتره. منم با همین روش جواب گرفتم. دقتش هم خیلی خوبه. :wink:

zavar
11-01-2012, 00:43
با سلام البته فکر کنم اگه از capture استفاده کنید دقت بهتر میشه

mohammad787
31-01-2012, 16:51
سلام
راستش من این پست رو تازه دیدم ولی اگه بازم کسی کمکی در این مورد بخواد میتونم کمکش کنم
من این پروژه رو ساختم با دقت 01. هرتز .

gangi
31-01-2012, 19:45
دایی جان متشکر از کمکتون و اما حالا
مشخصات دوایس من


Typically 50% duty cycle pulse (equal on/off state). Largest difference 46% on / 54% off state.
100 Hz max possible output to collection device.

خوب فکر میکنم با این فرکانس مدت زمانی که لازم باشه PLL بهش برسه طولانی تر از چند سیکل کامل این شکل موج باشه ، و با توجه به این که اداعا شده که شکل موج خروجی دیوتی سایکل 50 درصد داره اندازه گیری مدت زمان یک یا صفر بودن اون فکر می کنم کافی باشه ، و دقت خوبی فرکانس رو در اختیار بذاره و حالا سوال دوم چطوری مدت زمان صفر یا یک بودن رو تشخیص بدم ؟
روشی که دارم بهش فکر میکنم :
1- پایه رو یه اینتراپت وصل کنم و با لبه بالارونده بیام رو روال وقفه تایمر رو فعال کنم و با یه بار رخداد دیگه اینراپت بیام مقدار رو بخونم که در واقع میشه مقدار یه پریود کامل موج و فرکانس رو به دست بیارم !
2-پالس ورودی تایمر رو از خارج تامین کنم ، یه AND بزارم و یه ورودی AND رو به مثلا فرکانس 1 مگا وصل کنم پایه دیگه رو به ورودی پالس بدم ، و هم زمان ورودی پالس رو به اینتراپت وصل کنم و تو وقفه با لبه پایین رونده مقدار تایمر رو بخونم و تایمر رو صفر کنم که مقدار خونده شده میشه نصف پریود موج!
نظر شما چی هست ؟

با سلام

در دوران باستان، 8052، با استفاده از تایمر 2 و خاصیت capture از لبه پالس، زمانهای در رده 10 میلی ثانیه را با دقت 1 سیکل اندازه می گرفتیم.( مثلا 0.2 میکرو ثانیه در فرکانس 60 مگاهرتز برای 89C51RD2 اتمل)
بعدها با atmeg128 هم که با هر دو لبه بالا و پایین رونده ، capture می نمود، این کار راحتتر شد.

با nxp_lpc و at91sam نیز این کار مهیاست،

تایمر/کانترهای دارای حالت capture از پین بیرونی، بهترین گزینه برای اندازه گیری عرض پالس هستند.(هم سیکل مثبت و هم سیکل منفی )

یک اینتراپت به کپچر ( هر دو لبه ) تخصیص دهید و حالت پین را کاندیشن کنید...
و اطمینان خواهید داشت که اگر به اینتراپت ، دیر رسیدگی نمودید، زمان به درستی کپچر شده و خطا ندارید.

با سپاس

Aghaeifar
31-01-2012, 21:48
ولی به نظرم این روش ها دقت خوبی ندارن و یه هر کدوم یه جور در اندازه گیر فرکانس محدودیت ایجاد می کنن

morteza_rk
31-01-2012, 22:37
ولی به نظرم این روش ها دقت خوبی ندارن و یه هر کدوم یه جور در اندازه گیر فرکانس محدودیت ایجاد می کنن

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

حالا غیر از این روشها دیگه چی به نظر خودت می رسه دادا؟

microprocesor_2002
25-01-2013, 12:10
سلام دوست عزیز جناب mohammad787 .... من می خوانم فرکانس 4 تا سیگنال موج مربعی رو اندازه بگیرم ... از بورد lpc1768 استفاده می کنم ... نمیدونم از تایمر ها چطوری استفاده کنم ... ممنون میشم اگه راهنمایی کنی .... البته از دوستان دیگه هم اگر کسی می تونه راهنماییم کنه ممنون می شم ....

mzarkoob
25-01-2013, 19:23
از بورد lpc1768 استفاده می کنم ... نمیدونم از تایمر ها چطوری استفاده کنم ...
سلام
منظور نحوه راه اندازی تایمر ها هست یا نحوه استفاده تایمر ها برای این کار؟

microprocesor_2002
25-01-2013, 19:50
سلام . می خوام فرکانس 4 تا سیگنال رو اندازه بگیرم . ولی نمی دونم به تایمر ها چه مقداری بدم . مثلا از یه تایمر به عنوان زمان 1 ثانیه استفاده کنم و سیگنال رو هر 1 ثانیه از رجیستر tc سه تا تایمر دیگه بخونم . محدوده فرکانسم کمه حدود 10 تا 500 هرتز ... ممنون میشم راهنماییم کنین .

mzarkoob
25-01-2013, 23:29
اگه می خواهید یک ثانیه را با تایمر ایجاد کنید فکر کنم محاسبات این جوری باشه که کلاک هسته 1768 صد مگ هست که 1/4 در حالت پیش فرض به تایمر اعمال میشه که بشه 25 مگا هرتز. یعنی بذارید رجیستر مقایسه را:

25000000 // 25 MHzمن یه تست زدم فکر کنم درست بود
فیلم را ببینید. هر بار تاگل میشه led