امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 2
  • 1
  • 2
  • 3
  • 4
  • 5
نمونه برداری و محاسبه میانگین دما در ساعت با کریستال ساعت
نویسنده پیام
mehran032 آفلاین
كاربر تک ستاره
*

ارسال‌ها: 39
موضوع‌ها: 14
تاریخ عضویت: خرداد ۱۳۸۸

تشکرها : 19
( 21 تشکر در 10 ارسال )
ارسال: #1
نمونه برداری و محاسبه میانگین دما در ساعت با کریستال ساعت
سلام دوستان.
من یک دماسنج نوشتم که میخوام در هر دقیقه از دما نمونه بگیرم و این نمونه ها رو در یک ساعت میانگین بگیرم تا میانگین دمای اتاق در یک ساعت مشخص بشه . بعد میخوام این میانگین ها رو فقط با هم جمع کنم تا مدت یک ماه یا 30 روز. من در این برنامه از کریستال ساعت استفاده کردم ولی مشکلم اینجاست که نمیدونم چه طور نمونه برداری کنم و میانگین بگیرم.
ممنون میشم کمکم کنید.

اینم لینک فایل شبیه سازی و برنامه به زبان بیسیک:
http://www.uploadtak.com/images/k4946_ne...ardari.rar
(آخرین ویرایش در این ارسال: ۱۵-خرداد-۱۳۹۲, ۲۰:۴۹:۵۹، توسط babyy.)
۱۵-خرداد-۱۳۹۲, ۲۰:۳۵:۳۹
ارسال‌ها
پاسخ
تشکر شده توسط : orange signal
omid_phoenix آفلاین
مدیر بخش
*****

ارسال‌ها: 2,238
موضوع‌ها: 108
تاریخ عضویت: شهریور ۱۳۹۱

تشکرها : 12682
( 15433 تشکر در 4574 ارسال )
ارسال: #2
RE: نمونه برداری و محاسبه میانگین دما در ساعت با کریستال ساعت
سلام
مهندس من برنامه شما رو نگاه نکردم ولی یه توضیح میدم شاید کمکتون کرده باشم؛

برای نمونه برداری در هر دقیقه باید یه تایمر تعریف کنید و ظرف یک دقیقه مقادیر خونده شده توسط adc رو داخل یک متغیر مثلا a بریزید
بعد در دقایق بعدی هم هربار مقادیر خونده شده رو داخل یه متغیر دیگه مثل b بریزید و با متغیر قبلی که اینجا a است جمع کنید و بعد متغیر b رو ریست کنید و مقادیر دیگه رو بخونید و این عمل رو و همینطور تا یک ساعت تکرار کنید
بعد یک ساعت که کامل شد مقدار متغیر a رو تقسیم بر 60 تا دقیقه کنید تا میانگین یک دقیقه بدست بیاد.

نمیدونم تونستم منظور و برسونم یا نه
درکل مشکلی بود درخواست کنید تا بیشتر توضیح بدم.

۱۶-خرداد-۱۳۹۲, ۰۱:۰۰:۴۹
ارسال‌ها
پاسخ
تشکر شده توسط : hadikh73, babyy, aKaReZa75, mehran032, Ambassador, orange signal
mehran032 آفلاین
كاربر تک ستاره
*

ارسال‌ها: 39
موضوع‌ها: 14
تاریخ عضویت: خرداد ۱۳۸۸

تشکرها : 19
( 21 تشکر در 10 ارسال )
ارسال: #3
RE: نمونه برداری و محاسبه میانگین دما در ساعت با کریستال ساعت
اگه توضیحاتی رو که فرمودین به صورت کد برام بنویسین خیلی ازتون ممنون میشم.
با تشکر
۱۶-خرداد-۱۳۹۲, ۱۳:۲۱:۱۱
ارسال‌ها
پاسخ
تشکر شده توسط : orange signal
omid_phoenix آفلاین
مدیر بخش
*****

ارسال‌ها: 2,238
موضوع‌ها: 108
تاریخ عضویت: شهریور ۱۳۹۱

تشکرها : 12682
( 15433 تشکر در 4574 ارسال )
ارسال: #4
RE: نمونه برداری و محاسبه میانگین دما در ساعت با کریستال ساعت
مهندس لاقل قبل درخواست یه سرچی بزنید تا بیس کار دستتون بیاد
اینطوری نمیشه کدها رو خط به خط واستون بنویسم
قبلش درمورد طریقه ایجاد زمان دقیق با تایمر2 و خوندن مقادیر adc و ریختن مقادیر در متغیر و ایجاد شرطهای مختلف سرچ بزنید تا هم باعث تسریع یادگیری خودتون بشه و هم بهتر بشه مباحث و انتقال داد

خوش باشید.

۱۶-خرداد-۱۳۹۲, ۱۷:۳۵:۰۰
ارسال‌ها
پاسخ
تشکر شده توسط : aKaReZa75, babyy, behzady, Ambassador, orange signal
mehran032 آفلاین
كاربر تک ستاره
*

ارسال‌ها: 39
موضوع‌ها: 14
تاریخ عضویت: خرداد ۱۳۸۸

تشکرها : 19
( 21 تشکر در 10 ارسال )
ارسال: #5
RE: نمونه برداری و محاسبه میانگین دما در ساعت با کریستال ساعت
دوست عزیز ممنون. من نمی خوام از تایمر استفاده کنم و میخوام از کریستال ساعت استفاده کنم.
یکی از دوستان لطف کردن این کدها رو واسم فرستادن.

Dim X(60) As Byte
Dim Y As Byte
Dim Z As Byte
Dim Avrg As Byte
Dim Temp As Byte
Y = 0 : Avrg = 0
Do
If _sec = 59 Then : Incr Y : X(y) = Temp : End If
If Y = 60 Then : Y = 0 : For Z = 0 To 60
Avrg = Avrg + X(y)
Incr Y
If Y = 60 Then Avrg = Avrg / 60
Next
End If
Loop
End

البته دارم کاملش میکنم.
۱۷-خرداد-۱۳۹۲, ۱۷:۰۸:۵۶
ارسال‌ها
پاسخ
تشکر شده توسط : orange signal
behzady آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 1,169
موضوع‌ها: 57
تاریخ عضویت: آبان ۱۳۹۰

تشکرها : 4094
( 6339 تشکر در 2085 ارسال )
ارسال: #6
RE: نمونه برداری و محاسبه میانگین دما در ساعت با کریستال ساعت
(۱۷-خرداد-۱۳۹۲, ۱۷:۰۸:۵۶)mehran032 نوشته است: دوست عزیز ممنون. من نمی خوام از تایمر استفاده کنم و میخوام از کریستال ساعت استفاده کنم.
یکی از دوستان لطف کردن این کدها رو واسم فرستادن.

Dim X(60) As Byte
Dim Y As Byte
Dim Z As Byte
Dim Avrg As Byte
Dim Temp As Byte
Y = 0 : Avrg = 0
Do
If _sec = 59 Then : Incr Y : X(y) = Temp : End If
If Y = 60 Then : Y = 0 : For Z = 0 To 60
Avrg = Avrg + X(y)
Incr Y
If Y = 60 Then Avrg = Avrg / 60
Next
End If
Loop
End

البته دارم کاملش میکنم.
تا جایی که من می دونم کریستال ساعت رو هم به تایمر وصل میکنن وگرنه که کاریش نمی شه کردAmazeAmaze
اینی هم که می بینید توابع خود بیسکام هست که بازم از تایمر استفاده می کنه ولی شما نمی بینیدBiggrin

به همه عشق بورز، به معدودی اعتماد کن و در حق کسی بدی نکن.
ویلیام شکسپیر

نباید ایمان به انسانیت را از دست دهید. انسانیت یک اقیانوس است؛ اگر قطرات اندکی از اقیانوس کثیف است، اقیانوس کثیف نمی‌شود.
مهاتما گاندی

يَا أَيُّهَا الَّذِينَ آمَنُواْ اسْتَعِينُواْ بِالصَّبْرِ وَالصَّلاَةِ إِنَّ اللّهَ مَعَ الصَّابِرِينَ
(آخرین ویرایش در این ارسال: ۱۷-خرداد-۱۳۹۲, ۲۰:۱۷:۳۶، توسط behzady.)
۱۷-خرداد-۱۳۹۲, ۲۰:۱۶:۵۴
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Ambassador, omid_phoenix, babyy
omid_phoenix آفلاین
مدیر بخش
*****

ارسال‌ها: 2,238
موضوع‌ها: 108
تاریخ عضویت: شهریور ۱۳۹۱

تشکرها : 12682
( 15433 تشکر در 4574 ارسال )
ارسال: #7
RE: نمونه برداری و محاسبه میانگین دما در ساعت با کریستال ساعت
سلام
مهندس شما برای اینکه یک زمان تولید کنید مسلما باید از فرکانس کار میکرو و یه سری تقسیمات استفاده کنید که اینکار توسط قابلیت تایمر میکرو انجام میگیره که با این دستور؛
کد php:
Config Timer2 Timer Async On Prescale 128
Enable Timer2 
Start Timer2 
میتونید تایمر2 رو پیکر بندی کنید
در این دستور توسط Async = On فرکانس کار میکرو رو بصورت خروجی توسط کریستال ساعت و روی پایه های OSC1 و OSC2 تعیین می کنیم که درغیراینصورت تایمر از خود فرکانس میکرو کلاک خود رو تامین خواهد کرد
ولی علت استفاده از کریستال ساعت بصورت خروجی چی میتونه باشه؟
خب مسلما برای ایجاد زمان 1ثانیه دقیق نیاز به یک تقسیم فرکانسی دقیق داریم که فرکانس 1-4-8-16 مگاهرتز خود میکرو جوابگو نخواهد بود و برای رفع این مشکل میاییم از یه سری کریستال ساعت به نمونه شماره 11.059200 استفاده میکنیم تا تقسیمات دقیقی رو بتونیم بدست بیاریم.

در مورد برنامه کامل و خوندن اطلاعات هم نمیدونم تا چه محدوده ای اطلاعات دارید و نمیدونم با ADC و پرتکل ها مختلف کار کردید یا نه
ولی بصورت کلی شما باید توسط ADC میکرو تغییرات دمای سنسور رو بصورت ولتاژ در ورودی دریافت کنید و تایمر2 رو بصورت یک متغیر فرضا A تعریف کنید و تایمر2 رو فعال کنید و به محض اینکه تایمر2 به یک مقدار مشخصی رسید طی یک زیربرنامه مقدار ADC رو بخونید داخل یه متغیر مثل B بریزید و برگردید به ادامه برنامه و مابقی کار...

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


خوش باشید.

۱۷-خرداد-۱۳۹۲, ۲۲:۲۳:۲۹
ارسال‌ها
پاسخ
تشکر شده توسط : orange signal, Ambassador, babyy, behzady


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  درخواست کمک برای ساعت با فونت بزرگ sobhan6831 4 2,400 ۲۴-فروردین-۱۳۹۷, ۲۰:۱۹:۱۲
آخرین ارسال: sobhan6831
  دانلود رایگان سورس ساعت حرم امام رضا (ع) ورژن 2 sina6479 3 5,371 ۲۶-اسفند-۱۳۹۶, ۲۲:۱۹:۴۴
آخرین ارسال: sajjad85
Question کریستال و پروتئوس و یک دنیا مصیبت hmosakazemi 7 12,496 ۳۰-خرداد-۱۳۹۶, ۲۱:۲۹:۱۵
آخرین ارسال: 1نفر
  ساخت تابلو روان و ساعت هوایی گردون یا همون Propeller Clock با موتور فن !!! t3r!p3000 85 91,068 ۲۲-شهریور-۱۳۹۵, ۲۱:۴۴:۳۸
آخرین ارسال: taherehselseleh
  درخواست مدار محاسبه سرعت با سنسور مادون قرمز maxell2500 8 6,690 ۲۸-اردیبهشت-۱۳۹۵, ۰۰:۱۰:۴۱
آخرین ارسال: maxell2500
  سوال در مورد ساخت ساعت با ال سي دي navayi 5 4,744 ۱۲-اسفند-۱۳۹۴, ۱۲:۱۷:۱۰
آخرین ارسال: 1نفر
  [سوال] روش میانگین گیری hosseinip 1 2,459 ۱۷-آذر-۱۳۹۴, ۱۱:۲۳:۲۴
آخرین ارسال: sharin
  کریستال خارجی+کریستال ساعت در atmega8 cortex-m3 1 2,967 ۰۳-مرداد-۱۳۹۴, ۲۰:۱۳:۰۳
آخرین ارسال: sharin
  ساعت گردان Mani27 0 1,998 ۲۱-اردیبهشت-۱۳۹۴, ۱۳:۳۹:۰۴
آخرین ارسال: Mani27
  اتصال کریستال خارجی به میکرو HOPE_GROUP 32 18,936 ۱۹-اسفند-۱۳۹۳, ۰۵:۵۷:۴۸
آخرین ارسال: طار

پرش به انجمن:


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

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