اطلاعیه

Collapse
No announcement yet.

درخواست راهنمایی برای ساخت حرارت سنج

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    درخواست راهنمایی برای ساخت حرارت سنج

    سلام
    خسته نباشید
    دو تا سوال داشتم (؟)
    1-می خواستم از دو تا سنسور حرارت که به یک آنالوگ به دیجیتال وصل شده اطلاعات رو بخونم و روی ال سی دی نشون بدم. می خواستم بگم این کار عملیه؟ یعنی با یک آنالوگ به دیجیتال میشه همچین کاری کرد ؟ اگه میشه لطف کنید شمارشو بگید و ترجیحا" داخل پروتیوس هم باشه.
    و اگر نمیشه از چه روشی می تونم استفاده کنم یعنی نمیشه این دو تا سنسورو به یک سویچ وصل کرد وکاری کرد که 8051 هر دفعه یه دونه رو راه اندازی کنه؟
    یا باید از دو تا آنالوگ به دیجیتال استفاده کنم؟

    2- برنامه خوندن از سنسور در کتاب مزیدی صفحه 215 نوشته شده ولی خط هفتمش میگه باید اطلاعات رو به اسکی تبدیل کنم بعد بفرستم روی ال سی دی راهنماییم میکنید چه طوری؟

    سنسورم lm35 or lm34
    میکرو هم 8051
    ال سی دی 16*2
    ممنون و متشکرم از زحماتی که می کشید...
    Elecspace2@yahoo.com
    http://upload.tehran98.com/img1/b1cx...jmzq_thumb.gif

    #2
    ادامه...

    سلام.

    البته این سوال بنده رو آقای نحوی فرمودند و اضافه کردن که بهتره این سوال رو توی انجمن مطرح کنم تا همه.......................

    ایشون فرمودن که باید از مالتی پلکیر استفاده کنم .
    ولی من تا به حال از مالتی پلکسر استفاده نکردم
    من عکس پروژه رو براتون گذاشتم
    http://i7.tinypic.com/24vuwsn.jpg

    اگه لطف کنین و نحوه قرار گرفتن مالتی پلکسر رو در اون مشخص کنید و بذارید تو سایت .
    و یه نمونه برنامه هم برای کمک بهم بنویسید تا مشکلم حل شه.
    ممنون و متشکر از زحماتی که می کشید
    http://upload.tehran98.com/img1/b1cx...jmzq_thumb.gif

    دیدگاه


      #3
      درخواست راهنمایی برای ساخت حرارت سنج

      من هم دارم همین پروژه رو انجام میدم.
      البته من کار های عملیش رو انجام دادم.(فقط روی برد بورد).
      فقط مونده میزان ولتاژ 0 درجه و 100 درجه اش رو در بیارم و میزان VREF رو.
      البته توی پروتئوس شبیه سازیش نکردم.
      الهم عجل لولیک الفرج

      دیدگاه


        #4
        جواب a

        سلام خسته نباشید
        خیلی ممنون که جواب دادین.
        یعنی شما قبل از اینکه توی پروتیوس شبیه سازی کنید اونو روی برد بستین؟ :roll:

        شما از دو سنسور استفاده کردین؟ 1
        2شماره adc ؟
        3و ایا از مالتی پلکس برای این کار استفاده کردین؟

        4 چه طور وقتی از یک آنالوگ به دیجیتال می خونم اونو به اسکی تبدیل کنم؟

        ممنون و متشکرم از زحماتی که می کشید...
        http://upload.tehran98.com/img1/b1cx...jmzq_thumb.gif

        دیدگاه


          #5
          درخواست راهنمایی برای ساخت حرارت سنج

          سلام.
          من از یک سنسور استفاده کردم.
          ولی میشه با همون مولتی پلکس کردن این کار رو انجام داد.
          یعنی تغذیه سنسور رو با یک ترانزیستور تامین کنید و بیس ترانزیستور رو به یک پایه میکرو وصل کنید.
          اینجوری از بیشتر از 2 تا سنسور هم میتونید بخونید.
          من از ADC0804 که یک مبدل آنالوگ به دیجیتال 8 بیتی هست استفاده کردم.
          اتفاقا بعد از ظهری جواب داد. ولی کامل نیست.
          برای کامل کردنش باید از C استفاده کنم.
          روی ال سی دی اگر میخواهید نمایش بدید باید با تقسیم های متوال عدد رو به رشته تبدیل کنید(منم همین کار رو کردم).

          کد:
          NUM_TO_TX:   ;---------------------------NUMBER TO TEXT
          MOV 8, #3
          MOV A, NUMTOTEX
          MOV B, #100
          DIV AB
          ADD A, #48
          MOV 9, A
          MOV A, B
          MOV B, #10
          DIV AB
          ADD A, #48
          MOV 10, A
          MOV A, B
          ADD A, #48
          MOV 11, A
          RET   ;--------------------------------END NUMBER TO TEXT
          توی این تیکه کد NUMTOTEX عددی رو که باید به متن تبدیل بشه نگه میداره.
          در آدرس 8 از حافظه رم عدد 3 نوشته شده (تعداد کاراکتر)
          و در آدرسهای 9 و 10 و 11 هم تکستش نوشته میشه و برنامه میتونه از این آدرسها بخونه و روی LCD بنویسه.

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

          دیدگاه


            #6
            درخواست راهنمایی برای ساخت حرارت سنج

            سلام دوست عزیز
            می خواستم بدونم حتما باید با 8051 این پروژه رو انجام بدین؟
            در دیر مغان آمد یارم قدحی در دست
            مست از می می خواران از نرگس مستش مست

            دیدگاه


              #7
              جواب..

              سلام خسته نباشید.
              خیلی ممنون که جواب دادین.
              اینکه شما گفتید در حقیقت باید با استفاده از ترانزیستورها عمل سویچ رو بین سنسور ها انجام بدم.
              ولی به نظرم این کار به همین سادگی ها نباشه و ممکنه مشکلاتی رو هم بدنبال داشته باشه....
              این برنامه که نوشتین برای اینکه یه دیتا رو به ال سی دی منتقل کنیم؟
              اگه منظورتون اینه که برنامه مشکلی (ناجور) برای این کار انتخاب کردین.
              خوب بجای اینکه همیشه تقسیمهای متوالی انجام بدیم می تونیم بقول آقای نحوی اون رو با 30 هگز اور کنیم

              ORG 00H
              MOV A,#30H
              CALL COMMAND
              MOV A,#0EH
              CALL COMMAND
              MOV A,#01H
              CALL COMMAND
              NOP
              CLR A
              MOV DPTR,#mydata1
              MOVC A,@A+DPTR
              JZ ENDING
              ACALL COMMAND
              :********************************
              COMMAND: ACALL REDY ;IS LCD READY?
              MOV P3,A ;ISSYE DATA
              SETB P2,0 ;RS=1 FOR DATA
              CLR P2,1 ;R/W=0 TO WRITE TO LCD
              SETB P2,2 ;E=1 FOR H-TO-L PULSE
              CLR P2,2 ;E=0 , LATCH IN
              RET

              mydata1: db '<<tempercure>>',0
              end

              البته این برنامه نصفو نیمست فقط گذاشتم تا بگم از این روش راحتر می تونید به نتیجه برسید
              توی این برنامه از or 30h استفاده نکردم. چون جیزی رو از ورودی نخوندم فقط دیتا فرستادم روی ال سی دی
              بذارید پروژه که کامل جواب داد همشو با هم بذارم توی سایت.
              من تقریبا" جواب سوالامو گرفتم و میرم به امید خدا کاملش کنم
              ممنون و متشکرم از زحماتی که می کشید...
              Elecspace2@yahoo.com
              http://upload.tehran98.com/img1/b1cx...jmzq_thumb.gif

              دیدگاه


                #8
                جواب....

                سلام خسته نباشید.
                خیلی ممنون که جواب دادین.
                آقا محمد من تازه کارم و فقط 8051 رو بلدم (یه کوچولو). ایشالا در زمانهای بعدی برای میکرو های دیگه حتما" مزاحم شما میشم.
                ممنون و متشکرم از زحماتی که می کشید...
                Elecspace2@yahoo.com
                http://upload.tehran98.com/img1/b1cx...jmzq_thumb.gif

                دیدگاه


                  #9
                  درخواست راهنمایی برای ساخت حرارت سنج

                  سلام دوست عزیز
                  شما می تونید از یک مالتی پلکسر استفاده کنید، اگه اشتباه نکنم آی سی 4051 مالتی پلکسه.
                  اینکه پرسیدم حتما باید از 8051 استفاده کنید به خاطر این بود که AVR ها این مالتی پلکسر رو دارند.یعنی AVR یک ADC داره که به یک مالتی پلکسر با مثلا 8 کانال متصله.
                  در دیر مغان آمد یارم قدحی در دست
                  مست از می می خواران از نرگس مستش مست

                  دیدگاه


                    #10
                    درخواست

                    سلام آقای نحوی

                    من تقریبا" با راهنماییهای که کردین برنامه حرارت سنج رو نوشتم و تقریبا" هم (روی ال سی دی) جواب گرفتم.
                    ولی یه مشکلی دارم !!!! اونم اینکه نمی دونم از کدوم آنالوگ به دیجیتال استفاده کنم؟
                    والا همه می گن 804!!!

                    ولی مشکلم اینکه توی پروتیوس 804 نیست. و منم ازADC0841 استفاده می کنم در کتابخانه NATDAC که متا سفانه نمی تونه این قطعه رو شبیه سازی کنه و ارور می گیره!!!
                    اصلا" تمام قطعات کتابخونه NATDAC بالاش نوشته NO Simulator model چرا؟
                    حالا از شما می خوام یه ADC معرفی کنید که توی پروتیوس باشه و شبیه سازی شده هم باشه
                    و همینطور سنسور!!
                    چون وقتی سنسورLM35رو می بندم پروتیوس ارور میده

                    SIMULATION LOG
                    ==============
                    Compiling netlist...
                    Linking netlist...
                    Partition analysis...
                    ERROR [PSM] : No model specified for 'U2'. " ADC 0841 "
                    ERROR [PSM] : No model specified for 'U3'. " LM35"
                    Simulation FAILED due to partition analysis error(s).


                    ممنون و متشکرم از زحماتی که می کشید...
                    Elecspace2@yahoo.com

                    [img][/img][img][/img]
                    http://upload.tehran98.com/img1/b1cx...jmzq_thumb.gif

                    دیدگاه


                      #11
                      درخواست راهنمایی برای ساخت حرارت سنج

                      سلام .خوبی دوست عزیز؟
                      اگه ورژن پروتئوستون بالاتر از 6.3 هست توی قسمت قطعات سرچ کنید ADC از گزینه هایی که میارده برید در زیر مجموعه data converter . اونجا انواع ADC ها هست اون ADC ای هم که شما می خواهید شماره اش اینه ADC0804 . فقط دقت کنید زمانی که قطعه رو انتخاب کردید جایی که تصویرش رو نشون میده بالاش نباید نوشته باشه که no model sim .
                      موفق باشید.
                      شأن انسان در ایمان و هجرت و جهاد است و هجرت، مقدمهآ‌ی جهاد فیآ‌سبیلآ‌الله.
                      هجرت، هجرت از سنگینیآ‌هاست و جاذبهآ‌هایی که تو را به خاک میآ‌چسباند.
                      چکمهآ‌هایت را بپوش، رهآ‌توشهآ‌ات را بردار و هجرت کن.

                      دیدگاه


                        #12
                        درخواست راهنمایی برای ساخت حرارت سنج

                        سلام.

                        میگم مگه پروتئوس سنسور رو هم میتونه سیموله کنه؟
                        سنسور به عوامل محیطی مربوط میشه که.

                        الک اسپیس نگفتی برای مولتی پلکس کردنش چیکار کردی.


                        راستی اینم بگم که LM35 ای که توی ایران هست (همینا که شبیه به این ترانزیستور کوچولوهاست) برای هوا درست کار نمیکنه.
                        برای اینکه هوا روسنس کنید مجبورید از این سنسورهای دیجیتالی که بدنه فلزی دارند استفاده بکنید.
                        من LM35 رو توی آب تست کردم خوب جواب داد ولی توی هوا نه (دمای هوا رو بیشتر نشون میداد).
                        من داشتم از سرما میلرزیدم اما سنسور میگفت هوا 35 درجه هست
                        ولی توی آب خوب جواب داد.
                        الهم عجل لولیک الفرج

                        دیدگاه


                          #13
                          sorry

                          سلام. خسته نباشید.
                          متاسفانه تمام adc های پروتیوس no model هستن.!!!

                          پس چاره ایی نیست باید کلک رشتی بزنم!!!
                          ...................;***************************
                          آقای ایران پی سی:
                          شما مطمین هستین که lm 35 تو هوا خوب کار نمی کنه؟
                          شاید بد تست کردین و همه شرایط رو در نظر نگرفتید!!!



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

                          ممنون و متشکرم از زحماتی که می کشید...
                          Elecspace2@yahoo.com
                          http://upload.tehran98.com/img1/b1cx...jmzq_thumb.gif

                          دیدگاه


                            #14
                            sorry

                            :?:
                            http://upload.tehran98.com/img1/b1cx...jmzq_thumb.gif

                            دیدگاه


                              #15
                              سوال

                              سلام خسته نباشید.
                              آقا من یه سوال دارم.
                              من بجای adc فعلا" از یه شمارنده برای تست برنامه استفاده کردم.(شمارنده 12 بیتی باینری )
                              چه طور یه دیتا رو که از پورت مثلا" 1 میخونیم رو تبدیل به اسکی کنم (برای فرستادن به ال سی دی) ؟
                              مثلا" از ورودی خوندم 00101110 , یعنی 2Eh ,. خوب معادل این دیتا به اسکی چی میشه؟
                              آیا باید اونو با 30 هگز اور کنم بعد بفرستم؟
                              اگه این کارو بکنم هربار علامتهای مختلفی روی ال سی دی نمایش داده خواهد شد.
                              راه دیگه:
                              وقتی از ورودی خوندم اونو به دوقسمت تقسیم کردم ( با and کردن ) و هربار یه قسمت رو با 30 اور کردم و به ال سی دی دادم (جاهای مختلف dd1 , dd2 ) . با این روش عدد های زیر 09خوب کار میکنه اما بازم مشکلش اینکه مثلا0A رو نمی تونه تبدیل کنه.

                              MOV P1,#0FFH
                              l6: MOV A,p1
                              ACALL TABDIL
                              CALL deley1
                              sjmp l6
                              end


                              TABDIL: MOV R2,A
                              ANL A,#0FH
                              ORL A,#30H
                              ACALL DD1
                              MOV A,R2
                              SWAP A
                              ANL A,#0FH
                              ORL A,#30H
                              ACALL DD2
                              RET


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

                              ممنون و متشکرم از زحماتی که می کشید...
                              Elecspace2@yahoo.com
                              http://upload.tehran98.com/img1/b1cx...jmzq_thumb.gif

                              دیدگاه

                              لطفا صبر کنید...
                              X