NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 2562 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 17 از 17

موضوع: راهنمایی در مورد سنسور DS18B20

  1. #1
    کاربر علاقه مند
    تاریخ عضویت
    Feb 2009
    نام
    Mshd
    نوشته ها
    76
    تشکر
    0
    تشکر شده 6 بار در 6 پست

    پیش فرض راهنمایی در مورد سنسور DS18B20

    همانطور که می دانید سنسور دما DS18B20 یک سنسور دیجیتال هست که توسط 1 Wire با AVR ارتباط برقرار می کند

    در کد ویژن هم یک فایل هدر برای این سنسور طراحی شده است که کار با این سنسور را ساده سازد

    اگر کسی در مورد نحوه کار با این سنسور در محیط کد ویژن ارطلاعاتی داشته باشد ممنون می شوم در اختیار من بگذارد

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  3. #2
    مدیرکل سایت kavir آواتار ها
    تاریخ عضویت
    Jun 2007
    نام
    زارعی
    نوشته ها
    3,547
    تشکر
    1,218
    تشکر شده 5,684 بار در 1,801 پست
    کویر ویدئو راه اندازی شد

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

  4. #3
    کاربر علاقه مند
    تاریخ عضویت
    Feb 2009
    نام
    Mshd
    نوشته ها
    76
    تشکر
    0
    تشکر شده 6 بار در 6 پست

    پیش فرض

    با تشکر از راهنمایی شما

    این پروژه با بسکام بود
    من دنبال فراگیری روش استفاده از DS18S20 در کدویژن هستم

    با تشکر

  5. #4
    مدیرکل سایت kavir آواتار ها
    تاریخ عضویت
    Jun 2007
    نام
    زارعی
    نوشته ها
    3,547
    تشکر
    1,218
    تشکر شده 5,684 بار در 1,801 پست

    پیش فرض

    حق با شماست
    دقت رو نوشته شما نداشتم
    Code for multiple DS1820/DS18B20 and parasite power:
    http://www.mikrocontroller.net/attac...4831/1wire.zip
    منبع:
    http://www.avrfreaks.net/index.php?n...topic&p=347550
    کویر ویدئو راه اندازی شد

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

  6. #5
    کاربر علاقه مند
    تاریخ عضویت
    Feb 2009
    نام
    Mshd
    نوشته ها
    76
    تشکر
    0
    تشکر شده 6 بار در 6 پست

    پیش فرض

    با تشکر ولی باز هم WinAVR بود
    شما با این سنسور کار کرده اید ؟

  7. #6
    مدیرکل سایت kavir آواتار ها
    تاریخ عضویت
    Jun 2007
    نام
    زارعی
    نوشته ها
    3,547
    تشکر
    1,218
    تشکر شده 5,684 بار در 1,801 پست

    پیش فرض

    سلام
    یه جستجو توی گوگل بکنید خیلی مثال هست
    و توی خود کدوِِیژن در قسمت مثال هاش ببینید
    به صورت عملی خیر نبستم
    کد:
    /* Multipoint thermometer with LCD display
       using the Maxim DS18B20
       1 Wire bus temperature sensors
    
       CodeVisionAVR C Compiler
       (C) 2000-2005 HP InfoTech S.R.L.
       www.hpinfotech.ro
    
       Chip: ATmega8515
       Memory Model: SMALL
       Data Stack Size: 128 bytes
       
       PLEASE MAKE SURE THAT THE CKSEL0..3 FUSE
       BITS ARE PROGRAMMED TO USE THE EXTERNAL
       3.6864MHz CLOCK SOURCE OF THE STK500 AND NOT
       THE INTERNAL 1MHz OSCILLATOR.
       The ATmega8515 chip comes from the factory
       with CKSEL0..3 fuse bits set to use the
       internal 1 MHz oscillator.
    
       The DS18B20 sensors are connected to
       bit 6 of PORTA of the ATmega8515 as follows:
    
       [DS18B20]     [STK500 PORTA HEADER]
        1 GND         -   9  GND
        2 DQ          -   7  PA6
        3 VDD         -  10 +5V
    
       All the temperature sensors must be connected
       in parallel
       
       AN 4.7k PULLUP RESISTOR MUST BE CONNECTED
       BETWEEN DQ (PA6) AND +5V !
    */
    #asm
        .equ __w1_port=0x1b
        .equ __w1_bit=6
    #endasm
    
    /* Use an 2x16 alphanumeric LCD connected
       to PORTC as follows:
    
      [LCD]   [STK500 PORTC HEADER]
       1 GND- 9  GND
       2 +5V- 10 VCC  
       3 VLC- LCD contrast control voltage 0..1V
       4 RS - 1  PC0
       5 RD - 2  PC1
       6 EN - 3  PC2
      11 D4 - 5  PC4
      12 D5 - 6  PC5
      13 D6 - 7  PC6
      14 D7 - 8  PC7
    */
    
    #asm
        .equ __lcd_port=0x15
    #endasm
    
    #include <lcd> // LCD driver routines
    #include <ds18b20>
    #include <delay>
    #include <stdio>
    
    char lcd_buffer[33];
    
    /* maximum number of DS18B20 connected to the 1 Wire bus */
    #define MAX_DEVICES 8
    
    /* DS18B20 devices ROM code storage area */
    unsigned char rom_code[MAX_DEVICES][9];
    
    main()
    {
    unsigned char i,j,devices;
    
    lcd_init(16);
    lcd_putsf("CodeVisionAVR\n1 Wire Bus Demo");
    delay_ms(2000);
    lcd_clear();
    
    /* detect how many DS18B20 devices
       are connected to the 1 Wire bus */
    devices=w1_search(0xf0,rom_code);
    sprintf(lcd_buffer,"%u DS18B20\nDevice detected",devices);
    lcd_puts(lcd_buffer);
    delay_ms(2000);
    
    /* display the ROM codes for each device */
    if (devices)
       {
       for (i=0;i<devices;i++)
           {
           sprintf(lcd_buffer,"Device #%u ROM\nCode is:",i+1);
           lcd_clear();
           lcd_puts(lcd_buffer);
           delay_ms(2000);
           lcd_clear();
           for (j=0;j<8;j++)
               {
               sprintf(lcd_buffer,"%02X ",rom_code[i][j]);
               lcd_puts(lcd_buffer);
               if (j==3) lcd_gotoxy(0,1);
               };
           delay_ms(5000);
           };
       }
    else
    while (1); /* stop here if no devices were found */
    
    /* configure each DS18B20 device for 12 bit temperature
       measurement resolution */
    for (i=0;i<devices;)
        if (!ds18b20_init(&rom_code[i++][0],20,30,DS18B20_12BIT_RES))
           {
           sprintf(lcd_buffer,"Init error for\ndevice #%u",i);
           lcd_clear();
           lcd_puts(lcd_buffer);
           while (1); /* stop here if init error */
           };
    
    /* measure and display the temperature(s) */       
    while (1)
          {
          j=1;
          for (i=0;i<devices;i++)
              {
              sprintf(lcd_buffer,"t%u=%+.3f\xdfC",j++,ds18b20_temperature(&rom_code[i][0]));
              lcd_clear();
              lcd_puts(lcd_buffer);
              delay_ms(500);
              };
          };
    }
    کویر ویدئو راه اندازی شد

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

  8. #7
    کاربر علاقه مند
    تاریخ عضویت
    Feb 2009
    نام
    Mshd
    نوشته ها
    76
    تشکر
    0
    تشکر شده 6 بار در 6 پست

    پیش فرض

    من بیشتر دنبال آشنایی با خود سنسور و پروکل ارتباطی اون هستم نه پروژه های انجام شده با اون

  9. #8
    مدیرکل سایت kavir آواتار ها
    تاریخ عضویت
    Jun 2007
    نام
    زارعی
    نوشته ها
    3,547
    تشکر
    1,218
    تشکر شده 5,684 بار در 1,801 پست

    پیش فرض

    خوب پروتکل که معموله اگه می خواین با تمامی قسمت ها آشنا بشین اون لینک هایی که دادم برای winavr رو بررسی کنید کتابخانه ها به صورت دستی هست و اگه روی دیتا شیت هم زوم کنید که چیز خاصی نمی مونه .فقط کمی وقت!!!
    کویر ویدئو راه اندازی شد

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

  10. #9
    کاربر ارشد 1nafar آواتار ها
    تاریخ عضویت
    Jul 2007
    نوشته ها
    2,745
    تشکر
    1,266
    تشکر شده 4,874 بار در 1,377 پست

    پیش فرض

    سلام
    شما در صورتی که به مسیر زیر در مکان نصب پروتوس برید یه پروژه حاضر و اماده وجود داره:
    Labcenter Electronics\Proteus 7 Professional\SAMPLES\VSM for AVR\One-Wire\DS18X20

  11. #10
    کاربر علاقه مند
    تاریخ عضویت
    Feb 2009
    نام
    Mshd
    نوشته ها
    76
    تشکر
    0
    تشکر شده 6 بار در 6 پست

    پیش فرض

    با تشکر
    لازم شد که برم دنبال winAVR چون تمام کدها بر اساس اون هست که من هیچی متوجه نمی شوم

  12. #11
    کاربر علاقه مند
    تاریخ عضویت
    Feb 2009
    نام
    Mshd
    نوشته ها
    76
    تشکر
    0
    تشکر شده 6 بار در 6 پست

    پیش فرض

    این المان چی هستش ؟

  13. #12
    کاربر ارشد 1nafar آواتار ها
    تاریخ عضویت
    Jul 2007
    نوشته ها
    2,745
    تشکر
    1,266
    تشکر شده 4,874 بار در 1,377 پست

    پیش فرض

    سلام

    این المان ، خروجی rs232 رو نسشون میده ، با شروع شدن شبیه سازی یه پنجره باز میشه و در داخل ان چیز های رو که شما با دستور print (توی بسکام ) به پروت rs232 فرستادی نمایش داده میشه
    توی همون چنجره امکان تایپ داده هم وجود داره

  14. #13
    کاربر علاقه مند
    تاریخ عضویت
    Feb 2009
    نام
    Mshd
    نوشته ها
    76
    تشکر
    0
    تشکر شده 6 بار در 6 پست

    پیش فرض

    پس مقادیری که تو پنجره دیده می شود اگر با RS232 میکرو را به کامپیوتر وصل کنیم تو پنجره ترمینال کدویژن نمایش داده میشه درسته ؟

    با تشکر از راهنمایی شما

    یک سوال دیگر هم داشتم اگر هر دو سنسور را DS18B20 بزاریم بدون تغییر در کدها جواب میده ؟

  15. #14
    کاربر علاقه مند
    تاریخ عضویت
    Sep 2007
    نوشته ها
    32
    تشکر
    10
    تشکر شده 0 بار در 0 پست

    پیش فرض

    سلام امیدوارم بهترین انتخاب رو برای مطرح کردن سوالم تو این تاپیک کرده باشم :
    من یک سیستم یوپی اس دارم درست می کنم و می خوام یک قابلیت رو بهش اضافه کنم و اون هم اینه که می خوام سنسوردمایی تعبیه کنم و با avr و یا arm که این سنسور رو متصل به باتری کنم و تا زمانی که دمای باتری اسیدی به 50 در جه نرسیده(برای مدت مشخص ) یو پی اس باتری رو از مدار خارج نکنه حال از چه سنسور و از چه میکرویی استفاده کنم بهتره ؟ smt 160 و یا lm 35DT و یا max 6577 البته نقشه ساخت یو پی اس رو ندارم البته اون چیزی که مشخصه اینه که میکرو باید یک رله رو قطع کنه که ب ه ترانسی وصل هست که برق شهر خروجی رو تامین میکنه !
    البته این رو هم بگم که اینجا یک رک باتری داریم (8 تا باتری داریم) البته این رو هم باید بگم ایا متصل کردن سنسور ها به تک تک باتری ها کار مناسب و مهندسی است یا نه و ایا سنسور ها رو به هد سینک وصل کنم و سپس روی باتری ها قرار بدم آیا دمای 50 درجهرو به من میده به صورت نسبتا دقیق این جا رو چه کار کنم دوستان ؟
    ممنون میشم دوستان راهنمایی کنن و نقشه هایی رو هم دارن بذارن یک دنیا ممنون (البته خودم سرچ کردم-)

  16. #15
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    سلام دوستان
    سال نو مبارک
    سوال دارم اگه دوستان میتونن لطفا کمک کنن
    1- حساسیت سنسور دمای DS18B20 به تغذیه در چه حدیه؟ خیلی حساس؟ یا....؟
    2- آیا میشه از تغذیه سوئیچینگ(LM2576-adj) برای تغذیه این سنسور استفاده کرد؟ یا حتما باید تغذیمون لینیر(LM7805 یا LM317) باشه؟
    _____________________________________
    _____________________________________

  17. #16
    کاربر علاقه مند
    تاریخ عضویت
    Oct 2011
    نوشته ها
    71
    تشکر
    69
    تشکر شده 55 بار در 33 پست

    پیش فرض

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

  18. کاربران : 2 تشکر کرده اند از شما bascom2 برای ارسال این پست سودمند:


  19. #17
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    ممنون بابت پاسخ
    حالا دو تا سوال دیگه:
    فرض کنید سنسور DS18B20 از طریق یه سیم 60 متری(سیم فلت 3 رشته) به میکرو وصل شده و با ولتاژ حدودا 3.8 ولت تغذیه میشه...
    1- چه مقاومتی پیشنهاد میکنید که با اون مسیر دیتا رو pull-up کنیم؟
    2- آیا فرمول خاصی برای محاسبه مقدار مقاومت به نسبت متراژ سیم وجود داره؟
    _____________________________________
    _____________________________________

  20. تشکرها از این نوشته :


موضوعات مشابه

  1. ds18b20+بسکام
    توسط ROBOMAN در انجمن AVR
    پاسخ: 3
    آخرين نوشته: 30-11-2015, 01:17
  2. Ds18b20
    توسط ANGEL در انجمن AVR
    پاسخ: 0
    آخرين نوشته: 06-09-2013, 03:06
  3. مشکل عجیب با سنسور ds18b20
    توسط علیدلی در انجمن AVR
    پاسخ: 10
    آخرين نوشته: 07-08-2013, 20:06
  4. سنسور ds18b20
    توسط bascom2 در انجمن AVR
    پاسخ: 1
    آخرين نوشته: 18-07-2013, 23:04
  5. کمک برای پروژه با سنسور ds18b20
    توسط sky_man847 در انجمن AVR
    پاسخ: 0
    آخرين نوشته: 02-07-2013, 14:58

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •