اطلاعیه

Collapse
No announcement yet.

مشکل در دقت ADC

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

    مشکل در دقت ADC

    با سلام
    من میخام میلی ولتمتر DC با AVR با دقت 0.005 ولت تو رنج 0 تا 40 ولت درست کنم :job:
    به یه جاهایی رسیدم :nerd:
    ولی به یه مشکل خوردم اینه که نمیدونم چجوری مقدار اعشارو تو متغییر بزارم نا روی lcd نشون بدم
    هرکاری میکنم اعشارشو نشون نمیده حالا نمیدونم اشکال از انتخاب اشتباه نوع متغییره یا ولتاژ مبنا برای adc
    در ضمن زبان برنامه نویسی هم بیسیکه oo:
    با تشکر از همه شما عزیزان :biggrin:

    #2
    پاسخ : مشکل در دقت ADC

    با درود لطفا کد تو بزار ببینیم سوتیش کجاست !!
    در ضمن اگر فرض کنیم ولتاژ رفرنس شما 5 ولت باشه با میکرو avr که دقت 10 بیتی داره ولتاژ 0 تا 5 ولت رو می تونی تا 0.004 حساب نی و اگه بخوای ولتاژ بالاتر رو هم با همین دقت داشته باشی باید از آیسی های adc با دقت لبلا تر استفاده بشه مثلا 16 یا 24 بیتی

    دیدگاه


      #3
      پاسخ : مشکل در دقت ADC

      سلام
      برنامت رو بذار تا بشه نظر داد , مشکل خاصی نباید داشته باشه مخصوصا تو بیسیک که کار با LCD راحته

      دیدگاه


        #4
        پاسخ : مشکل در دقت ADC

        سلا3
        با AVR ولتاژ 40 ولت را با دقت کمتر از 40 میلی ولت نمیتونید اندازه بگیرید.

        دیدگاه


          #5
          پاسخ : مشکل در دقت ADC

          $regfile = "m16def.dat"
          $crystal = 8000000
          Config Lcdpin = Pin , Rs = Portb.0 , E = Portb.2 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Postb.7
          Config Lcd = 16 * 2
          Config Adc = Single , Prescaler = Auto
          Dim V As Long
          Cursor Off
          Start Adc
          Home
          Cls
          Locate 2 , 1
          Lcd "DC_milivoltmeter"
          Do
          V = Getadc(0)
          V = V * 0.000488 '5/1024=0.00488
          Locate 1 , 1
          Lcd V ; Chr(0) ; "mV"
          Locate 1 , 1
          Lcd " "
          Loop

          End
          با سلامی دوباره
          همونطور که گفتم مشکلم نشون ندادن مقدار اعشار تو lcd ه
          در ضمن این ایسی های adc شمارشون چنده؟تو ایران پیدا میشه؟کار کردن باهاشون اسونه یعنی میشه ساده وصلشون کرد به micro ؟
          ممنون از راهنماییاتون...

          دیدگاه


            #6
            پاسخ : مشکل در دقت ADC

            مشکل از انتخاب نوع متغییره
            long شامل اعداد صحیح میشه باید از single استفاده کنی یا از double

            Dim v as single

            موفق باشی . . .

            دیدگاه


              #7
              پاسخ : مشکل در دقت ADC

              ممنون ولی قبلا هم از single استفاده کردم ولی ارور میده
              error : source variable does not match the target variable
              چه جوری میشه این ارورو برطرف کرد؟؟ :angry:
              این خط رو قرمز میکنه v = getadc(0)
              تشکر...

              دیدگاه


                #8
                پاسخ : مشکل در دقت ADC

                خوب اینکارو کن ببین درست میشه :
                Dim v as word
                Dim voltage as single
                v=getadc(0
                voltage =v
                voltage=voltage* 0.000488

                دیدگاه


                  #9
                  پاسخ : مشکل در دقت ADC

                  مرسی اقای mehrdad_italy جواب داد
                  ممنون از همه :wow: :wow: :wow:

                  دیدگاه

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