مدير جان مشكلو تو كدوم تاپيك مطرح كنم؟
مدير جان مشكلو تو كدوم تاپيك مطرح كنم؟
سلام
امروز با يه نفر اشنا شدم كه همين مشكل را قبلا داشته.
ايشون هم يه ترموستات با همين سنسور ساخته بوده و همين مشكل را داشت.
گفت بايد به برنامه يه حلقه اضافه بشه كه هر 8 ثانيه دما را بخواند و دماي گرفته شده از كاربر را با دماي اين حلقه مقايسه كند. گفت بايد با دستور floor نوشت.
يه مسلمون پيدا ميشه اين حلقه را اضافه كنه؟؟
سورسشو بذار من واست اضافه کنم
مهندس منم همين فايلي كه در اول اين تاپيك هست را دارم.
جناب كوير زحمت نوشتن برنامه را كشيدن.
كوير جان امكانش هست سورس را به دوستمون بدين تا برنامه كامل بشه؟
پ.ن:
مشكل را در سايت همسايه مطرح كردم چند نفر از دوستان نظرات مختلفي دادن كه كپي ميكنم:
1- چند تاكار مي توني بكني. اول اينكه چند بار دما رو بگيري و ميانگين اونها رو حساب كني و نمايش بدي.
كار دوم هم اينه كه يك خازن 10 ميكرو و يك مقاومت مثلا 10 كيلو بين پايه ADC و زمين قرار بده. با اين كار تا حد خيلي خيلي زيادي ريپل يا پرش گرفته ميشه.
2- آقا من هم توی یک پروژه از روش میانگین گیری استفاده کردم.
به این صورت که هر یک ثانیه که توی برنامه من میکرو می خواست از دما نمونه گیری کنه , این دما را با 15 نمونه قبل جمع می کرد و میانگین می گرفت . از اون جایی که دما یک کمیت پیوسته است و در چند ثانیه نمی تونه چندین درجه اختلاف دما داشته باشه , می تونیم امیدوار باشیم که این روش خوبیه...
به این روش من دما را با دقت دهم درجه نمایش دادم. پرش هم نداشت. کاملا هم دقیق بود.
3- من یک روش خوب دیگه سراغ دارم.
اونم اینه که برای تغذیه ولتاژ پایه AVCC از یک 7805 استفاده کنید.
من امتحان کردم .جواب داد.
البته نباید فراموش کرد نرخ نمونه برداری ADC توی این قضیه خیلی مهم هستش.
4- سلام
اين يه ميانگين گيره كه هر 200 ميكرو ثانيه يه نمونه ميگيره و وقتي تعداد نمونه ها به 20 رسيد يه ميانگين از بين اين اعداد ميگيره و در متغير Final ذخيره ميكنه
کد:
...
Config Adc = Single , Prescaler = Auto
'Now give power to the chip
Start Adc
Dim W(21) As Word , Channel As Byte , M As Byte , Final As Single
Cls
Channel = 0
Do
For M = 1 To 20
'any other code
W(m) = Getadc(channel)
Waitus 200
Next m
For M = 1 To 20
Final = Final + W(m)
Next M
Final = Final / 20
Locate 1 , 1
Lcd Final
Loop
End
اينا نظرات دوستان بود. مهندس نظر شما چيه؟
كوير جان يكي از اساتيد دانشگاه هم قبول كردن كه مشكل برنامه را حل كنن.
ممكنه سورس برنامه را اينجا بزاريد؟
با سلام
می شه این ترموستات تو دمای پایین هم رله رو فعال کنه یعنی دو حالته باشه برای دما بالا ودمای پایین هم رله رو فعال کنه......................................
برنامه و مدارش رو میزارید....................
ممنون میشم