NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 130 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 6 از 6

موضوع: AD7190_24bit

  1. #1
    همکار افتخاری
    تاریخ عضویت
    Jul 2007
    نام
    محمد هادی عبدی
    نوشته ها
    129
    تشکر
    81
    تشکر شده 293 بار در 73 پست

    پیش فرض AD7190_24bit

    برنامه يكي از بهترين ad هاي كه واقعا چيزه عاليه با قدرت 4800 نمونه در ثانيه
    #include "main.h"
    #include <math.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <math.h>
    #include <LCD.h>
    #ZERO_RAM
    #define RDY PIN_C0
    #define CS PIN_C3
    //***************COMMUNICATIONS REGISTER****************
    #define Status_reg 0
    #define Mode_reg 8
    #define Configuration_reg 16
    #define Data_reg 24
    #define ID_reg 32
    #define GPOCON_reg 40
    #define Offset_reg 48
    #define Full_scale_reg 56
    #define CREAD 4
    #define no_CREAD 0
    #define read 64
    #define write 0
    //***************MODE REGISTER ****************
    #define Continuous_conversion 0
    #define Single_conversion 32
    #define Idle_mode 64
    #define Power_down_mode 96
    #define Internal_zero_scale 128
    #define Internal_full_scale 160
    #define System_zero_scale 192
    #define System_full_scale 224
    #define DAT_STA 16
    #define SINC_3 128
    #define ENPAR 32
    #define Single 8
    #define REJ60 4
    #define FS9_to_FS0_1 16
    #define FS9_to_FS0_2 0
    #define SINC_4 0
    #define no_DAT_STA 0
    #define no_ENPAR 0
    #define no_Single 0
    #define no_REJ60 0
    #define External_crystal_M1 0
    #define External_crystal_M2 4
    #define Internal_crystal_M1 8
    #define Internal_crystal_M2 12
    //***************CONFIGURATION REGISTER****************
    #define chop_en 128
    #define chop_dis 0
    #define refsel_en 16
    #define refsel_dis 0
    #define select_cha 1
    #define born_en 128
    #define born_dis 0
    #define refdet_en 64
    #define refdet_dis 0
    #define buf_en 16
    #define buf_dis 0
    #define unipolar 8
    #define bipolar 0
    #define Gain_1 0
    #define Gain_8 3
    #define Gain_16 4
    #define Gain_32 5
    #define Gain_64 6
    #define Gain_128 7
    //*************** GPOCON register ****************
    #define Bridge_power_down_en 64
    #define Bridge_power_down_dis 0
    #define GPOCON 0 //1 to 32
    //*********************************************
    #define AIN1_AIN2 1
    #define AIN3_AIN4 2
    #define Temperature_sensor 4
    #define AIN2_AIN2 8
    #define AIN1_AINCOM 16
    #define AIN2_AINCOM 32
    #define AIN3_AINCOM 64
    #define AIN4_AINCOM 128
    //*********************************************
    int8 M_M_s,M_D_S,M_SIN_3_4,M_ENP,M_Singl,M_RE_60,M_F9_F 0_1,M_F9_F0_2,M_m_crys;
    //int8 CR_chop,CR_refsel,CR_sel_cha,CR_born,CR_ref_det,CR _bufer,CR_polar,CR_Gain;
    //*********************************************
    void reset_ad7190();
    void read_ad7190(int8 rd);
    void initation_AD7190();
    void Communications_reg( int8 sta_bite,int8 R_W,int8 Continuous_read);
    void mode_regis(int8 M_s,int8 D_S,int8 SIN_3_4,int8 ENP,int8 Singl,int8 RE_60,int8 F9_F0_1,int8 F9_F0_2,int8 m_crys);
    void configuration_regis(int8 chop,int8 refsel,int8 sel_cha,int8 born,int8 ref_det,int8 bufer,int8 polar,int8 Gain);
    void GPOCON_regis(int8 BPDSW,int8 GP);
    void Channel_select(int8 chaa_s);
    void Internal_CALIBRATION_AD7190();
    //*********************************************

    void main()
    {

    port_b_pullups(TRUE);
    output_high(CS);
    setup_timer_0(RTCC_INTERNAL);
    setup_oscillator(OSC_NORMAL);

    cls();
    delay_ms(300);
    reset_ad7190();
    initation_AD7190();
    Internal_CALIBRATION_AD7190();

    while(TRUE){

    read_ad7190(Data_reg);
    delay_ms(100);
    printf(" \f " );
    }

    }


    //************************************************** *********
    void initation_AD7190(){
    Communications_reg(Mode_reg,write,no_CREAD );
    mode_regis(Continuous_conversion,DAT_STA,SINC_4,no _ENPAR,no_Single,no_REJ60,FS9_to_FS0_1,FS9_to_FS0_ 2,Internal_crystal_M1);
    Communications_reg(Configuration_reg,write,no_CREA D );
    configuration_regis(chop_dis,refsel_dis,select_cha ,born_dis,refdet_dis,buf_dis,bipolar,Gain_128);
    }
    //************************************************** *********
    void read_ad7190(int8 rd){
    int8 data_1=0,data_2=0,data_3=0,data_4=0;
    output_low(CS);
    Communications_reg(rd,read,CREAD );
    //************************************
    while(input(RDY)==0);
    while(input(RDY)==1);
    //************************************
    if(input(RDY)==0){
    data_1=spi_xfer(0);
    data_2=spi_xfer(0);
    data_3=spi_xfer(0);
    data_4=spi_xfer(0);
    output_high(CS);
    printf("1=%u ",data_1);
    printf("2=%u ",data_2);
    printf("3=%u ",data_3);
    printf("4=%u ",data_4);
    bin(data_1);
    printf(" ");
    bin(data_2);
    printf(" ");
    bin(data_3);
    }
    }
    //************************************************** *********
    void reset_ad7190(){
    int8 i;
    output_low(CS);
    for(i=0;i<4;i++)spi_xfer(255);
    output_high(CS);
    }
    //************************************************** *********
    void Communications_reg(int8 sta_bite,int8 R_W,int8 Continuous_read){
    int8 total_co=0;
    total_co=(sta_bite+R_W+Continuous_read);
    output_low(CS);
    spi_xfer(total_co);

    }
    //*********************************************
    void mode_regis(int8 M_s,int8 D_S,int8 SIN_3_4,int8 ENP,int8 Singl,int8 RE_60,int8 F9_F0_1,int8 F9_F0_2,int8 m_crys){
    int8 total_M_1=0,total_M_2=0,total_M_3=0;
    M_M_s=M_s;
    M_D_S=D_S;
    M_SIN_3_4=SIN_3_4;
    M_ENP=ENP;
    M_Singl=Singl;
    M_RE_60=RE_60;
    M_F9_F0_1=F9_F0_1;
    M_F9_F0_2=F9_F0_2;
    M_m_crys=m_crys;
    total_M_1=(M_s+D_S+m_crys);
    total_M_2=(Singl+ENP+SIN_3_4+RE_60+F9_F0_2);
    total_M_3=F9_F0_1;

    output_low(CS);
    spi_xfer(total_M_1);
    spi_xfer(total_M_2);
    spi_xfer(total_M_3);
    output_high(CS);
    }
    //************************************************** *
    void configuration_regis(int8 chop,int8 refsel,int8 sel_cha,int8 born,int8 ref_det,int8 bufer,int8 polar,int8 Gain){
    int8 total_M_1=0,total_M_2=0,total_M_3=0;
    /*CR_chop=chop;
    CR_refsel=refsel;
    CR_sel_cha=sel_cha;
    CR_born=born;
    CR_ref_det=ref_det;
    CR_bufer=bufer;
    CR_polar=polar;
    CR_Gain=Gain;*/
    total_M_1=(chop+refsel);
    total_M_2=sel_cha;
    total_M_3=(born+ref_det+bufer+polar+Gain);

    output_low(CS);
    spi_xfer(total_M_1);
    spi_xfer(total_M_2);
    spi_xfer(total_M_3);
    output_high(CS);
    }
    //************************************************** *
    void GPOCON_regis(int8 BPDSW,int8 GP){
    int8 total_M_1=0;
    total_M_1=(BPDSW+GP);
    output_low(CS);
    spi_xfer(total_M_1);
    output_high(CS);
    }
    //************************************************** *
    void Channel_select(int8 chaa_s){
    Communications_reg(Configuration_reg,write,no_CREA D );
    configuration_regis(chop_dis,refsel_dis,chaa_s,bor n_dis,refdet_dis,buf_dis,bipolar,Gain_128);
    }
    //************************************************** *
    void Internal_CALIBRATION_AD7190(){
    Communications_reg(Mode_reg,write,no_CREAD );
    mode_regis(Internal_zero_scale,M_D_S,M_SIN_3_4,M_E NP,M_Singl,M_RE_60,M_F9_F0_1,M_F9_F0_2,M_m_crys);
    delay_ms(300);
    Communications_reg(Mode_reg,write,no_CREAD );
    mode_regis(Internal_full_scale,M_D_S,M_SIN_3_4,M_E NP,M_Singl,M_RE_60,M_F9_F0_1,M_F9_F0_2,M_m_crys);
    delay_ms(300);
    Communications_reg(Mode_reg,write,no_CREAD );
    mode_regis(Continuous_conversion,M_D_S,M_SIN_3_4,M _ENP,M_Singl,M_RE_60,M_F9_F0_1,M_F9_F0_2,M_m_crys) ;
    }

  2. کاربران : 3 تشکر کرده اند از شما hadiabdi برای ارسال این پست سودمند:


  3. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  4. #2
    همکار افتخاری
    تاریخ عضویت
    Jul 2007
    نام
    محمد هادی عبدی
    نوشته ها
    129
    تشکر
    81
    تشکر شده 293 بار در 73 پست

    پیش فرض


  5. #3
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    916
    تشکر شده 2,259 بار در 1,056 پست

    پیش فرض

    سلام
    این برنامه چه کار میکنه
    برای راه انداژی ad7190 استفاده شده؟

  6. #4
    همکار افتخاری
    تاریخ عضویت
    Jul 2007
    نام
    محمد هادی عبدی
    نوشته ها
    129
    تشکر
    81
    تشکر شده 293 بار در 73 پست

    پیش فرض

    بله مدار راه انداز 7190 هستش اي سي فوق العاده ايي هستش خيلي عالي

  7. #5
    تازه وارد
    تاریخ عضویت
    Feb 2012
    نوشته ها
    4
    تشکر
    10
    تشکر شده 0 بار در 0 پست

    پیش فرض

    لطفا توضیح بیشتری بدین و ایا شما با این ای سی لودسل درایو کردین ؟
    شماتیک ؟
    لطفا فایل های مربوطه رو اپلود کنید

  8. #6
    کاربر علاقه مند
    تاریخ عضویت
    Aug 2011
    نوشته ها
    20
    تشکر
    10
    تشکر شده 0 بار در 0 پست

    پیش فرض

    سلام
    من یدونه ad7190 رو با adr421 راه انداختم برای خواندن ولتاژ، ولی مثلا ولتاژ رو بهش اعمال میکنم خیلی خوب نشون میده ولی بعد از حدود شاید 5 ثانیه ولتاژ نشون داده سریع افت میکنه مثلا باطری قلمی میزنم نشون میده 1.5 ولی بعد از چند ثانیه ولتاژش میاد روی 1.3 ولت درحالی که ولتاژ باطری یا رفرنس هیچ تغییری نکرده.
    کسی دلیلشو میدونه ؟
    خیلی مهمه
    ممنون

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •