اطلاعیه

Collapse
No announcement yet.

سوال درباه خروجی adc و نمایش آن در glcd در پروژه اسیلوسکوپ

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

    سوال درباه خروجی adc و نمایش آن در glcd در پروژه اسیلوسکوپ

    سلام به همگی

    همین اول باید بگم من هیچ مشکلی با فعال کردن ADC و نمایش یک نقطه دلخواه در GLCD ندارم ولی چیزی که واقعا عقلم بهش نمیرسه که چیکار کنم اینه:

    من میخوام یک اسیلوسکوپ درست کنم که ورودی اش که یک موج سینوسی در حد کیلوهرتز هست به پورت A میکرو که همون مبدل ADC هست وصل بشه و خروجی اش رو هم که digitalized شده ی همین موج هست از طریق اتصال نقاط متوالی یک موج در صفحه GLCD نمایش بده.


    یه بیان دیگه به ازای هر نقطه ای از موج ورودی که جزئی از موج هست و در ADC از آنالوگ به دیجیتال تبدیل میشود یک نقطه در GLCD نمایش بده و از بهم پیوستن این نقاط یک شکل موج دقیقا مشابه موج ورودی تولید بشه.

    اولش با خودم گفتم : خوب. رجیستر ADC یک رجیستر ده بیتی است و مقادیری که میتونه داشته باشه از 0 هست تا 1024.
    GLCD هم مدل 128*64 هست. من خروجی رجیستر ADC رو که ADCW نام داره رو تقسیم بر 16 میکنم تا حاصل اون بین 0 تا 64 قرار بگیره و اینجوری شکل موج درست میشه.

    اما مشکلی که به ذهنم رسید فرکانس موج بود. برای GLCD نمیتونم تعیین کنم که فاصله یک نقطه تا نقطه هم فازش در موج چقدر هست.

    ساده تر بخوام بگم.... خروجی ADC یک بعدی هست ... ولی من میخوام موجی که دو بعدی هست بصورت دو بعدی هم در glcd نمایش داده بشه... یعنی برای هر نقطه از موج هم طولش را داشته باشم و هم عرض آن نقطه رو .


    و برای اینکار هم میخوام با رجیستر adcw کار کنم ولی چیزی به ذهنم نمیرسه.

    درخواستم از شما این نیست که برای من برنامه بگذارید. چه انکه حداکثر به یک قطعه برنامه هم راضی ام ولی بیشتر به دنبال " ایده " این کار هستم و اینکه توضیح دهید که چیکار باید بکنم.

    ممنونم.

    #2
    پاسخ : سوال درباه خروجی adc و نمایش آن در glcd در پروژه اسیلوسکوپ

    با سلام،

    خدمت دوست گرامی، جناب roberty عزیز عرض کنم که من یه روتین 20 خطی مربوط به تست Graphic LCD ( مشخصا KS0108 ) که در اصل مقادیر کانال صفر ADC یه میکرو رو میخونه و مثل یه اسکوپ روی LCD نشون میده رو برات میزارم و سعی میکنم یه توضیحی هم بدم تا مطلب روشن بشه. این فقط یه قسمت کوچک از یه برنامه تست بزرگه!

    ولتاژ ورودی از 0 تا 5 ولت و فرکانس هم حدودا 2 کیلوهرتز!

    فرض بر اینه که همه کارها قبلا انجام شده، LCD آماده است. کلیه تنظیمات اولیه درسته و در روتین main بعد از این مقدمات، رفتیم توی این روتین oscope و در Loop برنامه، بعنوان یه اسکوپ بسر میبریم :biggrin:

    توجه داشته باش که یه روتین به نام (a2dConvert8bit(0 از کانال صفر ADC مقادیر رو 8 بیتی میخونه و روتین (glcdClearDot(x, y در نقطه x و y یک پیکسل رو خاموش میکنه و روتین (glcdSetDot(x, y هم در نقطه x و y یک پیکسل رو روشن میکنه و روتین ()glcdClearScreen هم که صفحه LCD رو پاک میکنه و بقیه دستورات هم معلومه که چی هستند!



    همونطور که در خط 14 مشاهده میشه، مقدار "i" از صفر تا 127 میره، یعنی به اندازه مقدار پیکسل های عرض LCD و در خط 12 هم به همین میزان و یکجا، از ADC نمونه ها خونده میشه و در newbuffer ریخته میشه. البته قبلش در خط 11 مقادیر خونده شده قبلی در بافر oldbuffer ریخته میشه.

    در خط 16 پیکسلی که در نمونه برداری قبلی روشن شده، خاموش میشه و در خط 17 هم پیکسل جدید بر اساس نمونه برداری جدید روشن میشه و ادامه ماجرا ....
    مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

    Sh_Nourbakhsh@Yahoo.com

    http://s2.picofile.com/file/7170362468/_Wall_e_.jp

    دیدگاه


      #3
      پاسخ : سوال درباه خروجی adc و نمایش آن در glcd در پروژه اسیلوسکوپ

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

      دیدگاه


        #4
        پاسخ : سوال درباه خروجی adc و نمایش آن در glcd در پروژه اسیلوسکوپ

        نوشته اصلی توسط aivhl
        با سلام،

        خدمت دوست گرامی، جناب roberty عزیز عرض کنم که من یه روتین 20 خطی مربوط به تست Graphic LCD ( مشخصا KS0108 ) که در اصل مقادیر کانال صفر ADC یه میکرو رو میخونه و مثل یه اسکوپ روی LCD نشون میده رو برات میزارم و سعی میکنم یه توضیحی هم بدم تا مطلب روشن بشه. این فقط یه قسمت کوچک از یه برنامه تست بزرگه!

        ولتاژ ورودی از 0 تا 5 ولت و فرکانس هم حدودا 2 کیلوهرتز!

        فرض بر اینه که همه کارها قبلا انجام شده، LCD آماده است. کلیه تنظیمات اولیه درسته و در روتین main بعد از این مقدمات، رفتیم توی این روتین oscope و در Loop برنامه، بعنوان یه اسکوپ بسر میبریم :biggrin:

        توجه داشته باش که یه روتین به نام (a2dConvert8bit(0 از کانال صفر ADC مقادیر رو 8 بیتی میخونه و روتین (glcdClearDot(x, y در نقطه x و y یک پیکسل رو خاموش میکنه و روتین (glcdSetDot(x, y هم در نقطه x و y یک پیکسل رو روشن میکنه و روتین ()glcdClearScreen هم که صفحه LCD رو پاک میکنه و بقیه دستورات هم معلومه که چی هستند!

        همونطور که در خط 14 مشاهده میشه، مقدار "i" از صفر تا 127 میره، یعنی به اندازه مقدار پیکسل های عرض LCD و در خط 12 هم به همین میزان و یکجا، از ADC نمونه ها خونده میشه و در newbuffer ریخته میشه. البته قبلش در خط 11 مقادیر خونده شده قبلی در بافر oldbuffer ریخته میشه.

        در خط 16 پیکسلی که در نمونه برداری قبلی روشن شده، خاموش میشه و در خط 17 هم پیکسل جدید بر اساس نمونه برداری جدید روشن میشه و ادامه ماجرا ....
        بینهایت از لطفتون سپاسگذارم که من رو دوست خودتون میدونید و برای من وقت گذاشتید و تصویر پلود کردید و به سوالاتم پاسخ دادید.

        بله کار راه اندازی اسیلوسکوپ رو تا آنجا ادامه دادم که توابعی برای رسم محور های افقی و عمودی ترسیم کند و یک کیپد 4*4 هم کنارش گذاشتم که بتونم امکان افزایش و کاهش voltdiv و timediv رو داشته باشم. از طرفی کنار همه اینها روی طراحی PCB این پروژه هم کار میکنم که بیان آن جایش اینجا نیست.

        نمودار های افقی و عمودی ترسیم شدند


        برنامه هم به شرح زیر هست که در کدویژن 2.05.3 نوشتم:
        کد:
        [left]#include <mega16.h>
        
        // Graphic LCD functions
        #include <glcd.h>
        
        // Font used for displaying text
        // on the graphic LCD
        #include <font5x7.h>
        // Declare your global variables here
        
        
        void main(void)
        {
        int i,j;
        // Declare your local variables here
        // Graphic LCD initialization data
        GLCDINIT_t glcd_init_data;
        PORTB=0x00;
        DDRB=0x00;
        PORTC=0x00;
        DDRC=0x00;
        PORTD=0x00;
        DDRD=0x00;
        glcd_init_data.font=font5x7;
        glcd_init(&glcd_init_data);
        
        while (1)
           {
           glcd_clear();
           for (i=0;i<128;i++){
           glcd_setpixel (64,i);
           }
           for (j=0;j<128;j++){
           glcd_setpixel (j,32);
         }
         glcd_putcharxy( 5, 5, '$'); 
         }
        }[/left]
        روتینهایی که فرمودید یعنی (glcdClearDot(x, y و (glcdSetDot(x, y و ()glcdClearScreen در این ورژن از کدویژن بصورت آماده وجود دارند و بنده هم با کمک همین روتینها اون دو تا محور رو رسم کردم... البته اسم این روتینها یه خورده شاید فرق کنه ولی کارشون یکسان هست و همگی در هدرفایل glcd.h تعریف شده اند.

        میمونه روتین a2dconvert که خودم حتما برنامه اش رو مینویسم. البته بعدا باید این پروژه رو گسترش هم بدم یعنی همین برنامه برای دو تا کانال تعریف بشه و پروژه بشود اسیلوسکوپ دوکاناله که یکی از دلایلی که کیپد رو توی این پروژه میذارم هم سوییچ کردن بین کانالهای 1 و 2 و (1و2 همزمان ) هست که کاری نداره.

        فقط شما تایید بفرمایید که توایع یاد شده رو در اون برنامه ای که گذاشتم باید در حلقه While بنویسم دیگه... درسته..؟

        همینطور توابعی که باعث گسترش پروژه از اسیلوسکوپ تک کاناله به دو کاناله میشوند

        بازهم از لطفتون ممنونم که بمن محبت دارید و پاسخ سوالاتم رو میدهید.

        دیدگاه


          #5
          پاسخ : سوال درباه خروجی adc و نمایش آن در glcd در پروژه اسیلوسکوپ

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

          پروژه اسیلوسکوپ من قراره دوکاناله باشه... نمیدوم چی هست ولی فکر میکنم حجم فایلهای HEX در کدویژن جدید بیشتر شده... همون یه ذره برنامه من 11 کیلوبایت شد که اگر این حجم به بیش از 32 کیلوبایت برسه باید برم سمت میکروهای SMD که دیگه واقعا بدبخت میشم . چون نه پروگرامرشون رو دارم نه بلدم روی PCB پروژه ام سوارشون کنم.

          از این جهت عرض میکنم که نگران حجم فایل HEX هستم که هم باید کیپد رو اسکن کنم و هم ADC رو برای دوتاکانال راه بندازم و هم توابعی برای افزایش و کاهش voltdiv و timediv بنویسم و هم glcd رو که راه اندازی کرده ام به برنامه اضافه کنم. یعنی همه رو به برنامه glcd اضافه کنم.

          ولی بازهم روی پیشنهاد شما کار میکنم و اگر بشه برنامه اش رو مینویسم و امتحانش میکنم.

          بازهم از محببتون ممنونم.

          دیدگاه


            #6
            پاسخ : سوال درباه خروجی adc و نمایش آن در glcd در پروژه اسیلوسکوپ

            با سلام،

            این روتین، یه روتین برای تست هست و اصلا یه روتین بدربخور و کاملی نیست، فقط روال کار رو نشون میده!
            حالا خوبه که برای تست و درک بهتر مطلب، شما این روتین رو بازنویسی کنی و اون رو در روتین main خودت فراخوانی کنی، دقیقا به جای اون خطی که علامت $ رو روی صفحه چاپ کردی و برای اینکه محورهات هم پاک نشن، رسم اونها رو در خط 13 روتین اسکوپ قرار بده.....

            پیشنهاد میکنم که اگر مایلی، شماتیکت رو بزاری تا با هم رووش کار کنیم.
            مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

            Sh_Nourbakhsh@Yahoo.com

            http://s2.picofile.com/file/7170362468/_Wall_e_.jp

            دیدگاه


              #7
              پاسخ : سوال درباه خروجی adc و نمایش آن در glcd در پروژه اسیلوسکوپ

              نوشته اصلی توسط aivhl
              با سلام،

              این روتین، یه روتین برای تست هست و اصلا یه روتین بدربخور و کاملی نیست، فقط روال کار رو نشون میده!
              حالا خوبه که برای تست و درک بهتر مطلب، شما این روتین رو بازنویسی کنی و اون رو در روتین main خودت فراخوانی کنی، دقیقا به جای اون خطی که علامت $ رو روی صفحه چاپ کردی و برای اینکه محورهات هم پاک نشن، رسم اونها رو در خط 13 روتین اسکوپ قرار بده.....

              پیشنهاد میکنم که اگر مایلی، شماتیکت رو بزاری تا با هم رووش کار کنیم.
              ممنونم از محبتتون.

              بله . البته که مایل هستم. ولی فعلا قبل از اینکه سر timer/counter برم خواستم همون توابعی که شما نوشته بودید رو بکار ببرم .

              توابع رو نوشتم و برنامه رو بدون خطا کامپایل کردم
              کد:
              #include <mega16.h>
              
              // Graphic LCD functions
              #include <glcd.h>
              
              // Font used for displaying text
              // on the graphic LCD
              #include <font5x7.h>
              // Declare your global variables here
              unsigned char a2dconvert (void);
              void scope (void);
              void main(void)
              {
              int i,j;
              // Declare your local variables here
              // Graphic LCD initialization data
              GLCDINIT_t glcd_init_data;
              PORTB=0x00;
              DDRB=0x00;
              PORTC=0x00;
              DDRC=0x00;
              PORTD=0x00;
              DDRD=0x00;
              glcd_init_data.font=font5x7;
              glcd_init(&glcd_init_data);
              
              while (1)
                 {
                 glcd_clear();
                 for (i=0;i<128;i++){
                 glcd_setpixel (64,i);
                 }
                 for (j=0;j<128;j++){
                 glcd_setpixel (j,32);
               }
               scope(); 
               } 
               } 
               ////////////// end of MAIN function 
               ////////////// defination of a2dconvert()
              unsigned char a2dconvert (void)
               {
               ADMUX = 0b11000000;
               ADCSRA = 0b11100111; 
               SFIOR = 0b00000000;
              return ADCW;
               }
               //////////////// end of defination a2dconvert
               /////////////// defination of scope()
               
               void scope (void )
               {
               unsigned char i=0;
               unsigned char oldbuffer[128];
               unsigned char newbuffer[128]; 
               
                glcd_clear();
                do{
                for(i=0;i<128;i++){
                oldbuffer[i] = newbuffer[i];
                } 
                for(i=0;i<128;i++){
                newbuffer[i]= a2dconvert() ;
                }
                for(i=0;i<128;i++){
                glcd_clrpixel (i,oldbuffer [i]>>2);
                glcd_setpixel ( i,newbuffer[i]>>2);
                }
                }
                while(1);   
              }
              چند تا سوال برام پیش اومد:
              1- ورودی آنالوگ رو چی بذارم...؟ یعنی به پورت PORTA.0 چی وصل کنم که برای تست کردن مناسب باشه...؟ چون آنقدر پول ندارم که 200 هزار تومن پول سیگنال ژنراتور بدم این رو پرسیدم

              دوم اینکه این ارور رو که مربوط به محیط codevision هست رو چجوری برطرف کنم ؟


              3- برای پروژه اسیلوسکوپ ورودی های ADC باید بصورت ورودی تفاضلی باشند یا ورودی معمولی...؟

              4- تکلیف ولتاژ های منفی چه میشود...؟ یادم نیست کجا بود ولی یه جایی خوندم از opamp باید استفاده کرد... این درسته یا اینکه همون ورودی تفاضلی باعث میشه نیازی به opamp نباشه..؟

              اینهم فایلهای برنامه و کدهگز و پروتئوس برنامه . حجمش 125 کیلوبایت هست:
              http://www.up.asblog.ir/images/tt4q8upf3cpg5yip1aqe.rar

              دیدگاه


                #8
                پاسخ : سوال درباه خروجی adc و نمایش آن در glcd در پروژه اسیلوسکوپ

                منتظر جواب هستم. :smile:

                دیدگاه


                  #9
                  پاسخ : سوال درباه خروجی adc و نمایش آن در glcd در پروژه اسیلوسکوپ

                  با سلام،

                  در مورد ارور کدویژن که اطلاعی ندارم، به احتمال زیاد موضوع برمیگرده به برنامه نویسی و تنظیمات استکها در کامپایلر .....

                  و اما اگر شما بخواید ولتاژ رو مستقیما به ADC بدید، باید دامنه بین صفر تا حداکثر 5 ولت باشه، در غیر اینصورت، باید با دو تا OpAmp ولتاژ ورودی به ADC رو بیارید توی این رنج، یعنی اینکه هم دامنه رو کم کنید و هم اینکه بهش آفست بدید تا ولتاژهای منفی بیان روی صفر.

                  من به شما توصیه میکنم که به این آدرس یه سری بزنید و اون رو خوب مطالعه کنید و سخت افزار خودتون رو مثل اون ببندید و بعدش برید سر وقت برنامه نویسی :

                  http://www.serasidis.gr/circuits/AVR_oscilloscope/avr_oscilloscope.htm

                  برای تست هم میتونید از یه ترانس معمولی 220 ولت به 6 یا 12 ولت استفاده کنید که میشه یه سینوسی 6 یا 12 ولت متناوب 50 هرتز که با یه ولوم 10 کیلو اهمی میتونید دامنه اش رو بین صفر تا 6 یا 12 ولت تغییر بدید و اگر از یه دیود ناقابل هم استفاده کنید، میشه یه نیم موج 50 هرتز با ولتاژ متغیر! ولی در نهایت برای کالیبراسیون حتما به یه سیگنال ژنراتور و اسیلوسکوپ نیاز خواهید داشت. ( میتونید از آزمایشگاه دانشگاه برای پیشرفت علم و تکنولوژی بهره ببرید، اخـــوی! طبق فتوی من، اشکال شرعی نداره!!! اساتید هم خوشحال میشن وقتی که دانشجوهای نابغه و فعال رو میبینند!!!!!! :biggrin: )

                  این ورودی تفاضلی ADC هم مفهوم نبود! oo:
                  مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

                  Sh_Nourbakhsh@Yahoo.com

                  http://s2.picofile.com/file/7170362468/_Wall_e_.jp

                  دیدگاه


                    #10
                    پاسخ : سوال درباه خروجی adc و نمایش آن در glcd در پروژه اسیلوسکوپ

                    نوشته اصلی توسط aivhl
                    با سلام،

                    در مورد ارور کدویژن که اطلاعی ندارم، به احتمال زیاد موضوع برمیگرده به برنامه نویسی و تنظیمات استکها در کامپایلر .....

                    و اما اگر شما بخواید ولتاژ رو مستقیما به ADC بدید، باید دامنه بین صفر تا حداکثر 5 ولت باشه، در غیر اینصورت، باید با دو تا OpAmp ولتاژ ورودی به ADC رو بیارید توی این رنج، یعنی اینکه هم دامنه رو کم کنید و هم اینکه بهش آفست بدید تا ولتاژهای منفی بیان روی صفر.

                    من به شما توصیه میکنم که به این آدرس یه سری بزنید و اون رو خوب مطالعه کنید و سخت افزار خودتون رو مثل اون ببندید و بعدش برید سر وقت برنامه نویسی :

                    http://www.serasidis.gr/circuits/AVR_oscilloscope/avr_oscilloscope.htm

                    برای تست هم میتونید از یه ترانس معمولی 220 ولت به 6 یا 12 ولت استفاده کنید که میشه یه سینوسی 6 یا 12 ولت متناوب 50 هرتز که با یه ولوم 10 کیلو اهمی میتونید دامنه اش رو بین صفر تا 6 یا 12 ولت تغییر بدید و اگر از یه دیود ناقابل هم استفاده کنید، میشه یه نیم موج 50 هرتز با ولتاژ متغیر! ولی در نهایت برای کالیبراسیون حتما به یه سیگنال ژنراتور و اسیلوسکوپ نیاز خواهید داشت. ( میتونید از آزمایشگاه دانشگاه برای پیشرفت علم و تکنولوژی بهره ببرید، اخـــوی! طبق فتوی من، اشکال شرعی نداره!!! اساتید هم خوشحال میشن وقتی که دانشجوهای نابغه و فعال رو میبینند!!!!!! :biggrin: )

                    این ورودی تفاضلی ADC هم مفهوم نبود! oo:
                    ممنونم
                    در مورد اون نقشه شماتیکی که گذاشتید دوتا سوال دارم

                    اولا برای اون پتانسیومتر ها ولتاژ 8.2 ولت رو چجوری درست کنم...؟

                    دوما اون تیکه مدار گوشه پایین سمت چپ این شماتیک که یه 7805 هم داره برای چی هست...؟
                    ---------------------------------------

                    شاید بی ربط به تاپیک باشه... ولی کارهای سخت افزاری و طراحی PCB پروژه داره خوب جلو میره... یا تاپیک زده ام و عکسهایی از پروژه در محیط DXP رو اونجا گذاشتم:

                    http://www.eca.ir/forum2/index.php?topic=60030.msg333935#msg333935

                    دیدگاه


                      #11
                      پاسخ : سوال درباه خروجی adc و نمایش آن در glcd در پروژه اسیلوسکوپ

                      منتظر پاسخ هستم. :smile:

                      دیدگاه


                        #12
                        پاسخ : سوال درباه خروجی adc و نمایش آن در glcd در پروژه اسیلوسکوپ

                        با سلام،

                        ولتاژ تغذیه میکرو 5 ولته و ولتاژ تغذیه پ امپ هم 8.2 ولته، اگر به دقت به اون تیکه مدار گوشه پایین سمت چپ شماتیک نگاه کنی، متوجه میشی که ولتاژ اصلی مدار و یا ورودی تغذیه که به احتمال زیاد یه آداپتور 12 ولت دی سی هست، پس از عبور از یه دیود و سپس توسط یه دیود زنر به 8.2 ولت تبدیل شده ( برای تغذیه پ امپ ) و توسط یه رگولاتور 5 ولت هم تغذیه میکرو ساخته شده!

                        معذرت میخوام که اینو میگم، ولی شماتیک واقعا گویاست، توضیح اضافه ای لازم نداره.....

                        شما که قصد دارید یه اسکوپ دو کاناله درست کنید، باید ورودی ADC ( شامل پ امپ و ملحقات ) رو دو تا درست کنید. همین :biggrin:

                        در مورد پتانسیومترها و ولوم ها هم باید بگم که ساختاز فیزیکی اونها، کاملا با شماتیکشون منطبقه!!! یعنی اینکه به هر نوع یا هر شکلی که باشن، سه تا پایه دارند که پایه های کناری همون پایه های کناری توی شماتیک هستند و پایه وسطی هم همون پایه وسطی! و با چرخوندن محور اونها، شما پایه وسط رو روی یه مقاومت، به سمت یکی از پایه های کناری میلغزونید...........

                        در ضمن اگر اون شماتیک رو بر اساس این شماتیکی که من معرفی کردم کشیدی، در قسمت پ امپ شتباه داره!!!
                        مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

                        Sh_Nourbakhsh@Yahoo.com

                        http://s2.picofile.com/file/7170362468/_Wall_e_.jp

                        دیدگاه


                          #13
                          پاسخ : سوال درباه خروجی adc و نمایش آن در glcd در پروژه اسیلوسکوپ

                          نوشته اصلی توسط aivhl
                          با سلام،

                          ولتاژ تغذیه میکرو 5 ولته و ولتاژ تغذیه پ امپ هم 8.2 ولته، اگر به دقت به اون تیکه مدار گوشه پایین سمت چپ شماتیک نگاه کنی، متوجه میشی که ولتاژ اصلی مدار و یا ورودی تغذیه که به احتمال زیاد یه آداپتور 12 ولت دی سی هست، پس از عبور از یه دیود و سپس توسط یه دیود زنر به 8.2 ولت تبدیل شده ( برای تغذیه پ امپ ) و توسط یه رگولاتور 5 ولت هم تغذیه میکرو ساخته شده!

                          معذرت میخوام که اینو میگم، ولی شماتیک واقعا گویاست، توضیح اضافه ای لازم نداره.....

                          شما که قصد دارید یه اسکوپ دو کاناله درست کنید، باید ورودی ADC ( شامل پ امپ و ملحقات ) رو دو تا درست کنید. همین :biggrin:

                          در مورد پتانسیومترها و ولوم ها هم باید بگم که ساختاز فیزیکی اونها، کاملا با شماتیکشون منطبقه!!! یعنی اینکه به هر نوع یا هر شکلی که باشن، سه تا پایه دارند که پایه های کناری همون پایه های کناری توی شماتیک هستند و پایه وسطی هم همون پایه وسطی! و با چرخوندن محور اونها، شما پایه وسط رو روی یه مقاومت، به سمت یکی از پایه های کناری میلغزونید...........

                          در ضمن اگر اون شماتیک رو بر اساس این شماتیکی که من معرفی کردم کشیدی، در قسمت پ امپ شتباه داره!!!
                          ممنون

                          اشتباه پ امپ ها همون وصل نکردن vcc و gnd هست دیگه. درسته...؟

                          دیدگاه


                            #14
                            پاسخ : سوال درباه خروجی adc و نمایش آن در glcd در پروژه اسیلوسکوپ

                            نوشته اصلی توسط roberty
                            ممنون

                            اشتباه پ امپ ها همون وصل نکردن vcc و gnd هست دیگه. درسته...؟
                            و اشتباه در اتصال پتانسیومتر .....
                            مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

                            Sh_Nourbakhsh@Yahoo.com

                            http://s2.picofile.com/file/7170362468/_Wall_e_.jp

                            دیدگاه


                              #15
                              پاسخ : سوال درباه خروجی adc و نمایش آن در glcd در پروژه اسیلوسکوپ

                              سلام مهندس
                              این پروژه ای که دارید کار می کنید می شه خروجیش رو به کامپیوتر داد از طریق پورت سریال و بعد توی مطلب شکل خروجی رو نشون داد به جای استفاده از lcd
                              اگه می تونید کمی توضیح می دید باید چه کار کرد :read:
                              قندیل، تندیس قطره هایی است که تسلیم جاذبه زمین نشدند. "چگوآرا"

                              دیدگاه

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