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

موضوع: مدار اندازه گیری فشا هوا بر حسب پاسکال

  1. #1
    کاربر علاقه مند
    تاریخ عضویت
    Oct 2012
    نوشته ها
    27
    تشکر
    21
    تشکر شده 2 بار در 1 پست

    New مدار اندازه گیری فشا هوا بر حسب پاسکال

    با سلام خدمت مهندسین عزیز میخوام یه فشار سنج طراحی کنم که فشار محیط رو بر حسب پاسکال بسنجه چه سنسوری خوبه من اینو پیدا کردم نظر شما چیه؟

    يك ماژول فشار بارومتريك با دقت بالا و جريان مصرفي پايين است. اين ماژول ميتواند فشار بين 300 تا 1100 هكتوپاسكال را با دقت مطلق 0.03 هكتوپاسكال اندازه گيري نمايد.همچنين قابليت اندازه گيري دماي محيط را دارا ميباشد. BMP085 بر اساس تكنولوژي مقاومت پيزوالكتريك ياPiezo-resistive طراحي و توليد شده. استفاده از اين تكنولوژي دقت بالا، خطي بودن و پايداري طولاني مدت را براي اين سنسور فراهم نموده است.


    مشخصات:
    رنج گسترده در اندازه گيري فشار بارومتريك (300 تا 1100 هكتوپاسكال)
    رنج اندازه گيري ارتفاع از 500 متر پايينتر از سطح دريا تا 9000 متر بالاتر از سطح دريا.
    ولتاژ تغذيه 1.8 تا 3.6 ولت
    جريان مصرفي 5 ميكرو آمپر در حالت استاندارد
    نويز پايين در اندازه گيري
    قابليت اندازه گيري دما با دقت 0.1 درجه سانتيگراد
    خروجي ديجيتال با رابط I2C
    كاملا كاليبره شده
    قابليت تحمل فشار تا 10000 هكتوپاسكال


    سنسور فشار بارومتریك یعنی چی؟

    من میخواهم این سنسور را راه اندازی کنم اما من چون با i2c فقط با ds1307
    کار کردم نمیدونم چطوری باید با این کار کنم کتابخونه رو دانلود کردم و در مسیر کدویژن کپی کردم اما نمیدونم با چه دستوراتی فرا خوانی و برنامه نویسی کنم
    C:\cvavr\INC
    بعد اگر این سنسوررا در هوای شهر مثل شهر کرج یا تهران قرار دهم میتواند پاسکال محیط را اندازه بگیرد؟


    دوستان و مهندسین بزرگوار اگر این بنده حقیر را راهنمایی بفرمایید بسیار سپاسگزارم
    ویرایش توسط imannejaty : 12-03-2015 در ساعت 01:43

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

  3. #2
    کاربر فعال
    تاریخ عضویت
    Aug 2011
    نام
    Dany
    نوشته ها
    257
    تشکر
    138
    تشکر شده 185 بار در 106 پست

    پیش فرض

    سلام ...
    در مورد باومتریک با یک سرچ کوچیک می تونستی توی ویکی پدیا معنیشو پیدا کنی
    فشار بارومتریک یا فشار اتمسفر نیرویی است که اتمسفر بر یک نقطه وارد می کنه خیلی ساده تر می شه وزن هوایی که روی اون نقطه قرار داره واحدآن هم میلی بار(millibars=mb) یا به صورت میلی متر جیوه یا اینچ بر جیوه بیان می شه
    که فشار معمولی در سطح دریا 1013.3 میلی بار(29.92 اینچ بر جیوه) می باشد
    تغییرات یا نوسانات این مقدار به شرایط آب هوایی بستگی دارد و همچنین با تغییر ارتفاع و رطوبت مقدار فشار تغییر می کند
    خب حالا بریم قسمت برنامه نویسی توی نت بگردی مثال پیدا می کنی هدری هم که برایم فرستادی یکم اصلاح کردم حالا امتحان کن
    BMP085
    این هدر را در همون مسیر cvavr\inc کپی کن بعد با دستور زیر درفایل c اینکلودش کن
    کد:
    #include <BMP085.h>
    اینجا هم یک مثال هست ببین بدردت می خوره
    variostudio/AtTinyBMP085 · GitHub
    دیتاشیتش هم خوب مطالعه کن
    موفق باشی
    ویرایش توسط skiboys : 22-04-2015 در ساعت 22:27

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


  5. #3
    کاربر علاقه مند
    تاریخ عضویت
    Oct 2012
    نوشته ها
    27
    تشکر
    21
    تشکر شده 2 بار در 1 پست

    New

    با سلام ممنون که سوالم را جواب دادی
    ولی جواب نگرفتم شما خودت برنامه رو تو کدویژن کامپایل کردی
    به خطای زیر میرسی خوب اول کل برنامه رو که نوشتم ببین
    کد:
    /*****************************************************
    This program was produced by the
    CodeWizardAVR V2.05.0 Advanced
    Automatic Program Generator
    © Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
    http://www.hpinfotech.com
    
    Project : 
    Version : 
    Date    : 4/24/2015
    Author  : www.Eca.ir *** www.Webkade.ir
    Company : 
    Comments: 
    
    
    Chip type               : ATmega16
    Program type            : Application
    AVR Core Clock frequency: 8.000000 MHz
    Memory model            : Small
    External RAM size       : 0
    Data Stack size         : 256
    *****************************************************/
    
    #include <mega16.h>
    #include <delay.h>
    
    // I2C Bus functions
    #asm
       .equ __i2c_port=0x15 ;PORTC
       .equ __sda_bit=1
       .equ __scl_bit=0
    #endasm
    #include <i2c.h>
    #include <BMP085.h>
    
    
    
    // Alphanumeric LCD Module functions
    #include <alcd.h>
    
    // Declare your global variables here
     long int p=0,h=0,T=0;
     char buffer [60];
    
    void main(void)
    {
    // Declare your local variables here
    
    // Input/Output Ports initialization
    // Port A initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTA=0x00;
    DDRA=0x00;
    
    // Port B initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTB=0x00;
    DDRB=0x00;
    
    // Port C initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTC=0x00;
    DDRC=0x00;
    
    // Port D initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
    PORTD=0x00;
    DDRD=0x00;
    
    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: Timer 0 Stopped
    // Mode: Normal top=0xFF
    // OC0 output: Disconnected
    TCCR0=0x00;
    TCNT0=0x00;
    OCR0=0x00;
    
    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: Timer1 Stopped
    // Mode: Normal top=0xFFFF
    // OC1A output: Discon.
    // OC1B output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: Off
    // Compare B Match Interrupt: Off
    TCCR1A=0x00;
    TCCR1B=0x00;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x00;
    OCR1BH=0x00;
    OCR1BL=0x00;
    
    // Timer/Counter 2 initialization
    // Clock source: System Clock
    // Clock value: Timer2 Stopped
    // Mode: Normal top=0xFF
    // OC2 output: Disconnected
    ASSR=0x00;
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;
    
    // External Interrupt(s) initialization
    // INT0: Off
    // INT1: Off
    // INT2: Off
    MCUCR=0x00;
    MCUCSR=0x00;
    
    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=0x00;
    
    // USART initialization
    // USART disabled
    UCSRB=0x00;
    
    // Analog Comparator initialization
    // Analog Comparator: Off
    // Analog Comparator Input Capture by Timer/Counter 1: Off
    ACSR=0x80;
    SFIOR=0x00;
    
    // ADC initialization
    // ADC disabled
    ADCSRA=0x00;
    
    // SPI initialization
    // SPI disabled
    SPCR=0x00;
    
    // TWI initialization
    // TWI disabled
    TWCR=0x00;
    
    // I2C Bus initialization
    i2c_init();
    
    // Alphanumeric LCD initialization
    // Connections specified in the
    // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
    // RS - PORTA Bit 0
    // RD - PORTA Bit 1
    // EN - PORTA Bit 2
    // D4 - PORTA Bit 4
    // D5 - PORTA Bit 5
    // D6 - PORTA Bit 6
    // D7 - PORTA Bit 7
    // Characters/line: 16
    lcd_init(16);
    
    while (1)
          {getPressure(&p); 
          getAltitude(&h);
          getTemperature(&T);
          sprintf (buffer,"%s:%s:%s",p,h,T);
          lcd_clear();
          lcd_gotoxy(0,0);
          lcd_putsf("mohandes:iman.nejaty");
          lcd_gotoxy(0,1);
          lcd_puts(buffer);
          // Place your code here
    
          }
    }
    اینم خطا:
    Error: C:\cvavr2\inc\BMP085.h(38), included from: feshar sanj.c: can't open #include file: WProgram.h
    بعدش کتابخانه: WProgram.h
    پیدا کردم و در مسیر کتابخانه های کدویژن کپی کردم
    و باز امدم دوباره کامپایل کردم و اینبار پیغام خطای قبلی را نداد و جدید بود پیام این بود :
    Error: C:\cvavr2\inc\WProgram.h(1), included from: BMP085.h: missing '('
    دوبار روش کلیک کردم دیدم نوشته : Arduino.h
    اینبار این کتابخانه را هم پیدا کردم و کپی کردم اما باز همین خطا را داد
    اگر راهنمایی کنید ممنون میشم

    نقل قول نوشته اصلی توسط skiboys نمایش پست ها
    سلام ...
    در مورد باومتریک با یک سرچ کوچیک می تونستی توی ویکی پدیا معنیشو پیدا کنی
    فشار بارومتریک یا فشار اتمسفر نیرویی است که اتمسفر بر یک نقطه وارد می کنه خیلی ساده تر می شه وزن هوایی که روی اون نقطه قرار داره واحدآن هم میلی بار(millibars=mb) یا به صورت میلی متر جیوه یا اینچ بر جیوه بیان می شه
    که فشار معمولی در سطح دریا 1013.3 میلی بار(29.92 اینچ بر جیوه) می باشد
    تغییرات یا نوسانات این مقدار به شرایط آب هوایی بستگی دارد و همچنین با تغییر ارتفاع و رطوبت مقدار فشار تغییر می کند
    خب حالا بریم قسمت برنامه نویسی توی نت بگردی مثال پیدا می کنی هدری هم که برایم فرستادی یکم اصلاح کردم حالا امتحان کن
    BMP085
    این هدر را در همون مسیر cvavr\inc کپی کن بعد با دستور زیر درفایل c اینکلودش کن
    کد:
    #include <BMP085.h>
    اینجا هم یک مثال هست ببین بدردت می خوره
    variostudio/AtTinyBMP085 · GitHub
    دیتاشیتش هم خوب مطالعه کن
    موفق باشی

  6. #4
    کاربر فعال
    تاریخ عضویت
    Aug 2011
    نام
    Dany
    نوشته ها
    257
    تشکر
    138
    تشکر شده 185 بار در 106 پست

    پیش فرض

    اقا ایمان گوش نکردی دیگه من هدر جدید دادم بهت اون قبلی رو از ادرسcvavr\inc پاک کن اونی که من دادمو جای گزین کن اون چندتا خط مربوط به WProgram.h نیاز نیست
    این قسمتو پاکن یا اینطوری بنویسش
    کد:
    /*
    
    #if defined(ARDUINO) && ARDUINO >= 100
    #include "Arduino.h"
    #else
    #include "WProgram.h"
    #endif 
    
    */
    ویرایش توسط skiboys : 23-04-2015 در ساعت 01:41

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


  8. #5
    کاربر علاقه مند
    تاریخ عضویت
    Oct 2012
    نوشته ها
    27
    تشکر
    21
    تشکر شده 2 بار در 1 پست

    پیش فرض

    نقل قول نوشته اصلی توسط skiboys نمایش پست ها
    اقا ایمان گوش نکردی دیگه من هدر جدید دادم بهت اون قبلی رو از ادرسcvavr\inc پاک کن اونی که من دادمو جای گزین کن اون چندتا خط مربوط به WProgram.h نیاز نیست
    این قسمتو پاکن یا اینطوری بنویسش
    کد:
    /*
    
    #if defined(ARDUINO) && ARDUINO >= 100
    #include "Arduino.h"
    #else
    #include "WProgram.h"
    #endif 
    
    */
    بازهم خیلی ممنون که پاسخ دادید
    کارهایی که گفتید انجام دادم
    اگر میشه برنامه ای که نوشتم چک کنید ممنون میشم
    اما مشکل را متوجه نشدید پیغام خطا مربوط به هدر است :
    Error: C:\cvavr2\inc\BMP085.h(91), included from: feshar sanj.c: missing'('
    یعنی روش دابل کلیک میکنم میاد میگه مربوط به این دستور و این قسمت از کتابخانه است :

    class BMP085 {
    اگر پیگیری کنید ممنون میشم
    ویرایش توسط imannejaty : 23-04-2015 در ساعت 12:50

  9. #6
    کاربر فعال
    تاریخ عضویت
    Aug 2011
    نام
    Dany
    نوشته ها
    257
    تشکر
    138
    تشکر شده 185 بار در 106 پست

    پیش فرض

    نقل قول نوشته اصلی توسط imannejaty نمایش پست ها
    بازهم خیلی ممنون که پاسخ دادید
    کارهایی که گفتید انجام دادم
    اگر میشه برنامه ای که نوشتم چک کنید ممنون میشم
    اما مشکل را متوجه نشدید پیغام خطا مربوط به هدر است :
    Error: C:\cvavr2\inc\BMP085.h(91), included from: feshar sanj.c: missing'('
    یعنی روش دابل کلیک میکنم میاد میگه مربوط به این دستور و این قسمت از کتابخانه است :

    class BMP085 {
    اگر پیگیری کنید ممنون میشم
    خب از یک پرانتز ایراد می گیره ، پرانتز ها .و سمیکولون ها را چک کن

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


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

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