اطلاعیه

Collapse
No announcement yet.

کتابخانهآ‌ای برای چیپ AD7780-AD7730

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

    پاسخ : کتابخانهآ‌ای برای چیپ AD7780-AD7730

    سلام
    من از ad7715-5 برای بازه ولتاژ 0 تا 5 ولت میخوام استفاده کنم و برای این کار از کتابخونه زیر استفاده میکنم. ولی نمیدونم وقتی که اجرا میشه، به ازای زمین، 0 و به ازای 2.5، تقریبا 32700 نشون میده که دسته ولی به ازی ولتاژ 3.3 و 5 ولت، خروجی مقدار 65535 نشون میده که بالاترین مقداره.
    موندم مشکل کارم از چیه
    من با کامپایلر ccs کار میکنم و از میکر pic16f877a
    این فایل برنامه :
    #include <AD7715_2.c>

    #define LCD_ENABLE_PIN PIN_D0
    #define LCD_RS_PIN PIN_D1
    #define LCD_RW_PIN PIN_D2
    #define LCD_TYPE 2
    #include <lcd.c>
    void main()
    {
    lcd_init();
    adc_init();


    setup_adc_ports(NO_ANALOGS);
    setup_adc(ADC_CLOCK_DIV_2);
    setup_psp(PSP_DISABLED);
    setup_spi(SPI_SS_DISABLED);
    setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
    setup_timer_1(T1_DISABLED);
    setup_timer_2(T2_DISABLED,0,1);
    setup_comparator(NC_NC_NC_NC);
    setup_vref(FALSE);

    write_adc_byte( 0x10 ); //write to setup reg. is next op.,Gain=1
    write_adc_byte( 0x68 ); //self-calibration,bipolar,2.4576MHz
    delay_ms(3000);

    int16 adc_value;
    while(TRUE) {
    adc_value=read_adc_value();
    delay_ms(1000);
    printf(lcd_putc,"The value:%lu",adc_value);
    printf("%lu \r\n",adc_value);
    delay_ms(1000);
    lcd_clear();
    }

    }
    اینم فایل کنابخونه ای که استفاده می کنم:

    ///////////////////////////////////////////////////////////////////////////
    //// (C) Copyright 1996,2003 Custom Computer Services ////
    //// This source code may only be used by licensed users of the CCS C ////
    //// compiler. This source code may only be distributed to other ////
    //// licensed users of the CCS C compiler. No other use, reproduction ////
    //// or distribution is permitted without written permission. ////
    //// Derivative programs created using this software in object code ////
    //// form are not restricted in any way. ////
    ///////////////////////////////////////////////////////////////////////////


    //// Driver routines for the AD7715 chip

    #define ADC_CS PIN_C0
    #define ADC_RESET PIN_C1
    #define ADC_DRDY PIN_C2
    #define ADC_DI PIN_C4
    #define ADC_DO PIN_C5
    #define ADC_CLK PIN_C3

    void write_adc_byte(BYTE data);

    void adc_init()
    {
    output_low(ADC_RESET);
    output_high(ADC_CLK);
    output_high(ADC_CS); //Set low to AD7715 chip select low pin
    output_high(ADC_RESET); //Set high to AD7715 reset low pin
    delay_ms(3000);

    write_adc_byte( 0x12 ); //Communications Register read //operation,gain=1
    write_adc_byte( 0x62 ); //Setup Register info here

    write_adc_byte( 0x10 ); //write to setup reg. is next op.,Gain=1

    write_adc_byte( 0x68 );//self-calibration,bipolar,2.4576MHz


    }

    void write_adc_byte(BYTE data) {
    BYTE i;

    output_low(ADC_CS);
    for(i=1;i<=8;++i) {
    output_low(ADC_CLK);
    output_bit(ADC_DI, shift_left(&data,1,0));
    output_high(ADC_CLK);
    }
    output_high(ADC_CS);
    }


    long int read_adc_word() {
    BYTE i;
    long data;

    output_low(ADC_CS);
    for(i=1;i<=16;++i) {
    output_low(ADC_CLK);
    output_high(ADC_CLK);
    shift_left(&data,2,input(ADC_DO));
    }
    output_high(ADC_CS);
    return data;
    }



    long int read_adc_value() {
    long int value;

    while ( input(ADC_DRDY) );
    while ( !input(ADC_DRDY) );
    while ( input(ADC_DRDY) );

    write_adc_byte(0x3a);
    value=read_adc_word();

    return value;
    }

    دیدگاه


      پاسخ : کتابخانهآ‌ای برای چیپ AD7780-AD7730

      سلام نحوه کالیبراسیون با مشخصات لودسل به چه نحو میباشد؟ آی سی مورد نظر ad7190 بوده و gain=128 میباشد . مشخصات لودسل = 30 تن با 1.5mv/v میباشد لطفا راهنمایی فرمایید.

      دیدگاه


        پاسخ : کتابخانهآ‌ای برای چیپ AD7780-AD7730

        نوشته اصلی توسط faryad_30000
        سلام نحوه کالیبراسیون با مشخصات لودسل به چه نحو میباشد؟ آی سی مورد نظر ad7190 بوده و gain=128 میباشد . مشخصات لودسل = 30 تن با 1.5mv/v میباشد لطفا راهنمایی فرمایید.
        سلام


        عدد Zero رو مشخص کنید (یعنی باری روی لودسل نباشه و این عدد رو بخاطر بسپارید)
        بار مشخصی، مثلا 7.5 تن روی لودسل بگذارید.
        عدد بار مشخص را از عدد Zero کم کنید.

        حالا این اختلاف نشان می دهد به ازای 7.5 تن، چه مقدار عدد تان تغییر می کند.
        توضیحات بیشتر باعث ناخوانی متن می شود :rolleyes:
        برای کاری در حوزه اربعین نیاز به نیروی داوطلب هستیم.
        http://hosseinwalkingday.com

        دیدگاه


          پاسخ : کتابخانهآ‌ای برای چیپ AD7780-AD7730

          سلام
          اینکه شما فرمودید ربطی به مشخصات لودسل ندارد و کالیبراسیون در حالت zero , span هست با مشخصات لودسل منظور نحوه استفاده از mv/v و ظرفیت لودسل مدنظر هست البته جواب سوال را پیدا کردم طبق دیتاشیت مقدار39.06 میلی ولت برابر 16777215 هست .حال بایستی مقدار ولتاژ رفرنس * mv/v لودسل *8388608 نتیجه را بر عدد 39.06 تقسیم نموده حال عدد خوانده شده از AD7190 را از 8388608 کم نموده در مقدار ظرفیت لودسل ضرب کرده و نتیجه را تقسیم بر مقدار نتیجه رابطه فوق میکنیم. با توجه به این دو رابطه دیگه نیاز به وزنه مشخص نیست و کالیبراسیون با مشخصات لودسل انجام شده.

          دیدگاه


            پاسخ : کتابخانهآ‌ای برای چیپ AD7780-AD7730

            نوشته اصلی توسط faryad_30000
            سلام
            اینکه شما فرمودید ربطی به مشخصات لودسل ندارد و کالیبراسیون در حالت zero , span هست با مشخصات لودسل منظور نحوه استفاده از mv/v و ظرفیت لودسل مدنظر هست البته جواب سوال را پیدا کردم طبق دیتاشیت مقدار39.06 میلی ولت برابر 16777215 هست .حال بایستی مقدار ولتاژ رفرنس * mv/v لودسل *8388608 نتیجه را بر عدد 39.06 تقسیم نموده حال عدد خوانده شده از AD7190 را از 8388608 کم نموده در مقدار ظرفیت لودسل ضرب کرده و نتیجه را تقسیم بر مقدار نتیجه رابطه فوق میکنیم. با توجه به این دو رابطه دیگه نیاز به وزنه مشخص نیست و کالیبراسیون با مشخصات لودسل انجام شده.
            تا وزنه نذارید کالیبره نیستید
            برای کاری در حوزه اربعین نیاز به نیروی داوطلب هستیم.
            http://hosseinwalkingday.com

            دیدگاه


              پاسخ : کتابخانهآ‌ای برای چیپ AD7780-AD7730

              سلام
              من بودن وزنه کالیبره کردم یعنی با مشخصات لودسل کالیبره کردم و اینکار به درستی انجام گرفت و مشکلی هم نداشت چند تا ترانسمیتر وزن هم دیدم که بدون وزنه کالیبره شده و با مشخصات لودسل تنظیم شده و بدون نیلز به وزنه مشخص.

              دیدگاه


                پاسخ : کتابخانهآ‌ای برای چیپ AD7780-AD7730

                سلام
                راه اندازی و خواندن هر دو کانال تفاضلی AD7190 چگونه است؟ من میخوام دو عدد لودسل به AD7190 وصل کنم نحوه خواندن دیتا به چه صورت میباشد؟

                دیدگاه


                  پاسخ : کتابخانهآ‌ای برای چیپ AD7780-AD7730

                  نوشته اصلی توسط faryad_30000
                  سلام
                  من بودن وزنه کالیبره کردم یعنی با مشخصات لودسل کالیبره کردم و اینکار به درستی انجام گرفت و مشکلی هم نداشت چند تا ترانسمیتر وزن هم دیدم که بدون وزنه کالیبره شده و با مشخصات لودسل تنظیم شده و بدون نیلز به وزنه مشخص.
                  به هیچ عنوان چنین کالیبراسیونی دقیق و استاندارد نیست.

                  نوشته اصلی توسط faryad_30000
                  سلام
                  راه اندازی و خواندن هر دو کانال تفاضلی AD7190 چگونه است؟ من میخوام دو عدد لودسل به AD7190 وصل کنم نحوه خواندن دیتا به چه صورت میباشد؟
                  برای این تراشه کم نظیر ، تاپیک جداگانه ای در نظر گرفته شده است
                  http://www.eca.ir/forum2/index.php?topic=100295.0
                  برای کاری در حوزه اربعین نیاز به نیروی داوطلب هستیم.
                  http://hosseinwalkingday.com

                  دیدگاه


                    پاسخ : کتابخانهآ*ای برای چیپ AD7730

                    سلام
                    من سعی دارم ad7780 رو با dspic30f5011 راه بندازم.
                    داده هایی که میخوندم خیلی unstablef بود. 8 بیت status رو جدا خوندم و مدام داره صفر می خونتش ولی با توجه به دیتاشیت نباید صفر باشه.
                    من spi رو به صورت نرم افزاری پیاده سازی کردم تابعی که نوشتم به صورت زیره:
                    void Loadcell(void)
                    }
                    ; unsigned short i
                    ; float cal=0,yo=0


                    ; loadcell_clk=1
                    ; delay_us(50)
                    ; count=0
                    ; status=0
                    for(i=0;i<32;i++)
                    }
                    ;loadcell_clk=0
                    } if(i==0)
                    } while(loadcell1_data)
                    ; delay_us(50)
                    ; loadcell_clk=1
                    ; delay_us(50)
                    ; loadcell_clk=0
                    {
                    {
                    } if(i<8)
                    ; status=status<<1
                    if(loadcell1_data==1)
                    ; status=status+1
                    {

                    } if(i>7)
                    ; count=count<<1
                    if(loadcell1_data==1)
                    ; count=count+1
                    {
                    ; delay_us(50)
                    ; loadcell_clk=1
                    ; delay_us(50)
                    {
                    {
                    کسی میتونه بهم کمک کنه آیا؟

                    دیدگاه


                      پاسخ : کتابخانهآ*ای برای چیپ AD7780-AD7730

                      برنامه بسکام ad7780 و مدار مربوطه رو کسی داره لطف کنه بگذاره یا ارسال کنه واقعا ممنونم mo.farokhzad@yahoo.com

                      دلیل: ادغام دو پست برای جلوگیری از اسپم

                      نوشته اصلی توسط garfild نمایش پست ها
                      دوست عزیز هیچ دلیلی برای عوض کردن کامپایلر نیست.بنده 10 سال کار صنعتی میکنم و همه جور برنامه ای هم با بسکام نوشتم و هیچ محدودیتی هم نداره.اتفاقا این کدویژن هست که مثلا اگه بخوای 8 تا خط سریال رو مگا 32 درست کنی اسفالتت میکنه!
                      بگزریم.برنامه 7780 رو برات میزارم.بیش از 1000 بار تست شده
                      ای سی 7780 هم اگه کسی تعداد بالای 10 تا خواست قیمت مناسب موجوده.


                      $regfile = &quot;m8def.dat&quot;
                      $crystal = 4000000
                      $baud = 9600


                      Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4
                      Enable Interrupts
                      Enable Spi
                      Spiinit
                      Dim R As Byte
                      Dim R2 As Byte
                      Dim R3 As Byte
                      Dim R4 As Byte



                      Dim K As Long
                      Dim K2 As Long
                      Dim K3 As Long


                      Do

                      Bitwait Pinb.4 , Reset

                      Spiin R , 1
                      Spiin R2 , 1
                      Spiin R3 , 1
                      Spiin R4 , 1
                      K = 0
                      K = R * 65535
                      K2 = R2 * 255
                      K = K + K2
                      K = K + R3
                      Print K
                      LoOP


                      البته اینجا ما متغیر رو سریال ارسال میکنیم شما میتونی رو LCD نشون بدی.متغیر K رو خط یکی مونده به اخر بزار رو LCD.همین
                      لطف میکنید مدار مربوطه رو بگذارید یا ارسال کنید واقعا ممنونم mo.farokhzad@yahoo.com
                      جدیدترین ویرایش توسط MFAROKH; ۱۹:۲۶ ۱۳۹۵/۰۵/۰۸.

                      دیدگاه


                        پاسخ : کتابخانهآ*ای برای چیپ AD7780-AD7730

                        سلام دوستان
                        در ارتباط با آی سی ad7730 تمامی رجیستر ها را بخوبی میخوانم و تغییر میدهم ولی برای خواندن دیتا رجیستر فقط صفر را دریافت میکنم و پایه rdy آی سی هم هیچ موقع صفر نمیشه .طبق الگوریتم خود دیتا شیت عمل میکنم ولی باز هم جواب نمیگیرم کسی میتونه راهنمایی کنه؟؟؟؟

                        دیدگاه


                          پاسخ : کتابخانهآ*ای برای چیپ AD7780-AD7730

                          سلام
                          چون کسی جواب نداد خودم پاسخ میدم چون کلی وقتمو رو گرفت و چند نفر دیگه ام دیدم که همین مشکل رو دارند
                          پایه STANDBY آی سی نباید آزاد باشه و حتما باید به 5 ,ولت تغذیه وصل بشه

                          دیدگاه


                            پاسخ : کتابخانهآ*ای برای چیپ AD7780-AD7730

                            سلام دوستان من می خوام بردی که برای لودسلم با ad7780 طراحی کردم دارای خروجی 4-20 میلی آمپر باشه چطوری میتونم انجام بدم

                            دلیل: ادغام دو پست برای جلوگیری از اسپم

                            مثلا تو وزن صفر 20 میلی آمپر و در وزن 100 کیلو 4 میلی آمپر خروجی داشته باشم

                            دیدگاه


                              پاسخ : کتابخانهآ*ای برای چیپ AD7730

                              سلام و وقت بخیر
                              من برای یک تکلیف دانشجویی میخام دمارو با ترموکوپل نوع k اندازه بگیرم و ازطریق ad595 و اردآردوینو روی ال سی دی نشون بدم اما نمیتونم خروجی رو کالیبره کنم و به درستی نشون بدم
                              میشه بهم بگید باید دمایی که ازطریق ad595 میگیرم رو در چه عددی ضرب و تقسیم کنم

                              دیدگاه

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