من در برنامه نویسی اندازه گیری مقدار دامنه وفرکانس موج اعمالی به adc میکرو مشکل دارم
کمکم کنید
من در برنامه نویسی اندازه گیری مقدار دامنه وفرکانس موج اعمالی به adc میکرو مشکل دارم
کمکم کنید
ویرایش توسط shahpoor71 : 21-01-2015 در ساعت 02:25
دوست عزیز سوالاتتو کاملتر بپرس
با چه میکرویی کار میکنی؟
حداکثر فرکانسی که میخای اندازه بگیری چقدره؟
حداکثر دامنه چطور؟
با چه زبانی و چه کامپایلری کار میکنی؟؟؟
برای فرکانس که میای یه زمان واحد واسه خودت میسازی (با تایمر&یا rtc) ،ورودی شکل موج رو به یه کانتر اعمال میکنی و بعدشم تو یه مدت زمان خاص میای با توجه به رابطه فرکانس و زمان و تعداد پالس،برنامه رو مینویسی و فرکانس رو اندازه میگیری...
موارد بالا رو که گفتم بگو تا بتونم راجع به کدهاش و نقشش بیشتر راهنماییت کنم
موفق باشید
چشم سعی میکنم تا اخر امروز دقیقا براتون بنویسم
مگا32 یا64
زبانc
کامپایلرکدویژن
من16 تا سیگنا انالوگ دارم که پس از ادرس دهی به خطوط ادرس مالتی پلکسر های انالوگ هر دفعه دو سیگنال انالوگ به ورودیadcاعمال میشه
که باید روی glcd نمایش داده ومقدار فرکانس ودامنه انها هم نشون داده بشه
پس ما در هر لحظه فرکانس های متغیر ودامنه های متغیری داریم
فرکانس ها حداکثر تا 100کیلو
ودامنه حداکثر50 ولت که قبلا توسط مداری بین 0تا5 اورده شده
الان چند مشکل هم وجود داره
اینکه در عمل بیشتر از2ودر شبیه ساز بیشتراز5کیلوهرتز شکل موج رو نشون نمیده
اگر راهنمایی کنی ممنون
شما الان تونستید یه سیگنال آنالوگ رو به تنهایی به ورودی مدار بدید و روی glcd نمایش بدید و مقادیر مورد نظر رو محاسبه کنید؟
من با c زیاد کار نکردم...کنکور ارشد هم دارم و زیاد نمیتونم رو موضوع کارتون تمرکز کنم و...
دو تا مقاله از افراد مختلف راجع به اندازه گیری دامنه و نمایش اون روی اسکوپ براتون میذارم دیگه تبدیل کد با خودتون...
ظاهرا موضوع جالبیه،ممنون میشم بقیه دوستان کمک کنند تا ما هم استفاده ببریم
..........................
جهت بالا امدن تاپیک
برای فرکانس از کانتر استفاده کن ... سیگنالتو به ورودی کانتر بده و تعدادشو توی یه زمان مشخص بشمار... بعدش تعداد رو تقسیم بر اون زمان کن میشه تعداد در یک ثانیه، این میشه فرکانست برحسب هرتز
مثلا یه سیگنال سینوسی توی ورودی داریم...
اون رو به پایه کانتر 1 اعمال میکنیم...کانتر رو روی مد بالا رونده انتخاب میکنیم ... یعنی با هر لبه بالا رونده یه شماره به محتوای کانتر اضافه میشه...کانتر 1 تا 65535 میتونه بشماره (16 بیت)
یک تایمر کانتر دیگه رو در مد تایمر تنظیم میکنیم و با اون یک ثانیه میسازیم (من این کار رو با تایمر 2 واحد rtc ش انجام دادم عالی جواب داد)حالا ما میایم با برنامه از وقفه این تایمر دوم که مخصوص زمانه استفاده میکنیم و به یه زیر برنامه میریم و اونجا اینکارو میکنیم
مقدار محتوای کانتر(تعداد پالس های شمرده شده) رو تقسیم بر مدت زمان میکنیم،مثلا یک یا دوثانیه(متناسب با وقفه ای که دادیم) ،این میشه فرکانس ما برحسب هرتز
اگه بسکام بلدی بگو برنامه کاملشو بذارم برات
کسی نیست به زبون c کمکم کنه
کسی نیست به زبون c کمکم کنه
نبود من کارم گیره
سلام
الگوریتم همونه که جناب azadmard گفتن دیگه توی سی و بیسکام فرقی نمیکنه.
مشکلتون تو نوشتن کدوم قسمتشه؟
Paya.mostafa@gmail.com
ویرایش توسط mstkmn : 19-02-2015 در ساعت 14:16
آدرس ایمیل اشتباه بود اصلاح کردم.
نگفتید مشکتون توی کدوم قسمته؟