تبلیغات
پایگاه تخصصی روباتیک و الکترونیک - فرکانس متر دیجیتال با میکروکنترلر
 
درباره وبلاگ




مدیر وبلاگ : محمد علی
نویسندگان
نظرسنجی
به نظر شما وبلاگ چگونه است ؟








آمار وبلاگ
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :
پایگاه تخصصی روباتیک و الکترونیک
صفحه نخست             تماس با مدیر           پست الکترونیک               RSS                  ATOM
یکشنبه 4 بهمن 1388 :: نویسنده : محمد علی

سلام

 

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

همون طور که میدونید خیلی از سنسورهای مهم و پرکاربرد مثل سنسور رنگ (TSL230) یا سنسور گیرنده اولتراسونیک خروجی فرکانسی دارند . یعنی با تغیر فرکانس یا اندازه گیری فرکانس کار میکنند .

یکی از مشکلاتی که خیلی ها تو کار با این ابزار دارند اینه که چه جوری میشه فرکانس رو با میکرو کنترلر خوند ؟


_ این پروژه با میکروهای AVR و با کامپایلر  Codevision انجام شده .

این کار یعنی بدست آوردن فرکانس یه موج با میکرو توسط دوتا تایمر انجام میشه :

1 – ابتدا یه فاصله زمانی دقیق با تایمر صفر که 8 بیتیه ایجاد کنید . ( این کار به علت دقت مورد نیاز با delay امکان پذیر نیست .)

2 – در همین حال یه تایمر دیگه مثلا تایمر یک که 16 بیتیه تو نقش کانتر شروع به شمردن میکنه . یعنی هر بار که پایه T1 میکرو صفر یا یک شد کانتر یک بار بشمره .

حالا وقتی زمان تعیین شده توسط تایمر 0 به پایان رسید ، مقدار خونده شده توسط تایمر یک که بیانگر تعداد پالس های اعمال شده به پایه در واحد زمانه بدست میاد . معمولا برای راحتی کار واحد زمام رو یک ثانیه در نظر میگیرند .

_اگه مطالب بالا یا مطالب بعدی رو نفهمید قسمت تایمر کتاب های آموزش AVR رو بخونید تا بهتر متوجه عملکردش بشید . چون مطالب جزئی تر از حوصله بحث خارجه .

حالا میخواهیم تایمر 8بیتی 0 رو در نقش شمارنده فعال کنیم . اگر فرکانس این تایمر رو 125 KHz بذاریم بنابراین مدت زمان هر پالس یا شمارش میشه 8 میکرو ثانیه . یعنی تایمر از 0 تا 255 شمارش میکنه که هر هشت میکرو ثانیه به رجیستر تایمر یکی اضافه میشه . پس هر بار پر شدن تایمر(در حالت 125 KHz ) و به اصطلاح سر ریز اون 255*8  میکرو ثانیه طول میکشه . ما همون طور که تو برنامه نوشتم اگه یه کاری کنیم تایمر 250 بار بشمره یعنی 250 * 8 میکرو ثانیه طول بکشه ، با 500 بار پر شدن تایمر زمان دقیق یک ثانیه رو درست کردیم .  ( 8 * 250 * 500 * uS = یک ثانیه )

حالا در همین حال که زمان یک ثانیه شروع میشه ، کانتر تایمر 2 داره پالس های موج ورودی روی پایه T1 رو میشمره . مثلا فرض کنید بعد از تموم شدن یک ثانیه این کانتر 200بار شمرده بود . یعنی فرکانس ما 200هرتزه .

رجیستر های تایمر/کانتر که با هر پالس یا تحریک خارجی یکی اضافه میشن ، در قالب TCNTn نامگذای میشن ، مثلا کانتر یک میشه TCNT1 یا تایمر صفر میشه TCNT0

تنظیمات تایمر یک و دو رو تو عکس های زیر گذاشتم . فایل کدویژن برنامه رو هم میتونید از لینک زیر دانلود کنید . این برنامه تعداد پالسهای شمرده شده تو یک ثانیه رو رو LCD نشون میده که میتونید از قالب کلی برنامه برای نوشتن ایده بگیرید ...

لینک فایل برنامه


تنظیمات تایمر 0 در Codewizard :



تنظیمات تایمر 1 در حالت کانتر :



بازم مثل همیشه اگه به دردتون خورد فقط یه صلوات ....
موفق باشید .




نوع مطلب :
برچسب ها :
لینک های مرتبط :


شنبه 25 شهریور 1396 08:08 ق.ظ
Hello Dear, are you truly visiting this site on a regular basis, if so then you will absolutely
obtain fastidious know-how.
دوشنبه 30 مرداد 1396 02:37 ب.ظ
I need to to thank you for this good read!! I certainly enjoyed every little bit of it.

I have you bookmarked to check out new stuff you post…
جمعه 13 مرداد 1396 02:59 ب.ظ
My spouse and I absolutely love your blog and find many of your post's to be what precisely I'm looking for.
can you offer guest writers to write content for yourself?

I wouldn't mind writing a post or elaborating on some of the subjects you write about here.
Again, awesome blog!
شنبه 7 مرداد 1396 11:31 ق.ظ
Pretty! This has been an incredibly wonderful post.

Thank you for supplying these details.
دوشنبه 1 اسفند 1390 08:29 ب.ظ
آقا دمت گرم
یکشنبه 21 فروردین 1390 12:38 ق.ظ
الهم صل علی محمد و آل محمد
یکشنبه 21 فروردین 1390 12:38 ق.ظ
دستت درد نکنه
شنبه 4 دی 1389 11:42 ق.ظ
pas edamash kooo?
محمد علیمطالب تکمیلیش رو تو فروم توضیح دادن بچه ها . آدرس فروممون تو لینک ها هست . سمپاد سیتی
سه شنبه 23 شهریور 1389 12:18 ب.ظ
سلام.خسته نباشید.
من استفاده کردم. دستتون درد نکنه.
اگه یه قسمتی هم ایجاد کنین که رفع اشکال باشه خیلی خوبه
سه شنبه 21 اردیبهشت 1389 10:21 ب.ظ
خیلی ممنون
خدا خیرت بده خیلی باحالی
دمت گرم
پنجشنبه 29 بهمن 1388 09:16 ب.ظ
سلام خیلی ممنون
خیلی عالی بود.


شنبه 17 بهمن 1388 07:37 ب.ظ
سلام
به درد خورد
الهم صل علی محمد و آل محمد
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر


 
 
برچسب ها
پیوندها
آخرین مطالب