اطلاعیه

Collapse
No announcement yet.

مدار کنترل دما و رطوبت

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

    #31
    پاسخ : مدار کنترل دما و رطوبت

    نوشته اصلی توسط amir190


    کسی از دوستان نیست من کمک کنه
    اول سعی کن که دو تا میکرو رو با سیم به هم ربط بدی
    با استفاده از پایه های TXD و RXD که به پروتوکل UART یا USART معروفند .
    شما باید پایه ی TXD میکروی فرستنده رو وصل کنید به پایه ی RXD میکروی گیرنده...از BAUD RATE (به زبان ساده سرعت ارسال دیتا) را روی 9600 تنظیم کنید..
    این BAUD RATE باید در هر دو میکرو یکی باشد وگرنه مشکل پیش میاد..
    در میکروی گیرنده اینتراپت UART را فعال کنید..
    بقیه ی تنظیمات را در کدویزارد به صورت اولیه رها کنید..
    بعد از اینکه این مرحله را رد کردید کافی سیم بین دو میکرو بردارید و ماژول های HMT و HMR بگذارید.
    حواستون باشه کی اگر بین دو میکرو سیم هست باید زمین های اون هارو یکی کنید و اگر با ماژول کار می کنید یکی کردن زمین دو میکرو مصلما لازم نیست.

    دیدگاه


      #32
      پاسخ : مدار کنترل دما و رطوبت

      دیدم که صحبت از دقت بالا کردید..شاید LM35 بد نباشه ولی این سنسورهای رطوبتی مقاومتی (1000 تومانی) اصلا به درد نمی خورند و کالیبراسیون هم احتیاج دارند و باید بگم که رابطه رطوبت و تغییرات مقاومت در آنها کاملا غیر خطی است...
      همونجوری که اول تاپیک یکی از دوستان گفتن سنسور های سری SH خیلی قوی اند و کاملا صنعتی هستند البته که ارتباط اون ها با میکرو کاملا متفاوت هستش.
      این سنسور هم دما رو سنس میکنه و هم رطوبت.
      موفق باشید.

      دیدگاه


        #33
        پاسخ : مدار کنترل دما و رطوبت

        برای رطوبت به نظرمن بهترین سنسور سری HIH400 است که صنعتی هم هست

        دیدگاه


          #34
          پاسخ : مدار کنترل دما و رطوبت

          نوشته اصلی توسط داریوش عباسی
          برای رطوبت به نظرمن بهترین سنسور سری HIH400 است که صنعتی هم هست
          اینم نظریه...
          من با این سنسور کار نکردم و نمیدونم وضعیت کالیبراسیون و .. چطوره ... البته آقای عباسی فرمودن صنعتی پس حتما همه چیزش ok هستش.
          اما تو این پروژه که هم دما داریم و هم رطوبت sh ها مناسبند در واقع با یک تیر دو نشون زدید..

          دیدگاه


            #35
            پاسخ : مدار کنترل دما و رطوبت

            نوشته اصلی توسط vala.v
            اینم نظریه...
            من با این سنسور کار نکردم و نمیدونم وضعیت کالیبراسیون و .. چطوره ... البته آقای عباسی فرمودن صنعتی پس حتما همه چیزش ok هستش.
            اما تو این پروژه که هم دما داریم و هم رطوبت sh ها مناسبند در واقع با یک تیر دو نشون زدید..
            مجددا سلام من یک سنسور hs1101 خروجی خازنی برای رطوبت گرفتم میشه لطف کنید و یک برنامه و مدارشو برام بگذارید آخه من شنیدم این خروجی خازنی رو باید تبدیل کنی؟

            دیدگاه


              #36
              پاسخ : مدار کنترل دما و رطوبت

              سلام
              این دیتاشیت این سنسور هست توش هم مثال برنامه داره
              http://www.antratek.nl/pdf/27920-HS1101-v1.0.pdf
              فرق این با اون LM35 اینه که اون وقتی دما فرق می کرد مقدار انالوگ (ولتاژ هم یا زیاد میشه ) تغییر می کرد این مقدار خازن تغیر میکنه همین
              موفق باشید

              دیدگاه


                #37
                پاسخ : مدار کنترل دما و رطوبت

                نوشته اصلی توسط erfan m
                سلام
                این دیتاشیت این سنسور هست توش هم مثال برنامه داره
                http://www.antratek.nl/pdf/27920-HS1101-v1.0.pdf
                فرق این با اون LM35 اینه که اون وقتی دما فرق می کرد مقدار انالوگ (ولتاژ هم یا زیاد میشه ) تغییر می کرد این مقدار خازن تغیر میکنه همین
                موفق باشید
                من مدار رطوبت با یک ای سی 555 بستم اما نمیدونم چه برنامه ای براش بنویسم اون برنامه دیتا شیتش کامل نیس من یک برنامه مربوط به این سنسور گیر اوردم اما چون من برنامه ام با بسکام از کد ویژن سر در نمی اورم و نمیدونم مقادیر TCCR0وTCNT0 و.. چی هستش برنامه اونو میزارم اگه لطف کنید برام بیسیکش قرار بدید ممنون میشم

                دیدگاه


                  #38
                  پاسخ : مدار کنترل دما و رطوبت

                  نوشته اصلی توسط erfan m
                  سلام
                  این دیتاشیت این سنسور هست توش هم مثال برنامه داره
                  http://www.antratek.nl/pdf/27920-HS1101-v1.0.pdf
                  فرق این با اون LM35 اینه که اون وقتی دما فرق می کرد مقدار انالوگ (ولتاژ هم یا زیاد میشه ) تغییر می کرد این مقدار خازن تغیر میکنه همین
                  موفق باشید
                  من مدار رطوبت با یک ای سی 555 بستم اما نمیدونم چه برنامه ای براش بنویسم اون برنامه دیتا شیتش کامل نیس من یک برنامه مربوط به این سنسور گیر اوردم اما چون من برنامه ام با بسکام از کد ویژن سر در نمی اورم و نمیدونم مقادیر TCCR0وTCNT0 و.. چی هستش برنامه اونو میزارم اگه لطف کنید برام بیسیکش قرار بدید ممنون میشم
                  کد:
                  /*****************************************************
                  Chip type        : ATmega8
                  Program type      : Application
                  AVR Core Clock frequency: 1.000000 MHz
                  Memory model      : Small
                  External RAM size    : 0
                  Data Stack size     : 256
                  *****************************************************/
                  
                  #include <mega8.h>
                  #include <delay.h>
                  #include <stdio.h>
                  
                  // Alphanumeric LCD Module functions
                  #include <alcd.h>
                  
                  long int timer0_ov;
                  long int in_freq;
                  char buff[16],buff2[16]; 
                  int humidity;
                  
                  // Timer 0 overflow interrupt service routine
                  interrupt [TIM0_OVF] void timer0_ovf_isr(void)
                  {
                  timer0_ov++;
                  
                  }
                  
                  // Declare your global variables here
                  
                  void main(void)
                  {
                  // Declare your local variables here
                  
                  // Input/Output Ports initialization
                  // 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
                  // Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
                  // 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: T0 pin Falling Edge
                  TCCR0=0x06;
                  TCNT0=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
                  MCUCR=0x00;
                  
                  // Timer(s)/Counter(s) Interrupt(s) initialization
                  TIMSK=0x01;
                  
                  // 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;
                  
                  // Alphanumeric LCD initialization
                  // Connections specified in the
                  // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
                  // RS - PORTB Bit 0
                  // RD - PORTB Bit 1
                  // EN - PORTB Bit 2
                  // D4 - PORTB Bit 4
                  // D5 - PORTB Bit 5
                  // D6 - PORTB Bit 6
                  // D7 - PORTB Bit 7
                  // Characters/line: 16
                  lcd_init(16);
                  
                  // Global enable interrupts
                  #asm("sei")
                  
                  while (1)
                     {
                     
                     TCCR0=0x06;
                     #asm("sei")
                     delay_ms(50);
                     #asm("cli")
                     in_freq=20*(timer0_ov*256+TCNT0);
                     sprintf(buff,"Freq=%d",in_freq);
                     //delay_ms(250);
                     lcd_clear();
                     lcd_puts(buff);
                     TCCR0=0x00;
                     timer0_ov=0;
                     TCNT0=0;  
                     
                     humidity=(-0.075872)*(in_freq-7351);
                     lcd_gotoxy(0,1);
                     sprintf(buff2,"Humidity=%d",humidity);
                     lcd_puts(buff2);
                  
                     }
                  }

                  دیدگاه


                    #39
                    پاسخ : مدار کنترل دما و رطوبت

                    من C بلد نیستم
                    اگر با 555 بستید باید مقدارشو با تایمر ها بخونید

                    دیدگاه


                      #40
                      پاسخ : مدار کنترل دما و رطوبت

                      نوشته اصلی توسط amir190
                      من مدار رطوبت با یک ای سی 555 بستم اما نمیدونم چه برنامه ای براش بنویسم اون برنامه دیتا شیتش کامل نیس من یک برنامه مربوط به این سنسور گیر اوردم اما چون من برنامه ام با بسکام از کد ویژن سر در نمی اورم و نمیدونم مقادیر TCCR0وTCNT0 و.. چی هستش برنامه اونو میزارم اگه لطف کنید برام بیسیکش قرار بدید ممنون میشم
                      کد:
                      /*****************************************************
                      Chip type        : ATmega8
                      Program type      : Application
                      AVR Core Clock frequency: 1.000000 MHz
                      Memory model      : Small
                      External RAM size    : 0
                      Data Stack size     : 256
                      *****************************************************/
                      
                      #include <mega8.h>
                      #include <delay.h>
                      #include <stdio.h>
                      
                      // Alphanumeric LCD Module functions
                      #include <alcd.h>
                      
                      long int timer0_ov;
                      long int in_freq;
                      char buff[16],buff2[16]; 
                      int humidity;
                      
                      // Timer 0 overflow interrupt service routine
                      interrupt [TIM0_OVF] void timer0_ovf_isr(void)
                      {
                      timer0_ov++;
                      
                      }
                      
                      // Declare your global variables here
                      
                      void main(void)
                      {
                      // Declare your local variables here
                      
                      // Input/Output Ports initialization
                      // 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
                      // Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
                      // 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: T0 pin Falling Edge
                      TCCR0=0x06;
                      TCNT0=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
                      MCUCR=0x00;
                      
                      // Timer(s)/Counter(s) Interrupt(s) initialization
                      TIMSK=0x01;
                      
                      // 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;
                      
                      // Alphanumeric LCD initialization
                      // Connections specified in the
                      // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
                      // RS - PORTB Bit 0
                      // RD - PORTB Bit 1
                      // EN - PORTB Bit 2
                      // D4 - PORTB Bit 4
                      // D5 - PORTB Bit 5
                      // D6 - PORTB Bit 6
                      // D7 - PORTB Bit 7
                      // Characters/line: 16
                      lcd_init(16);
                      
                      // Global enable interrupts
                      #asm("sei")
                      
                      while (1)
                         {
                         
                         TCCR0=0x06;
                         #asm("sei")
                         delay_ms(50);
                         #asm("cli")
                         in_freq=20*(timer0_ov*256+TCNT0);
                         sprintf(buff,"Freq=%d",in_freq);
                         //delay_ms(250);
                         lcd_clear();
                         lcd_puts(buff);
                         TCCR0=0x00;
                         timer0_ov=0;
                         TCNT0=0;  
                         
                         humidity=(-0.075872)*(in_freq-7351);
                         lcd_gotoxy(0,1);
                         sprintf(buff2,"Humidity=%d",humidity);
                         lcd_puts(buff2);
                      
                         }
                      }
                      کسی از دوستان نیست این برنامه رو برای به زبان بیسیک در بیاره اخه من سی بلد نیستم

                      دیدگاه

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