اطلاعیه

Collapse
No announcement yet.

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

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

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

    اگر برد بورد گرفتی مرحله مرحله میگم اگر بورد سوراخ دار گرفتی باید شماتیک وصل کنی
    اینو دانلود کن
    http://up2.iranblog.com/images/qhoj32n6sl0kohkk295.rar
    حالا اون جا اموزش اتصال ال سی دی رو گفته میکرو رو به lcd وصل کن بعد فقط روی ال سی دی یه عبارت بنویس بعد که بدونه هیچ مشکلی نوشت توی همون جا ADC رو گفته سنسورتو وصل کن به ADC و مقدار رو روی ال سی دی نشون بده فعلا این کار هارو بکن تا بهت بقیشو بگم یه سرچ هم بکن شماتیک ATMEGA8 رو پیداکن که جا های ADC و... رو پیدا کنی
    اگه سوالی بود بپرس
    موفق باشید

    دیدگاه


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

      همونطور که دوستمون اشاره کرد مرحله به مرحله بری جلو خیلی خوبه. پس موقعی که شما در مدار گیرنده lcd رو راه اندازی کردی و در مدار فرستنده تونستی adc رو راه بندازی و ابتدا اون روی lcd نمایش بدی بعد فقط می مونه ارسال دیتا که برای اون می تونی به لینک زیر رجوع کنید.اینجا یه مثال در مورد کار با ماژول های فرستنده گیرنده به زبان بیسیک هستش که اگر خواستی با c هم کار کنی بگو تا با زبان c هم بنویسیم.
      http://www.eca.ir/forum2/index.php?topic=56710.0

      چرا ناراحتی پاتریک!
      + امروز ی بچه دیدم سرچهارراه گل میفروخت
      - از دیدنش ناراحت شدی؟
      + نه
      پس چی ناراحتت کرده
      + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
      ------------------------------------------------------------------------------------------------------
      تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
      ------------------------------------------------------------------------------------------------------
      محصولات

      دیدگاه


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

        نوشته اصلی توسط soran111
        همونطور که دوستمون اشاره کرد مرحله به مرحله بری جلو خیلی خوبه. پس موقعی که شما در مدار گیرنده lcd رو راه اندازی کردی و در مدار فرستنده تونستی adc رو راه بندازی و ابتدا اون روی lcd نمایش بدی بعد فقط می مونه ارسال دیتا که برای اون می تونی به لینک زیر رجوع کنید.اینجا یه مثال در مورد کار با ماژول های فرستنده گیرنده به زبان بیسیک هستش که اگر خواستی با c هم کار کنی بگو تا با زبان c هم بنویسیم.
        http://www.eca.ir/forum2/index.php?topic=56710.0
        با سلام مجدد دوست گرامی من با توجه به گفته شما مرحله به مرحله جلو میرم فقط اگه زحمت نیست مثال با زبان سی برام بزاری ممنون میشم باز هم ممنون

        دیدگاه


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

          سلامی دوباره.
          اینم یه برنامه به زبان c در مورد کار با adc.
          کد:
          #include <mega32a.h>
          #include <stdlib.h>
          #include <delay.h>
          #include <stdio.h>
          
          // Alphanumeric LCD Module functions
          #include <alcd.h>
          
          #define ADC_VREF_TYPE 0x40
          
          // Read the AD conversion result
          unsigned int read_adc(unsigned char adc_input)
          {
          ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
          // Delay needed for the stabilization of the ADC input voltage
          delay_us(10);
          // Start the AD conversion
          ADCSRA|=0x40;
          // Wait for the AD conversion to complete
          while ((ADCSRA & 0x10)==0);
          ADCSRA|=0x10;
          return ADCW;
          }
          
          // Declare your global variables here
          
          void main(void)
          {
          char lcd_buff[10];
          unsigned int adc_in;
          unsigned int temp;
          //float temp;
          // 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 Clock frequency: 125.000 kHz
          // ADC Voltage Reference: AVCC pin
          ADMUX=ADC_VREF_TYPE & 0xff;
          ADCSRA=0x86;
          
          // 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 - 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)
             {
              adc_in=read_adc(3);
              temp=adc_in/2.46;
              sprintf(lcd_buff,"temp=%d c",temp);
              lcd_clear();
              lcd_gotoxy(0,0);
              lcd_puts(lcd_buff);
              delay_ms(500);
             }
          }
          هر موقع به راه اندازی ماژول ها رسیدین بگین تا برنامه اون رو هم براتون بزارم.
          هر چند خودم هنوز تو زبان c اونها رو راه اندازی نکردم ولی امیدوارم با کمک شما بتونیم اینم تو زبان c راه بندازیم.
          موفق باشید. :nice: :nice: :wow: :wow: :nice: :nice:
          چرا ناراحتی پاتریک!
          + امروز ی بچه دیدم سرچهارراه گل میفروخت
          - از دیدنش ناراحت شدی؟
          + نه
          پس چی ناراحتت کرده
          + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
          ------------------------------------------------------------------------------------------------------
          تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
          ------------------------------------------------------------------------------------------------------
          محصولات

          دیدگاه


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

            نوشته اصلی توسط soran111
            هر موقع به راه اندازی ماژول ها رسیدین بگین تا برنامه اون رو هم براتون بزارم.
            هر چند خودم هنوز تو زبان c اونها رو راه اندازی نکردم ولی امیدوارم با کمک شما بتونیم اینم تو زبان c راه بندازیم.
            موفق باشید. :nice: :nice: :wow: :wow: :nice: :nice:
            با سلام دوست گرامی من برنامه را دما را با مداری که براتون میگذارم و کد زیر راه اندازی کردم اما دما با ان چیزی که در محیط هست 3 درجه تفاوت میکنه و وقتی دستم رو سنسور میگذارم تغییراتی به کندی انجام میشه و به حد مورد نظر نمی رسه و دوم اینکه من نمیدونم چه کدی به این برنامه اضافه کنم تا سنسور رطوبت کار کنه من کد این برنامه که در سی هست تغییر دادم اما در کد ویژن ATMEGA 16 تابعشو نمیشناسه اگه تو نوشتن کدش کمکم کنید ممنون میشم این هم کد و نقشه مدار

            http://s2.picofile.com/file/7204217197/prj13.rar.html

            دیدگاه


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

              دوست عزیز اگر شما ولتاژ 5 ولت رو برای مرجع قرار بدین باید عدد گرفته شده توسط ADC رو بر 2.046 تقسیم کنید تا قطعه بتونه 0 تا 500 درجه رو بهتون نشون بده. شما اون برنامه ای رو که در بالا براتون گذاشتم رو میکرو بریزید و نتیجه رو اعلام کنید.در اون برنامه باید پایه AVCC رو به 5 ولت و AREF رو با یک خازن 1uf به زمین وصل کنید.
              در مورد سنسور تشخیص رطوبت :
              همونطور که قبلا گفته شد خروجی این سنسور مقاومته و شما باید برای خوندن اون با ADC،سنسور رو با یه مقاومت دیگه سری کنید و افت ولتاژ دو سر اون رو اندازه بگیرید دقیقا مثل اندازه گیری ولتاژ خروجی lm35 . در بالای همین صفحه من یه شماتیک براتون گذاشتم که شما می تونید برای اتصال سنسور تشخیص رطوبت از اون استفاده کنید.
              چرا ناراحتی پاتریک!
              + امروز ی بچه دیدم سرچهارراه گل میفروخت
              - از دیدنش ناراحت شدی؟
              + نه
              پس چی ناراحتت کرده
              + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
              ------------------------------------------------------------------------------------------------------
              تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
              ------------------------------------------------------------------------------------------------------
              محصولات

              دیدگاه


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

                نوشته اصلی توسط soran111
                دوست عزیز اگر شما ولتاژ 5 ولت رو برای مرجع قرار بدین باید عدد گرفته شده توسط ADC رو بر 2.046 تقسیم کنید تا قطعه بتونه 0 تا 500 درجه رو بهتون نشون بده. شما اون برنامه ای رو که در بالا براتون گذاشتم رو میکرو بریزید و نتیجه رو اعلام کنید.در اون برنامه باید پایه AVCC رو به 5 ولت و AREF رو با یک خازن 1uf به زمین وصل کنید.
                oo: oo: oo:
                منظورت LM35 هستش ؟؟؟ oo:
                درد من تنهایی نیست؛ بلکه مرگ ملتی است که گدایی را قناعت، بی‏عرضگی را صبر، و با تبسمی بر لب این حماقت را حکمت خداوند می‏ نامند! "گاندی"

                به دلیل وجود برخی مشکلات و بی احترامی ها این اکانت رو غیر فعال کردم. همیشه سر بلند باشید.
                بدرود . . .

                دیدگاه


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

                  بله آقای نصیری می دونم که رنج تشخیص دمای این قطعه -55 تا +150 . با تقسیم 1023 بر 2.046 با توجه به اینکه خروجی LM35 به ازای هر یک درجه، 10میلی ولت افزایش خواهد داشت پس می گیم که تا 500 درجه رو اندازه می گیره.در نتیجه این فقط یه فرضه نه واقعیت و این تقسیم عدد فقط جهت تبدیل ولتاژ به درجه اس نه چیز دیگه.
                  مجددا ممنون از تذکرتون.
                  چرا ناراحتی پاتریک!
                  + امروز ی بچه دیدم سرچهارراه گل میفروخت
                  - از دیدنش ناراحت شدی؟
                  + نه
                  پس چی ناراحتت کرده
                  + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
                  ------------------------------------------------------------------------------------------------------
                  تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
                  ------------------------------------------------------------------------------------------------------
                  محصولات

                  دیدگاه


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

                    نوشته اصلی توسط soran111
                    دوست عزیز اگر شما ولتاژ 5 ولت رو برای مرجع قرار بدین باید عدد گرفته شده توسط ADC رو بر 2.046 تقسیم کنید تا قطعه بتونه 0 تا 500 درجه رو بهتون نشون بده. شما اون برنامه ای رو که در بالا براتون گذاشتم رو میکرو بریزید و نتیجه رو اعلام کنید.در اون برنامه باید پایه AVCC رو به 5 ولت و AREF رو با یک خازن 1uf به زمین وصل کنید.
                    در مورد سنسور تشخیص رطوبت :
                    همونطور که قبلا گفته شد خروجی این سنسور مقاومته و شما باید برای خوندن اون با ADC،سنسور رو با یه مقاومت دیگه سری کنید و افت ولتاژ دو سر اون رو اندازه بگیرید دقیقا مثل اندازه گیری ولتاژ خروجی lm35 . در بالای همین صفحه من یه شماتیک براتون گذاشتم که شما می تونید برای اتصال سنسور تشخیص رطوبت از اون استفاده کنید.
                    با سلام خدمت شما دوست گرامی میبخشید که من مبتدی هستم من برنامه خودم روش ریختم با توجه به توضیحات شما که پایه AVCC رو به 5 ولت و AREF رو با یک خازن 1uf به زمین وصلکردم البته به جای 1 میکرو که نداشتم 470 میکرو گذاشتم هیچی رو ال سی دی نشون نمیده فقط خط بالای ال سی دی تمامش مشکی میشه در ضمن برنامه شما را با توجه به شماتیک مدارم تو کد ویژن کامپایل کردم که ارور داد ارورشم در پایین قرار دادم باز هم از شما ممنونم
                    http://s1.picofile.com/file/7205099351/Untitled.png

                    دیدگاه


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

                      نوشته اصلی توسط soran111
                      بله آقای نصیری می دونم که رنج تشخیص دمای این قطعه -55 تا +150 . با تقسیم 1023 بر 2.046 با توجه به اینکه خروجی LM35 به ازای هر یک درجه، 10میلی ولت افزایش خواهد داشت پس می گیم که تا 500 درجه رو اندازه می گیره.در نتیجه این فقط یه فرضه نه واقعیت و این تقسیم عدد فقط جهت تبدیل ولتاژ به درجه اس نه چیز دیگه.
                      مجددا ممنون از تذکرتون.

                      معلومه رفتم رو اعصابت ها! :biggrin:
                      من قصدم جسارت نیست. فقط میخوام تلنگری زده باشم که اگر کسی(مراجعه کننده دیگه و یا بیننده تاپیک) به دیتا شیت ها مراجعه نکرد و یا اطلاعات فنی بالایی نداشت پیش خودش فکر نکنه که واقعا با یه ابر قطعه روبرو هست. چون با توجه به بیان شما میشه این رو برداشت کرد که یه دماسنج 500 درجه با این کار جفت و جور میشه!
                      با عرض پوزش

                      پی نوشت:
                      یادم رفته بود نباید تذکر بدم! :mrgreen:


                      درد من تنهایی نیست؛ بلکه مرگ ملتی است که گدایی را قناعت، بی‏عرضگی را صبر، و با تبسمی بر لب این حماقت را حکمت خداوند می‏ نامند! "گاندی"

                      به دلیل وجود برخی مشکلات و بی احترامی ها این اکانت رو غیر فعال کردم. همیشه سر بلند باشید.
                      بدرود . . .

                      دیدگاه


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

                        نوشته اصلی توسط amir190
                        با سلام خدمت شما دوست گرامی میبخشید که من مبتدی هستم من برنامه خودم روش ریختم با توجه به توضیحات شما که پایه AVCC رو به 5 ولت و AREF رو با یک خازن 1uf به زمین وصلکردم البته به جای 1 میکرو که نداشتم 470 میکرو گذاشتم هیچی رو ال سی دی نشون نمیده فقط خط بالای ال سی دی تمامش مشکی میشه در ضمن برنامه شما را با توجه به شماتیک مدارم تو کد ویژن کامپایل کردم که ارور داد ارورشم در پایین قرار دادم باز هم از شما ممنونم
                        http://s1.picofile.com/file/7205099351/Untitled.png
                        کسی از دوستان نیست مشکل من جواب بده

                        دیدگاه


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

                          احتمالات زیادی هست که اولینش اشتباه در مونتاژ و سیم بندی هستش!
                          و یا مثلا پایه شماره 3 ال سیدی که مستقیم به زمین زده باشی.
                          و یا ...

                          شما در ابتدا سعی کن خودت ال سی دی رو به صورت مجزا از پروژه راه بندازی و بعد با ترکیبش تو پروژه جلو بری

                          موفق باشید
                          درد من تنهایی نیست؛ بلکه مرگ ملتی است که گدایی را قناعت، بی‏عرضگی را صبر، و با تبسمی بر لب این حماقت را حکمت خداوند می‏ نامند! "گاندی"

                          به دلیل وجود برخی مشکلات و بی احترامی ها این اکانت رو غیر فعال کردم. همیشه سر بلند باشید.
                          بدرود . . .

                          دیدگاه


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

                            این تمام فایل های پروژه بالا بدون هیچ تغییری. اون پیغام خطا هم مربوط به فایل هیدر lcd هستش که شما بایستی از طریق codewizard ابتدا lcd رو فعال می کردین.

                            فایل های پیوست شده
                            چرا ناراحتی پاتریک!
                            + امروز ی بچه دیدم سرچهارراه گل میفروخت
                            - از دیدنش ناراحت شدی؟
                            + نه
                            پس چی ناراحتت کرده
                            + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
                            ------------------------------------------------------------------------------------------------------
                            تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
                            ------------------------------------------------------------------------------------------------------
                            محصولات

                            دیدگاه


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

                              نوشته اصلی توسط soran111
                              این تمام فایل های پروژه بالا بدون هیچ تغییری. اون پیغام خطا هم مربوط به فایل هیدر lcd هستش که شما بایستی از طریق codewizard ابتدا lcd رو فعال می کردین.
                              با سلام دوست گرامی من مدار یک جور دیگه بستم و درست شد دما رو هم نشون میده اما نمیدونم کجای کار اشکال داره که تمام چراغهای ال سی دی روشن میشه و توی اون به صورت خیلی کم نور دا رو نشون میده در ضمن اگه زحمت نیست برای قسمت بعدی یعنی ماژول hmt و hmr کمکم کنید ممنون

                              دیدگاه


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

                                نوشته اصلی توسط amir190
                                با سلام دوست گرامی من مدار یک جور دیگه بستم و درست شد دما رو هم نشون میده اما نمیدونم کجای کار اشکال داره که تمام چراغهای ال سی دی روشن میشه و توی اون به صورت خیلی کم نور دا رو نشون میده در ضمن اگه زحمت نیست برای قسمت بعدی یعنی ماژول hmt و hmr کمکم کنید ممنون
                                کسی از دوستان نیست من کمک کنه

                                دیدگاه

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