اطلاعیه

Collapse
No announcement yet.

راه اندازی AD7715 به زبان C ( مبدل آنالوگ به دیجیتال 16 بیتی )

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

    #16
    پاسخ : راه اندازی AD7715 به زبان C ( مبدل آنالوگ به دیجیتال 16 بیتی )

    سلام آقای نحوی،واقعا ممنون که معلوماتتون رو بدون هیچ چشمداشتی به اشتراک گذاشتید.منم مثل آقا اریک بعد از راه اندازی فقط صفر ولت نشون می ده.البته برنامه آقای رضایی رو استفاده کردم به زبان بیسیک و از Atmega16 استفاده کردم.می خوام یه سنسور PT1000 رو بش وصل کنم.البته برای تسته مدار فعلا بجای pt1000 خودم یه ولتاژ به اندازه 0.758 ولت به پایه 7 دادم و GND شم به (-)AIN وصل کردم و (-)AIN رو هم که به GND مدار وصل کردم.اینم مقدار دهی communication and setup register
    communication register : &B00010000
    setup register : &B01100110
    اینم برنامه به زبان بیسیک
    Rem ************************************AD7715******** ******************
    Rem 16bit Sigma-Delta ADC with SPI
    Rem Code By Hamidreza Rezaei
    Rem http:\\Hrezaei.ir
    Rem ************************************************** *******************

    $regfile = "m16def.dat"
    $crystal = 8000000
    $baud = 19200
    $hwstack = 128
    $swstack = 128
    $framesize = 128

    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , _
    Db7 = Porta.5 , E = Porta.1 , Rs = Porta.0
    Cursor Off
    Cls
    Lcd "AD7715 Simple"
    Print "AD7715 Simple Board"
    Wait 5
    Config Pinb.3 = Input
    Config Portb.2 = Output
    Config Portb.1 = Output

    Const Res = .3814
    Const Res_div = .0001

    Dim Calc As Integer
    '-----------------------Pins alias -----------------------------
    Data_ready Alias Pinb.3
    Chip_select Alias Portb.1
    Reset_chip Alias Portb.2

    '-----------------------Registers alias-------------------------
    Dim Setup_reg As Byte
    Dim Read_reg As Byte
    Dim Comm_reg As Byte
    Dim Data_read As String * 16
    '--------------------Dimension---------------------------------
    Dim Data_msb As Byte
    Dim Data_lsb As Byte
    Dim Complete_data As Word
    '--------------------registers codes------------------------
    Comm_reg = &B00010000
    Setup_reg = &B01100110
    Read_reg = &B00111000
    '----------------------------------------------------------------

    '------------------Spi Config -----------------------------------
    Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , _
    Polarity = Low , Phase = 0 , Clockrate = 128 , Noss = 0
    '-----------------------------------------------------------------

    '---------------------Sendig Configurations Data To Registers------------------
    Ad7715:
    'reset off
    Spiinit
    Chip_select = 0
    Reset_chip = 0
    Spiout Comm_reg , 1
    Spiout Setup_reg , 1
    Chip_select = 1
    Reset_chip = 1

    Do
    Bitwait Data_ready , Reset
    Chip_select = 0
    Reset_chip = 0
    Reset_chip = 1

    Spiout Read_reg , 1
    Waitms 40

    Spiin Data_msb , 1
    Spiin Data_lsb , 1
    Waitms 30
    Chip_select = 1

    Complete_data = Makeint(data_lsb , Data_msb)
    Data_read = Str(complete_data)
    Calc = Complete_data * Res
    Calc = Calc * Res_div

    Print Calc ; "Volt"
    Print Data_read
    Print
    Print
    Cls
    Lcd Calc ; "Volt"
    Print "------------------------------------------"
    Waitms 500

    Loop

    End
    اینم لینک برنامه آقای رضایی http://hrezaei.ir/Files/AD7715/AD7715.bas
    توروخدااااااااااااا کمکم کنید که بشدت به کمکتون نیاز دارم.

    دیدگاه


      #17
      پاسخ : راه اندازی AD7715 به زبان C ( مبدل آنالوگ به دیجیتال 16 بیتی )

      با سلام
      یه تجربه
      من از این ایسی صفر می گرفتم اما وقتی کالیبریشن رو فعال کردم، درست شد. :wow:
      The healthy human mind doesn't wake up in the morning thinking this is his last day on earth.

      دیدگاه


        #18
        پاسخ : پاسخ : راه اندازی AD7715 به زبان C ( مبدل آنالوگ به دیجیتال 16 بیتی )

        نوشته اصلی توسط محمد نحوی
        البته انشالله قراره این کتابخونه به یه قالب استاندارد در بیاد و وقتی آماده بشه نکاتی که در خصوص برنامه نویسی و توضیحات کتابخونه هست باید در بخش "کتابخانه های کاربردی" مطرح بشن.
        این بحث موقت اینجا پیگیری میشه تا کتابخونه آماده بشه.
        موفق باشید
        باعرض سلام خسته نباشید
        امکانش هست کتابخانه برای کامپایلر Atmel studio بنویسید

        دیدگاه


          #19
          پاسخ : راه اندازی AD7715 به زبان C ( مبدل آنالوگ به دیجیتال 16 بیتی )

          سلام
          مشکل من اینه که وقتی ولتاژ 3.3 رو بهش میدم مقدار 65535 رو برمیگردونه که همون مقداریه که وقتی 5 ولت روبهش میدم، برمیگردونه.
          ولی به ازای 2.5 ولت درسته و تقریبا نصف مقدار کل رو نشون میده. من این ای سی رو برای اندازه گیری ولتاژ بین 0 تا 5 ولت میخوام استفاده کنم.
          نمیدونم ایرادش از کجاست

          دیدگاه

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