PDA

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



REZANEWS
04-10-2010, 19:13
با سلام
استاد هم استاد های قدیم .چرا؟ برای اینکه هنوز درست حسابی سر کلاس نرفتیم استاد مدار منطقی بعد از سلام یه پروژه چه عرض کنم اسمشو نمی دونم چی بزارم به ما گفت تا آخر ترم هم وقت داده
حالا از دوستان هر کی می تونه توی نوشتن برنامه همکاری کنه ممنون میشم
از ال سی دی 4*20 و از سنسور DS1820 از AVR استفاده بشه
رنج کارکرد بین -55 تا +125
نمایش دما بصورت یک رقم اعشار باشه مثل 23.7
روش کارش:
بشه دمای مورد نظر رو براش تعریف کردSET POINT که توی حافظش بمونه و با قطع ولتاژ ,دما تنظیمی پاک نشه .
بشه براش OFS تعریف کرد یعنی اگر دما ی محیط 27 C است ولی ترموستات دمای 26.5 رو نشون بده اگه مقدار OFS رو +0.5 تنظیم کنیم دمایی که بعد از تنظیم رو ال سی دی نشون بده 27 C است مقدار OFS بین -10 تا +10 قابل تنظیم باشه و توی حافظش بمونه و با قطع ولتاژ ,OFS تنظیمی پاک نشه .
این مدار دارای 4 رله خروجی به روشی که میگم داره مثلا اگر دما تنظیمی رو روی 27 درجه تنظیم کردیم ,


البته SETPOINT و OFS و F1 باید اینجوری کار کنه مثلا دمای تنظیمی (SETPOINT) روی 27 تنظیم شده , OFS رو روی صفر قرار دادیم و F1 روی 1 قرار دادیم یعنی رله ها با اختلاف درجه 1 درجه 1درجه وصل یا قطع شوند پس رله اول در 27 درجه عمل کنه , زمانی که دما به 28 درجه رسید , اول رله 1 قطع شده بعد رله 2 وصل بشه رله سوم در 29 درجه عمل کنه و باز در این مرحله هم باید رله 2 قطع بشه بعد رله 3 وصل بشه , رله چهارم در 30 درجه عمل کنه و رله 3 قبلش باید قطع بشه , اگه دما تو 30 درجه بمونه رله 4 فقط باید روشن بمونه و رله های دیگه در وضعیت خاموش می باشند .. ولی اگه دما شروع به پایین اومدن بکنه بشه 29 درجه رله 4 باید قطع بشه و رله 3 وصل بشه , دما اومد رو 28 رله 3 قطع بشه , رله 2 وصل بشه و زمانی که دما اومد روی 27 رله 2 قطع بشه و رله 1 وصل, اگه دما روی 27 بمونه رله 1 همچنان وصله و وصل میمونه ولی اگه دما پایین تر از 27 درجه اومد (دمای تنظیمی) رله 1 هم قطع بشه
یه تنظیمیF1 هم باید داشته باشه برای اختلاف درجه برای وصل رله ها و باید تنظیمش توی حافظه ذخیره شه وبا قطع برق پاک نشه . باید از 0تا 5 قابل تنظیم بصورت 0.5 درجه 0.5 درجه یعنی بشه 0 و0.5 و 1و 1.5 ...تا 5 قابل تنظیم باشه.
مثلا دمای تنظیمی 27 درجه است و OFS روی صفر تنظیمه , یعنی دستگاه داره دمای واقعی رو نشون میده پس به OFSنیازی نیست روی صفر تنظیم میکنیم حالا اگه F1 رو روی 2 تنظیم کنیم رله اول توی 27 درجه وصل میشه رله دوم با 2 درجه اختلاف روی 29 درجه وصل میشه رله سوم رو 31 درجه و رله چهارم روی 33 درجه وصل بشه,و شرایط قطع هم همین طور با اختلاف 2 در جه بترتیب از رله 4 تا رله 1 انجام بشه
توی سطر اول ال سی دی عبارت"DS1820 /Termostat" نوشته بشه
توی سطر دوم سمت چپ دمای محیط و در همون سطر سمت راست دمای تنظیمی
توی سطر سوم سمت چپ عبارت "RLY1=on/off سمت راست سطر سوم RLY2=on/off
توی سطر چهارم سمت چپ عبارت "RLY3=on/off سمت راست سطر چهارم RLY4=on/off
زمان تنظیم OFS و F1 تنظیمات رو سطر 3 و 4 اعمال بشه و سطر 1و 2 همچنان روی صفحه به کارش ادامه بده .

ممنون از دوستان

morteza_rk
04-10-2010, 19:57
سلام دوست عزیز

پروژه ی بسیار ساده ای هست! :0013: فقط وقت گیره ، همین! اینکه غصه خوردن نداره ، فقط کامپایلری که باید باهاش کار کنی رو بگو. بسکام یا کدویژن؟

شما استارت کار رو بزن و شروع کن ، هرجا که مشکلی داشتی اینجا مطرح کن تا من و سایر عزیزان کمکت کنیم. خیلی خوبه که از الان به فکر آخر ترم هستین.

استارت کار هم راه اندازی سنسور DS1820 هست که با مطالعه دیتاشیت میسر میشه. اول اینو یاد بگیر بعد یکی یکی بقیه موارد رو به برنامه اضافه می کنیم. :wink:

REZANEWS
04-10-2010, 20:32
با سلام morteza_rk عزیز
با بیسکام
مشکل اینجاست که من برنامه نویسی با ds1820 رو وارد نیستم
تا بتونم شروع کنم من بیشتر تخصصم در زمینه طراحی سخت افزاره نه نرم افزار, اگه بتونی کمکم کنی ممنونت میشم

morteza_rk
04-10-2010, 20:39
مشکلی نیست. شما بگو تا چه حد کار با avr و بیسیک رو می دونی. به قول قدیمی ها ماهی رو هروقت از آب بگیری تازست!

اصلا نترس و شروع به یادگیری کن. شما یا کار با avr و بسکام رو بلد نیستی یا بلدی اما نمی تونی این سنسور رو راه اندازیش کنی. خلاصه بگو چند مرده حلاجی مهندس؟

REZANEWS
04-10-2010, 21:38
با تشکر از شما
دارم data sheet سنسور رو دانلود میکنم که مطالعه کنم ببینم چیزی دستگیرم میشه؟
برای این پروژه atmega 8 جواب میده؟

morteza_rk
04-10-2010, 22:25
بله ATmega8 برای انجام این پروژه مناسبه ضمن اینکه میشه از ATTiny26 هم استفاده کرد.

من یه نگاه گذرا به دیتاشیت این سنسور انداختم. ظاهرا چیز خیلی جالبیه.

farzadsw
05-10-2010, 00:09
این سنسور های ds18b20 سنسور های بسیار خوبی هستن ، علاوه بر دقت بسیار بالا، رنج بسیار خوب ، برد عالی ، قابلیت شبکه کردن رو هم دارن.
من تو 2 تا پروژه ازشون استفاده کردم.هم بسکام ، هم کدویژن هر جفتشون تابع آماده و مثال برای استفاده از این سنسور ها دارن . میتونید به راحتی ازشون استفاده کنید.

vahidasm
05-10-2010, 01:19
این سنسور های ds18b20 سنسور های بسیار خوبی هستن ، علاوه بر دقت بسیار بالا، رنج بسیار خوب ، برد عالی ، قابلیت شبکه کردن رو هم دارن.
من تو 2 تا پروژه ازشون استفاده کردم.هم بسکام ، هم کدویژن هر جفتشون تابع آماده و مثال برای استفاده از این سنسور ها دارن . میتونید به راحتی ازشون استفاده کنید.

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

vahidasm
05-10-2010, 01:25
من یه سوال دارم
چرا نمیتونم متنی رو که نوشتم ویرایش کنم؟؟چند بار امتحان کردم نشده
توی نوشته قبلیم منظورم از کتابخونه همون توابع هست
البته همچین فرق زیادی هم با هم ندارن مگه نه؟؟

REZANEWS
05-10-2010, 22:51
باسلام به دوست عزیز morteza_rk
امروز خیلی دیتا شیت DS18S20 رو مطالعه کردم یه چیزایی فهمیدم که میگم:
rom 64 بیتی داره
شامل 2 بایت رجیستر دماست که TH و TLهستش که میتونه آلارم رو فعال کنه
میتونه بدون تغذیه خارجی کار کنه با انرژی که از طریق پایه DQ و با مقاومت بالاکش روی باس
خروجی سنسور دارای رزولوشن 9 بیتی هست با دقت 0.5 درجه

ولی هرچی میخونم نمی تونم برنامه نویسیشو انجام بدم. امروز هم با استادمون کلاس داشتم و هی تاکید میکرد که از همین حالا دنبال پروژه باشین .من شدیدا استرس دارم نمی دونم چی کار کنم لطفا دوستا نی که توضیح روش کار پروژمو خوندن تو برنامه نویسی کمک کنن

farzadsw
06-10-2010, 00:44
سلام
اگه میشه کمی بیشتر راجع به این کتابخونه ها توضیح بدین(اسم کتابخونه و دستورات برنامه نویسی و ... )
با تشکر


باسلام به دوست عزیز morteza_rk
امروز خیلی دیتا شیت DS18S20 رو مطالعه کردم یه چیزایی فهمیدم که میگم:
rom 64 بیتی داره
شامل 2 بایت رجیستر دماست که TH و TLهستش که میتونه آلارم رو فعال کنه
میتونه بدون تغذیه خارجی کار کنه با انرژی که از طریق پایه DQ و با مقاومت بالاکش روی باس
خروجی سنسور دارای رزولوشن 9 بیتی هست با دقت 0.5 درجه

ولی هرچی میخونم نمی تونم برنامه نویسیشو انجام بدم. امروز هم با استادمون کلاس داشتم و هی تاکید میکرد که از همین حالا دنبال پروژه باشین .من شدیدا استرس دارم نمی دونم چی کار کنم لطفا دوستا نی که توضیح روش کار پروژمو خوندن تو برنامه نویسی کمک کنن

اگه مثالهای بسکام و کدویژن رو بخونید نحوه کار (حداقل در حدی که کارتون راه بیوفته ، دستتون میاد) ولی بازم یه سری توضیح اضافی میدم شاید بهتون کمک کنه :
این سنسورها از پروتکل 1wire استفاده میکنن. در این پروتکل 1 سیم دیتا لازمه و مسلما یدونه vcc و gnd هم برای کار کردن سنسور لازمه(ربطی به پروتکل نداره!) . البته در بعضی از سنسورهای شرکت دالاس-ماکزیم ، یه قابلیت جالب هست که این اجازه رو میده ، سنسور از خط دیتا تغذیه خودش رو بگیره و دیگه سیم vcc نیاز نیست کشیده بشه . به این قابلیت parasite power گفته میشه . البته این حالت تغذیه یه سری ریزه کاری داره مثلا وقتی که فرمان خوندن دما (تبدیل دما) به سنسور داده میشه پایه دیتا باید پول آپ بشه تادر حین عمل تبدیل تغذیه سنسور فراهم بشه و بعدش دوبار از پول آپ در بیاد . بگذریم ، چون چیز ضروری نیست ، شما تغذیه سنسور رو همین طوری مستقیم بدید تا کارتون راحت بشه. در ضمن پروتکل 1wire قابل شبکه شدن رو داره ، به این معنی که مثلا شما میتونید 15 تا سنسور دما رو به یدونه از پایه های میکرو وصل کنید و در عین حال به همه اونا دسترسی داشته باشید :mrgreen: . خب این از مقدمات

هر سنسور یه آدرس 64 بیتی منحصر به فرد و غیر قابل تغییر داره ، که بایت اولش مشخص کننده نوع سنسور یاقطعه هست(ic های دیگه ای با پروتکل 1wire هم ممکنه تو یه شبکه باشه ) ، 6 تای بعدی همون مشخصه (مثلا پلاک!) سنسور هست ، و بایت آخر هم یه کد crc هست که از روی 7بایت قبلی تولید میشه . این کد برای اینه که وقتی همه این 8 بایت رو در یافت کردی مطمئن باشی اطلاعات درسته و این وسط یکی از بیتها (به خاطر نویز یا هر چی) تغییر نکرده. دیگه بیشتر وارد جزییاتش نمیشم.
نحوه عملکرد و الگوریتم کلی در این پروتکل از سه مرجله تشکیل شده ( برای اطلاعات بیشتره وگر نه تو بسکام و کدویژن تقریبا کاری باهاش ندارید) به زبان خیلی سادش این میشه:
1.master یا همون میکرو ی ما یه فرمان ریست به بقیه سنسور های داخل شبکه میفرسته ، بعد بقیه هم اطاعت امر میکنن و جواب میفرستن که ریست شدیم !
2. حالا مستر میگه ، قراره چه نوع دستوری بعدا بدم ! مثل skip , search ,... بر طبق اون یه سری از سنسور ها که دستور مربوط به اوناست ، گوششون تیز میشه و بقیه بیخیال میشن !
3. در نهایت مستر میگه شما ها فلان کار رو بکنید ، مثلا دما رو بخونید ، مقدار رجیستر هاتون رو به من بدید و ... . تمام ! دوباره از شماره 1 همین مراحل تکرار میشه

جزییات بیشتر برای هر کدوم از اینا رو میتونید تو دیتا شیت ببینید.

اما تو بسکام و کدویژن به این صورت باید عمل کرد :
پایه ای که قراره سنسور(ها) بهش وصل بشن رو تعیین میکنید .
یه init یاراه اندازی اولیه میکنید (همون مرحله 1 ای که قبلا گفتم به علاوه تنظیم رزولیشن)
بعد آدرس اولین سنسور ی که روی شبکه هست رو میگیرید ، اگر بیشتر هستن آدرس اونا رو هم توسط یه دستور دیگر؛ یکی یکی میگیرید .
حالا که آدرس ها رو دارید (احتمالا توی یه رشته) میاید فرمان های مختلف مثل تبدیل و خوندن دما، خوندن رجیستر ها ، نوشتن رجیستر ها و غیره رو انجام میدید.
تمام
اگه متن بالا رو خوندید ، یه مثال رو ببینید، به احتمال زیاد نحوه کار دقیقا دستتون میاد.:wink:
*حیف که یه 24 ساعت خالی ندارم وگرنه یه pdf 10-15 صفحه ای درست میکردم و از سیر تاپیازش رو یکجا میگفتم.

morteza_rk
06-10-2010, 15:21
با تشکر از توضیحات خوب دوستمون جناب فرزاد عزیز :0013:

جناب rezanews به هیچ عنوان غصه نخور! تا آخر ترم 3 ماه وقت داری ، بنظرت کمه؟ :0013:

من هر موقع وقت کنم دنبال این قضیه رو می گیرم. غصه نخور ، انشالله دریفش می کنیم. آقا فرزاد هم حق داره. بنده خدا خیلی درگیره.

REZANEWS
06-10-2010, 20:07
با سلام
با تشکر از شما دوستان عزیز farzadsw - morteza_rk
ممنون از شما که پیگیر پروژه من هستید
یه مدار پیدا کردم ولی فقط دما رو نشون میده ولی اون SET POINT که من میخوام نداره دوستان نظر بدن که چجوری برنامه رو تغییر بدم کار من رو که توضیح دادم انجام بده
'-----------------------------------------------------------------------------------------
'copyright : (c) 2008-2009, AVRprojects.info
'purpose : DS1820 / DS18S20 Temperature Indicator
'-----------------------------------------------------------------------------------------

$regfile = "m8515.dat" ' specify the used micro
$crystal = 8000000 ' used crystal frequency

Declare Sub Read1820

Config 1wire = Portd.7
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , Db7 = Porta.5 , E = Porta.1 , Rs = Porta.0


'Temp variables
Dim Bd1 As Byte
Dim Bd2 As Byte
Dim Bd7 As Byte
Dim Bd8 As Byte

Dim I As Byte , Tmp As Byte
Dim T As Integer , T1 As Integer
Dim Bd(9) As Byte 'Scratchpad 0-8 72 bits incl CRC, explanations for DS1820
'Sc(1) 'Temperature LSB
'Sc(2) 'Temperature MSB
'Sc(3) 'TH/user byte 1 also SRAM
'Sc(4) 'TL/user byte 2 also SRAM
'Sc(5) 'config also SRAM x R1 R0 1 1 1 1 1 - the r1 r0 are config for resolution - write FF to byte for 12 bit - others dont care
'Sc(6) 'res
'Sc(7) 'res
'Sc(8) 'res
'Sc(9) '8 CRC

'DALLAS DS1820 ROM and scratchpad commands''''''''''''''''''''''''''1wwrite....
'&H 33 read rom - single sensor
'&H CC skip rom
'&H BE read scratchpad
'&H 44 convert T

' Main loop
Cls
Cursor Off
Do
1wwrite &HCC : 1wwrite &H44 ' start measure
Waitms 400 ' wait for end of conversion
Read1820
Wait 1
Loop
End 'end program

'Read the DS1820 by skipping the ROM checking, since we are using only 1 sensor

Sub Read1820 ' reads sensor ans calculate ' T for 0.1 C
1wreset ' reset the bus
1wwrite &HCC ' read internal RAM
1wwrite &HBE ' read 9 data bytest
Bd(1) = 1wread(9)
Bd1 = Bd(1)
Bd2 = Bd(2)
Bd7 = Bd(7)
Bd8 = Bd(8)
' read bytes in array
1wreset ' reset the bus
Tmp = Bd1 And 1
If Tmp = 1 Then Decr Bd1 ' 0.1C precision
T = Bd1
T = T * 50
T = T - 25
T1 = Bd8 - Bd7
T1 = T1 * 100
T1 = T1 / Bd8
T = T + T1
T1 = T / 100 'store tens
T = T Mod 100 'store decimal number
Cls
Locate 1 , 3
Lcd "Temperature"
Locate 2 , 7
Lcd T1 ; "." ; T
End Sub

End
--------------------------------------------------------------
اول اینکه میشه این مدارو روی ATMEGA 8 اجرا کرد
دوم اینکه چطور میتونم SET POINT ها رو براش تعریف کنم ؟
سوم : دوستان لطف کنن این دستورات بیسکام رو تحلیل کنن که محاسبه و نمایش دما رو چطور میتونم برای میکرو دیگه بنویسم ممنونم

vahidasm
07-10-2010, 01:10
روش کارش:
بشه دمای مورد نظر رو براش تعریف کردSET POINT که توی حافظش بمونه و با قطع ولتاژ ,دما تنظیمی پاک نشه .
بشه براش OFS تعریف کرد یعنی اگر دما ی محیط 27 C است ولی ترموستات دمای 26.5 رو نشون بده اگه مقدار OFS رو +0.5 تنظیم کنیم دمایی که بعد از تنظیم رو ال سی دی نشون بده 27 C است مقدار OFS بین -10 تا +10 قابل تنظیم باشه و توی حافظش بمونه و با قطع ولتاژ ,OFS تنظیمی پاک نشه .
این مدار دارای 4 رله خروجی به روشی که میگم داره مثلا اگر دما تنظیمی رو روی 27 درجه تنظیم کردیم ,
رله اول در 27 درجه عمل کنه و بمونه رله دوم در 28 درجه عمل کنه و بمونه رله سوم در 29 درجه عمل کنه و بمونه و رله چهارم در 30 درجه عمل کنه اگه دما تو 30 درجه بمونه 4 تا رله ها هم در وضعیت روشن باقی بمونن ولی اگه دما شروع به پایین اومدن بکنه بشه 29 درجه رله 4 باید قطع بشه دما اومد رو 28 رله 3 قطع بشه دما اومد روی 27 رله 2 قطع بشه اگه دم روی 27 بمونه رله 1 همچنان وصله و وصل میمونه ولی اگه دما پایین تر از 27 درجه اومد (دمای تنظیمی) رله 1 هم قطع بشه
یه تنظیمیF1 هم باید داشته باشه برای اختلاف درجه برای وصل رله ها و باید تنظیمش توی حافظه ذخیره شه وبا قطع برق پاک نشه . باید از 0تا 5 قابل تنظیم بصورت 0.5 درجه 0.5 درجه یعنی بشه 0 و0.5 و 1و 1.5 ...تا 5 قابل تنظیم باشه.
مثلا دمای تنظیمی 27 درجه است و OFS روی صفر تنظیمه , یعنی دستگاه داره دمای واقعی رو نشون میده پس به OFSنیازی نیست روی صفر تنظیم میکنیم حالا اگه F1 رو روی 2 تنظیم کنیم رله اول توی 27 درجه وصل میشه رله دوم با 2 درجه اختلاف روی 29 درجه وصل میشه رله سوم رو 31 درجه و رله چهارم روی 33 درجه وصل بشه,و شرایط قطع هم همین طور با اختلاف 2 در جه بترتیب از رله 4 تا رله 1 انجام بشه

برای تنظیم دما باید تو این مدار اول از همه یه کیپد براش بذاری
بعد از این مقداری رو که براش تعریف میکنی رو باید تو eeprom داخلی میکرو ذخیره کنی تا با قطع تغذیه پاک نشه توی فایلی که گذاشتم روش استفاده از eeprom داخلی میکرو رو توضیح داده
برای کنترل رله ها هم میتونی مقدار دریافت شده رو کیث بندی کنی که اینم کار خیلی ساده ای هست
فقط میمونه تعیین مقدار OFS که باید هم منفی باشه هم مثبت که باید مقدار اونو توی یه متغیر از جنس integer بریزی

vahidasm
08-10-2010, 14:34
دوست من rezanews
یه لطف کن تمام فایلهای مربوط به این پروژه رو بذار
شاید بتونم یه کارایی روش انجام بدم
اینطوری هم کار شما جلو میوفته هم من یه چیزی یاد میگیرم
با تشکر

REZANEWS
08-10-2010, 16:20
دوست من rezanews
یه لطف کن تمام فایلهای مربوط به این پروژه رو بذار
شاید بتونم یه کارایی روش انجام بدم
اینطوری هم کار شما جلو میوفته هم من یه چیزی یاد میگیرم
با تشکر

دوست عزیز vahidasm

ممنون که داری پروژه رو دنبال میکنی همون طور که در اول پست توضیح دادم یه پروژهای استادمون گفته که نمی دونم از کجا شروع کنم اگه بیسکام کار کردی میتونی برنامه رو بنویسی , ازت ممنون میشم و منو از این استرس نجات میدی


از ال سی دی 4*20 و از سنسور DS1820 از AVR استفاده بشه
رنج کارکرد بین -55 تا +125
نمایش دما بصورت یک رقم اعشار باشه مثل 23.7
روش کارش:
بشه دمای مورد نظر رو براش تعریف کردSET POINT که توی حافظش بمونه و با قطع ولتاژ ,دما تنظیمی پاک نشه .
بشه براش OFS تعریف کرد یعنی اگر دما ی محیط 27 C است ولی ترموستات دمای 26.5 رو نشون بده اگه مقدار OFS رو +0.5 تنظیم کنیم دمایی که بعد از تنظیم رو ال سی دی نشون بده 27 C است مقدار OFS بین -10 تا +10 قابل تنظیم باشه و توی حافظش بمونه و با قطع ولتاژ ,OFS تنظیمی پاک نشه .
این مدار دارای 4 رله خروجی به روشی که میگم داره مثلا اگر دما تنظیمی رو روی 27 درجه تنظیم کردیم ,
رله اول در 27 درجه عمل کنه و بمونه رله دوم در 28 درجه عمل کنه و بمونه رله سوم در 29 درجه عمل کنه و بمونه و رله چهارم در 30 درجه عمل کنه اگه دما تو 30 درجه بمونه 4 تا رله ها هم در وضعیت روشن باقی بمونن ولی اگه دما شروع به پایین اومدن بکنه بشه 29 درجه رله 4 باید قطع بشه دما اومد رو 28 رله 3 قطع بشه دما اومد روی 27 رله 2 قطع بشه اگه دم روی 27 بمونه رله 1 همچنان وصله و وصل میمونه ولی اگه دما پایین تر از 27 درجه اومد (دمای تنظیمی) رله 1 هم قطع بشه
یه تنظیمیF1 هم باید داشته باشه برای اختلاف درجه برای وصل رله ها و باید تنظیمش توی حافظه ذخیره شه وبا قطع برق پاک نشه . باید از 0تا 5 قابل تنظیم بصورت 0.5 درجه 0.5 درجه یعنی بشه 0 و0.5 و 1و 1.5 ...تا 5 قابل تنظیم باشه.
مثلا دمای تنظیمی 27 درجه است و OFS روی صفر تنظیمه , یعنی دستگاه داره دمای واقعی رو نشون میده پس به OFSنیازی نیست روی صفر تنظیم میکنیم حالا اگه F1 رو روی 2 تنظیم کنیم رله اول توی 27 درجه وصل میشه رله دوم با 2 درجه اختلاف روی 29 درجه وصل میشه رله سوم رو 31 درجه و رله چهارم روی 33 درجه وصل بشه,و شرایط قطع هم همین طور با اختلاف 2 در جه بترتیب از رله 4 تا رله 1 انجام بشه
توی سطر اول ال سی دی عبارت"DS1820 /Termostat" نوشته بشه
توی سطر دوم سمت چپ دمای محیط و در همون سطر سمت راست دمای تنظیمی
توی سطر سوم سمت چپ عبارت "RLY1=on/off سمت راست سطر سوم RLY2=on/off
توی سطر چهارم سمت چپ عبارت "RLY3=on/off سمت راست سطر چهارم RLY4=on/off
زمان تنظیم OFS و F1 تنظیمات رو سطر 3 و 4 اعمال بشه و سطر 1و 2 همچنان روی صفحه به کارش ادامه بده .

ممنون از دوستان

morteza_rk
08-10-2010, 18:26
با تشکر از دوستانی که پیگیر این مطلب هستن.

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

تعریف OFS و F1 هم آسونه و همونطوریکه دوستان اشاره کردن برای اینکه با خاموش شدن میکرو مقادیر این متغیرها پاک نشه باید از نوع eeprom تعریف بشن. فقط نکته ی مهم اینه که در بسکام نمیشه مستقیما روی متغیرهای eeprom عملیات انجام داد (مثلا جمع یا تفریق و ...)! یعنی اول باید روی یک متغیر معمولی (از نوع Flash) مقدار مورد نظر رو بنویسی و بعد اونو مساوی متغیر نوع eeprom قرار بدی تا محتوی متغیر eeprom با متغیر معمولی برابر بشه.

REZANEWS
08-10-2010, 20:09
با تشکر از دوستانی که پیگیر این مطلب هستن.

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

تعریف OFS و F1 هم آسونه و همونطوریکه دوستان اشاره کردن برای اینکه با خاموش شدن میکرو مقادیر این متغیرها پاک نشه باید از نوع eeprom تعریف بشن. فقط نکته ی مهم اینه که در بسکام نمیشه مستقیما روی متغیرهای eeprom عملیات انجام داد (مثلا جمع یا تفریق و ...)! یعنی اول باید روی یک متغیر معمولی (از نوع Flash) مقدار مورد نظر رو بنویسی و بعد اونو مساوی متغیر نوع eeprom قرار بدی تا محتوی متغیر eeprom با متغیر معمولی برابر بشه.

با سلام morteza_rk عزیز

شما چون به برنامه نویسی تسلط داری , برای شما آسونه , نه برای من که مبتدی هستم . بعضی شبا خواب میبینم که این درس رو بخاطر انجام نشدن پروژه افتادم
منتظر کمک شما برای انجام پروژم هستم با تشکر

morteza_rk
08-10-2010, 21:03
من فقط در زمینه ی راه اندازی سنسور کارم طول میکشه! چون قبلا باهاش کار نکردم. یکمی بفهمی نفهمی سرم شلوغ شده ، بخاطر همین نمی تونم بخوبی دنبال موضوع راه اندازیشو رو بگیرم.

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

بقیه قسمت های برنامه رو من کمک می کنم. البته اگه خودت همت کنی قطعا از پس اونها هم بر میای. چون خیلی سادست.

REZANEWS
09-10-2010, 01:46
با سلام morteza_rk
یه ذره از وقتتو برای منم بزار دوست عزیز ممنون:sa:

vahidasm
09-10-2010, 01:59
دوست عزیز vahidasm

ممنون که داری پروژه رو دنبال میکنی همون طور که در اول پست توضیح دادم یه پروژهای استادمون گفته که نمی دونم از کجا شروع کنم اگه بیسکام کار کردی میتونی برنامه رو بنویسی , ازت ممنون میشم و منو از این استرس نجات میدی


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

REZANEWS
10-10-2010, 22:24
یه سری لینک در مورد سنسور ds1820

You can see links before reply
You can see links before reply
You can see links before reply
[You can see links before reply]
You can see links before reply
You can see links before reply
You can see links before reply
[You can see links before reply]
[You can see links before reply
You can see links before reply
You can see links before reply
You can see links before reply
You can see links before reply

REZANEWS
11-10-2010, 02:06
اینم یه سری دیگه vahidasn عزیز

You can see links before reply
You can see links before reply
You can see links before reply
You can see links before reply
You can see links before reply
You can see links before reply
You can see links before reply
You can see links before reply

vahidasm
13-10-2010, 01:41
سلام
REZANEWS عزیز من تمام این برنامه ها رو نگاه کردم
الان مشکل اینجاس که به هیچکدوم از این برنامه ها نمیشه اعتماد داشت و پروتیوس هم شبیه سازی سنسور ds1820 رو نداره که بشه باهاش شبیه سازی کرد ولی سنسور . حالا حتما باید با این سنسور باشه؟؟نمیشه با سنسور ds1822 این کار رو انجام بدی؟؟(پروتیوس داره)
اینطوری یه برنامه میشه نوشت که قابل اطمینان باشه
لازم به ذکره که من سرم خیلی شلوغه و وقت اینو ندارم که مدارشو ببندم و روی اون امتحانش کنم
فقط در همین حد که بتونم با پروتیوس شبیه سازی کنم میتونم کمکت کنم

REZANEWS
14-10-2010, 01:30
سلام
REZANEWS عزیز من تمام این برنامه ها رو نگاه کردم
الان مشکل اینجاس که به هیچکدوم از این برنامه ها نمیشه اعتماد داشت و پروتیوس هم شبیه سازی سنسور ds1820 رو نداره که بشه باهاش شبیه سازی کرد ولی سنسور . حالا حتما باید با این سنسور باشه؟؟نمیشه با سنسور ds1822 این کار رو انجام بدی؟؟(پروتیوس داره)
اینطوری یه برنامه میشه نوشت که قابل اطمینان باشه
لازم به ذکره که من سرم خیلی شلوغه و وقت اینو ندارم که مدارشو ببندم و روی اون امتحانش کنم
فقط در همین حد که بتونم با پروتیوس شبیه سازی کنم میتونم کمکت کنم


سلام خدمت vahidasm عزیز خیلی ازت ممنونم که این لطف رو برام میکنی اگه با پروتئوش شبیه سازی کنی خوبه ,
مونتاژ مدار رو خودم انجام میدم.
با تشکر از شما , استفاده ار DS1822 بجای DS1820 رو با استادمون مطرح کردم و ایشون اول قبول نکردن که پروتئوس DS1820 نداره بعد که چک کردن دیدن درسته و قبول کردن که پروژه با DS1822 انجام بشه ولی یه کم برنامه رو تغییر دادن که توضیحشو میگم
البته SETPOINT و OFS و F1 به همون شیوه قبلی هستند و تغییر روی نوع عملکرد رله هاست که باید اینجوری کار کنه مثلا دمای تنظیمی (SETPOINT) روی 27 تنظیم شده , OFS رو روی صفر قرار دادیم و F1 روی 1 قرار دادیم یعنی رله ها با اختلاف درجه 1 درجه 1درجه وصل یا قطع شوند پس رله اول در 27 درجه عمل کنه , زمانی که دما به 28 درجه رسید , اول رله 1 قطع شده بعد رله 2 وصل بشه رله سوم در 29 درجه عمل کنه و باز در این مرحله هم باید رله 2 قطع بشه بعد رله 3 وصل بشه , رله چهارم در 30 درجه عمل کنه و رله 3 قبلش باید قطع بشه , اگه دما تو 30 درجه بمونه رله 4 فقط باید روشن بمونه و رله های دیگه در وضعیت خاموش می باشند .. ولی اگه دما شروع به پایین اومدن بکنه بشه 29 درجه رله 4 باید قطع بشه و رله 3 وصل بشه , دما اومد رو 28 رله 3 قطع بشه , رله 2 وصل بشه و زمانی که دما اومد روی 27 رله 2 قطع بشه و رله 1 وصل, اگه دما روی 27 بمونه رله 1 همچنان وصله و وصل میمونه ولی اگه دما پایین تر از 27 درجه اومد (دمای تنظیمی) رله 1 هم قطع بشه

vahidasm
14-10-2010, 13:45
سلام
باشه حالا من میگردم شما هم بگرد تا یه سایت خوب درباره همین سنسور و برنامه نویسیش با بسکام رو پیدا کنیم(مثل همین لینک ها که گذاشتی)
بعد منم سعی میکنم که برنامشو تغییر بدم
فقط یه لطف کن خیلی سریع این کار رو انجام بده
یه کار خیر پیش اومده دارم میرم شهرستان
ممکنه که تا یه هفته دسترسی به اینترنت نداشته باشم

REZANEWS
14-10-2010, 21:34
سلام
باشه حالا من میگردم شما هم بگرد تا یه سایت خوب درباره همین سنسور و برنامه نویسیش با بسکام رو پیدا کنیم(مثل همین لینک ها که گذاشتی)
بعد منم سعی میکنم که برنامشو تغییر بدم
فقط یه لطف کن خیلی سریع این کار رو انجام بده
یه کار خیر پیش اومده دارم میرم شهرستان
ممکنه که تا یه هفته دسترسی به اینترنت نداشته باشم


ممنون از شما بابت همکاری
باشه دارم میگردم , پیدا کردم لینکاشو میزارم

REZANEWS
14-10-2010, 23:53
یه سری لینک در مورد ds1822

You can see links before reply
You can see links before reply
You can see links before reply
You can see links before reply
You can see links before reply

REZANEWS
15-10-2010, 00:17
خدمت شما
:hi:
You can see links before reply
You can see links before reply
You can see links before reply
You can see links before reply

vahidasm
15-10-2010, 02:23
مرسی مهندس
من یه برنامه حدودا خوب از تو اینا پیدا کردم که دما رو با دو رقم اعشار نشون میده
برای شروع کار بد نیست منم سعی میکنم برنامشو اونطور که میخوای تغییر بدم
فایل شبیه سازی این برنامه رو هم که خودم شبیه سازی کردم برات میذارم
چون پروتیوس من ورژن 7.7 هست و ممکنه شما نداشته باشی یه pdf هم از شماتیک مدارش برات گذاشتم تو همین فایل زیپ امیدوارم بتونم برنامشو تغییر بدم و اون چیزی که شما میخواین ازش دربیارم
شما هم تو این مدت سعی کن خودت روش کار کنی
با تشکر
التماس دعا

vahidasm
15-10-2010, 02:33
ببخشید حواسم نبود بدون اینکه فایل رو پیوست کنم گزینه ارسال رو زدم و نمیدونم چرا کامپیوتر من قدرت ویرایش تو این سایت رو نداره یعنی وقتی میخوام پستی رو ویرایش کنم ارور میده
همین جا هم از مدیران محترم میخوام که بهم بگین مشکل من کجاس؟؟از کامپیوتر منه با از سایت؟؟
اینم فایل

REZANEWS
15-10-2010, 20:44
یه سری دیگه که امروز پیدا کردم
از بابت پیگیری ممنونم

You can see links before reply
You can see links before reply

ادرس دوم در مورد DS1820 به زبان C هستش ولی خیلی به نظر کامل میاد امیدوارم بدرد بخوره

vahidasm
16-10-2010, 03:58
سلام
آقا رضا من تمام سعی خودمو تو این چند ساعته انجام دادم و بلاخره یه چیزی از این برنامه در آووردم
البته ناقصه(به علت کمبود وقت)
چیزایی که بهش اضافه کردم:
1 - set point و ذخیره اون که با قطع تغذیه پاک نشه
2 - lcd رو همونطور که خواسته بودی تنظیم کردم
3 - چهارتا رله رو تو مدار گذاشتم و طبق همون چیزی که گفته بودی کنترلشون کردم
باید بگم که دیگه فک نمیکنم چیز زیادی تا پایان این پروژه مونده باشه
فقط مونده مقدار ofs و مقدار f1
یه pdf هم درست کردم که تمامی توضیحاتش توش نوشته شده حتتتتما با دقت تمام بخونش

REZANEWS
19-10-2010, 21:16
سلام
آقا رضا من تمام سعی خودمو تو این چند ساعته انجام دادم و بلاخره یه چیزی از این برنامه در آووردم
البته ناقصه(به علت کمبود وقت)
چیزایی که بهش اضافه کردم:
1 - set point و ذخیره اون که با قطع تغذیه پاک نشه
2 - lcd رو همونطور که خواسته بودی تنظیم کردم
3 - چهارتا رله رو تو مدار گذاشتم و طبق همون چیزی که گفته بودی کنترلشون کردم
باید بگم که دیگه فک نمیکنم چیز زیادی تا پایان این پروژه مونده باشه
فقط مونده مقدار ofs و مقدار f1
یه pdf هم درست کردم که تمامی توضیحاتش توش نوشته شده حتتتتما با دقت تمام بخونش

سلام vahidasm عزیز
واقعا از شما ممنونم که روی این پروژه کار کردی
من این چند روزه اینترنت دم دستم نبود که یه سری به سایت بزنم بازم ازت تشکر میکنم
فردا مدارو مونتاژ میکنم بعد آی سی رو پروگرام ویه تست میگیرم تا اینجا که منو شرمنده کردی امیدوارم که هرچه زود تر کارت تموم شه تا ادامه پروژه رو زحمتشو بکشی بازم ازت ممنونم

morteza_rk
21-10-2010, 02:11
با تشکر از لطف صادقانه ی جناب vahidasm باید خطاب به دوست عزیزمون REZANEWS عرض کنم که زحمت انجام قسمت اصلی پروژه توسط vahidasm کشیده شده و فکر نمی کنم که درست باشه تا ایشون از اینجا به بعد کار رو هم انجام بدن!

از اینجا به بعد رو باید خودتون زحمتشو بکشید جناب REZANEWS !:sa:

خلاصه شما هم باید در روند ساخت وطراحی این پروژه چیزی یاد بگیرید. نه؟!

بهتره این کد رو که در اختیارتون قرار گرفته خودتون ویرایش کنید و هرجا که نتونستید به مقصود برسید کمک بخواید.

REZANEWS
22-10-2010, 12:48
با تشکر از لطف صادقانه ی جناب vahidasm باید خطاب به دوست عزیزمون rezanews عرض کنم که زحمت انجام قسمت اصلی پروژه توسط vahidasm کشیده شده و فکر نمی کنم که درست باشه تا ایشون از اینجا به بعد کار رو هم انجام بدن!

از اینجا به بعد رو باید خودتون زحمتشو بکشید جناب rezanews !:sa:

خلاصه شما هم باید در روند ساخت وطراحی این پروژه چیزی یاد بگیرید. نه؟!

بهتره این کد رو که در اختیارتون قرار گرفته خودتون ویرایش کنید و هرجا که نتونستید به مقصود برسید کمک بخواید.


با سلام
موافقم

vahidasm
24-10-2010, 21:15
سلام vahidasm عزیز
واقعا از شما ممنونم که روی این پروژه کار کردی
من این چند روزه اینترنت دم دستم نبود که یه سری به سایت بزنم بازم ازت تشکر میکنم
فردا مدارو مونتاژ میکنم بعد آی سی رو پروگرام ویه تست میگیرم تا اینجا که منو شرمنده کردی امیدوارم که هرچه زود تر کارت تموم شه تا ادامه پروژه رو زحمتشو بکشی بازم ازت ممنونم
سلام من برگشتم
خواهش میکنم دوست عزیز
من وظیفمه
راستش منم با آقا مرتضی موافقم
شما هم خوبه یه سری چیزا رو یاد بگیری(هر چه بیشتر تلاش بکنی بیشتر یاد میگیری)
اگه جایی مشکل داشتی بگو منم در حد توانم کمکت میکنم
شما هم کتاب آقای 1nafar رو دانلود کن چون بسکام رو خیلی خوب یاد داده
امیدوارم موفق یاشی

REZANEWS
25-10-2010, 00:18
ممنونم vahidasm عزيز