اطلاعیه

Collapse
No announcement yet.

سمپلینگ

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

    سمپلینگ

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


    #2
    پاسخ : سمپلینگ

    خب قسمت اول سوالت که واضحه . خیلی راحت می تونی از ADC خود میکرو استفاده کنی. راجع به نحوه اتصالات سخت افزاری و کدهای برنامه ( C و BASIC ) تو انجمن زیاد بحث شده. می تونی سرچ کنی.
    اما قسمت دوم رو دقیقا متوجه نشدم. یه توضیح بیشتر بده

    دیدگاه


      #3
      پاسخ : سمپلینگ

      سلام .................

      همون طور که جناب جعفری فرمودن، برای این کار باید از یکی از کانال های ADC میکرو استفاده کنید ؛ حالا هر چی فرکانس بالاتر بره ، دقت نمونه برداری بیشتر میشه ؛ از طرفی نمونه برداری از سیگنال آنالوگ توسط یه شمارنده ی ده بیت انجام میشه که در اصطلاح میگن A/D ده بیتی داره که قدرت تخمینش هم در فرکانس 200 کیلو هرتز خیلی عالیه؛ البته اگه از سری XMEGA که به تازگی اومده استفاده کنید می تونید تا دوازده بیت هم این نمونه برداری رو بالا ببرید .

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

      به هر حال اگه شفاف تر منظورتون رو بیان کنید (البته در غالب یه موضوع جدید نه تکرار مطالب مطرح شده در سایت) می تونیم بحث بیشتری داشته باشیم . موفق باشید.
      دوستان! مدتی کمتر به سایت میام ..

      دیدگاه


        #4
        پاسخ : سمپلینگ

        ممنون از توجهتون .
        شما تصور کنین که با adc اومدیم مقادیر خاصی از سیگنال آنالوگ رو نمونه برداری کردیم و مثلا توی لحظه t مقدار عددی n به دست اومده ، حالا من می خام مثلا هر جا که مقدار عددی به دست اومده برابر با C بود اونو مثلا به صورت C+D در بیارم و سیگنال آنالوگ خروجی به این صورت باشه .
        منظورمو رسوندم ؟

        دیدگاه


          #5
          پاسخ : سمپلینگ

          در واقع ADC یه نمونه گیر و یه فیدبک برای سیگنال آنالوگته.
          من فکر می کنم یه قسمتش مربوط به برنامه نویسی میشه. کافیه همین شرط هایی رو که میگی تو برنامه بنویسی . در صورتی که شرط مورد نظر برقرار شد با فعال کردن یک پایه ( یا چند پایه یا اعمال PWM ... - با توجه به سخت افزار آنالوگ مورد نظرت) مقدار آنالوگ رو تنظیم کنی.

          دیدگاه


            #6
            پاسخ : سمپلینگ

            ممنون
            بزارین سوال رو جور دیگه بگم تا راهنمایی دقیقتر بگیرم
            منظورم اینه که روی میکرو که ما چیزی نداریم که خروجی آنالوگ بده ! پس چجوری من اون دیتای آنالوگ اولیه رو که می گیرم و بعضی جاهاش رو تغییر میدم برای خروجی بفرستم ؟ خروجی آنالوگ داریم رو میکرو ؟

            دیدگاه


              #7
              پاسخ : سمپلینگ

              نه میکرو خروجی آنالوگ نداره.
              پس بذار منم یه جور دیگه بپرسم. این سیگنال آنالوگ که به میکرو وارد میشه از کجا تولید میشه؟
              منظورم اینه که منبع تولید این سیگنال آنالوگ چیه؟ قراره از همون اول میکرو باشه؟
              اگه این طوره که مجبوری از یک آیسی دیجیتال به آنالوگ ( DAC ) هم استفاده کنی

              دیدگاه


                #8
                پاسخ : سمپلینگ

                منبع تولید خارجیه ! مثلا فرض کنید یه دستگاه ضبط صوت و یا یک میکروفن ه .
                این سیگنال آنالوگ اولیه وارد میکرو شه و خروجیش همین سیگنال باشه که بعضی جاهاش بنا به شرایط خاص تغییر کرده !

                با تبدیل دیجیتال به آنالوگ یعنی کل سیگنال رو بسازیم ؟ کیفیت خروجی میاد پایین اینجوری که . :cry:

                دیدگاه


                  #9
                  پاسخ : سمپلینگ

                  ببین یه مشکلی هست.
                  یه منبعی داره یه سیگنال تولید می کنه. قراره وقتی مقدار این ولتاژ به حد معینی رسید میکرو متوجه بشه و اونو کنترل کنه.
                  قسمت اولش راحته. یعنی میکرو می تونه متوجه سطح ولتاژ بشه. اما برای اینکه مقدار سیگنال آنالوگ رو تغییر بده مجبوره به منبع سیگنال دسترسی داشته باشه و به اون فرمان بده. چون تنها منبع سیگناله که می تونه رو خروجی خودش تاثیر بذاره.
                  فرض کن خروجی اسپیکر ضبط صوت به ADC میکرو می رسه . وقتی میکرو متوجه یک سطح ولتاژ خاص میشه باید به به نحوی به ضبط صوت فرمان بده. منطقا خودش مستقیما نمی تونه اونو کنترل کنه.

                  دیدگاه


                    #10
                    پاسخ : سمپلینگ

                    اینجوری که غیرممکنه !
                    خوب نمیشه مثلا وقتی دید سیگنال ورودی رسید به C ولت ورداره اون رو با D ولت جمع کنه ؟ یا یه D ,لت تولید کنه و با سیگنال اصلی جمع کنی ؟
                    راه قابل پیاده سازیش چیه ؟

                    دیدگاه


                      #11
                      پاسخ : سمپلینگ

                      خب این جوری مجبوری از یک مدار جمع کننده استفاده کنی که دو تا ورودی داره.
                      ورودی اولش مستقیما از منبع سیگنال تامین میشه و ورودی دوم از طریق فیدبک میکرو.
                      در حالت عادی مقدار ورودی دوم جمع کننده صفره. وقتی مقدار خروجی جمع کننده به حد مورد نظر رسید ، مقدار ورودی دوم به D میرسه . در نتیجه خروجی جمع کننده میشه همون C+D
                      البته این راهیه که من به ذهنم می رسه. دوستان دیگه هم اگه نظر بهتری دارن مطرح کنن.

                      دیدگاه


                        #12
                        پاسخ : سمپلینگ

                        سلام ...............

                        ببینید از بحث هایی که مطرح شد میشه این طور راه حل داد که : برای مقیسه با یه سطح ولتاژ خاص می تونید از واحدAnalog Comparator استفاده کنید . اما برای جمع ان ولتاژ هم می تونید موقعی که flag واحدAn. Com فعال شد یعنی تبیق در قیاس صورت گرفت ، همون طور که جناب جعفری گفتن از یه جمع کننده استفاده کنید که دو تا سطح ولتاژ که یکیش هم به صورت پیش فرض ثابته رو با هم جمع کنه .
                        امیدوارم که حل شده باشه . موفق باشید .
                        دوستان! مدتی کمتر به سایت میام ..

                        دیدگاه

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