اطلاعیه

Collapse
No announcement yet.

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

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

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

    با سلام خدمت اساتید گرامی
    من یه دستگاه توزین رو باز کردم دیدم که داخلش یه AD7730 استفاده شده و دو تا TC1426 که این آی سی یه Dual Mosfet Driver بود.
    اما نکته سر اینه که پایه ی RDY رو با یه مقاومت 10k به VCC=5v متصل شده بود. ref+ و ref- به جایی اتصال نداشت و پایه های ACX و ACX' به TC1426 وصل شده بودند.
    چند تا سوال دارم.
    1- چرا RDY به VCC وصله؟ یعنی داره تغییراتشو ازرو رجیستر Status میخونه؟
    2- این دستگاه یعنی تحریک لود سل رو با TC1426 انجام میده. در این مورد میشه راهنماییم کنید؟ (تنظیم رجیستر AC و CHP باید رو یک باشه. درسته؟)
    سپاسگذارم.

    دیدگاه


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

      سلام مهندس. دستگاه رو تحویل دادم رفت. تو اینکه RDY به 5 ولت وصل بود شک ندارم. شماتیک خودم مثل همون دستگاهه. اونو upload میکنم.
      مهندس جان آخه من دارم این دستگاه رو با AT91SAM7X256 راه میندازم. اول نقشه رو میدم، شما صحتشو بررسی کنید.
      http://www.mediafire.com/view/?k2p36y6agt6rioy

      دیدگاه


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

        نوشته اصلی توسط aryanaar
        تحریک لودسل باید ac باشه
        عکسشو تونستید پلود کنید
        توو 7730 ac و dc میشه بقیه ic ها dc دارن فقط
        rdy هم باید پول پ شه
        Acx اینام با یه ای سی واسه تغذیه ac ای سی 7730 هست
        البته دقیقآ دو تا دیتا شیت 7730 تغذیه Ac واسه لود رو ببینید عسک هم دارهههه
        page 25

        دیدگاه


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

          این رو ببینید با ماسفت راش انداخته
          1.jpg - 109.8 Kb
          http://uplod.ir/9f2we7jjd44l/1.jpg.htm

          دیدگاه


            پاسخ : AD7730

            نوشته اصلی توسط faryad_30000
            سلام
            من برنامه و شماتیک مدار AD7730 آقای ahmad mn ، را بستم ولی هیچ جوابی از AD7730 دریافت نکردم آیا مقدار رجیستر SPCR=0x58 و SPSR=0x00 درست است؟ تنظیمات پورت spi در کدویژن چگونه باید باشد؟
            // SPI initialization
            // SPI Type: Master
            // SPI Clock Rate: 1000.000 kHz
            // SPI Clock Phase: Cycle Start
            // SPI Clock Polarity: High
            // SPI Data Order: MSB First
            SPCR=0x5C;
            SPSR=0x00;

            دیدگاه


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

              با سلام خدمت اساتید گرامی
              لودسل من 23 تونه و 2.5mv/v.
              حدود 10 متر کابل بهش وصله. تحریکشو ac کردم و 2 تا TC1426 به acx ها وصل کردم (ماسفت دوبلن).
              اما متاسفانه جوابی نمی تونم بگیرم.
              1- RDY رو پول پ کردم ولی به پینی از میکرو وصل نکردم. سعی کردم از status register مقدار RDY رو بدست بیارم. آیا این درسته؟
              2- Filter Register رو واقعا نمیدونم پی باید بنویسم. اینو میدونم که ac=1 و chp=1. اما فرمول sf رو نمیدونم.
              3- بیت های DL3-DL0 رو چی باید بدم؟
              تقریبن تمام دوستانی که تو این فروم کار کردن تحریکشون dc بوده.
              ممنون میشم راهنماییم کنید.

              دیدگاه


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

                ایده گرفتن از یه مدار خوبه اما دلیلی نداره کپی پیست اون بسازی rdy رو وصل کن به میکرو هر وقت صفر شد دیتا رجیسترو بخون اما با استاتوس رجیسترم باید بشه
                اول با تغذیه dc راه بنداز شما بعد ac کن زیادم فرق نداره واسه ب***** زیاد دقت لازم نیست
                شما واسه ب***** sf هارم کمترین مقدار بزار سرعت مهم نیست (صفحه 19 بالا صفحه)
                dl هام وقفه واسه نوسان ساز ac هست از صفر تا 15 میشه عدد داد که فرمول داره بدست میاد (صفحه 19 پایین صفحه)

                دیدگاه


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

                  جناب مهندس. انجامشون دادم. حتی در حالت عادی تونستم 65535 رو هم از dataregister بخونم اما اصلا تشخیص نمیده loadcell وجود داره
                  پایه های acx با ولت متر رو مد dc یکیشون 0 ولت و دیگری 5 ولت نشون میده و اصلن نوسان ندارن با اینکه ac=1 و chp=1 کردم.
                  احتمال هست که ic سوخته باشه؟

                  دیدگاه


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

                    نمی سوزه ic به این راحتی
                    65535 یعنی 24 بیت خوندی؟
                    2 حالت داشتا 24 بیتی و 16 بیتی
                    chop و ac فلیتر همه اینارم ول کن 0 کن
                    من که سمت 7730 نرفتم اما مثله اینکه راحت جواب نمیده!

                    دیدگاه


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

                      این برنامه ای هست که من ازش جواب گرفتم
                      تست کن و نتیجه رو بگو

                      کد:
                      /*****************************************************
                      Chip type      : ATmega32
                      Program type    : Application
                      Clock frequency   : 1.000000 MHz
                      Memory model    : Small
                      External RAM size  : 0
                      Data Stack size   : 512
                      *****************************************************/
                      #include <mega16.h>
                      #include <math.h>
                      // Alphanumeric LCD Module functions
                      #asm
                        .equ __lcd_port=0x12 ;PORTD
                      #endasm
                      #include <lcd.h>
                      #include <spi.h>
                      #include <delay.h>
                      #include <stdlib.h>
                      #include <stdio.h>             
                      #define ADC_RDY     PINA.0
                      #define ADC_CS     PORTC.0
                      
                      #define SYS_ZERO_MODE  0b11001000//zero dakheli vurudi sefr mishavad
                      #define SELF_CALB_MODE 0b10100000//calibre dakheli khod be khod
                      #define CONT_CNV_MODE  0b00101000//mode peyvaste ersal 
                      //inha be adc_mode_bh dade mishavad
                                  
                      #define UPDATE_RATE   150
                      #define ADC_Vin     0 //0=10mv,1=20mv,2=40mv,3=80mv
                      #define MODE_LOW    0b10000000|(16*ADC_Vin)
                      
                      flash int xxx=32768;
                      
                      unsigned char ADC_MODE_BH;
                      
                      //********************************************************
                      void RESET_AD7730(void)
                        { 
                        ADC_CS=0;
                        spi(255);
                        spi(255);
                        spi(255);
                        spi(255);
                        ADC_CS=1;
                        }    
                      //********************************************************
                      void ADC_FILTER_SET(void)
                        {
                        unsigned int filter;
                        unsigned char filterL,filterH;
                        filter=307200/UPDATE_RATE;
                        if(filter>2048) filter=2048;
                        filterL=filter % 16;
                        filterL=filterL*16;
                        filterH=filter / 16;    
                        ADC_CS=0;
                        spi(0b00000011);//be comunication reg mige halate badi neveshtane tu filter reg
                        spi(filterH);
                        spi(filterL);
                        spi(0);
                        ADC_CS=1;
                        }    
                      //********************************************************
                      void ADC_MODE_SET(void)
                        {   
                        ADC_CS=0;
                        spi(0b00000010);//be comunication reg mige halate badi neveshtane tu mode reg
                        spi(ADC_MODE_BH);
                        spi(MODE_LOW);
                        ADC_CS=1;
                        } 
                      //********************************************************
                      unsigned int ADC_READ_DATA(void)
                        {
                        unsigned int adc_val;
                      
                        ADC_CS=0;
                        spi(0b00010001);//be comunication reg mige halate badi khundane az data reg va 1 bar
                        adc_val=(unsigned int) spi(255)*256 + spi(255);
                      
                        ADC_CS=1;
                        return(adc_val);
                        } 
                      //********************************************************
                      
                      interrupt [EXT_INT2] void first_int(void)
                      {
                      #asm("cli")
                      
                      while(1);
                      }
                      //********************************************************
                      void main(void)
                      {
                      unsigned int adc1,temp; 
                      bit ADC_SEL,ZERO_ADC;
                      unsigned char sum_cntr;
                      unsigned long int sum;
                      unsigned char str1[20];
                      float adc3;
                      
                      // Input/Output Ports initialization
                      // Port A initialization
                      // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
                      // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
                      PORTA=0x00;
                      DDRA=0x00;
                      
                      // Port B initialization
                      // Func7=Out Func6=In Func5=Out Func4=Out Func3=In Func2=In Func1=In Func0=In 
                      // State7=0 State6=T State5=0 State4=0 State3=T State2=T State1=T State0=T 
                      PORTB=0x00;
                      DDRB=0xB0;
                      
                      // Port C initialization
                      // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
                      // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
                      PORTC=0x00;
                      DDRC=0xFF;
                      
                      // Port D initialization
                      // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
                      // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
                      PORTD=0x00;
                      DDRD=0x00;
                      
                      // LCD module initialization
                      
                      
                      // SPI initialization
                      // SPI Type: Master
                      // SPI Clock Rate: 250.000 kHz
                      // SPI Clock Phase: Cycle Half
                      // SPI Clock Polarity: High
                      // SPI Data Order: MSB First
                      SPCR=0x58;
                      SPSR=0x00;
                      
                      //////////////////////////////
                      
                      
                      delay_ms(1000);
                      lcd_init(16);
                      lcd_clear();
                      lcd_gotoxy(0,0);
                      lcd_putsf("Force:   gram");
                      
                      GICR=0x20;
                      MCUCSR=0x00;
                      GIFR=0x20;
                      
                      #asm("sei")
                      
                      RESET_AD7730();
                      ADC_FILTER_SET();
                      ADC_MODE_BH=SYS_ZERO_MODE;
                      ADC_MODE_SET();
                      ZERO_ADC=0;
                      ADC_SEL=1;
                      sum_cntr=0;
                      sum=0;
                      adc1=0;
                      
                      while (1) 
                        {      
                        //********************************************************************        
                        if(ADC_RDY==0)
                          { 
                          if(ZERO_ADC)
                            {  
                            ADC_MODE_BH=SYS_ZERO_MODE;
                            ADC_MODE_SET();
                            ZERO_ADC=0;
                            ADC_SEL=1;
                            }
                          else
                            {
                            if(ADC_SEL)
                              { 
                              ADC_SEL=0;   
                              ADC_MODE_BH=CONT_CNV_MODE;
                              ADC_MODE_SET();        
                              }
                            else
                              {
                              temp=ADC_READ_DATA(); 
                              sum=sum+temp;
                              if(++sum_cntr==50)
                                {          
                                sum_cntr=0;
                                adc1=sum/50;
                                sum=0; 
                                ftoa((adc1-xxx)/100,2,str1); 
                                adc3=adc1-xxx;
                                ftoa(adc3,1,str1); 
                      
                                lcd_gotoxy(0,1);
                                lcd_putsf("        "); 
                                lcd_gotoxy(0,1); 
                                lcd_puts(str1);  
                                }; 
                              };
                            };
                          };
                        };
                      }
                      [br /][hr]http://pcenter.ir[hr][br /]

                      دیدگاه


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

                        سلام
                        تابع interrupt [EXT_INT2] void first_int(void چه موقع انجام میشود؟ برای فعال کردن اینتراپت روی لبه بالا رونده باشد یا پایین رونده؟ میکرو این تابع را نمیشناسد . اگه از این تابع interrupt [EXT_INT2] void ext_int2_isr(void استفاده کنیم مشکل ایجاد میشود؟
                        // SPI initialization
                        // SPI Type: Master
                        // SPI Clock Rate: 250.000 kHz
                        // SPI Clock Phase: Cycle Half
                        // SPI Clock Polarity: High
                        // SPI Data Order: MSB First
                        SPCR=0x5C;
                        SPSR=0x00;
                        درست است یا SPCR = 0x58

                        دیدگاه


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

                          در برنامه قرار داده شده از اینتراپت سخت افزار ی استفاده ای نمیشود و با دستور IF وضعیت پایه RDY در آی سی مشخص میشود
                          [br /][hr]http://pcenter.ir[hr][br /]

                          دیدگاه


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

                            نوشته اصلی توسط adelavr110
                            در برنامه قرار داده شده از اینتراپت سخت افزار ی استفاده ای نمیشود و با دستور IF وضعیت پایه RDY در آی سی مشخص میشود
                            اگه با 7730 مشکل دارید برنامه ای که گذاشتم رو بردارید و شماتیکی که از اون استفاده میکنید رو قرار بدید
                            [br /][hr]http://pcenter.ir[hr][br /]

                            دیدگاه


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

                              سلام دوستان میشه منو راهنمایی کنید
                              من می خوام از یک سیگنال ac نمونه برداری کنم با دقت بالا و سرعت بالا . سرعت نمونه برداری بالای 3000 نمونه در ثانیه آیا امکانش هست با ad7190 این کارو انجام بدم ؟؟؟ کسی پیشهادی داره ؟؟؟؟

                              دیدگاه


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

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

                                1- من یک لودسل 500 گرمی دارم که به ازای 500 گرم 2MV/V خروجی میده و میخوام ازش دقت 0.1 گرم رو میکرو بگیرم و رو ال سی دی نشون بدم اما دقیق نمیدونم چی جوری متونم این کارو بکنم و آیا میشه یا با چه مدار و ایسی ای میتونم این کارو کنم.

                                2- با توجه به مطالب کتابخانه آخ نتونستم بفهمم که چه ایسی ای از بین AD7730 یا AD7780 برای کار من و این دقت خوب و کار کردن با هاش اسونه؟

                                3- منظور از زمین آنالوگ و دیجیتال و DVCC و AVCC در مدار چیست و چگونه میتوان زمین انالوگ و دیجیتال و AVCC و DVCC بوجود اورد و ساخت؟

                                4- اصلا برای این دقت مورد نیاز من به چند بیت دقت نیاز داریم؟

                                خواهشی دارم که اگه شما ی مهندس میتوانید مدار و برنامه ای به زبان بیسک برای راه اندازی این لودسل و بدست آوردن چنین دقتی برام بزارید و کمکم کنید.
                                چون بنده فردی ممبتدی در AVR هستم و تنها به زبان بیسیک (بسکام ) کاملا تسلط دارم.

                                با تشکر فراوان..........در انتظار........................

                                دیدگاه

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