PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : سنسور رطوبت و دما sht11



raminrayat
22-06-2013, 20:36
سلام به دوستان عزیز
میخوام یه سیستم تنظیم رطوبت و دما با سنسور sht11 بسازم واسه پرورش قارچ
یه سوال :ایا دقت اندازه گیری دمای این سنسور به پای سنسور smt160 میرسه؟

خب اما مشکل اصلی:
من برنامه ی راه اندازی این سنسور رطوبت و دماسنج رو از این سایت گرفتم
AN #116 - Reading the SHT11 Humidity sensor - MCS Electronics (You can see links before reply)

اما وقتی با بسکام کامپایلش میکنم دوتا ارور میده که من تا حالا این ارور رو ندیدم
تو برنامه ی پایین خط 8و9 با رنگ قرمز مشخصشون کردم
(out of sram space)
دوستان لطفا راهنمایی کنین مشکل از کجاست؟اگه برنامه ی دیگه ای دارین که بهم کمک میکنه ممنون میشم برام بزارید (برنامه به زبان بیسیک باشه ممنون)

Dim Ctr As Byte
Dim Dataword As Word
Dim Command As Byte
Dim Dis As String * 20

Dim Calc As Single
Dim Calc2 As Single
Dim Rhlinear As Single
Dim Rhlintemp As Single
Dim Tempc As Single
Dim Tempf As Single

Const C1 = -4
Const C2 = 0.0405
Const C3 = -0.0000028
Const T1c = .01
Const T2 = .00008
Const T1f = .018

Sck Alias Portb.0
Dataout Alias Portb.1
Datain Alias Pinb.1
Redled Alias Portb.2

Declare Sub Getit()

Ddrb = &B11111111 'all port b are output
Config Pinb.0 = Output 'sck
Config Pinb.1 = Output 'datain

'reset the serial communications first, it is easily confused!
Set Dataout
For Ctr = 1 To 12
Set Sck
Waitus 2
Reset Sck
Waitus 2
Next Ctr


Do 'continually read the tempfature and humidity

Command = &B00000011
Call Getit 'Get the temperature, puts result in "dataword" for us
'
Tempf = T1f * Dataword
Tempf = Tempf - 40

Tempc = T1c * Dataword 'get celcius for later calculations and for "the rest of the world"
Tempc = Tempc - 40

Dis = Fusing(tempf , "###.##")
Print "Temperature = " ; Dis ; " (F)"

Command = &B00000101
Call Getit 'get the humidity
Calc = C2 * Dataword
Calc2 = Dataword * Dataword 'that "2" in the datasheet sure looked like a footnote for a couple days, nope it means "squared"!
Calc2 = C3 * Calc2
Calc = Calc + C1
Rhlinear = Calc + Calc2

'Dis = Fusing(rhlinear , "##.##")
'Print "Humidity adjusted for linear = " ; Dis


Calc = T2 * Dataword
Calc = Calc + T1c
Calc2 = Tempc - 25
Calc = Calc2 * Calc
Rhlintemp = Calc + Rhlinear

Dis = Fusing(rhlintemp , "##.##")
Print "Humidity adjusted for temperature = " ; Dis
Print

Wait 1
Loop


Sub Getit()

Local Datavalue As Word
Local Databyte As Byte

'start with "transmission start"
Set Sck
Reset Dataout
Reset Sck
Set Sck
Set Dataout
Reset Sck


'now send the command
Shiftout Dataout , Sck , Command , 1

Ddrb = &B11111101 'datain is now input
Config Pinb.1 = Input 'datain
Set Sck 'click one more off
Reset Sck
Waitus 10 'no idea why, but it doesn't work without it!
Bitwait Pinb.1 , Reset 'wait for the chip to have data ready

Shiftin Datain , Sck , Databyte , 1 'get the MSB
Datavalue = Databyte

Ddrb = &B11111111
Config Pinb.1 = Output

Reset Dataout 'this is the tricky part- Lot's of hair pulling- have to tick the ack!
Set Sck
Reset Sck

Ddrb = &B11111101 'datain is now input
Config Pinb.1 = Input

Shiftin Datain , Sck , Databyte , 1 'get the LSB
Shift Datavalue , Left , 8
Datavalue = Datavalue Or Databyte
'don't tick the clock or ack since we don't need the CRC value, leave it hanging!
Dataword = Datavalue

Ddrb = &B11111111
Config Pinb.1 = Output

Reset Dataout
Set Sck
Reset Sck

Ddrb = &B11111101 'datain is now input
Config Pinb.1 = Input

Shiftin Datain , Sck , Databyte , 1 'not using the CRC value for now- can't figure it out! Anybody know how to impliment?
'Print "CRC value was - " ; Databyte

Ddrb = &B11111111
Config Pinb.1 = Output

Set Dataout
Set Sck
Reset Sck
End Sub

End

علیدلی
22-06-2013, 22:56
سلام
چرا شما میخاید از سنسور SHT11 استفاده کنید ؟؟

این سنسور الان (92/04 ) در بازار قیمتی بین 55تا65 داره که خیلی گرون هست .

اتفاقا من خودم طی سفارشی که گرفتم قرار بر این شد که دستگاهی برای کارخانه قارچی درست کنم که هم دماسنج داشته باشه و هم رطوبت سنج .در همین انجمن هم بحث های زیادی کردیم

You can see links before reply

در نهایت خودم به این نتیجه رسیدم که نسبت به قیمت و دقت سنسور DHT22 که نمونه مشابه SHT11 است استفاده کنم .قیمت این سنسور بین 20 تا 25 متغیر هست .
با اینکه خیلی از دوستان نظر منفی نسبت به این نوع سنسور داشتند ولی من مدارشو ساختم و گذاشتم داخل سالن پرورش قارچ برای تست که تا الان خداروشکر مشکلی نداشته ضمن اینکه من سنسور رو 15 متر از مدار فاصله دادم و میخام حدودا 15 تاشو بفروشم .

سوالی بود در خدمتیم

raminrayat
22-06-2013, 23:10
سلام
چرا شما میخاید از سنسور SHT11 استفاده کنید ؟؟

این سنسور الان (92/04 ) در بازار قیمتی بین 55تا65 داره که خیلی گرون هست .

اتفاقا من خودم طی سفارشی که گرفتم قرار بر این شد که دستگاهی برای کارخانه قارچی درست کنم که هم دماسنج داشته باشه و هم رطوبت سنج .در همین انجمن هم بحث های زیادی کردیم

You can see links before reply

در نهایت خودم به این نتیجه رسیدم که نسبت به قیمت و دقت سنسور DHT22 که نمونه مشابه SHT11 است استفاده کنم .قیمت این سنسور بین 20 تا 25 متغیر هست .
با اینکه خیلی از دوستان نظر منفی نسبت به این نوع سنسور داشتند ولی من مدارشو ساختم و گذاشتم داخل سالن پرورش قارچ برای تست که تا الان خداروشکر مشکلی نداشته ضمن اینکه من سنسور رو 15 متر از مدار فاصله دادم و میخام حدودا 15 تاشو بفروشم .

سوالی بود در خدمتیم
واسه من قیمت مهم نیست.چون فقط میخوام واسه خودم یکیشو درست کنم.قبلا دستگاه جوجه کشی درست کردم البته بدون سیستم تنظیم رطوبت..ایدفعه میخوام واسه پرورش قارچ رطوبت رو تنظیم کنم
همه میگن سنسور sht11 از سنسور dht22 بهتره
حتما از سنسور شما هم یه نمونه تهیه میکنم و هردوشونو تست میکنمو نتیجه رو اعلام میکنم
خب لطفا بگید برنامه هاشون باهم فرق دارن؟من فقط بیسیک بلدم.برنامه ی ارائه شده ی شما تو اون تاپیکو تست کردم ارور میده
درضمن بگید برنامه ی بالا که گذاشتم براتون چرا اون دو خط رو ارور میده؟

meysam.z
23-06-2013, 14:50
sht سنسور واقعا بی عیبی هست من باهاش کار کردم عین بلبل جواب میده فقط یه خورده کالیبره می خواد که دقیق کار کنه .... من با pic راه اندازی ش کردم .... برای یه مرغداری ... توی این 2 سال اخ نگفت
ارور برنامه هم مشخصه>> تعداد متغیر ها بیشتر از حجم sram میکرو هست پس میکرو رو عوض کن یا از متغیر محلی (local) استفاده کنید

morteza_rk
23-06-2013, 16:21
سلام


تعداد متغیر ها بیشتر از حجم sram میکرو هست پس میکرو رو عوض کن یا از متغیر محلی (local) استفاده کنید

کاملا صحیح هست. حافظه ی sram میکروی شما فضای کافی برای تعریف اون تعداد (حجم) متغیر رو نداره. یا باید از میکروئی استفاده کنید که حجم حافظه sram بیشتری داشته باشه. یا در برنامتون از زیر برنامه ها و توابع استفاده کنید و متغیرهاتونو اونجا بصورت local تعریف کنید.

raminrayat
23-06-2013, 17:06
سلام



کاملا صحیح هست. حافظه ی sram میکروی شما فضای کافی برای تعریف اون تعداد (حجم) متغیر رو نداره. یا باید از میکروئی استفاده کنید که حجم حافظه sram بیشتری داشته باشه. یا در برنامتون از زیر برنامه ها و توابع استفاده کنید و متغیرهاتونو اونجا بصورت local تعریف کنید.

کاملا حق با شما بود. ممنونم
یه سوال دارم که ربطی به سنسور رطوبت نداره در اصل مربوط به سنسور ژایروسکوپه سه محوریه
این سنسور هم مثل رطوبت از i2c استفاده میکنه
میخوام بدونم ایا واسه خوندن اطلاعات از این سنسور هم میشه از الگوی برنامه ی مربوط به سنسور رطوبت استفاده کرد یا نه؟
یه تاپیک جدید مربوط به ژایرو میزنم تا اینجا شلوغ نشه

علیدلی
24-06-2013, 10:59
واسه من قیمت مهم نیست.چون فقط میخوام واسه خودم یکیشو درست کنم.قبلا دستگاه جوجه کشی درست کردم البته بدون سیستم تنظیم رطوبت..ایدفعه میخوام واسه پرورش قارچ رطوبت رو تنظیم کنم
همه میگن سنسور sht11 از سنسور dht22 بهتره
حتما از سنسور شما هم یه نمونه تهیه میکنم و هردوشونو تست میکنمو نتیجه رو اعلام میکنم
خب لطفا بگید برنامه هاشون باهم فرق دارن؟من فقط بیسیک بلدم.برنامه ی ارائه شده ی شما تو اون تاپیکو تست کردم ارور میده
درضمن بگید برنامه ی بالا که گذاشتم براتون چرا اون دو خط رو ارور میده؟

سلام
برای من که میخاستم دستگاه رو تجاری کنم نیاز به یه سری فاکتورهای بود که DHT رو انتخاب کردم .

منم اولش نسبت به DHT شک داشتم و الان هم یه دونشو ساختم و گذاشتم برای تست تا ببینم چی پیش میاد

ولی الان که ساختم و گذاشتم داخل سالن قارچی میبینم که خیلی سنسور خوبی هم هست .البته تا الان .ضمن اینکه گذاشتم کنار یه دستگاه دیگه (دستگاه مرجع و کالیبره شده) که ببینم خطا داره یا نه .که در اینده معلوم میشه .

بله DHT22 از پروتکل 1waire استفاده میکنه ولی sht ها از پروتکل i2c

بخاطر همین برنامه و تمام مسائلش با همدیگه فرق میکنه .سوالی بود در خدمتم.

raminrayat
24-06-2013, 12:24
تشکر دوست من.هردوتا سنسور رو سفار ش د ادم امر وز غروب به دستم میرسه
اگه لطف کنی برنامه مربوط به سنسور dht22 رو به زبان بیسیک اینجا قرار بدی خیلی ممنونت میشم

علیدلی
27-06-2013, 13:13
تشکر دوست من.هردوتا سنسور رو سفار ش د ادم امر وز غروب به دستم میرسه
اگه لطف کنی برنامه مربوط به سنسور dht22 رو به زبان بیسیک اینجا قرار بدی خیلی ممنونت میشم

سلام
من سنسور dht22 رو گذاشتم برای تست و تا زمانیکه تو عمل جواب نده نمیشه در موردش قضاوت کرد تا چند روز دیگه صبر میکنم ببینم به مشکلی بر میخوره یا نه .اگه نخورد اونوقت میگم چیکار کنید ؟؟

علیدلی
28-06-2013, 21:44
سلام
من سنسور dht22 رو گذاشتم برای تست و تا زمانیکه تو عمل جواب نده نمیشه در موردش قضاوت کرد تا چند روز دیگه صبر میکنم ببینم به مشکلی بر میخوره یا نه .اگه نخورد اونوقت میگم چیکار کنید ؟؟
متاسفانه سنسور dht22 بعد از چند روز تست در عمل ،قسمت رطوبت سنجش به اشباع رفت و روی 99.9% قفل کرد و اصلا تغییر حالت پیدا نکرد ولی قسمت دماسنج مشکلی نداره .= محیطی که سنسور رو گذاشتم برای تست و باید همیشه در چنین شرایطی کار کنه رطوبتی بین 80تا 95 درصد رو داره که رطوبت بسیار بالای هست که متاسفانه این سنسور جواب نداد والبته دارم روش کار میکنم تا ببینم میشه یه کاری کرد که به اشباع نره ./

raminrayat
30-06-2013, 15:24
ممنون که اطلاع داد ین.من هردو سنسور رو تهیه کردم
با برنامه ی بالا که sht رو راه میندازم رطوبت اتاقمو 73 درصد نشون میده وو دما رو هم 27 البته وقتی ها میکنم رو سنسور مقادیر افزایش پیدا میکنه.پس درست کار میکنه اما
مشکل اینجاست که من یه دماسنج با سنسور smt160 دارم و دمارو همزمان تو یه نقطه میگیرم اما د مایی که سنسور رطوبت سنج نشون میده 1 درجه بیشتره
مسلما میزان رطوبتی هم ک نشون میده خیلی زیاد و اشتباهه چون درسته من تو شمال زندگی میکنم اما فک نکنم رطوبت اینجا اینقدر زیاد باشه
1)مسله اینجاست که واسه کالیبره کردن چه راهکاری وجود د اره؟
2)اصلا ایا برنامه مشکل داره و باید دست کاری بشه؟
3)ایا سنسور sht مثل سنسور smt160 خودش با فرمولی ک سازنده ی اون ارائه کرده نمیتونه دمای واقعی رو نشون بده ؟والبته رطوبت واقعی رو؟

raminrayat
02-07-2013, 01:00
لطفا راهنمایی کنید

dariush_ab
02-07-2013, 11:37
ممنون که اطلاع داد ین.من هردو سنسور رو تهیه کردم
با برنامه ی بالا که sht رو راه میندازم رطوبت اتاقمو 73 درصد نشون میده وو دما رو هم 27 البته وقتی ها میکنم رو سنسور مقادیر افزایش پیدا میکنه.پس درست کار میکنه اما
مشکل اینجاست که من یه دماسنج با سنسور smt160 دارم و دمارو همزمان تو یه نقطه میگیرم اما د مایی که سنسور رطوبت سنج نشون میده 1 درجه بیشتره
مسلما میزان رطوبتی هم ک نشون میده خیلی زیاد و اشتباهه چون درسته من تو شمال زندگی میکنم اما فک نکنم رطوبت اینجا اینقدر زیاد باشه
1)مسله اینجاست که واسه کالیبره کردن چه راهکاری وجود د اره؟
2)اصلا ایا برنامه مشکل داره و باید دست کاری بشه؟
3)ایا سنسور sht مثل سنسور smt160 خودش با فرمولی ک سازنده ی اون ارائه کرده نمیتونه دمای واقعی رو نشون بده ؟والبته رطوبت واقعی رو؟

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

raminrayat
04-07-2013, 00:57
هر دو سنسور sht و smt60 سنسورهای بسیار خوبی هستن.اگر مشکلی هست از برنامه هاست.
برای کالیبره هم میتونید به صورت نرم افزاری تو برنامتون اعمال کنید.

عذر می خوام متوجه ی منظورتون نشدم یعنی چی که(برای کالیبره هم میتونید به صورت نرم افزاری تو برنامتون اعمال کنید)؟