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

ارسال‌ها: 7
موضوع‌ها: 1
تاریخ عضویت: مرداد ۱۳۹۱

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #1
سوال در مورد lm35
با سلام
بنده یه مدار درست کردم که با یه آی سی Atmega16 بتونم دما رو رو lcd نشون بدم ولی هر کاری می کنم صفر درجه رو نشون میده
آی سی درست کار می کنه چون وقتی پورت مربوط به adc رو به 5 ولت میزنم مقدار51.56 درجه رو نشون میده
با ولت متر هم lm35 رو تست کردم وقتی دما بالا مبره ولتاژ پایه خروجیش زیاد میشه
لطفا بنده رو راهنمایی کنین
ممنون.
اینم برنامم :
$regfile = "m16def.dat"
$crystal = 4000000
$baud = 19200

Config Adc = Single , Prescaler = Auto , Reference = Avcc

Config Lcdpin = Pin , Db4 = Pinb.4 , Db5 = Pinb.5 , Db6 = Pinb.6 , Db7 = Pinb.7 , Rs = Pinb.2 , E = Pinb.3
Config Lcd = 16 * 2
.
.
.
Do

Din = Getadc(0)
Din = Din * 500
Dama = Din / 1023


Locate 1 , 1
Lcd "Temp = " ; Fusing(dama , "#.##") ; "C "
.
.
.
End
۱۴-مرداد-۱۳۹۱, ۰۵:۰۴:۳۷
ارسال‌ها
پاسخ
abbasalifix غایب
کاربر با تجربه
****

ارسال‌ها: 1,394
موضوع‌ها: 82
تاریخ عضویت: دى ۱۳۸۸

تشکرها : 1496
( 2198 تشکر در 1065 ارسال )
ارسال: #2
RE: سوال در مورد lm35
مدارتون رو بزارین
شاید پایه AVCC رو که مرجع قرار دادین رو به ولتاژ +5 وصل نکردین
درضمن برنامه رو کامل بزارین
منن یه برنامه براتونن میزارم امیدوارم کارتون رو راه بندازه
کد:
$regfile = "M8def.dat"                                      ' use the Mega8

$crystal = 80000000
Deflcdchar 0 , 32 , 32 , 31 , 31 , 31 , 31 , 32 , 32        ' replace ? with number (0-7)'
Deflcdchar 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1                ' replace ? with number (0-7)
Deflcdchar 2 , 16 , 16 , 16 , 16 , 16 , 16 , 16 , 16        ' replace ? with number (0-7)
Deflcdchar 3 , 16 , 16 , 31 , 31 , 31 , 31 , 16 , 16        ' replace ? with number (0-7)
Deflcdchar 4 , 1 , 1 , 31 , 31 , 31 , 31 , 1 , 1            ' replace ? with number (0-7)
Deflcdchar 5 , 32 , 32 , 28 , 28 , 28 , 28 , 32 , 32        ' replace ? with number (0-7)
Config Lcdpin = Pin , Rs = Portd.0 , E = Portd.1 , Db4 = Portd.2 , Db5 = _
Portd.3 , Db6 = Portd.4 , Db7 = Portd.5
Config Lcd = 20 * 4

Config Adc = Single , Prescaler = Auto , Reference = Avcc   'config ADC

Start Adc

Dim W As Word , Perc As Word , Volt As Word , Volt_d As Byte , Channel As Byte , I As Byte , Cols As Byte , Cols_d As Byte

Cls
Cursor Off
Locate 3 , 1
Lcd "0"
Locate 3 , 5
Lcd "10"
Locate 3 , 10
Lcd "20"
Locate 3 , 15
Lcd "30"
Locate 3 , 19
Lcd Chr(223) ; "C"

Do
  W = Getadc(5)
  Volt = W * 5
  Volt_d = Volt Mod 10
  Volt = Volt / 10
  Locate 1 , 1
  Lcd Volt ; "," ; Volt_d

  Cols = Volt / 2

  Locate 2 , 1
  For I = 1 To Cols
   Select Case I
   Case 1 : Lcd Chr(3)
   Case 5 : Lcd Chr(4)
   Case 10 : Lcd Chr(4)
   Case 15 : Lcd Chr(4)
   Case 20 : Lcd Chr(4)
   Case Else : Lcd Chr(0)
  End Select
  Next I
  $sim
  Cols_d = Cols Mod 2
  If Cols_d > 0 Then
  Lcd Chr(5)
  Cols = Cols + 2
  Else
  Cols = Cols + 1
End If

  For I = Cols To 20
  Select Case I
   Case 1 : Lcd Chr(2)
   Case 5 : Lcd Chr(1)
   Case 10 : Lcd Chr(1)
   Case 15 : Lcd Chr(1)
   Case 20 : Lcd Chr(1)
   Case Else : Lcd Chr(32)
   End Select
   Next I

   Waitms 1000
  Loop
End
۱۴-مرداد-۱۳۹۱, ۱۲:۳۵:۳۵
ارسال‌ها
پاسخ
تشکر شده توسط : orange signal
hossein110_ آفلاین
تازه وارد

ارسال‌ها: 7
موضوع‌ها: 1
تاریخ عضویت: مرداد ۱۳۹۱

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #3
RE: سوال در مورد lm35
(۱۴-مرداد-۱۳۹۱, ۱۰:۲۴:۲۳)h.bagherii نوشته است: سلام.
برنامه ای که نوشتی در یک قسمت از اون یک اشتباه هستش.
لطف کن هم برنامه ی کاملش و هم شماتیک مدار رو قرار بده.
من قبلا دما سنج ساختم میخوام ببینم شاید تو مدارتم اشتباه کرده باشی.

تو پروتئوس به خوبی کار می کنه ولی وقتی مدارشو می بندم کار نمی کنه
اینم برنامش و شماتیکش :

(۱۴-مرداد-۱۳۹۱, ۱۲:۳۵:۳۵)abbasalifix نوشته است: مدارتون رو بزارین
شاید پایه AVCC رو که مرجع قرار دادین رو به ولتاژ +5 وصل نکردین
درضمن برنامه رو کامل بزارین
منن یه برنامه براتونن میزارم امیدوارم کارتون رو راه بندازه
کد:
$regfile = "M8def.dat" ' use the Mega8

$crystal = 80000000
Deflcdchar 0 , 32 , 32 , 31 , 31 , 31 , 31 , 32 , 32 ' replace ? with number (0-7)'
Deflcdchar 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ' replace ? with number (0-7)
Deflcdchar 2 , 16 , 16 , 16 , 16 , 16 , 16 , 16 , 16 ' replace ? with number (0-7)
Deflcdchar 3 , 16 , 16 , 31 , 31 , 31 , 31 , 16 , 16 ' replace ? with number (0-7)
Deflcdchar 4 , 1 , 1 , 31 , 31 , 31 , 31 , 1 , 1 ' replace ? with number (0-7)
Deflcdchar 5 , 32 , 32 , 28 , 28 , 28 , 28 , 32 , 32 ' replace ? with number (0-7)
Config Lcdpin = Pin , Rs = Portd.0 , E = Portd.1 , Db4 = Portd.2 , Db5 = _
Portd.3 , Db6 = Portd.4 , Db7 = Portd.5
Config Lcd = 20 * 4

Config Adc = Single , Prescaler = Auto , Reference = Avcc 'config ADC

Start Adc

Dim W As Word , Perc As Word , Volt As Word , Volt_d As Byte , Channel As Byte , I As Byte , Cols As Byte , Cols_d As Byte

Cls
Cursor Off
Locate 3 , 1
Lcd "0"
Locate 3 , 5
Lcd "10"
Locate 3 , 10
Lcd "20"
Locate 3 , 15
Lcd "30"
Locate 3 , 19
Lcd Chr(223) ; "C"

Do
W = Getadc(5)
Volt = W * 5
Volt_d = Volt Mod 10
Volt = Volt / 10
Locate 1 , 1
Lcd Volt ; "," ; Volt_d

Cols = Volt / 2

Locate 2 , 1
For I = 1 To Cols
Select Case I
Case 1 : Lcd Chr(3)
Case 5 : Lcd Chr(4)
Case 10 : Lcd Chr(4)
Case 15 : Lcd Chr(4)
Case 20 : Lcd Chr(4)
Case Else : Lcd Chr(0)
End Select
Next I
$sim
Cols_d = Cols Mod 2
If Cols_d > 0 Then
Lcd Chr(5)
Cols = Cols + 2
Else
Cols = Cols + 1
End If

For I = Cols To 20
Select Case I
Case 1 : Lcd Chr(2)
Case 5 : Lcd Chr(1)
Case 10 : Lcd Chr(1)
Case 15 : Lcd Chr(1)
Case 20 : Lcd Chr(1)
Case Else : Lcd Chr(32)
End Select
Next I

Waitms 1000
Loop
End

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


فایل‌(های) پیوست شده
.zip   Hsn.zip (اندازه: 59.5 KB / تعداد دفعات دریافت: 64)
(آخرین ویرایش در این ارسال: ۱۴-مرداد-۱۳۹۱, ۱۲:۵۷:۳۹، توسط hossein110_.)
۱۴-مرداد-۱۳۹۱, ۱۲:۵۴:۰۹
ارسال‌ها
پاسخ
abbasalifix غایب
کاربر با تجربه
****

ارسال‌ها: 1,394
موضوع‌ها: 82
تاریخ عضویت: دى ۱۳۸۸

تشکرها : 1496
( 2198 تشکر در 1065 ارسال )
ارسال: #4
RE: سوال در مورد lm35
فیوز بیت های کریستال رو تنظیم کردین؟
فیوز بیت های jtag رو هم باید غیرفعال کنید چون از پورت c استفاده کردین

اگه میخواین پایه ای رو ورودی تعریف کنید بهتره که اون رو به این صوت بنویسین
کد:
config pinx.y=input
مثال
کد:
config pinc.5=input
(آخرین ویرایش در این ارسال: ۱۴-مرداد-۱۳۹۱, ۱۳:۴۷:۰۳، توسط abbasalifix.)
۱۴-مرداد-۱۳۹۱, ۱۳:۴۳:۲۸
ارسال‌ها
پاسخ
تشکر شده توسط : orange signal
hossein110_ آفلاین
تازه وارد

ارسال‌ها: 7
موضوع‌ها: 1
تاریخ عضویت: مرداد ۱۳۹۱

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #5
RE: سوال در مورد lm35
(۱۴-مرداد-۱۳۹۱, ۱۳:۴۳:۲۸)abbasalifix نوشته است: فیوز بیت های کریستال رو تنظیم کردین؟
فیوز بیت های jtag رو هم باید غیرفعال کنید چون از پورت c استفاده کردین

اگه میخواین پایه ای رو ورودی تعریف کنید بهتره که اون رو به این صوت بنویسین
کد:
config pinx.y=input
مثال
کد:
config pinc.5=input

فیوز بیت های jtag رو هم غیرفعال کردم ولی کار نکرد
ربطی که به فیوز بیت SPI نداره؟
جون فعاله می پرسم.
۱۴-مرداد-۱۳۹۱, ۱۴:۱۴:۰۲
ارسال‌ها
پاسخ
abbasalifix غایب
کاربر با تجربه
****

ارسال‌ها: 1,394
موضوع‌ها: 82
تاریخ عضویت: دى ۱۳۸۸

تشکرها : 1496
( 2198 تشکر در 1065 ارسال )
ارسال: #6
RE: سوال در مورد lm35
فیوز بیت های کلاک رو چطور؟تنظیم کردین؟
روی ال سی دی چی دارین؟
۱۴-مرداد-۱۳۹۱, ۱۴:۴۲:۲۲
ارسال‌ها
پاسخ
hossein110_ آفلاین
تازه وارد

ارسال‌ها: 7
موضوع‌ها: 1
تاریخ عضویت: مرداد ۱۳۹۱

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #7
RE: سوال در مورد lm35
(۱۴-مرداد-۱۳۹۱, ۱۴:۴۲:۲۲)abbasalifix نوشته است: فیوز بیت های کلاک رو چطور؟تنظیم کردین؟
روی ال سی دی چی دارین؟

منظورتونو نفهمیدم آخه خیلی مبتدیم
میشه بیشتر توضیح بدین؟
۱۴-مرداد-۱۳۹۱, ۱۴:۴۷:۰۳
ارسال‌ها
پاسخ
abbasalifix غایب
کاربر با تجربه
****

ارسال‌ها: 1,394
موضوع‌ها: 82
تاریخ عضویت: دى ۱۳۸۸

تشکرها : 1496
( 2198 تشکر در 1065 ارسال )
ارسال: #8
RE: سوال در مورد lm35
الان شما این مدار رو بستین و میگین که کار نمیکنه
باشه؟
حالا مدار رو که روشن میکنید روی ال سی دی چی مینویسه؟سیاه میشه؟سفیده؟....
کریستال رو توی اون برنامه و فایل شبیه سازی که گذاشته بودین روی 4بود
برای اینکه میکرو با این فرکانس کار کنه شما باید فیوز بیت هارو هم تغییر بدین
یه سری فیوز بیت داریم مربوط به همین کریستال و کلاک هست
(آخرین ویرایش در این ارسال: ۱۴-مرداد-۱۳۹۱, ۱۵:۲۳:۵۵، توسط abbasalifix.)
۱۴-مرداد-۱۳۹۱, ۱۵:۲۲:۵۸
ارسال‌ها
پاسخ
hossein110_ آفلاین
تازه وارد

ارسال‌ها: 7
موضوع‌ها: 1
تاریخ عضویت: مرداد ۱۳۹۱

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #9
RE: سوال در مورد lm35
(۱۴-مرداد-۱۳۹۱, ۱۵:۲۲:۵۸)abbasalifix نوشته است: الان شما این مدار رو بستین و میگین که کار نمیکنه
باشه؟
حالا مدار رو که روشن میکنید روی ال سی دی چی مینویسه؟سیاه میشه؟سفیده؟....
کریستال رو توی اون برنامه و فایل شبیه سازی که گذاشته بودین روی 4بود
برای اینکه میکرو با این فرکانس کار کنه شما باید فیوز بیت هارو هم تغییر بدین
یه سری فیوز بیت داریم مربوط به همین کریستال و کلاک هست

ممنون از اینکه کمکم می کنید.
ال سی دیم کار می کنه هیچ مشکلی نداره عرض کردم که فقط به جای دما صفر نشون میده
کریستالم به 8 برگردوندم ولی باز کار نکرد

یه سوال دیگه
امکان داره adc آی سی سوخته باشه؟
چطور میشه بسوزه؟
چطور می تونم متوجه سوختنش بشم؟
(آخرین ویرایش در این ارسال: ۱۴-مرداد-۱۳۹۱, ۱۵:۵۲:۲۲، توسط hossein110_.)
۱۴-مرداد-۱۳۹۱, ۱۵:۳۸:۵۲
ارسال‌ها
پاسخ
abbasalifix غایب
کاربر با تجربه
****

ارسال‌ها: 1,394
موضوع‌ها: 82
تاریخ عضویت: دى ۱۳۸۸

تشکرها : 1496
( 2198 تشکر در 1065 ارسال )
ارسال: #10
RE: سوال در مورد lm35
برای چک کردن دما این برنامه رو تست کنید
ساده نوشتم که سریع متوجه بشین
کد:
$regfile = "m16def.dat"
$crystal = 1000000
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , Rs = Portb.2 , E = Portb.3
Cls
Dim W As Word
Dim W2 As Word
Do
W = Getadc(0)
W2 = W * 5
W2 = W2 / 10
Cls
Locate 1 , 1
Lcd W2
Waitms 500
Loop
End

همه فیوز بیت ها رو به حالت دیفالت(اولیه) ببرین
(آخرین ویرایش در این ارسال: ۱۴-مرداد-۱۳۹۱, ۱۶:۰۳:۱۳، توسط abbasalifix.)
۱۴-مرداد-۱۳۹۱, ۱۶:۰۱:۵۵
ارسال‌ها
پاسخ
hossein110_ آفلاین
تازه وارد

ارسال‌ها: 7
موضوع‌ها: 1
تاریخ عضویت: مرداد ۱۳۹۱

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #11
RE: سوال در مورد lm35
(۱۴-مرداد-۱۳۹۱, ۱۶:۰۱:۵۵)abbasalifix نوشته است: برای چک کردن دما این برنامه رو تست کنید
ساده نوشتم که سریع متوجه بشین
کد:
$regfile = "m16def.dat"
$crystal = 1000000
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , Rs = Portb.2 , E = Portb.3
Cls
Dim W As Word
Dim W2 As Word
Do
W = Getadc(0)
W2 = W * 5
W2 = W2 / 10
Cls
Locate 1 , 1
Lcd W2
Waitms 500
Loop
End

همه فیوز بیت ها رو به حالت دیفالت(اولیه) ببرین

برنامه خودمو در atmega8 تست کردم کار کرد
میشه گفت آی سی اشکال داره
اگه آره کجاش اشکال داره
البته تمام کارای دیگه رو انجام میده.
۱۴-مرداد-۱۳۹۱, ۱۶:۱۳:۵۶
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  دماسنج LM35 majidps2 62 50,597 ۲۰-شهریور-۱۳۹۹, ۱۶:۴۴:۰۹
آخرین ارسال: Ambassador
  اتصال سنسور lm35 در فاصله 12 متری به میکرو ؟ mega16 3 1,643 ۲۷-بهمن-۱۳۹۸, ۱۸:۴۳:۲۸
آخرین ارسال: aKaReZa75
  سوال در مورد اتصال حافظه eeprom جانبی به میکرو SBRE77 9 10,467 ۰۷-مهر-۱۳۹۵, ۲۳:۳۱:۲۹
آخرین ارسال: omidrn
  سوال در مورد ساخت ساعت با ال سي دي navayi 5 4,744 ۱۲-اسفند-۱۳۹۴, ۱۲:۱۷:۱۰
آخرین ارسال: 1نفر
  سوال در مورد دستور timeout$ mohebbat 3 2,932 ۲۹-بهمن-۱۳۹۴, ۱۲:۳۵:۱۹
آخرین ارسال: 1نفر
Question [سوال] مشکل نوسان دما در lm35 sunflower1 10 9,856 ۲۶-شهریور-۱۳۹۴, ۱۴:۰۹:۳۲
آخرین ارسال: BEHROOZ12
Exclamation [سوال] خروجی LM35 hosseinip 5 3,345 ۲۳-اسفند-۱۳۹۳, ۰۰:۲۵:۴۸
آخرین ارسال: omid_phoenix
  سوال در مورد حافظه جانبی برای میکرو pontiac132 4 4,705 ۰۵-اسفند-۱۳۹۳, ۲۳:۵۸:۵۹
آخرین ارسال: pontiac132
  سوال در مورد انتخاب سنسور و برنامه نویسی dj kaka 10 6,397 ۰۲-اسفند-۱۳۹۳, ۰۹:۱۱:۰۳
آخرین ارسال: dj kaka
  [سوال] سوال در مورد تغذیه میکرو biner 6 4,473 ۰۶-دى-۱۳۹۳, ۱۸:۴۴:۲۲
آخرین ارسال: a.mehran

پرش به انجمن:


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

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