اطلاعیه

Collapse
No announcement yet.

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

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

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

    سلام و خسته نباشید

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

    1-منظور از زمین انالوگ و دیجیتال AVCC و DVCC چیست و چگونه میشه انها را داشت و تولید کرد

    2- به نظر شما کدام یک از ایسی های AD7730 یا AD7780 برای کار من و این دقت مناسب است؟

    3- برای این دقت به چند بیت دقت نیاز داریم؟

    و در اخر خواهشم از شما مهندسان این است که اگ میتوانید مدار و شماتیک و برنامه ای از بسکام برام بزارید تا بتوانم توسط ان چنین دقتی از لودسل 500 گرمی بگیرم .
    ضمنا من در این زمینه مبتدی و اشنایی در مورد ADC خارجی ندارم و فقط به برنامه نویسی بسکام مسلطم.

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

    دیدگاه


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

      1- شماتیک و برنامه برای چند آی سی ADC در همین تاپیک قرار دارد
      2- با هر آی سی که 16 بیت رزولیشن داشته باشه میشه
      3- اگر پستها را کامل بخوندید نحوه راه اندازی آی سی و اتصال پایه ها وجود دارد
      4- شما با 16 بیت دقت کمتر از 0.1 گرم رو میتونید داشته باشید
      5- برنامه بیسیک در حال حاضر وجود ندارد ولی برنامه کدویژن قرار داده شده و اگر در بسکام وارد باشید به راحتی برنامه کدویژن رو میتونید تحلیل کنید و اگر سوالی داشتید همین جا مطرح کنید

      در ضمن خواهشا پست تکراری ایجاد نکنید و در یک پست سوالتون رو مطرح کنید
      موفق باشید
      [br /][hr]http://pcenter.ir[hr][br /]

      دیدگاه


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

        سلام
        مهندسین گرامی تمامی شماتیک ها و سورس های مربوط به ad7780 پاک شده اکثرا هم آقای علی محمدی این پست ها رو قرار دادند کسی هست داشته باشتشون ؟؟؟

        دیدگاه


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

          http://ali73909.persiangig.com/other/7780.rar

          دیدگاه


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

            احتمال میدم بسوزه
            رفرنس + - اختلافش 5 ولت به هم وصل کردی دیگه
            اما ایسی ها خر کارین شایدم نسوزه!
            امتحان کن

            دیدگاه


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

              آهای مسلمونا کسی نیست بهم کمکی کنه تا کترمو شروع کنم
              من نه چیزی از کدویژن سر در میارم و نه چیزی از نحوه اتصال ایسی ad7730 . ad7780 میدونم
              تنها و تنها هم به زبان بسکام تسلط دارم

              اگه مممکنه منو راهنمایی کنید اخه من کمی هم از اینکه درست کار نکنه میترسم
              بنده یک لودسل 500 گرمی دارم که به ازای 500 گرم 2 میلی ولت روجی میده و از اون 0.1 گرم دقت میخوام چه کار کنم چه مداری رو بچینم و چه برنامه ای بنویسم .
              من که از برنامه های تو این کتابخونه سر در نمیارم اگه توضیحاتی مربوط به هر خط از برنامه وجود داشت عالی و عالی میشد تا همه از این جور برنامه ها سر در ارن
              ممنون میشم توجیه هم کنید
              از کجا شروع کنم؟

              دیدگاه


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

                دوست عزیز از برنامه زیر استفاده کنید که در محیط کدویژن نوشته شده است پس از جواب گرفتن میتونید خیلی راحت برنامه بسکام رو از روی این واسه خودتون بنویسید در صفحه اول هم شماتیک و PCB نمونه ای وجود داره که میتونید شما پایه های CS و RDY آی سی رو هم به میکرو وصل کنید بقیه موارد توضی خاصی نداره در صورتی که سوالی داشتید آنرا به صورت جزئی تر مطرح کنید تا بتونیم کمکت کنیم موفق باشید



                کد:
                #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=0;//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_val2;
                  //unsigned char adc_val0;  
                  
                  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];
                //unsigned int adc2;
                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-32768)/100,2,str1); 
                          
                          lcd_gotoxy(0,1);
                          lcd_putsf("        "); 
                          lcd_gotoxy(0,1); 
                          lcd_puts(str1);  
                          }; 
                        };
                      };
                    };
                  };
                }
                [br /][hr]http://pcenter.ir[hr][br /]

                دیدگاه


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

                  سلام دوستان
                  ad7190 من به کمک دوست عزیز جناب آقای محمدی راه اندازی شده
                  اما من جدیدا متوجه یه مشکلی شدم
                  اونم به این صورت هست که من عدد سنسور رو به سرعت 5 کیلو هرتز می خونم
                  همه اعداد خونده شده درست هست و همه مثلا عدد 2.495 ولت رو نشون می ده
                  اما این کاربردی که از دستگاهم می خوام اینه که تو یه بازه مثلا 5 دقیقه همه داده ها رو از سنسور بگیره و بیشترین مقدار داده رو اعلام کنه
                  ولی متاسفانه مشکل اینه که بعد از این که 3 دقیقه می گذره یک دفعه عدد سنسور بی خود max می شه
                  با این که من هیچی به سنسور نزدیک نکردم
                  یعنی وقتی که میکرو عدد آیسی رو می خونه به جای 2.459 عدد 5 ولت رو می خونه و باز دفعه بعد 2.459 رو می خونه
                  اما همین خطایی که اصلا روی ال سی دی به چشم نمی یاد کار من رو خیلی خراب کرده چون من نمی تونم بیشترین عدد رو بیابم....
                  حالا مشکل از ad7190 هس یا از میکرو و یا ....
                  ی

                  دیدگاه


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

                    بک لایت ال سی دی رو خاموش کن
                    تغذیه خوب بذار رفرنس خوب بذار آداپتور موبایل و تغذیه سوویچینگ نذار
                    هر چی سرعت بره بالا دقت کم میشه فرکانس 5 کیلو هرتز واسه چی میخوای اول بزار 50 هرتز

                    دیدگاه


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

                      با سلام خدمت شما

                      من حدود 1 ماه و چند بار این تایپیک و با 45 صفحه اش خوندم و چیز جالب و مفیدی بود واقعا دست شما هم درت نکنه با این همه توضیخات مفیدتون .

                      اما من با اینکه تایپیک و خوندم هنوز نتونستم چیز دقیقی متوجه بشم و بیام رو کار انگار هنوز کارم صفره

                      بنده با زبان بسکام کار میکنم و از c هم حتی اندکی سر در نمی آورم .

                      خیلی هم مشتاقم یه لودسلو تو avr راه بندازم و یه چیزی به توانایی هام اضافه کنم اما.......

                      بنده یه ترازو ی یک کیلویی که دقتی معادل 0.1 گرم رو داشت خریدم و لودسلشو از اون در آوردم (فکر کنم این لودسل به ازای 1 کیلو 2mv/v خروجی بده و مقاومتش حدود 350 اهم باشه.) و میخوام لودسلو به میکرو وصل کنم و رو ال سی دی نشون بدم اما چند مشکل بزرگ و چند سوال مهم دارم.

                      اول از همه ازتون خواهش میکنم تا منو در شروع کار راهنمایی کنی.از کجا؟
                      بعد از اینکه تایپیکو خوندم اخر متوجه نشدم که برای من تازه کار و با این دقت 0.1 گرم کدوم یک از ایسی های ad7780 یا d7730 مناسبت و بهتره و میتونه جوابگو و راحت باشه .از طرفی بابت اینکه ad7780 این سختی رو داره که باید از یه پایه rdy دو کار بکشی و از طرفی دیگر میگن ad7730 قدیمیه و کار با هاش سختره و دقتش کمتره ...من که واقعا دیگه موندم

                      درخواست بعدی من اینه که :من تو تایپیک گشتم برنامه ها و مدارات مربوط به ad7730 و ad7780 قرو قاطی بود و اصلا مربوط نیست کدوم برنامه مال کدام شماتیکه خواستم اگه ممکنه یه برنامه و شماتیک واسه ad7730 و یه برنامه و شماتیک واسه ad7780 جداگانه واسم بفرستید البته اگه ممکنه برنامه به زبان بسکام بذارید ممنون میشم یا حتی اگه هم بی زحمت به زبان c گذاشتید دستوراتشو تشریح کنید.

                      سوال بعدی ام اینه که ایا برای تغذیه ی این دو ایسی ad584 مناسبه .

                      وضعیت پایه های این 2 ایسی نسبت به میکرو avr چی جوریه .

                      این رو هم بگم که من قبلا یه ماژول ad9000 خریدم که وقتی تغذیه شو به usb کامپیوتر و tx اونو به rx میکرو وصل میکنم در حالی که هیچ لودسلی وصل نیست و برنامه زیر رو پروگرام میکنم رو سطر 2 ال سی دی یه سری کاراکتر پرت و پلا نشون میده....

                      برنامه ad9000 lt:
                      [right]
                      $regfile = "m8def.dat"

                      $crystal = 4000000
                      Config Lcd = 16 * 2
                      Config Lcdpin = Pin , E = Portd.3 , Rs = Portd.2 , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7

                      $baud = 9600
                      Dim X As Byte
                      Dim R As Bit
                      Dim Vazn As String * 10

                      Cursor Off
                      '############################################ ### MAIN #################################################
                      Locate 1 , 1
                      Lcd "SAMAN ELECTRONIC"

                      Wait 2
                      Cls
                      Main:

                      Do
                      X = Waitkey()
                      If X = 115 Then
                      Goto Ne
                      End If
                      Loop

                      Ne:
                      Vazn = ""
                      Do
                      X = Waitkey()
                      If X = 3 Then

                      Goto Sho
                      End If
                      Vazn = Vazn + Chr(x)
                      Loop

                      Sho:

                      Locate 2 , 1
                      Lcd " "
                      Locate 2 , 1
                      Lcd Vazn

                      Goto Main
                      '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%
                      [/rig
                      منتظر پاسخ های شما استادان عزیز هستیم با تشکر فراوان

                      دیدگاه


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

                        با سلام
                        و عرض خسته نباشید به اساتید محترم
                        انتقاد شدیدی داشتم
                        با عرض پوزش:

                        چون اولین نیاز من این بود ایسی رو بشناسم
                        و نحوه کاردکردشو بدونم و با ریجستراش اشنا بشم
                        وقتی من ریجستراشو بلد نیستم
                        هیچ کار مفیدی نمیتونم انجام بدم

                        (((( من ماهی نمیخوام // ماهیگیری میخوام ))))

                        اگه بجای این همه پرسش پاسخ فقط نحوه دسترسی و چگونگی کارکرد و تشریح بیت های داخلی ایسی رو اموزش میدادن
                        برای همه مفید میشد


                        مشکل من ترجمه دیتاشیتاست :read:
                        و اگر این مشکل نداشتم دیگه مشکلی نداشتم

                        کسانی که دارن با این ایسی کار میکنن مطمئنا مشکل منو ندارن
                        و مطمئنا نحوه ارتباط و تشریح ریجستر های داخلیشو میدونن
                        ای کاش پستی ایجاد میشد و نحوه رتباط و ریجستر های ایسی رو اموزش میداد

                        چه میشود کرد
                        موفق باشید و پایدار

                        دیدگاه


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

                          سلام دوستان عزیز
                          این پروژه به صورت کامل باارتباط AD7730 و AVR-ATMEGA16 از طریق پروتکل SPI و نمایش روی LCD و نیز در صورت نیاز ارسال به کامپیوتر از طریق پورت RS232 و با کامپایلر BASCOM در AVR و زبان برنامه نویسی ویژوال بیسیک 6 در کامپیوتر قابل ارائه با سورس کامل و نقشه ها میباشد .
                          در صورت نیاز ایمیل ارسال نمایید : moghtader_nima1@yahoo.com

                          دیدگاه


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

                            نوشته اصلی توسط sahel2013
                            با سلام
                            و عرض خسته نباشید به اساتید محترم
                            انتقاد شدیدی داشتم
                            با عرض پوزش:

                            چون اولین نیاز من این بود ایسی رو بشناسم
                            و نحوه کاردکردشو بدونم و با ریجستراش اشنا بشم
                            وقتی من ریجستراشو بلد نیستم
                            هیچ کار مفیدی نمیتونم انجام بدم

                            (((( من ماهی نمیخوام // ماهیگیری میخوام ))))

                            اگه بجای این همه پرسش پاسخ فقط نحوه دسترسی و چگونگی کارکرد و تشریح بیت های داخلی ایسی رو اموزش میدادن
                            برای همه مفید میشد


                            مشکل من ترجمه دیتاشیتاست :read:
                            و اگر این مشکل نداشتم دیگه مشکلی نداشتم

                            کسانی که دارن با این ایسی کار میکنن مطمئنا مشکل منو ندارن
                            و مطمئنا نحوه ارتباط و تشریح ریجستر های داخلیشو میدونن
                            ای کاش پستی ایجاد میشد و نحوه رتباط و ریجستر های ایسی رو اموزش میداد

                            چه میشود کرد
                            موفق باشید و پایدار
                            اینکه چرا تا اینجا در مورد رجیسترهای آی سی های ADC توضیحات کاملی ارائه نشده دو دلیل اصلی دارد:
                            اول اینکه فرصت کافی برای وقت گذاشتن و نوشتن آنها میسر نیست
                            و دوم اینکه دیتاشیت این آی سی مرجع کامل اطلاعاتی ست که مورد نیاز هست و اگه کسی وقت کنه و بیاد توضیحاتی راجع به آی سی های فوق بده هم مسلما اطلاعات کاملی نمیتونه بده و هم اینکه این کار فقط تکرار مکررات هست
                            بنابراین این طور به نظر میرسد که کسانی که میخواهند طرز ارتباط با این آی سی را فرا گیرند بهترین راه ( ومسلما تنها راه) مراجعه به دیتاشیت این آی سی و در صورتی که مشکلی داشتند پرسیدن آن قسمت در همین تاپیک هست تا من و سایر دوستان تا اونجا که بلد باشیم در خدمت شما باشیم یا علی
                            [br /][hr]http://pcenter.ir[hr][br /]

                            دیدگاه


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

                              سلام به دوستان عزیز

                              به هیچ عنوان از SPI نرم افزاری تو BASCOM استفاده نکنید
                              خیلی اذیت تون می کنه
                              اگه هم سخت افزاری استفاده می کنید و فیلتر 10 هرتز دارید و گین 128، چک کنید استاتوس 73 بیاد.
                              اینم برنامه
                              $regfile = "m328pdef.dat"
                              $crystal = 11059200
                              $hwstack = 32
                              $swstack = 10
                              $framesize = 40
                              $baud = 9600
                              Baud = 9600




                              Dim Msb As Byte
                              Dim Lsb As Byte
                              Dim Biarzesh As Byte
                              Dim Status As Byte

                              Dim Sum As Long




                              Config Pinb.5 = Output
                              Config Pinb.4 = Input





                              Config Spi = Hard , Interrupt = On , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Noss = 1 , Clockrate = 128
                              Spiinit


                              Config Adc = Single , Prescaler = Auto , Reference = Internal


                              Do



                              Bitwait Pinb.4 , Reset




                              Spiin Msb , 1
                              Spiin Lsb , 1
                              Spiin Biarzesh , 1
                              Spiin Status , 1




                              Sum = Msb * 256
                              Sum = Sum + Lsb




                              Print Sum

                              Loop

                              End

                              من فروشنده نیستم.
                              رقیب هم نیستم.
                              حرف علمی می زنم.
                              این تراشه خیلی ساده تر از اینه که لازم باشه بریم بازار ماژول اش رو بخریم
                              برای کاری در حوزه اربعین نیاز به نیروی داوطلب هستیم.
                              http://hosseinwalkingday.com

                              دیدگاه


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

                                سلام
                                لطفا در خصوص صفحه 36 دیتاشیت AD7730 همچنین رحیستر کنترلی SPCR) CPHA و CPOL ) مربوط به میکرو و POL مربوط به AD7730 توضیح دهید
                                با تشکر

                                دیدگاه

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