سلام
تو یه سری از پستها دیدم برای کنترل دما با ترموکوپل مشگل دارین این شماتیک با فایل هگز میکرو mega16 رو براتون میزارم این پروژه با ای سی max6675 کار میکنه امیدوارم بدردتون بخوره اگه مشگلی بود بگین
سلام
تو یه سری از پستها دیدم برای کنترل دما با ترموکوپل مشگل دارین این شماتیک با فایل هگز میکرو mega16 رو براتون میزارم این پروژه با ای سی max6675 کار میکنه امیدوارم بدردتون بخوره اگه مشگلی بود بگین
سلام ممنون صالح جون اما كاش مي شد سورس برنامه رو بصورت تكست بزاري آخه من هنوز تازه كارم و مي خواستم بدونم چه طوري برنامه رو نوشتي a.13600@yahoo.com اگه مقدوره برام ميل كن ممنون دوست عزيز
سلام دوست عزیز:
من برنامه نویسی میکروکنترلر avr رو تازه شروع کردم . اگه برنامه کنترل دما رو تو زبان اسمبلی یا سی برام بفرستی کمک بزرگی به من کردی.آخه خیلی بهش احتیاج دارم .ممنون. اینم ایمیلم:nazilapoorhajy@gmail.com
سلام دوستان:
یکی نیست به داد من برسه . من به برنامه کنترل دما با ترموکوپل در mega16 با آی سی max6675 در code vision خیلی احتیاج دارم . توروخدا یکی کمکم کنه.
اینم ایمیلم:nazilapoorhajy@gmail.com
پروژه دماسنج با سورس کدویژن و توضیحات
تو این سایت در مورد سورس کد این پروژه توضیح داده است.
Using the MAX6675 Thermocouple-to-Digital Converter
شهاب
با سلام به دوستان
این یه برنامه نوشته شده با بسکام هست که کار با max6675 رو توضیح میده
سعی کردم اضافات برنامه رو حذف کنم که برنامه تا جای ممکن ساده و کار راه بنداز باشه
Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 4 , Noss = 1
Config Portb.2 = Output 'ss
Spi_cs Alias Portb.2
Spiinit
'----------------------------------------
Dim Temp As Single
Dim Temp_data As Word
Dim Temp_data_l As Byte At Temp_data Overlay
Dim Temp_data_h As Byte At Temp_data + 1 Overlay
'----------------------------------------
Do
Reset Spi_cs
Waitms 100
Temp_data_h = Spimove(temp_data_h)
Temp_data_l = Spimove(temp_data_l)
Set Spi_cs
Temp_data = Temp_data And &B0111111111111000
Temp_data = Temp_data / 2
Temp_data = Temp_data / 2
Temp_data = Temp_data / 2
Temp = Temp_data / 4
Loop
'------------------------------------------------
اول برنامه پیکربندی spi هست
بعد هم تعریف متغیر های برنامه
اون دوتا متغیر که overlay دارن هم در اصل یه متغیر 16 بیت هست که تبدیل به دوتا متغیر 8 بیت شده (از خارجیا یاد گرفتم)
با دستور spimove هم مقادیر دیتا رو از max6675 گرفتم
و اما در آخر که اطلاعات دریافتی از آی سی رو باید پردازش کرد
Temp_data = Temp_data And &B0111111111111000 تو این خط مقادیر مورد نیاز رو ضرب در 1 یک و مقادیر بی اثر رو ضرب در 0 کردم (دیتا شیت مطالعه بشه)
تو سه خط بعدی مقدار رو تقسیم بر 2 کردم که از نظر ریاضی همون شیف دادن مقادیر باینری به سمت راست میشه (درس معماری کامپیوتر )
در آخر هم مقدار بر 4 تقسیم شده که دلیل اون اینه که مقادیر دریافتی از max6675 با دقت یک چهارم درجه اندازه گیری میشه
امیدوارم به کسی کمک کرده باشم