اطلاعیه

Collapse
No announcement yet.

[آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

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

    #61
    پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

    نوشته اصلی توسط •.´™ مَسِِــــح`.•
    فک کنم بخاطر نوع سیم باشه که حالت خازنی ایجاد میکنه و ارتباط رو مختل میکنه.
    با سیم شبکه cat5 تست کنید.
    ممنون از اینکه وقت می زارین
    سیمی که استفاده کرده ام سیم آیفون از نوع فویل دار هستش
    بعضی وقتا تا مدت ها درست کار میکنه اما بعضی وقت ها هم قاطی میکنه
    سنسور ها روی یه محفظه نصب شدن یکی با یه سیم حدودا 20 سانتی و دیگری با یه سیم حدودا 80 سانتی و اون سنسوری مشکل داره که با سیم 20 سانتی به برد وصل شده و اگه سنسور ها رو جاشونو با هم عوض کنم بازم همون سنسور اولیه مشکل داره در ضمن این سنسور همون سنسور شماره یکه(با توجه به رام کدش)
    بیشترین احتمالی که خودم میدم خرابی سنسوره ولی فعلا امکان تعویض سنسور نیست(عدم دسترسی به سنسور نو).

    دیدگاه


      #62
      پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

      شرمنده اشتباهی دوباره فرستاده بودم

      دیدگاه


        #63
        پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

        نوشته اصلی توسط hosseinsad
        ممنون از اینکه وقت می زارین
        سیمی که استفاده کرده ام سیم آیفون از نوع فویل دار هستش
        بعضی وقتا تا مدت ها درست کار میکنه اما بعضی وقت ها هم قاطی میکنه
        سنسور ها روی یه محفظه نصب شدن یکی با یه سیم حدودا 20 سانتی و دیگری با یه سیم حدودا 80 سانتی و اون سنسوری مشکل داره که با سیم 20 سانتی به برد وصل شده و اگه سنسور ها رو جاشونو با هم عوض کنم بازم همون سنسور اولیه مشکل داره در ضمن این سنسور همون سنسور شماره یکه(با توجه به رام کدش)
        بیشترین احتمالی که خودم میدم خرابی سنسوره ولی فعلا امکان تعویض سنسور نیست(عدم دسترسی به سنسور نو).
        وقتی میگین حتی با جابه جا کردن سنسورها ، سنسور مشکل دار به خطا میفته دیگه راهی جز تعویض نیست.
        .The best question deserves a better answer
        =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
        «پناه»می برم «به خدا»
        از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
        محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

        دیدگاه


          #64
          پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

          من برنامه رو نوشتم اما درست کار نمیکنه
          مقدار خوانده شده ضربدر 10 شده و روی lcd نشون میده و اعشار هم نداره
          متغیر دما رو float گذاشتم و


          temp=ds1820_temperature_10(&rom_codes[0][0]);
          sprintf(buffers,"T:%f",temp);
          lcd_clear();
          lcd_puts(buffers);
          چرا درست کار نمیکنه
          گوته میگه: برای بدست اوردن چیزایی که تا حالا نداشتی، باید آدمی بشی که تا حالا نبودی

          دیدگاه


            #65
            پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

            سنسوری که داخل پروتیوس هست ds18s20 هست اما داخل کدویژن ds1820 هست و سنسور که من دارم ds18b20 هست مشکل از این که نیست؟ :eek:
            گوته میگه: برای بدست اوردن چیزایی که تا حالا نداشتی، باید آدمی بشی که تا حالا نبودی

            دیدگاه


              #66
              پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

              با سلام
              ما 8 تا سنسور رو به یه اتاقی یا دستگاهی اختصاص می دهیم و دما ها رو میخونیم همه چی هم اوکی هستش !
              ولی وقتی یکی از سنسور ها بسوزن و بخوا یم عوض کنیم دیگه ترتیب اونا به هم میریزه!!!!!!!!!!!!!! :angry:
              از اساتید محترم کسی هست این مشکل رو حل کرده باشه یا بگه چطور میشه به هر پایه میکرو یک سنسور نسبت داد؟
              که در این صورت مشکل حل میشه
              mrg

              دیدگاه


                #67
                پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

                نوشته اصلی توسط SAEED.KH
                من برنامه رو نوشتم اما درست کار نمیکنه
                مقدار خوانده شده ضربدر 10 شده و روی lcd نشون میده و اعشار هم نداره
                متغیر دما رو float گذاشتم و


                temp=ds1820_temperature_10(&rom_codes[0][0]);
                sprintf(buffers,"T:%f",temp);
                lcd_clear();
                lcd_puts(buffers);
                چرا درست کار نمیکنه
                توضیحاتتون کامل نیست
                .The best question deserves a better answer
                =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
                «پناه»می برم «به خدا»
                از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
                محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

                دیدگاه


                  #68
                  پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

                  نوشته اصلی توسط mrgmrg
                  با سلام
                  ما 8 تا سنسور رو به یه اتاقی یا دستگاهی اختصاص می دهیم و دما ها رو میخونیم همه چی هم اوکی هستش !
                  ولی وقتی یکی از سنسور ها بسوزن و بخوا یم عوض کنیم دیگه ترتیب اونا به هم میریزه!!!!!!!!!!!!!! :angry:
                  از اساتید محترم کسی هست این مشکل رو حل کرده باشه یا بگه چطور میشه به هر پایه میکرو یک سنسور نسبت داد؟
                  که در این صورت مشکل حل میشه
                  در برنامه نویسی مکانیزمی ایجاد کنید که هر بار سیستم روشن میشه سریال سنسور ها خونده بشه که این مشکل پیش نیاد.
                  .The best question deserves a better answer
                  =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
                  «پناه»می برم «به خدا»
                  از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
                  محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

                  دیدگاه


                    #69
                    پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

                    سلام
                    ممنون که جواب دادین
                    ولی در این صورت تعداد اطلاعاتی که باید رد و بدل بشن زیاد میشه اگه سنسورها بشن 200 تا دیگه بدتر و اگر به صورت پروژه تحویل مشتری بدی باید هر سنسوری رو کدش رو هم بعد از تعویض به سیستم معرفی کنی که شاید سیستم رو پیچیده تر کنه و بیشتر هنگ و قاطی کنه
                    اخه توی بسکام همچین کاری رو میشه کرد یعنی شما به هر پایه میکرو سنسوری رو وصل میکنید وهر پایه رو که خواستین فراخوانی میکنین و سنسور هر پایه ای قطع بشه معلوم میشه ولی با بسکام هم یه مشکلی داشتم و اون اینکه توی کد ویژن میشه همه دما هارو خوند بعد یکجا با کد زیر ارسال کرد به کامپیوتر
                    printf("T1=%5.1f ,T2=%5.1f , T3=%5.1f, ..., T8=%5.1f" , temp1,temp2,temp3 ,...,temp8);
                    ولی توی بسکام نتونستم معادل این کد ها رو پیدا کنم
                    mrg

                    دیدگاه


                      #70
                      اندازه گیری دمای منفی

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

                      دیدگاه


                        #71
                        پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

                        نوشته اصلی توسط mrgmrg
                        سلام
                        ممنون که جواب دادین
                        ولی در این صورت تعداد اطلاعاتی که باید رد و بدل بشن زیاد میشه اگه سنسورها بشن 200 تا دیگه بدتر و اگر به صورت پروژه تحویل مشتری بدی باید هر سنسوری رو کدش رو هم بعد از تعویض به سیستم معرفی کنی که شاید سیستم رو پیچیده تر کنه و بیشتر هنگ و قاطی کنه
                        اخه توی بسکام همچین کاری رو میشه کرد یعنی شما به هر پایه میکرو سنسوری رو وصل میکنید وهر پایه رو که خواستین فراخوانی میکنین و سنسور هر پایه ای قطع بشه معلوم میشه ولی با بسکام هم یه مشکلی داشتم و اون اینکه توی کد ویژن میشه همه دما هارو خوند بعد یکجا با کد زیر ارسال کرد به کامپیوتر
                        printf("T1=%5.1f ,T2=%5.1f , T3=%5.1f, ..., T8=%5.1f" , temp1,temp2,temp3 ,...,temp8);
                        ولی توی بسکام نتونستم معادل این کد ها رو پیدا کنم
                        بخاطر محدودیت ادرس شما نهایتا قادر به راه اندازی 128 عدد می باشید.
                        لازم نیست سریال ها ذخیره شوند.
                        منظورم اینه وقتی چند سنسور روی خط هستند میکرو برای اینکه بخاد سنسور شماره 34 رو صدا بزنه باید سریلاشو بدون یا نه؟
                        پس باید هر بار میکرو روشن میشه سریال ها خونده بشه و در یک متغییر ب صورت مجزا ریخته بشه.
                        .The best question deserves a better answer
                        =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
                        «پناه»می برم «به خدا»
                        از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
                        محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

                        دیدگاه


                          #72
                          پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

                          با سلام
                          ممنون از راهنماییهای شما
                          پس با سریال امتحان کنم ببینم میتونم :agree:
                          mrg

                          دیدگاه


                            #73
                            پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

                            سلام
                            .´™ مَسِِــــح`. از توضیحات خوبتون ممنونم.
                            من برنامه ای که گفتید نوشتم دوتا سنسور گذاشتم که دوتاشو میکرو میشناسه و ok میده :nice:
                            ولی روی lcd دما رو نشون نمیده :cry: و عبارت زیر رو می نویسه:
                            2fF(درجه)t1=2fc
                            و همینطور برای سنسور دومی
                            در sprintf(lcd_array,"t%u=%.2fC",i+1,ds18b2 0_temperature(&rom_codes[i][0]));
                            عبارت2fc. % رو میشه توضیح بدید ؟عدد (2.) برای چیه؟
                            ممنون میشم کمکم کنید.
                            کد برنامه:

                            کد:
                            ds1820_devices =w1_search(0xf0,rom_codes);  
                            for (i=0 ;i<ds1820_devices ;i++)
                              {
                              sprintf(lcd_array,"INIT DEVICE #%-u ",i+1); 
                              lcd_clear();
                              lcd_puts(lcd_array); 
                              lcd_gotoxy(0,1);
                              if (ds18b20_init(&rom_codes[i][0],0,120,DS18B20_12BIT_RES))
                                lcd_putsf("OK"); 
                                else 
                                lcd_putsf("ERROR");  
                                delay_ms(1000);
                              }  
                            lcd_clear();
                            while (1)
                               {
                                
                                  for (i=0;i<ds1820_devices;i++){ 
                                     sprintf(lcd_array,"t%u=%.2fC",i+1,ds18b20_temperature(&rom_codes[i][0]));   //celsius
                                     lcd_gotoxy(0,i);  
                                     lcd_puts(lcd_array); 
                                     lcd_putchar(0xDF); 
                                     sprintf(lcd_array,"%.2fF",((1.8*ds18b20_temperature(&rom_codes[i][0]))+32));  //farenhait
                                     lcd_puts(lcd_array);
                                     }
                                
                               }

                            دیدگاه


                              #74
                              پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

                              نوشته اصلی توسط msj313
                              سلام
                              .´™ مَسِِــــح`. از توضیحات خوبتون ممنونم.
                              من برنامه ای که گفتید نوشتم دوتا سنسور گذاشتم که دوتاشو میکرو میشناسه و ok میده :nice:
                              ولی روی lcd دما رو نشون نمیده :cry: و عبارت زیر رو می نویسه:
                              2fF(درجه)t1=2fc
                              و همینطور برای سنسور دومی
                              در sprintf(lcd_array,"t%u=%.2fC",i+1,ds18b2 0_temperature(&rom_codes[i][0]));
                              عبارت2fc. % رو میشه توضیح بدید ؟عدد (2.) برای چیه؟
                              ممنون میشم کمکم کنید.
                              کد برنامه:

                              کد:
                              ds1820_devices =w1_search(0xf0,rom_codes);  
                              for (i=0 ;i<ds1820_devices ;i++)
                                {
                                sprintf(lcd_array,"INIT DEVICE #%-u ",i+1); 
                                lcd_clear();
                                lcd_puts(lcd_array); 
                                lcd_gotoxy(0,1);
                                if (ds18b20_init(&rom_codes[i][0],0,120,DS18B20_12BIT_RES))
                                  lcd_putsf("OK"); 
                                  else 
                                  lcd_putsf("ERROR");  
                                  delay_ms(1000);
                                }  
                              lcd_clear();
                              while (1)
                                 {
                                  
                                    for (i=0;i<ds1820_devices;i++){ 
                                       sprintf(lcd_array,"t%u=%.2fC",i+1,ds18b20_temperature(&rom_codes[i][0]));   //celsius
                                       lcd_gotoxy(0,i);  
                                       lcd_puts(lcd_array); 
                                       lcd_putchar(0xDF); 
                                       sprintf(lcd_array,"%.2fF",((1.8*ds18b20_temperature(&rom_codes[i][0]))+32));  //farenhait
                                       lcd_puts(lcd_array);
                                       }
                                  
                                 }
                              فکر کمک شما مشخصات sprintf رو درست نکردین. باید برید اون بالای کد ویژن از توی پروژه و کانفیگور و یعد مشخصات پروژه ویژگی sprintf رو float کنید چون احتمالا الان فقط عدد صحیح میخواد نشون بده.

                              دیدگاه


                                #75
                                پاسخ : [آموزش] راه اندازی سنسور دمای DS18B20 با کد ویژن

                                سلام بچه ها. .´™ مَسِِــــح`. خوب هستید ؟ تشکر بایت آموزشتون.
                                اقا من توی پروتئوس جواب میگیرم ولی توی عمل که میبندم جواب نمیده. :cry2:
                                توی پروتئوس وقتی میزنم بهم 1 رو برمیگردونه که یعنی سنسور رو شناخته ولی توی عمل 0 رو نشون میده. :angry:
                                مقاومت 4.7 چقدر مهم هست. مقدار دیگه باشه مثلا 10 کیلو خیلی فرق داره ؟
                                ممکنه سنسور سوخته باشه ؟

                                دیدگاه

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