حتما سرعت شکل گیری موج شوک سریع تر از سرعت محاسبه میکرو هستش
میکرو ها معمولا سرعتشون بین 20 تا 40 فریم تو ساینه هست یعنی اگه موج شوک تو سریع تر از یک 20 تم سانیه باشه مثلمآ ثبت نمیشه و برای ثبت این چیزا باید ببنی برا damp کردن تو الکترونیک چی وجود داره
موجم مربعیه
مدرا فرکانس رو دقیق حساب میکنه ولی نمیدونم چرا تغییرات ناگهانی رو نمیتونه حس کنه
آقا شما یه کاری بکن!
کلا بیا بگو روش کارت چیه؟
یعنی برنامه رو بر چه اساسی نوشتی؟
منظورم اینه که بگو:
زمانی که پالس بالارونده میاد ابتدا یک وقفه فعال میشه
سپس یک شمارنده شروع به شمارش میکنه
بعدش فلان مقدار در فلان متغیر ذخیره میشه
الی آخر ...
1: اللهم صل علی محمد و آل محمد و عجل فرجهم و ...
2: دانش بهتره یا ثروت؟ بدون شعور هیچکدوم!
3: دلا معاش چنان کن که گر بلغزد پای *** فرشتهات به دو دست دعا نگه دارد (حافظ)
ببین من تو برنامم وقفه خارجی یک رو حساس به لبه بالارونده گذاشتم یعنی هر بار لبه بالا رونده بیاد قفه اش فعال شه
حالا تو این وقفه میاد تایمر یک رو با فرکانس 62.5 کیلوهرتز فعال میکنه
از دومین لبه باالا رونده میاد مقدار از رویه مقدار TCNT 1 فرکانس و مقدار ماکزیمم فرکانس رو حساب میکه
در هر لبه بالا رونده مقدار فرکانس رو با فرکانس قبلی مقایسه میکنه اگر بیش از 5 هرتز تغییر بود به شمارنده یه واحد اضافه کنه(تو برنامه که اول دادم مقدار بیشتر از 5 هرتز بود ولی حد استاندار 5 باید باشه)
اقا ممنون وقت میذاری
روال برنامه ای که نوشتی درست به نظر میرسه
حالا بیا یه کاری انجام بده
یک ال ای دی بر روی یکی از پایه ها بذار
هر بار که شوک رو تشخیص دادی
وضعیت پایه مذکور رو toggle کن
ببین نتیجه چی میشه؟
- پ.ن: نقش اون شمارنده ای که اگه بیش از 5 هرتز اختلاف بود
یکی اضافه میشه رو، نفهمیدم
1: اللهم صل علی محمد و آل محمد و عجل فرجهم و ...
2: دانش بهتره یا ثروت؟ بدون شعور هیچکدوم!
3: دلا معاش چنان کن که گر بلغزد پای *** فرشتهات به دو دست دعا نگه دارد (حافظ)
اقا یه سوال من تو برنامم میخاستم پهنای پالس و دامنه رو هم حساب کنه حالا که این قسمتا یعنی محاسبه دامنه و پهنای پالس رو هم به برنامه اضافه کردم ولی الان به خاطر زمان اجرای خطوط برنامه یه سری تاخیر تو برنامه به وجود اومده مثلا فرکانس رو به جایه 100 هرتز 103 هرتز میده و یعنی دقت برنامم کم شد
چیکار باید بکنم؟ :cry:
میاد تو زمان مشخص اختلاف بین دو پالس متوالی رو حساب میکنه بعد اگه جایی اختلاف دو پالس بیشتر بود یعنی شوک بوده
موجم یه موج FM هستش که طی دوثانیه فرکانسش کم میشه بعد طی دوثانیه به حالت اول برمیگرده
من فرکانس اصلی دستگاه رو رو 100 هرتز تنظیم کردم
اقا یه سوال من تو برنامم میخاستم پهنای پالس و دامنه رو هم حساب کنه حالا که این قسمتا یعنی محاسبه دامنه و پهنای پالس رو هم به برنامه اضافه کردم ولی الان به خاطر زمان اجرای خطوط برنامه یه سری تاخیر تو برنامه به وجود اومده مثلا فرکانس رو به جایه 100 هرتز 103 هرتز میده و یعنی دقت برنامم کم شد
چیکار باید بکنم؟ :cry:
1: اگه هدف شما سیگنال FM هست
دلیلی برای محاسبه ولتاژ وجود داره؟
2: پهنای پالس هم آیا مرتبط با FM میشه؟
مگر اینکه این دو پارامتر رو برای کارای دیگه بخوای.
3: بله. بخاطر اضافه کردن این چند خط برنامه
چون احتمالا همه محاسبات در زیر برنامه وقفه رخ میده
سبب ایجاد خطا میشه بدلیل افزایش محاسبات
مخصوصا اگه متغیرها از نوع float باشن
100 هرتز میشه 10 میلی ثانیه
103 هرتز میشه 9.7 میلی ثانیه
یعنی اختلاف 0.3 میلی ثانیه
یعنی با فرکانس 16 مگ میشه 4800 تا کلاک!
که عدد بزرگی به نظر میرسه!
:eek:
1: اللهم صل علی محمد و آل محمد و عجل فرجهم و ...
2: دانش بهتره یا ثروت؟ بدون شعور هیچکدوم!
3: دلا معاش چنان کن که گر بلغزد پای *** فرشتهات به دو دست دعا نگه دارد (حافظ)
دیدگاه