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

ارسال‌ها: 30
موضوع‌ها: 7
تاریخ عضویت: تير ۱۳۸۸

تشکرها : 11
( 12 تشکر در 11 ارسال )
ارسال: #1
lm35
با سلام
من مدار lm35 رو با mega32 بستم و با زبان بیسیک برنامشو نوشتم
یه نکته ای که هست اینه که الان رو lcd به من دمای 120 درجه رو نشون میده و تو دیتاشیتشو دیدم و بر حسب سانتیگراد هست
حالا سوال من اینه که دمای محیط 18 درجه هست چرا 120 نشون میده
باید 120 رو مثلا منهای 102 کنم تا 18 رونشون بده؟ (یعنی دستی کالیبرش کنم)
این روش درسته؟ یا اینکه باید از همون اول دقیق 18 رو نشون بده؟
میانگین هم گرفتم همین 120 رو داد تقریبا

در ضمن از Aref رو از ولتاژ داخلی گرفتم
۱۴-دى-۱۳۸۸, ۱۵:۳۴:۲۸
ارسال‌ها
پاسخ
mahdi20 آفلاین
کاربر با تجربه
****

ارسال‌ها: 518
موضوع‌ها: 35
تاریخ عضویت: آذر ۱۳۸۶

تشکرها : 5261
( 1763 تشکر در 452 ارسال )
ارسال: #2
RE: lm35
اگر ولتاژ رفرنس 5 ولت باشه و ای دی سی در مد 10 بیت باشه، هر عددی را که از ای دی سی دریافت می کنید را تقسیم بر 2 کنید.

البته یه مقدار خطای کوچولو داره که اونم با نصب یه مولتی ترن بر سر پایه VS از LM35 مشکل حل میشه.

با مولتی ترن کالیبره کنید.

[تصویر:  iran2.png]
۱۴-دى-۱۳۸۸, ۱۷:۵۲:۰۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : saeidjan
saeidjan آفلاین
كاربر دو ستاره
**

ارسال‌ها: 155
موضوع‌ها: 20
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 117
( 164 تشکر در 77 ارسال )
ارسال: #3
RE: lm35
'Config Adc = Single , Prescaler = 128 , Reference = Internal
Enable Adcc
If Ss = 1 Then
Start Adc
Temp = Getadc(0)
Shift Temp , Right , 2

Stop Adc
Ts = Str(temp)
Ts = Format(ts , " ")

Locate 1 , 7
Lcd Ts
End If
خوب چون من میخواستم هر یک دقیقه یکبار دمای روی ال سی دی رفرش بشه به این شکل استفاده کردم اما با دستور شیفت که دیدی ما دقت عدد رو به 8 بیت کاهش میدیم تا دما رو با دقت تا دمای صحیح نمایش داده بشه. بهر حال پیکربندی و دستکاری بیتهای بدست آمده امیدوارم به منظورت برسی.
خوب حالا پایه خروجی اون سنسورت رو به یکی از پایه های میکرو مه تو دیتاشیت نوشته ADC وصل کن و از اون یک مقاومت 10 کیلو به زمین وصل کن. کار تموم شد عزیز ازش لذت ببر

دانشمندان امروز دانش آموزان دیروز بودند.
به امید این که فردا دانشمند باشم.
۱۴-دى-۱۳۸۸, ۱۹:۰۲:۱۰
ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #4
RE: lm35
مهندس reeza برنامه و نقشتو بذار !

اینطوری نمی شه نظر داد !

برنامه saeidjan رو می شه ساده تر کرد !

کد php:
$regfile "m32def.dat" $crystal 8000000

Config Lcdpin 
Pin Db4 Pinc.3 Db5 Pinc.2 Db6 Pinc.1 Db7 Pinc.0 Pinc.4 Rs Pinc.5
Config Lcd 
16 Cursor Off Cls

Dim W 
As Word As Single

Config Adc 
Single Prescaler Auto Reference Internal

Do
    
Getadc(0) : 4
    Home L 
Lcd "Temp = " " C   "
Loop 
با دقت 0.25 درجه !
۱۵-دى-۱۳۸۸, ۰۱:۳۰:۴۲
ارسال‌ها
پاسخ
masoodhashemy آفلاین
تازه وارد

ارسال‌ها: 20
موضوع‌ها: 4
تاریخ عضویت: شهریور ۱۳۸۸

تشکرها : 4
( 25 تشکر در 12 ارسال )
ارسال: #5
RE: lm35
مدار رو هم میگذاری؟
۱۶-دى-۱۳۸۸, ۱۱:۳۴:۲۲
ارسال‌ها
پاسخ
mahdi20 آفلاین
کاربر با تجربه
****

ارسال‌ها: 518
موضوع‌ها: 35
تاریخ عضویت: آذر ۱۳۸۶

تشکرها : 5261
( 1763 تشکر در 452 ارسال )
ارسال: #6
RE: lm35
اینم مدار



.rar   lm35.rar (اندازه: 8.09 KB / تعداد دفعات دریافت: 121)

[تصویر:  iran2.png]
۱۶-دى-۱۳۸۸, ۱۲:۴۱:۲۵
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
reeza آفلاین
كاربر تک ستاره
*

ارسال‌ها: 30
موضوع‌ها: 7
تاریخ عضویت: تير ۱۳۸۸

تشکرها : 11
( 12 تشکر در 11 ارسال )
ارسال: #7
RE: lm35
خیلی ممنون دوستان

یعنی با مولتی ترن یا پتانسیومتر دستی مدار رو تنظیم کنم درسته؟

از نظر برنامه نویسی فکر نکنم مشکل داشته باشه من برنامه ای رو که نوشتم در زیر هست:

کد:
$regfile = "M32def.dat"
$crystal = 8000000


Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.1 , Rs = Portb.0
Config Lcd = 16 * 2

Config Adc = Single , Prescaler = Auto
Ddrd.7 = 1


Dim A As Word
Dim Sum As Integer
Dim I As Integer
Dim Temp As Double

Start Adc

Cls
Lcd "salam"
Wait 1

Portd.7 = 1

Do
For I = 0 To 24
Cls

A = Getadc(0)
Sum = Sum
Lcd I
Waitms 1
Next

Temp = Sum / 25
Temp=Temp/2
Cls
Lcd Temp

Wait 2

Loop
End

[تصویر:  1262960082.bmp]


وقتی رفرنس رو اینترنال در نظر میگیریم آیا بازم باشد vref رو به جایی وصل کرد؟
۱۷-دى-۱۳۸۸, ۱۹:۴۸:۲۳
ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #8
RE: lm35
مهندس برنامه ات یه چن جا ایراد داره !!!

دوباره نگاش کن !
نفهمیدی بگو بهت بگم !



نه نمی خواد جایی وصل بشه !


اینم یه تایپیک مزتبط : http://forum.iranled.com/showthread.php?tid=13539
۱۷-دى-۱۳۸۸, ۱۹:۵۶:۳۷
ارسال‌ها
پاسخ
تشکر شده توسط : mahdi20
reeza آفلاین
كاربر تک ستاره
*

ارسال‌ها: 30
موضوع‌ها: 7
تاریخ عضویت: تير ۱۳۸۸

تشکرها : 11
( 12 تشکر در 11 ارسال )
ارسال: #9
RE: lm35
(۱۷-دى-۱۳۸۸, ۱۹:۵۶:۳۷)t3r!p3000 نوشته است: مهندس برنامه ات یه چن جا ایراد داره !!!

دوباره نگاش کن !
نفهمیدی بگو بهت بگم !



نه نمی خواد جایی وصل بشه !


اینم یه تایپیک مزتبط : http://forum.iranled.com/showthread.php?tid=13539


دیدم این تاپیک رو
پس پایه vref رو به جایی وصل نکردم
طبق اوصاف من باید adc رو تقسیم بر 4 کنم چون از vref داخلی استفاده کردم درسته؟
میانگین که درسته باید باشه
مابقیه ایرادات رو متوجه نشدم اگر چیزی باشه
لطفا راهنمایی بفرمایید
۱۷-دى-۱۳۸۸, ۲۰:۱۹:۰۸
ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #10
RE: lm35
کد:
Config Adc = Single , Prescaler = Auto
الان که رفرنس خارجیه !
گفتین داخلی می خواین !


کد:
Sum = Sum
که باید بعلاوه مقداری که از آنالوگ می خونین بشه که انگار فراموش شده !


کد:
Lcd I
خوب اینکه متغیرر حلقه فور هستش و چی لزومی داره نشون داده بشه !
اونم با این سرعت که اصلا دیده نمی شه !


کد:
Dim Temp As Double
مغیر نوع ورد کارتون رو راه می اندازه به لانگ هم نیازی نیست دیگه چی برسه دابل !!!!
البته شاید سنگل بذارین قشنگ تره باشه !
اینطوری با چن رقم اعشار نشون می ده !!!


کد:
Dim Sum As Integer
نوع ورد بهتره !


کد:
Dim I As Integer
بهتره نوع بایت بذارین !
۱۷-دى-۱۳۸۸, ۲۰:۵۰:۰۹
ارسال‌ها
پاسخ
تشکر شده توسط : mahdi20
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #11
RE: lm35
اینم اصلاح شده برنامه شما :

کد php:
$regfile "M32def.dat" $crystal 8000000

Config Lcdpin 
Pin Db4 Portb.4 Db5 Portb.5 Db6 Portb.6 Db7 Portb.7 Portb.1 Rs Portb.0
Config Lcd 
16 Cursor Off Cls

Config Adc 
Single Prescaler Auto Reference Internal
Ddrd.7 
1

Dim A 
As Word Sum As Word As Byte Temp As Single

Start Adc

Cls 
Lcd "salam" Wait 1

Do

   For 
0 To 24
      A 
Getadc(0) : Sum Sum Waitms 1
   Next

   Temp 
Sum 100 Lcd Fusing(temp "#.##") ; "     "
   
Wait 1 Toggle Portd.7

Loop 
۱۷-دى-۱۳۸۸, ۲۰:۵۴:۲۳
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  دماسنج LM35 majidps2 62 50,597 ۲۰-شهریور-۱۳۹۹, ۱۶:۴۴:۰۹
آخرین ارسال: Ambassador
  اتصال سنسور lm35 در فاصله 12 متری به میکرو ؟ mega16 3 1,643 ۲۷-بهمن-۱۳۹۸, ۱۸:۴۳:۲۸
آخرین ارسال: aKaReZa75
Question [سوال] مشکل نوسان دما در lm35 sunflower1 10 9,856 ۲۶-شهریور-۱۳۹۴, ۱۴:۰۹:۳۲
آخرین ارسال: BEHROOZ12
Exclamation [سوال] خروجی LM35 hosseinip 5 3,345 ۲۳-اسفند-۱۳۹۳, ۰۰:۲۵:۴۸
آخرین ارسال: omid_phoenix
  lm35+micro+matlab kelaran 6 4,125 ۲۲-تير-۱۳۹۳, ۱۳:۱۹:۳۹
آخرین ارسال: babyy
  [فوری] نمایش دمای منفی روی LCD با lm35 و ATmega16 با نرم افزار codevisionAVR ali khalili 3 5,408 ۱۷-فروردین-۱۳۹۳, ۱۵:۴۶:۱۸
آخرین ارسال: mh1762
  راهنمایی برای برنامه دماسنج با lm35 alasht 9 10,188 ۱۵-اسفند-۱۳۹۲, ۱۰:۵۱:۴۸
آخرین ارسال: ho3in54
  درخواست برنامه دماسنج با Atmega 16 و LM35 sinastar 61 67,798 ۱۴-دى-۱۳۹۲, ۱۶:۵۳:۲۵
آخرین ارسال: omid_phoenix
  [سوال] سوال در مورد lm35 hossein110_ 12 10,298 ۱۵-مرداد-۱۳۹۱, ۲۰:۳۸:۴۱
آخرین ارسال: hossein110_
Question [حل شد] مشکل با دماسنج و دمای منفی با lm35 jervis 11 13,488 ۰۷-خرداد-۱۳۹۱, ۲۳:۳۰:۳۵
آخرین ارسال: moghavemat

پرش به انجمن:


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

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