اطلاعیه

Collapse
No announcement yet.

چند تا سوال خیلی ساده درباره یک پروژه (( اسیلوسکوپ دو کاناله))

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

    چند تا سوال خیلی ساده درباره یک پروژه (( اسیلوسکوپ دو کاناله))

    سلام به همگی

    من یه برد آموزشی AVR از یک موسسه در تهران خریدم که یک میکروی Atmega32 روی اون هست و روی پورت A این میکرو هم یک keypad تعبیه شده.

    همونطور که میدونید کانالهای ADC هم روی پورت A هستند.

    من میخوام یک پروژه درست کنم که دو تا کانال از function generator بگیرم و بعد از تبدیل آنها به موج دیجیتال این کانالها رو روی LCD گرافیکی نمایش بدم. یعنی همون اسیلوسکوپ .

    از طرفی اسیلوسکوپ من چون باید دو کاناله باشه و بتونه موجها رو چپ و راست و بالا و پایین ببره خواستم از یک keypad استفاده کنم که با زدن دکمه 1 کانال 1 و با دکمه 2 کانال 2 و با # هم لیساژور رو نشون بده و با 4 و 6 به چپ و راست و با 5 و 8 هم به بالا و پایین بره.

    حالا سوالم اینجاست:

    اگر من دو تا موج آنالوگ رو به ADC0 و ADC1 وصل کنم که همون PORTA.0 و PORTA.1 هستند چطوری میتونم از keypad که به این پورتها وصل شده برای کار روی موج استفاده کنم..؟


    از اونجایی که این پروژه پایانی من در لیسانس هست اصلا دوست ندارم با بردبرد کار کنم. و حتما اصرار دارم که کارم با یک برد تمیز مثل برد آموزشی باشه.


    چطوی میتونم منحنی لیساژور رو درست بکنم...؟؟ اصلا ایده ی نمایش منحنی لیساژور چگونه هست...؟؟ با میکرو میشه منحنی لیساژور درست کرد..؟؟



    از اونجای که روی این برد آموزشی فقط یه lcd کاراکتری هست میخواستم بدونم آیا امکان اتصال lcd گرافیکی با کابل نواری وجود داره...؟؟ اگر اینطوره کابل نواری رو چجوری باید درست کنم؟ منظورم کابلی مثل کابل پروگرامر هست.

    اتصال lcd باید چهاربیتی باشه یا هشت بیتی...؟؟

    آیا این امکان وجود داره که در یک لحظه روی LCd گرافیکی چند تا منحنی و نمودار نمایش داده بشه..؟؟ یکی همون محور های time و volt که دو تا خط مدرج عمودی هستند و هرگز نباید تغییر کنند و دو تا هم موج های سینوسی یا مثلثی (( رمپ )) یا مربعی که با کوچکترین تغییر از طرف مولد سیگنال باید روی lcd هم شکلشون تغییر کنه.


    باور کنید برای همین سه واحد پروژه حدود 200 تومن پول دادم و دارم کلاس میرم ولی هنوز در اوایل کار هستیم. تازه وقفه ها تموم شدن !!! نمیخوام مثل دوستانم برم پول بدم و پروژه بخرم. قصد دارم بعد از لیسانس هم کارم رو با میکرو ها ادامه بدم و برد آموزشی رو هم برای همین خریدم که خهم پروژه ام رو باهاش درست کمنم و هم بعدا بیشتر کار کنم. به میکروها خیلی علاقه من هستم ولی علم من در حال حاضر خیلی کم هست.


    ممنون میشم اگر یه کمکی بکنید و منو راهنمایی کنید.


    #2
    پاسخ : چند تا سوال خیلی ساده درباره یک پروژه (( اسیلوسکوپ دو کاناله))

    تاپیک رفته بود پایین گفتم بیارمش بالا

    دیدگاه


      #3
      پاسخ : چند تا سوال خیلی ساده درباره یک پروژه (( اسیلوسکوپ دو کاناله))

      با ای وی آر می تونید یک اسوی در حد تا یک کیلوهرتز بسازید البته بستگی داره برای هر تناوب چند سمپل بگیرید و از هر چند تناوب یکی رو نشان بدید می دونید که ای وی آر زمان نمونه برداریش در بدترین حالت حدود 250 میکرو ثانیه هست
      برای کار با صفحه نمایش هم lcd سیاه سفید بیت مپی هست که دور بر 18000 هست و خیلی راحته کار باهاش و هم ال سی دی موبایل چینی n96 که 14000 هزار قیمتش هست و کار باهاش سخته
      البته برای ساخت یک اوسیلی اسکوپ فکرکنم باید با چند تا میکرو کار کنید مثلا یکی ال سی دی رو کنترل کنه یکی نمونه برداری کنه و دیگری رابط یوز باشه
      در آخر توصیه میکنم به جای هر ال سی دی از مانیتور استفاده بکنید که بهتره
      تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
      داشتن عقله زيادتر از دیگر آدم ها است

      دیدگاه


        #4
        پاسخ : چند تا سوال خیلی ساده درباره یک پروژه (( اسیلوسکوپ دو کاناله))

        سلام،
        من چند تا پیشنهاد دارم،از اونجا که برد آموزشیت مناسب پروژه نیست(LCD گرافیکی نداره،keypad رو porta قرار داره) ، به فکر یک برد جدید باش،اگر خودت PCB نمیتونی بزنی فقط شماتیک مدار رو بکش و بده به این شرکتها که PCB میزنن ، اونا خودشون مدارتو تبدیل به PCB میکنن،البته کمی برات خرج بر میداره.
        قبل از اینکه روی پروژه ی نهایی کار کنی ، قبل از هر چیز پروژه رو به کارا ی کوچیک تر تقسیم کن،مثلا 1-راه انداختن GLCD -راه اندازی ADC میکرو و... . (البته شایدم قبلا اینا رو کار کرده باشی)
        بعد از اینکه خیالت راحت شد که همه ی اینها به درستی کار میکنن برو سراغ اصل مطلب،اگر که می خوای از keypad به عنوان رابط با کاربر استفاده کنی من شدیدا توصیه میکنم از روشهای معمول اسکن keypad استفاده نکن ، چرا که به شدت CPU رو مشغول میکنه،در عوض از یک IC mm74c922 استفاده کن(تو پروئوس تستش کن میفهمی کارش چیه). برای اینکه منحنی رو روی GLCD نمایش بدی باید یک تابع داشته باشی که دو مختصات y(حاصل خواندن ار ADC )و x(حاصل از time division) رو بگیره و به صورت یک نقطه نمایش بده(با کنار هم قرار گرفتن این نقاط،شکل موج دیده میشه) ... اگر دقت کنی میبینی که برای time division به تایمر احتیاج داری و برای تنظیم تایم دیویژن به یک ولوم که به
        یک کانال دیگه ADC از میکرو وصل شده(البته این میل خودته شاید بخوای time division رو با keypad کنترل کنی)
        نکته خیلی مهم اینکه فرکانسی که داره وارد ADC میکرو میشه باید کمتر از نصف فرکانس نمونه برداری باشه(فرکانس نایکوئیست)،پس قبل از اینکه سیگنال وارد ADC بشه باید از یک فیلتر آنالوگ پایین گذر عبور کنه.(اگر دلیلشو نمیدونی بگو تا یه برنامه ساده بزارم تا دلیلشو متوجه بشی)

        دیدگاه


          #5
          پاسخ : چند تا سوال خیلی ساده درباره یک پروژه (( اسیلوسکوپ دو کاناله))

          ببخشید فرکانس نایکوئست چه ربطی داره به اوسیلی ؟
          فرکانس نایکوئیست بیشتر برای صوت و ... است ؟ تو اوسیلی ما با موج متناوب سر کارداریم نه با موجی که هر قسمتش برای خودش فرکانس متفاوت داره
          تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
          داشتن عقله زيادتر از دیگر آدم ها است

          دیدگاه


            #6
            پاسخ : چند تا سوال خیلی ساده درباره یک پروژه (( اسیلوسکوپ دو کاناله))

            بله ربط داره...لازم نیست حتما سیگنال ورودی چند تا هارمونیک داشته باشه که،یک فرکانس ساده ی سینوسی هم که فرکانش بیشتر از فرکانس نایکوئیست باشه باعث در هم روی میشه...مثلا اگر فرکانس نمونه برداریمون 1kHz باشه براش فرکانس 100Hz و 1.1kHz هیچ تفاوتی نداره،در واقع سیستم فرق دو فرکانس 100Hz و 1.1kHz رو تشخیص نمیده و جفتشو 100Hz نمایش میده... برای همین باید سیگنال قبل از ورود به ADC فیلتر بشه.

            دیدگاه


              #7
              پاسخ : چند تا سوال خیلی ساده درباره یک پروژه (( اسیلوسکوپ دو کاناله))

              نوشته اصلی توسط soleares
              بله ربط داره...لازم نیست حتما سیگنال ورودی چند تا هارمونیک داشته باشه که،یک فرکانس ساده ی سینوسی هم که فرکانش بیشتر از فرکانس نایکوئیست باشه باعث در هم روی میشه...مثلا اگر فرکانس نمونه برداریمون 1kHz باشه براش فرکانس 100Hz و 1.1kHz هیچ تفاوتی نداره،در واقع سیستم فرق دو فرکانس 100Hz و 1.1kHz رو تشخیص نمیده و جفتشو 100Hz نمایش میده... برای همین باید سیگنال قبل از ورود به ADC فیلتر بشه.
              میشه یکم بیشتر توضیح بدبد
              چطور فرق نداره تو اولی از هر پریود موج 10 نمونه برمیداره
              درحالی که در دومی از هر پریود موج فقط یک نمونه برمیداره
              تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
              داشتن عقله زيادتر از دیگر آدم ها است

              دیدگاه


                #8
                پاسخ : چند تا سوال خیلی ساده درباره یک پروژه (( اسیلوسکوپ دو کاناله))

                یه برنامه ی خیلی ساده نوشتم که تو اون فرکانس نمونه برداری 125Hz ، اگه برنامه رو اجرا کنی میبینی که وقتی فرکانس 125+10 رو به میکرو میدی ، انگار که فرکانس 10Hz رو داده باشی بهش....خودت با فرکانسهای دیگه امتحان کن. این پدیده اسمش در هم رویه(Aliasing) ، که البته یک چیز نامطلوبه...
                http://www.persiangig.com/pages/down...ig.com/Eca.rar

                دیدگاه


                  #9
                  پاسخ : چند تا سوال خیلی ساده درباره یک پروژه (( اسیلوسکوپ دو کاناله))

                  با تشکر از شما دوست عزیز soleares
                  پدیده های نایکوئیست و پدیده آلیازینگ به ترتیب در مورد صوت و تصویر هستند و کاربردشان چیزه دیگری هست مثلا شما اگر بخواهید از یک صفحه شطرنج یک عکس بگیرید دوربین 20 مگاپیکسلی با دوربین 2 مگا پیکسلی هیچ فرق ندارد چون فقط دورنگ سیاه و سفید داریم ولی در بعضی مواقع دوربین 20 مگ تصویرش ضعیف تر از 2 مگ هست چون دوربین 20 مگ سعی میکند در لبه مربع های سیاه با مربع های سفید نمونه برداری کند و این باعث میشود رنگ کمی به خاکستری بزند ( ترکیب رنگ ها) و این برای دوربین 20 مگ اف دارد که از دوربین 2 مگ کم بیاره :eek: بنا براین بحث آلیاسنگ مطرح شد تا درموقع عکس گرفتن از تصاویر ساختمان و اشیائ ساخت دست بشر که شیب رنگهای تیز دارند ریزولیشن مناسب انتخاب شود ( در تصاویری که از طبیعت گرفته میشه لازم نیست چون در طبیعت ما بحث شطرنج نداریم و شیب رنگها ملایم هست )تا همشه با 20 مگ نمونه برداری نشود ؟ و همینطور در مورد صوت
                  ولی در مورد اوسیلی این امر لازم نیست ؟ شما هر چه قدر میتونید از یک پریود نمونه بگیرید ؟
                  تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
                  داشتن عقله زيادتر از دیگر آدم ها است

                  دیدگاه


                    #10
                    پاسخ : چند تا سوال خیلی ساده درباره یک پروژه (( اسیلوسکوپ دو کاناله))

                    بله در مورد اینکه Aliasing در پردازش صوت و تصویر (و کلا DSP ) مطرح میشه که شکی نیست. ولی Aliasing ناشی از پردازش صوت یا تصویر نیست،بلکه نتیجه ی مستقیم نمونه برداریه... هر سیستمی که با نمونه برداری سر و کار داره Aliasing هم در موردش صدق میکنه. و در مورد اسیلسکوپ دیجیتال هم چون با نمونه برداری سر و کار داره پس حتما با Alasing رو به رو میشیم،اگه اون فایل رو اجرا کرده باشید،کاملا منظورم رو متوجه میشید. اگه به توضیحات بیشتر علاقه مند بودی یه نگاه به کتاب سیگنال-سیستم اپنهایم فصل نمونه برداری بنداز. اونجا دید درست تری پیدا میکنی.

                    دیدگاه


                      #11
                      پاسخ : چند تا سوال خیلی ساده درباره یک پروژه (( اسیلوسکوپ دو کاناله))

                      نوشته اصلی توسط soleares
                      اگر دقت کنی میبینی که برای time division به تایمر احتیاج داری و برای تنظیم تایم دیویژن به یک ولوم که به
                      یک کانال دیگه ADC از میکرو وصل شده(البته این میل خودته شاید بخوای time division رو با keypad کنترل کنی)
                      ببینید روش شما برای برنامه نویسی اوسیلی درست نیست در اوسلی اسکوب اصلا تایمر لازم نیست در حقیقت شما با لبه بالا رونده موج کار دارید و از طرف دیگر
                      لازم نیست که از همه پریودها نمونه برداری بشه شما مثلا اگر از هر 500 پریود از یک پریود نمونه برداری کنید کافیه از این لبه بالا رونده تا اون یکی نمونه برداری قطع بشه و به کار های خودتون برسین پس یک آشکار ساز لبه پریود موج مجهول رو مشخص میکنه و اندیس آرایه حافظه صفر میشه ( در اوسیلی آنالوگ شیب جاروب افقی دوباره از منفی n ولت شروع به بالا رفتن میکنه )و در حقیقت نمودار فعلی رو نمودار قبلی رسم میشه

                      اما
                      فرکانس نایکوئست هم یک چیز بدیهی است مثلا با نرخ نمونه برداری 250 میکرو ثانیه ( 4 کیلو هرتز ) نمیشه از یک موج با فرکانس 4 گیگ نمونه برداری کرد ولی اینطور هم نیست که بایک نمونه بردار با فرکانس 4 کیلو بشه از یک فرکانس 2 کیلو نمونه برداری کرد در عمل میشه از فرکانس یک کیلو و پایین تر نمونه برداری کرد که لااقل از هر پریود بشه 5 تا نمونه برداشت ( قضیه aliila )
                      کلا در مورد پردازش صوت فرقی بین یک موج سینوسی با موج دندانه اره ای نیست بلکه بیشتر تواتر یا فرکانس مهم است بنابر این قضیه نایکوئست مطرح میشه تا از تمام پریود ها حداقل دو نمونه ( مینیموم و ماکسیموم هر تناوب ) برداشته بشه در حقیقت بیشتر از دو عدد نمونه هم لازم نیست کافی است تا تواتر صوت گم نشه حالا خیلی مهم نیست شکل موج اولیه سینوسی کامل بود یا مثلثی کامل
                      ولی در مورد اسلی فرق میکنه بنابر این برنامتون رو با این روش باز نویسی بکنید و دوباره نتیجه رو برای دو موج با فرکانس 135 و 10 هرتز اعلام کنید
                      تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
                      داشتن عقله زيادتر از دیگر آدم ها است

                      دیدگاه


                        #12
                        پاسخ : چند تا سوال خیلی ساده درباره یک پروژه (( اسیلوسکوپ دو کاناله))

                        قضیه نایکویست برای سیگنال با عرض باند محدود صدق میکنه مثل سیگنال سینوسی، ولی یک سیگنال مربعی و یا مثلثی بصورت تئوری عرض باند بی نهایت داره( چه به صورت پریودیک در نظر بگیریم چه به صورت تک پالس) و در عمل برای باز تولید ان تعداد کافی از هارمونیکها مورد نیازه مثلا اگر از یک سیگنال مثلثی و یا مربعی با فرکانس 50 هرتز را با سرعت 100 هرتز نمونه برداری کنیم حاصل کار پس از عبور از فیلتر پایین گذر یک موج سینوسی خواهد بود. پس هرچه تعداد نمونه ها بیشتر باشه حاصل به شکل موج نزدیکتر خواهد بود تعداد نمونه برداری که فقط در یک پریود کافی است انجام بشه به دقت مورد نظر برای ترسیم بستگی خواهد داشت و فیلتر پایین گذر با عرض باند نصف سرعت نمونه برداری قبل از نمونه برداری لازمه در واقع این فیلتر عرض باند برای دقت مورد نظر را تعیین میکنه یعنی فیلتر با عرض بیشتر معادل طیف بزرگتر و سیگنال دقیقتر و همچنین جلوگیری از خطای .aliasing
                        رابطه بین طیف فرکانسی یک سیگنال با عرض زمانی T با طیف فرکانسی همین سیگنال پریودیک شده اینست که طیف دومی نمونه های طیف اولی است و در نمونه برداری نبایستی فرکانس سیگنال را اشتباها عرض باند در نظرگرفت

                        دیدگاه


                          #13
                          پاسخ : چند تا سوال خیلی ساده درباره یک پروژه (( اسیلوسکوپ دو کاناله))

                          نوشته اصلی توسط gtnfs
                          فیلتر پایین گذر با عرض باند نصف سرعت نمونه برداری قبل از نمونه برداری لازمه در واقع این فیلتر عرض باند برای دقت مورد نظر را تعیین میکنه یعنی فیلتر با عرض بیشتر معادل طیف بزرگتر و سیگنال دقیقتر و همچنین جلوگیری از خطای .aliasing
                          رابطه بین طیف فرکانسی یک سیگنال با عرض زمانی T با طیف فرکانسی همین سیگنال پریودیک شده اینست که طیف دومی نمونه های طیف اولی است و در نمونه برداری نبایستی فرکانس سیگنال را اشتباها عرض باند در نظرگرفت
                          با سلام و باتشکر از همه دوستان که در انتشار معلومات خودتون دریغ نمی کنید
                          باز من متوجه ارتباط پهنای باند و طیف فرکانس با اسیلی اسکوپ نمی شم اگه منظورتون از عرض باند همون Bandwidth باشه تا اونجایی که من میدونم یک پهنای باند در شبکه داریم که نرخ انتقال بایت هاست و یک پهنای باند فرکانسی داریم که برای تقویت کننده ها و فیلتر ها که دامنه هر فرکانس رو چقدر تقویت میشه یا تضعیف میشه
                          بنا براین ارتباط اوسیلی با عرض باند فقط مربوط به پیش تقویت کننده هست یعنی قبل از نمونه برداری و لی اصلا در موقع نمونه برداری پهنای باند نقشی نداره اگر توضیح بیشتر بدبد ممنون میشم
                          تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
                          داشتن عقله زيادتر از دیگر آدم ها است

                          دیدگاه


                            #14
                            پاسخ : چند تا سوال خیلی ساده درباره یک پروژه (( اسیلوسکوپ دو کاناله))

                            هر سیگنالی یک محدوده فرکانسی داره به نام عرض باند مثلا عرض باند صوت 20khz و یا عرض باند ویدیو 5mhz البته هر کانال ارتباطی هم برای خودش عرض باند داره مثلا برای سیگنال ویدیو به همین دلیل از سیم تلفن نمیتوان استفاده کرد. در مخابرات دیجیتال برای ارسال، با سرعت دو برابر عرض باند از سیگنال نمونه برداری شده و نمونه پس از دیجیت شدن ارسال شده و در مقصد ، دیجیت به نمونه تبدیل شده و پس از عبور نمونه ها از فیلتر پایین گذر سیگنال دقیقا احیا میشود.شرطی که بایستی رعایت شود اینست سرعت نمونه برداری دو برابر و یا بیشتر از عرض باند سیگنال باشد
                            در مورد اسیلوسکوپ باید دید شرکتهای سازنده از چه روشی استفاده میکنند اگر از روش بالا استفاده میکنند پس ابتدا یک فیلتر پایین گذر سپس نمونه برداری و adc ولی بجای ارسال به راه دور ،برای نمایش روی نمایشگر و در داخل میکرو پردازش شده و قابل نمایش روی نمایشگر میشود این روش از نظر تئوری به معنای استفاده از adc کم سرعت و تولید نقاط بیشتر با استفاده از پردازش که منطقی به نظر نمیاد. شاید شرکتها ازاین روش استفاده بکنند مثلا تعداد زیادی نمونه گرفته بشه و نقطه به نقطه به یکدیگر وصل شوند تا یک منحنی ایجاد شود . ابتدا بایستی معلوم بشه شرکتهای معتبر از چه روشی استفاده می کنند.

                            دیدگاه


                              #15
                              پاسخ : چند تا سوال خیلی ساده درباره یک پروژه (( اسیلوسکوپ دو کاناله))

                              نوشته اصلی توسط aliila
                              ببینید روش شما برای برنامه نویسی اوسیلی درست نیست در اوسلی اسکوب اصلا تایمر لازم نیست در حقیقت شما با لبه بالا رونده موج کار دارید و از طرف دیگر
                              لازم نیست که از همه پریودها نمونه برداری بشه شما مثلا اگر از هر 500 پریود از یک پریود نمونه برداری کنید کافیه از این لبه بالا رونده تا اون یکی نمونه برداری قطع بشه و به کار های خودتون برسین پس یک آشکار ساز لبه پریود موج مجهول رو مشخص میکنه و اندیس آرایه حافظه صفر میشه ( در اوسیلی آنالوگ شیب جاروب افقی دوباره از منفی n ولت شروع به بالا رفتن میکنه )و در حقیقت نمودار فعلی رو نمودار قبلی رسم میشه
                              راستش من خیلی متوجه صحبتتون نشدم،شما میگین با لبه ی بالا رونده ی موج کار داریم و از هر 500 پریود یک پریود کافیه،لازم یاداوری کنم دستگاه اسیلسکوپ برای نمایش سیگنال "همونطور که هست" ساخته شده و این صحبتهای شما این برداشت برای من ایجاد کرد که نکنه فکر کردین همه ی سیگنالهای ورودی پریودیک هستند؟ مسلما نه! باز یادآوری میکنم که اسیلسکوپ باید سیگنال رو "همونطور که هست" نمایش بده.
                              اگر اشتباه متوجه شدم ، واضح تر توضیح بدید.

                              دیدگاه

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