امتیاز موضوع:
  • 2 رأی - میانگین امتیازات: 1.5
  • 1
  • 2
  • 3
  • 4
  • 5
lm35+micro+matlab
نویسنده پیام
kelaran آفلاین
كاربر دو ستاره
**

ارسال‌ها: 76
موضوع‌ها: 14
تاریخ عضویت: اسفند ۱۳۹۱

تشکرها : 61
( 13 تشکر در 12 ارسال )
ارسال: #1
lm35+micro+matlab
سلام
من یه سنسور دما دارم که وصل میشه به میکرو .کاری که میکنه اینه که دمای چند نقطه رو اندازه میگیره:
حالا میخوام دمای اندازه گیری شده ابن نقاط رو(فرض کنید سه نقطه) روی یک نمودار توسط برنامه متلب نشون بدم.مثلا فرض کنید در هر نقطه به مدت 20 ثانیه دما رو اندازه میگیرم.اونو ذخیره میکنم و میرم سراغ نقطه بعدی.در اخردمای اندازه گرفته شده همه این نقاط رو به صورت یک نمودار در متلب نشون بدم.یه مقداری با متلب کار کردم.
حالا میخوام اگه امکان داره تو این زمینه راهنمایی کنید.برنامه نویسیم بد نیست(بیسیک بلدم)حالا واسه ذخیره سازی مقدار اعداد خونده شده توسط سنسور از حافظه جانبی استفاده کنم؟اونوقت چطور از حافظه به میکرو فراخونی کنم؟ارتباط این دوتا چه جوریاست؟واسه ارتباط میکرو و لپ تاب از چه نوع رابطی استفاده کنم؟(میخوام اماده بخرم).اگه نکته دیگه ای هم هست ممنون میشم بیان کنید.
۱۸-تير-۱۳۹۳, ۲۳:۴۸:۲۶
ارسال‌ها
پاسخ
behzady آفلاین
مدیر بازنشسته
*****

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

تشکرها : 4094
( 6339 تشکر در 2085 ارسال )
ارسال: #2
RE: lm35+micro+matlab
20 ثانیه زمان زیادی نیست شما توی EEPROM خود میکرو می تونید ذخیره کنید
راحت ترین راه هم برای انتقال داده به لپتاپ استفاده از پورت سریال هست
شما داده هارو توی EEPROM میکرو بنویس یه دکمه هم بزار با فشار دادن داده ها رو بفرسته روی سریال

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

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

يَا أَيُّهَا الَّذِينَ آمَنُواْ اسْتَعِينُواْ بِالصَّبْرِ وَالصَّلاَةِ إِنَّ اللّهَ مَعَ الصَّابِرِينَ
۲۰-تير-۱۳۹۳, ۱۰:۵۹:۱۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : kelaran, babyy, helma, رسول
kelaran آفلاین
كاربر دو ستاره
**

ارسال‌ها: 76
موضوع‌ها: 14
تاریخ عضویت: اسفند ۱۳۹۱

تشکرها : 61
( 13 تشکر در 12 ارسال )
ارسال: #3
RE: lm35+micro+matlab
راستش تعداد دفعاتی که باید اندازه گیری بشه خیلی بیشتر از اینهاست. (اون بالایی فرض بود)میشه طریقه ارتباط میکرو با حافظه خارجی و اینکه چطور مجددا اعدادرو از حافظه بازخونی و به کامپیوتر انتقال بدم؟
۲۰-تير-۱۳۹۳, ۱۱:۴۵:۰۷
ارسال‌ها
پاسخ
behzady آفلاین
مدیر بازنشسته
*****

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

تشکرها : 4094
( 6339 تشکر در 2085 ارسال )
ارسال: #4
RE: lm35+micro+matlab
این یه نمونه کد برای کار با ایسی های TWI ساخت اتمل البته بیشتر ایسی ها مثل هم هستن
خود کد توضیخاتم داده
یه مدل با ظرفیت بالا بگیرید مشکل حل میشه
البته بهتر هست محاسبه کنید چقدر ظرفیت نیاز دارید چون ایسی بزرگ هاش گرون هستن
اگه خیلی داده زیاده و ایسی با این ظرفیت پیدا نشد باید برید سراغ MMC که دردسرش بیشتر هست.
کد:
'-----------------------------------------------------------------------------------------
'name                     : i2c.bas
'copyright                : (c) 1995-2005, MCS Electronics
'purpose                  : demo: I2CSEND and I2CRECEIVE
'micro                    : Mega48
'suited for demo          : yes
'commercial addon needed  : no
'-----------------------------------------------------------------------------------------

$regfile = "m32def.dat"                                     ' specify the used micro
$crystal = 8000000                                          ' used crystal frequency
$baud = 19200                                               ' use baud rate
$hwstack = 32                                               ' default use 32 for the hardware stack
$swstack = 10                                               ' default use 10 for the SW stack
$framesize = 40
                                            ' default use 40 for the frame space
Config Portd = Output
Config Portb = Output
Config Portc = Output
Config Porta = Input

Config Scl = Portd.3
Config Sda = Portd.2

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


Declare Sub Write_eeprom(byval Adres As Byte , Byval Value As Byte)
Declare Sub Read_eeprom(byval Adres As Byte , Value As Byte)

Const Addressw = &B10100000                                 'slave write address
Const Addressr = &B10100001                                 'slave read address

Dim Adres As Byte , Value As Byte                           'dim byte

Cls
Lcd "EEPROM SAMPLE"
Waitms 700

'*************************************************************************************
Cls
Lcd "WRITING IN EEPROM"
Lowerline
Lcd "CELL:"
Value = 255
For Adres = 0 To 50
   Call Write_eeprom(adres , Value )
   Decr Value
Next
Cls
'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Do
'now read from external eeprom
For Adres = 0 To 50
Call Read_eeprom(adres , Value)
Lcd "Adres:" ; Adres
Lowerline
Lcd "Value:" ; Value
Wait 1
Cls
Next

Loop
'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
'*************************************************************************************
'sample of writing a byte to EEPROM AT2404
Sub Write_eeprom(byval Adres As Byte , Byval Value As Byte)
    I2cstart                                                'start condition
    I2cwbyte Addressw                                       'slave address
    I2cwbyte Adres                                          'asdress of EEPROM
    I2cwbyte Value                                          'value to write
    I2cstop                                                 'stop condition
    Waitms 10                                               'wait for 10 milliseconds
End Sub


'sample of reading a byte from EEPROM AT2404
Sub Read_eeprom(byval Adres As Byte , Value As Byte)
   I2cstart                                                 'generate start
   I2cwbyte Addressw                                        'slave adsress
   I2cwbyte Adres                                           'address of EEPROM
   I2cstart                                                 'repeated start
   I2cwbyte Addressr                                        'slave address (read)
   I2crbyte Value , Nack                                    'read byte
   I2cstop                                                  'generate stop
End Sub


' when you want to control a chip with a larger memory like the 24c64 it requires an additional byte
' to be sent (consult the datasheet):
' Wires from the I2C address that are not connected will default to 0 in most cases!

'   I2cstart                                                'start condition
'   I2cwbyte &B1010_0000                                    'slave address
'   I2cwbyte H                                              'high address
'   I2cwbyte L                                              'low address
'   I2cwbyte Value                                          'value to write
'   I2cstop                                                 'stop condition
'   Waitms 10

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

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

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

ارسال‌ها: 76
موضوع‌ها: 14
تاریخ عضویت: اسفند ۱۳۹۱

تشکرها : 61
( 13 تشکر در 12 ارسال )
ارسال: #5
RE: lm35+micro+matlab
داداش خیلی لطف کردی.ممنون

راستی اگه قرار باشه با متلی اعداد رو نمایش بدم حود اعداد رو میتونم مستقیما به متلب ارسال کنم؟یا نه باید قبلش یه فرایندی انجام بشه؟
شرمنده یه سوال دیگه:اگه بخوام دمای 150 تا دستگاه رو به صورت لحظه ای(در حد 5ثانیه)در میکرو ذخیره کنم بازم نیاز به حافظه خارجی دارم؟یا با همین میکرو خودمون میتونم انجام بدم؟(فکر کنم حافظه مگا 32 خوب باشه؟)
(آخرین ویرایش در این ارسال: ۲۱-تير-۱۳۹۳, ۲۰:۵۱:۴۴، توسط kelaran.)
۲۱-تير-۱۳۹۳, ۲۰:۴۲:۵۳
ارسال‌ها
پاسخ
behzady آفلاین
مدیر بازنشسته
*****

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

تشکرها : 4094
( 6339 تشکر در 2085 ارسال )
ارسال: #6
RE: lm35+micro+matlab
1- من با متلب کار نکردم ولی انگار این قابلیت وجود داره که از پورت سریال داده هارو دریافت کنه اگه این طوری باشه
شما می تونید داده ها رو مستقیما از طرف متلب دریافت کنید
2- بستگی داره شما با چه دقتی این کارو انجام می دید اگه مقدار ADC رو ذخیره کنید باید 16 بیت از حافظه اشغال بشه
پس یه EEPROM یک کیلوبایتی 512 نمونه رو ذخیره می کنه
اگه دقت رو تا درجه پایین بیارید (یعنی اعشاری نخواید) می تونید ADC رو به دما تبدیل کنید و بعد ذخیره کنید اینطوری
8 بیت حافظه نیازه پس توی یک کیلوبایت 1024 نمونه ذخیره میشه
دیگه ببینید توی EEPROM مگا جا می شه یا باید یه خارجی بگیرید

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

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

يَا أَيُّهَا الَّذِينَ آمَنُواْ اسْتَعِينُواْ بِالصَّبْرِ وَالصَّلاَةِ إِنَّ اللّهَ مَعَ الصَّابِرِينَ
۲۲-تير-۱۳۹۳, ۰۸:۱۰:۵۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : babyy, kelaran, رسول
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #7
RE: lm35+micro+matlab
(۲۲-تير-۱۳۹۳, ۰۸:۱۰:۵۹)behzady نوشته است: 1- من با متلب کار نکردم ولی انگار این قابلیت وجود داره که از پورت سریال داده هارو دریافت کنه اگه این طوری باشه

اره میشه مستقبما یا پورت‌ها درگیر شد
۲۲-تير-۱۳۹۳, ۱۳:۱۹:۳۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : behzady, kelaran


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  دماسنج 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
  [فوری] نمایش دمای منفی روی LCD با lm35 و ATmega16 با نرم افزار codevisionAVR ali khalili 3 5,408 ۱۷-فروردین-۱۳۹۳, ۱۵:۴۶:۱۸
آخرین ارسال: mh1762
  راهنمایی برای برنامه دماسنج با lm35 alasht 9 10,188 ۱۵-اسفند-۱۳۹۲, ۱۰:۵۱:۴۸
آخرین ارسال: ho3in54
  ارتباط سریال avr با hyper terminal-matlab-labview همراه پروژه 2nafar 21 27,353 ۱۷-بهمن-۱۳۹۲, ۱۲:۵۸:۲۸
آخرین ارسال: arezoujun
  درخواست برنامه دماسنج با 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