اطلاعیه

Collapse
No announcement yet.

مشکل در کنترل فن با lm35

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

    مشکل در کنترل فن با lm35

    سلام
    من می خوام یه برنامه بنویسم که دما رفت بالا دور موتور پنکه هم بره بالا .
    با بیسیک نباید باشه با C
    من تا اینجاش آماده کردم ولی یک سری مشکلات داره .دوستانی که واردند می تونن کمکم کنن.
    :nerd:
    lm35 به adc 0 وصله و یک lcd هم به پرت B و موتور هم به پورت D وصله.
    کد:
    #include <mega32.h>
    #include <delay.h> 
    #include <stdio.h>
    #asm
      .equ __lcd_port=0x1B ;
    #endasm
    #include <alcd.h>
    char str[20]; 
    unsigned char compare=10
    /*#asm("sei")*/
    ///////////////////////////////////////////////
    /*read_adc( ) {
    #define ADC_VREF_TYPE 0xC0
    // Read the AD conversion result
    #define ADC_VREF_TYPE 0xC0
    // ADC interrupt service routine
    interrupt [ADC_INT] void adc_isr(void)
    {
    شمر ۱۴۰۰سال پیش مُرد؛شمر زمانت بشناس.
    [img width=400 height=100]http:///uploads/140623781981451.png[/img]
    [glow=green,2,100]یاحسین تشنه لب[/glow]

    #2
    پاسخ : مشکل در کنترل فن با lm35

    خوب خودت که همه کار رو کردی
    OCR0=compare;
    همین خط رو به حلقه اضافه کن
    بت در بغل و به سجده پیشانی ما کافر زده خنده بر مسلمانی ما
    اسلام به ذات خود ندارد عیبی هر عیب که هست در این مسلمانی ماست

    دیدگاه


      #3
      پاسخ : مشکل در کنترل فن با lm35

      خط های 39-44-48-70 ارور میگیره.
      تازه کارم یه حل بدید حله
      شمر ۱۴۰۰سال پیش مُرد؛شمر زمانت بشناس.
      [img width=400 height=100]http:///uploads/140623781981451.png[/img]
      [glow=green,2,100]یاحسین تشنه لب[/glow]

      دیدگاه


        #4
        پاسخ : مشکل در کنترل فن با lm35

        خوب پروژه کامل رو پ کنید ببینیم این خطها چیه
        بت در بغل و به سجده پیشانی ما کافر زده خنده بر مسلمانی ما
        اسلام به ذات خود ندارد عیبی هر عیب که هست در این مسلمانی ماست

        دیدگاه


          #5
          پاسخ : مشکل در کنترل فن با lm35

          من که سورس کل پروژم گذاشتم دیگه چی بزارم؟چیز دیگه ای نیست!
          من دقیقا همین کدهارو تو کدویژن دارم و 4 تا ارور میده.
          (دوستان بهم گفتن خطای نوشتاریه ولی من هرچی میگردم چیزی پیدا نمی کنم :(
          شمر ۱۴۰۰سال پیش مُرد؛شمر زمانت بشناس.
          [img width=400 height=100]http:///uploads/140623781981451.png[/img]
          [glow=green,2,100]یاحسین تشنه لب[/glow]

          دیدگاه


            #6
            پاسخ : مشکل در کنترل فن با lm35

            نوشته اصلی توسط i4man12
            خط های 39-44-48-70 ارور میگیره.
            تازه کارم یه حل بدید حله
            سلام
            خوب error هاش رو بذار ببینیم چی گفته .
            تاپیک جامع سیستم مدیریت ساختمان BMS و خانه هوشمند Smart Home
            دانلود مجموعه آموزشی شرکت Altium ا (Altium Training)
            مقالات و فایل های آموزشی نرم افزار Labview
            حل مشکل درایور و راه اندازی FT232 های غیراورجینال

            دیدگاه


              #7
              پاسخ : مشکل در کنترل فن با lm35

              مهندس حدود 200 تا ایراد تو برنامت هست.
              اول باید بگم که این چه طرز برنامه نویسیه همینطوری تو هم تو هم تایپ کردی و نصف خطوط هم ; رو جا انداختی بعد میگی چرا کامپایل نمیشه :NO:
              بعد هم این چه طرز پروژه انجام دادنه. یهو اومدی همه برنامه رو نوشتی بدون اینکه هیچ بخشیش رو تست کنی
              برنامه شما 3 قسمت داره:
              1. LCD کاراکتری
              2. تولید PWM
              3. خواندن از adc
              که همش ایراد داره.
              شما اول رو LCD یه hello بنویس. بعد یه پالس PWM ثابت تولید کن بعد از adc بخون و رو LCD نمایش بده. بعد PWM و adc رو به هم مرتبط کن. به دفعه 60 خط برنامه نوشتی نشستی که چرا کار نمیکنه. معلومه که کار نمیکنه.

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

              دیدگاه


                #8
                پاسخ : مشکل در کنترل فن با lm35

                نوشته اصلی توسط mostafahk
                مهندس حدود 200 تا ایراد تو برنامت هست.
                اول باید بگم که این چه طرز برنامه نویسیه همینطوری تو هم تو هم تایپ کردی و نصف خطوط هم ; رو جا انداختی بعد میگی چرا کامپایل نمیشه :NO:
                بعد هم این چه طرز پروژه انجام دادنه. یهو اومدی همه برنامه رو نوشتی بدون اینکه هیچ بخشیش رو تست کنی
                برنامه شما 3 قسمت داره:
                1. LCD کاراکتری
                2. تولید PWM
                3. خواندن از adc
                که همش ایراد داره.
                شما اول رو LCD یه hello بنویس. بعد یه پالس PWM ثابت تولید کن بعد از adc بخون و رو LCD نمایش بده. بعد PWM و adc رو به هم مرتبط کن. به دفعه 60 خط برنامه نوشتی نشستی که چرا کار نمیکنه. معلومه که کار نمیکنه.

                من کلا همیشه اینطوری حرف میزنم بهت بر نحوره
                سلام
                بابا اینطوری که گفتی دیگه فکر نکنم توی این انجمن پیداش بشه
                بنده خدا گفت من تازه کارم . :biggrin:
                تاپیک جامع سیستم مدیریت ساختمان BMS و خانه هوشمند Smart Home
                دانلود مجموعه آموزشی شرکت Altium ا (Altium Training)
                مقالات و فایل های آموزشی نرم افزار Labview
                حل مشکل درایور و راه اندازی FT232 های غیراورجینال

                دیدگاه


                  #9
                  پاسخ : مشکل در کنترل فن با lm35

                  نوشته اصلی توسط محمد م
                  سلام
                  بابا اینطوری که گفتی دیگه فکر نکنم توی این انجمن پیداش بشه
                  بنده خدا گفت من تازه کارم . :biggrin:
                  خیلی خودم رو کنترل کردم. از قدیم گفتم چوب معلم گله / هرکی نخوره ...........
                  بت در بغل و به سجده پیشانی ما کافر زده خنده بر مسلمانی ما
                  اسلام به ذات خود ندارد عیبی هر عیب که هست در این مسلمانی ماست

                  دیدگاه


                    #10
                    پاسخ : مشکل در کنترل فن با lm35

                    خدارا شکر کنترل کردید خوب شما چوب زدی بعد چوب باید دوباره از اول شروع کنم دیگه.(کمی هم کمک کنید بد نیست)
                    پس برم دوباره بنویسم.!
                    شمر ۱۴۰۰سال پیش مُرد؛شمر زمانت بشناس.
                    [img width=400 height=100]http:///uploads/140623781981451.png[/img]
                    [glow=green,2,100]یاحسین تشنه لب[/glow]

                    دیدگاه


                      #11
                      پاسخ : مشکل در کنترل فن با lm35

                      خوب اگه می تونی برنامت رو بریز توی یک فایل txt بعد بذار اینجا. اینطوری که کد گذاشتی یکم درهم ورهمه آدم قاطی می کنه .
                      تاپیک جامع سیستم مدیریت ساختمان BMS و خانه هوشمند Smart Home
                      دانلود مجموعه آموزشی شرکت Altium ا (Altium Training)
                      مقالات و فایل های آموزشی نرم افزار Labview
                      حل مشکل درایور و راه اندازی FT232 های غیراورجینال

                      دیدگاه


                        #12
                        پاسخ : مشکل در کنترل فن با lm35

                        مشکلات برنامتون خیلی زیاد بود .
                        چند تا نکته ای که رعایت نکرده بودین :

                        1 - یه متغیر اینتیجر رو نمیتونین با مقدار ثابت اعشاری همینطوری ضرب کنین . بهتره خود متغیر رو هم از نوع Float تعریف کنین .
                        2 - تو تابع printf برای هر % که میزارین باید به اون تعداد هم تو فرخوانیش متغیر ارسال کنین .
                        3 - شرطهای توابع if نباید با هم تداخل داشته باشن و اگه قراره فقط یکی از شرطها درست باشن بهتره از if else if استفاده کنین.
                        4 - موقع نوشتن برنامه به سخت افزار هم نگاهی داشته باشین . شما اومدین تو شرط هاتون پورتهای مربوط به LCD رو صفر و یک کردین که باعث میشه LCD کار نکنه.

                        PWM هم که کلا چیزی براش ننوشته بودین همینطور الکی تایمر رو فعال کرده بودین .

                        برنامه ویرایش شده :
                        http://up98.org/upload/server1/02/j/...ysmzuz8b9j.rar

                        دیدگاه


                          #13
                          پاسخ : مشکل در کنترل فن با lm35

                          سلام
                          ببخشید میپرم وسط حرفاتون
                          سلام
                          منم یه برنامه نوشتم با c که دمای اتاق رو 28 نشون میده ولی دمای یخچال رو 23 در کل اصلا با دما سنج الکلی همخونی نداره
                          اینم کدمه
                          #include <mega16.h>
                          #include <delay.h>
                          #include <stdlib.h>

                          #asm
                          .equ __lcd_port=0x18 ;PORTB
                          #endasm

                          #include <lcd.h>
                          #define ADC_VREF_TYPE 0xE0


                          unsigned char read_adc(unsigned char adc_input)
                          {
                          ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
                          delay_us(10);
                          ADCSRA|=0x40;
                          while ((ADCSRA & 0x10)==0);

                          ADCSRA|=0x10;
                          return ADCH;
                          }


                          char str[16];
                          float tmp;
                          void main(void)
                          {
                          int i=0;
                          float t=0;
                          ADMUX=ADC_VREF_TYPE & 0xff;
                          ADCSRA=0x87;
                          lcd_init(16);

                          while (1)
                          {
                          for(i=0;i<1500;i++)
                          {
                          tmp = read_adc(0);
                          t=t+tmp;
                          }
                          t=t/1500;

                          ftoa(t,2,str);
                          lcd_clear();
                          lcd_putsf("temp:"
                          lcd_puts(str);
                          lcd_putsf("'C"

                          };
                          }
                          ولتاژ مرجع رو داخلی انتخاب کردم و با 8 بیت کار میکنه البته avcc هم انتخاب کردم وبه یه 5 ولت بهش وصل کردم که دمای اتاق رو 19.5 نشون میده
                          و یه مورد اینکه من شک دارم که مدار رو درست بستم یا نه اخه تو پروتئوس درست کار میکنه

                          دیدگاه

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