اطلاعیه

Collapse
No announcement yet.

خواندن ولتاژ سینوسی (تجریه شما )

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

    خواندن ولتاژ سینوسی (تجریه شما )

    سلام دوستان من یه ولتاژ سینوسی دارم فرکانس 2 کیلو هرتز و مقدارش از 4 میلی ولت تا 700 میلی ولت هست خوب یه مقداری هم نویز طبیعتا وجود داره
    من می خوام از تجربه شما استفاده کنم ببینم به چه نحوی و با استفاده از چه الگوریتمی مقدار ولتاژ موثر این ولتاژ رو با میکرو حساب کنم ابته ناگفته نماند از ad7715 استفاده می کنم
    مهم اینه بدونم آیا نیازی به پیک دتکتور یا چیز های شبیه به این هست و یا نرم افزاری بخونم
    یه دنیا ممنون

    #2
    پاسخ : خواندن ولتاژ سینوسی (تجریه شما )

    به نام خدا
    از اونجا که فرکانس سیگنال رو داری، و فقط میخوای در لحظات مختلف مقدار موثر رو بدست بیاری، کار نسبتا ساده تر میشه. مراحل ابتداییش اینطوریه:
    1) با چند برابر فرکانس سیگنال اصلی (که در اینجا 2000 هرتزه) از سیگنالت نمونه برداری میکنی! (این چندبرابر میتونه مثلا 10 برابر یا 20 برابر یا بیشتر باشه)
    2) بعد از نمونه برداری، مقدار پیک تا پیک سیگنال رو حساب میکنی!
    3) حالا میتونی مقدار موثر رو بدست بیاری!
    اما برای نمونه برداری: باید از واحد ADC که در میکرو هست استفاده کنی! در همین سایت مطالب بسیار زیادی وجود داره که فوق العاده مفیده!
    ADC : Analog to Digital Convertor
    برای محاسبه ی پیک تو پیک هم میتونی یک برنامه ی بسیار ساده بنویسی!
    ...
    :read:
    1: اللهم صل علی محمد و آل محمد و عجل فرجهم و ...
    2: دانش بهتره یا ثروت؟ بدون شعور هیچکدوم!
    3: دلا معاش چنان کن که گر بلغزد پای *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

    دیدگاه


      #3
      پاسخ : خواندن ولتاژ سینوسی (تجریه شما )

      نوشته اصلی توسط محمدصادق رستمی
      به نام خدا
      از اونجا که فرکانس سیگنال رو داری، و فقط میخوای در لحظات مختلف مقدار موثر رو بدست بیاری، کار نسبتا ساده تر میشه. مراحل ابتداییش اینطوریه:
      1) با چند برابر فرکانس سیگنال اصلی (که در اینجا 2000 هرتزه) از سیگنالت نمونه برداری میکنی! (این چندبرابر میتونه مثلا 10 برابر یا 20 برابر یا بیشتر باشه)
      خوب خیلی عالی من با adc میکرو خیلی کار کردم ولی اینکه فرمایش کردی که با چند برابر سیگنال نمونه برداری کنم با چه دستوری این کار رو بکنم ؟؟

      دیدگاه


        #4
        پاسخ : خواندن ولتاژ سینوسی (تجریه شما )

        از اونجا که با ADC کار کردی، پس مشکل حله
        می دونی که در ADCفرکانس نمونه برداری، قابل برنامه ریزیه. مقداری که در یکی از رجیسترهای واحد ADC که مربوط به فرکانس نمونه برداریش میشه (که الان یادم نیست کدومه) رو set میکنی، طوری قرار بده که فرکانس نمونه برداری چندین برابر 2KHz باشه.
        مثلا برای اتمگا 16، در فرکانس کاری 8 مگاهرتز میکرو، سرعت های نمونه برداری واحد ADC عبارت است از : 62.5کیلو، 125 کیلو، 250 کیلو، 500کیلو و 1000 کیلوهرتز.
        مثلا اگه فرکانس نمونه برداری 125 کیلوهرتز باشه و فرکانس سیگنالی که داری، 2 کیلوهرتزه، با تقسیم 125000 بر 2000، تعداد نمونه های سیگنالت در یک دورهآ‌ی تناوب به دست میاد. یعنی با 63 بار نمونه برداری، یک سیکل کامل از سیگنال اصلی، در اختیارته و میتونی هر بلایی که میخوای سرش بیاری
        1: اللهم صل علی محمد و آل محمد و عجل فرجهم و ...
        2: دانش بهتره یا ثروت؟ بدون شعور هیچکدوم!
        3: دلا معاش چنان کن که گر بلغزد پای *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

        دیدگاه


          #5
          پاسخ : خواندن ولتاژ سینوسی (تجریه شما )

          واقعا ممنونم ازتون که وقت میزارید واقعا نمی دونستم این ها رو
          نوشته اصلی توسط محمدصادق رستمی
          در فرکانس کاری 8 مگاهرتز میکرو، سرعت های نمونه برداری واحد ADC عبارت است از : 62.5کیلو، 125 کیلو، 250 کیلو، 500کیلو و 1000 کیلوهرتز.
          رفرنس مطلب بالا کجاست که بتونم رجیستر ها رو تغییر بدم توی بسکام آیا امکان پذیر است و بهتون گفتم به خاطر اینگه میخوام خیلی دقیق باشه کار و سطح سیگنال خیلی پایینه از Ad5515 استفاده می کنم یعنی adc 16 بیتی توی دیتاشیتش نتونستم جایی رو پیدا کنم که بشه فرکانس نمونه برداری رو تغییر بدم
          نوشته اصلی توسط محمدصادق رستمی
          مثلا اگه فرکانس نمونه برداری 125 کیلوهرتز باشه و فرکانس سیگنالی که داری، 2 کیلوهرتزه، با تقسیم 125000 بر 2000، تعداد نمونه های سیگنالت در یک دورهآ‌ی تناوب به دست میاد. یعنی با 63 بار نمونه برداری، یک سیکل کامل از سیگنال اصلی، در اختیارته و میتونی هر بلایی که میخوای سرش بیاری
          خیلی عالی ، واقعا حال کردم چون هر کاری می کردم من خنگ نمی تونستم یه رایطه ای رو پیدا کنم که سیکل کامل رو از سیگنال اصلی پیدا کنم و لی چون می خوام میانگین بگیرم تصمیم دارم 10 تا سیکل کامل ولتاژ پیک رو حساب کنم و میانگین این 10 سیکل رو به عنوان ولتاژ پیک در نظر بگیرم مشکلی که نیست نه ??
          این هم شکل موج

          دیدگاه


            #6
            پاسخ : خواندن ولتاژ سینوسی (تجریه شما )

            برای تغییر دادن رجیسترهای ADC در بسکام، اینو ببین:
            http://avrhelp.mcselec.com/index.html?config_adc.htm
            توی همون سایت سمت چپ، سرچ کن ADC
            تمام مطالب مرتبط باهاش رو در بسکام برات میاره!
            فقط توجه داشته باش که زمانی که از پسوند X استفاده کرده منظورش XMEGA ست!
            ...
            اما در مورد دقت ADC در میکرو!
            فرض کنیم تغییرات سیگنال ورودی، بین 0 تا 100 میلی ولت باشه!
            و فرض کنیم که ولتاژ رفرنس برای تبدیل آنالوگ به دیجیتال 1 ولت باشه!
            و فرض کنیم که داده ها، درون 8 بیت ذخیره میشن (ADC در حالت 8 بیتی مورد استفاده قرار گرفته)
            8 بیت میشه 256 حالت!
            1 ولت تقسیم بر 256 بکنیم میشه 3.9 میلی ولت!
            یعنی در این حالت دقت میشه 3.9 میلی ولت! به عبارت دیگه هر 3.9 میلی ولت میشه یک پله! اگه 256 تا 3.9 میلی ولت رو کنار هم بذاری میشه 1 ولت!

            حالا یه مثال دیگه، خوب به عددا دقت کن:
            فرض کنیم تغییرات سیگنال ورودی، بین 0 تا 100 میلی ولت باشه! همون قبلی.
            و فرض کنیم که ولتاژ رفرنس برای تبدیل آنالوگ به دیجیتال 256 میلی ولت باشه! (تغییر کرد)
            و فرض کنیم که داده ها، درون 8 بیت ذخیره میشن (ADC در حالت 8 بیتی مورد استفاده قرار گرفته)
            8 بیت میشه 256 حالت!
            256 میلی ولت تقسیم بر 256 بکنیم میشه 1 میلی ولت!
            یعنی در این حالت دقت میشه 1 میلی ولت! به عبارت دیگه هر 1 میلی ولت میشه یک پله! اگه 256 تا 1 میلی ولت رو کنار هم بذاری میشه 256 میلی ولت!

            یه مثال دیگه:
            فرض کنیم تغییرات سیگنال ورودی، بین 0 تا 100 میلی ولت باشه!
            و فرض کنیم که ولتاژ رفرنس برای تبدیل آنالوگ به دیجیتال 100 میلی ولت باشه! (تغییر)
            و فرض کنیم که داده ها، درون 8 بیت ذخیره میشن (ADC در حالت 8 بیتی مورد استفاده قرار گرفته)
            8 بیت میشه 256 حالت!
            100 میلی ولت تقسیم بر 256 بکنیم میشه 0.39 میلی ولت! (یک دهم حالتی که ولتاژ رفرنس میکرو 1 ولت بود شد)
            یعنی در این حالت دقت میشه 0.39 میلی ولت! به عبارت دیگه هر 0.39 میلی ولت میشه یک پله! اگه 256 تا 0.39 میلی ولت رو کنار هم بذاری میشه 100 میلی ولت!

            تا اینجا که مشکلی نیست؟
            1: اللهم صل علی محمد و آل محمد و عجل فرجهم و ...
            2: دانش بهتره یا ثروت؟ بدون شعور هیچکدوم!
            3: دلا معاش چنان کن که گر بلغزد پای *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

            دیدگاه


              #7
              پاسخ : خواندن ولتاژ سینوسی (تجریه شما )

              حالا بذار یه مثال دیگه بزنم در مورد دقت ADC :
              در میکرو ATMega مثلا 8 و 16 و 32 و ... داده های ADC در میکرو میتونن حداکثر در 10 بیت ذخیره شن!
              خب حالا مثال های قبل رو در این حالت بررسی میکنیم:

              فرض کنیم تغییرات سیگنال ورودی، بین 0 تا 100 میلی ولت باشه!
              و فرض کنیم که ولتاژ رفرنس برای تبدیل آنالوگ به دیجیتال 1 ولت باشه!
              و فرض کنیم که داده ها، درون 10 بیت ذخیره میشن (ADC در حالت 10 بیتی مورد استفاده قرار گرفته) (تغییر کرد اینجا)
              10 بیت میشه 1024 حالت!
              1 ولت تقسیم بر 1024 بکنیم میشه 0.97 میلی ولت!
              یعنی در این حالت دقت میشه 0.97 میلی ولت! به عبارت دیگه هر 0.97 میلی ولت میشه یک پله! اگه 1024 تا 0.97 میلی ولت رو کنار هم بذاری میشه 1 ولت!

              یه حالت دیگه:
              فرض کنیم تغییرات سیگنال ورودی، بین 0 تا 100 میلی ولت باشه!
              و فرض کنیم که ولتاژ رفرنس برای تبدیل آنالوگ به دیجیتال 100 میلی ولت باشه!
              و فرض کنیم که داده ها، درون 10 بیت ذخیره میشن (ADC در حالت 10 بیتی مورد استفاده قرار گرفته) (تغییر کرد اینجا)
              10 بیت میشه 1024 حالت!
              100 میلی ولت تقسیم بر 1024 بکنیم میشه 0.097 میلی ولت!
              یعنی در این حالت دقت میشه 0.097 میلی ولت! به عبارت دیگه هر 0.097 میلی ولت میشه یک پله! اگه 1024 تا 0.097 میلی ولت رو کنار هم بذاری میشه 100 میلی ولت!

              فکر کنم واضح بود. درسته؟ :rolleyes:
              1: اللهم صل علی محمد و آل محمد و عجل فرجهم و ...
              2: دانش بهتره یا ثروت؟ بدون شعور هیچکدوم!
              3: دلا معاش چنان کن که گر بلغزد پای *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

              دیدگاه


                #8
                پاسخ : خواندن ولتاژ سینوسی (تجریه شما )

                اما در مورد AD7715 :
                دیتاشیتش رو یه نگاهی کردم، دیدم که فرکانس نمونه برداریش قابل تغییره و در دسته کاربر قرار داره!
                همون پایهآ‌های MCLK IN و MCLK OUT برای همین کار باید باشن!
                اگر فرکانس ورودی غیر از کریستال باشه، مستقیم به MCLK IN وصل میشه
                و اگه بخوای از کریستال استفاده کنی، کریستال باید بین دو پایه ی MCLK IN و MCLK OUT قرار بگیره!
                دو تا فرکانس هم به صورت استاندارد برای این آی سی معرفی کرده:
                1 مگاهرتز
                2.4576 مگاهرتز
                :read:
                1: اللهم صل علی محمد و آل محمد و عجل فرجهم و ...
                2: دانش بهتره یا ثروت؟ بدون شعور هیچکدوم!
                3: دلا معاش چنان کن که گر بلغزد پای *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

                دیدگاه


                  #9
                  پاسخ : خواندن ولتاژ سینوسی (تجریه شما )

                  اما در مورد این که گفتی:
                  و لی چون می خوام میانگین بگیرم تصمیم دارم 10 تا سیکل کامل ولتاژ پیک رو حساب کنم و میانگین این 10 سیکل رو به عنوان ولتاژ پیک در نظر بگیرم مشکلی که نیست نه ??
                  ایده ی بسیار خوبیه!
                  اتفاقا در برخی از کاربردها از این روش استفاده میشه!
                  از اونجا که تغییرات پیک مثبت سیگنال ورودیت خیلی زیاد نیست
                  بنابراین داده های بدست اومده نزدیک به هم خواهند بود
                  و میانگین گیری از اونا، کمکت میکنه که دقت مناسبتری داشته باشی
                  1: اللهم صل علی محمد و آل محمد و عجل فرجهم و ...
                  2: دانش بهتره یا ثروت؟ بدون شعور هیچکدوم!
                  3: دلا معاش چنان کن که گر بلغزد پای *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

                  دیدگاه


                    #10
                    پاسخ : خواندن ولتاژ سینوسی (تجریه شما )

                    و در مورد تصویر سیگنالی که گذاشتی:
                    این نویزها چیه روش؟ oo:
                    آدم اینطوری میشه:
                    اگه تغییرات سیگنال اصلی رو دقیقا میدونی چقدره
                    مثلا میدونی که: سیگنال اصلی بین فلان قدر تا فلان قدره!
                    مشکلی بوجود نمیاد!
                    با انتخاب ولتاژ مرجع مناسب، اثرات نا مطلوب حذف میشه.
                    اما اگه این خطوط اضافه بر سینوس که در سیگنالت هست رو هم باید حساب کنی، قضیه کاملا متفاوت میشه
                    و روش کار باید کمی تغییر کنه!
                    :rolleyes:
                    1: اللهم صل علی محمد و آل محمد و عجل فرجهم و ...
                    2: دانش بهتره یا ثروت؟ بدون شعور هیچکدوم!
                    3: دلا معاش چنان کن که گر بلغزد پای *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

                    دیدگاه


                      #11
                      پاسخ : خواندن ولتاژ سینوسی (تجریه شما )

                      نوشته اصلی توسط محمدصادق رستمی
                      برای تغییر دادن رجیسترهای ADC در بسکام، اینو ببین:
                      http://avrhelp.mcselec.com/index.html?config_adc.htm
                      توی همون سایت سمت چپ، سرچ کن ADC
                      تمام مطالب مرتبط باهاش رو در بسکام برات میاره!
                      فقط توجه داشته باش که زمانی که از پسوند X استفاده کرده منظورش XMEGA ست!
                      ...
                      واقعا ممنونم توضیحات مفصلی بابت ولتاژ رفرنس داده بودید دیگه باین تفاصیر از Add7715 استفاده نمی کنم
                      توی این صفحه چیزی به غیر از راجع به فرکانس نمونه برداری نگفته که من هم نمی تونم بفهمم برای ست کردن روی 2 کیلو هرتز بایدچی کار کنم


                      'configure single mode and auto prescaler setting

                      'The single mode must be used with the GETADC() function



                      'The prescaler divides the internal clock by 2,4,8,16,32,64 or 128

                      'Because the ADC needs a clock from 50-200 KHz

                      'The AUTO feature, will select the highest clockrate possible

                      دیدگاه


                        #12
                        پاسخ : خواندن ولتاژ سینوسی (تجریه شما )

                        راحت ترین کار اینه از آی سی ad736 استفاده کنی که ac را تبدیل به dc میکنه و rms اون را در خروجی میده و به راحتی با میکرو میتونی اندازه بگیری
                        همه دوست دارند به بهشت بروند اما جالب اینجاست کسی دوست ندارد بمیرد
                        کانت

                        دیدگاه


                          #13
                          پاسخ : خواندن ولتاژ سینوسی (تجریه شما )

                          نوشته اصلی توسط re_bita
                          واقعا ممنونم توضیحات مفصلی بابت ولتاژ رفرنس داده بودید دیگه باین تفاصیر از Add7715 استفاده نمی کنم
                          توی این صفحه چیزی به غیر از راجع به فرکانس نمونه برداری نگفته که من هم نمی تونم بفهمم برای ست کردن روی 2 کیلو هرتز بایدچی کار کنم


                          'configure single mode and auto prescaler setting

                          'The single mode must be used with the GETADC() function



                          'The prescaler divides the internal clock by 2,4,8,16,32,64 or 128

                          'Because the ADC needs a clock from 50-200 KHz

                          'The AUTO feature, will select the highest clockrate possible
                          درمورد فرکانس نمونه برداری، هر مقداری رو که دلمون میخواد مجاز نیستیم.
                          با توجه به مطلبی که در این خط نوشته:
                          'The prescaler divides the internal clock by 2,4,8,16,32,64 or 128
                          یعنی ما میتونیم فرکانسی داشته باشیم به قرار زیر:
                          فرکانس کاری میکرو تقسیم بر 2، 4، 8، 16، 32، 64 و 128. مثلا اگه فرکانس کاری میکرو:
                          1 مگاهرتز باشه، فرکانس نمونه برداری میشه: 500ک، 250ک، 125ک، 62.5ک، 31.25ک، 15.625ک، 7.812ک
                          8 مگاهرتز باشه، فرکانس نمونه برداری میشه: 4مگ، 2مگ، 1مگ، 500ک، 250ک، 125ک، 62.5ک
                          16 مگاهرتز باشه، فرکانس نمونه برداری میشه: 8مگ، 4مگ، 2مگ، 1مگ، 500ک، 250ک، 125ک
                          و الی آخر...
                          1: اللهم صل علی محمد و آل محمد و عجل فرجهم و ...
                          2: دانش بهتره یا ثروت؟ بدون شعور هیچکدوم!
                          3: دلا معاش چنان کن که گر بلغزد پای *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

                          دیدگاه


                            #14
                            پاسخ : خواندن ولتاژ سینوسی (تجریه شما )

                            نوشته اصلی توسط eshgh_namordeh
                            راحت ترین کار اینه از آی سی ad736 استفاده کنی که ac را تبدیل به dc میکنه و rms اون را در خروجی میده و به راحتی با میکرو میتونی اندازه بگیری
                            این هم ایده ی خیلی خوبیه!
                            ولی برای rms باید دقت بیشتری انجام بشه:
                            http://en.wikipedia.org/wiki/Root_mean_square
                            :rolleyes:
                            1: اللهم صل علی محمد و آل محمد و عجل فرجهم و ...
                            2: دانش بهتره یا ثروت؟ بدون شعور هیچکدوم!
                            3: دلا معاش چنان کن که گر بلغزد پای *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

                            دیدگاه


                              #15
                              پاسخ : خواندن ولتاژ سینوسی (تجریه شما )

                              این لینک هم میتونه مفید باشه:
                              http://www.kpsec.freeuk.com/acdc.htm
                              :read:
                              1: اللهم صل علی محمد و آل محمد و عجل فرجهم و ...
                              2: دانش بهتره یا ثروت؟ بدون شعور هیچکدوم!
                              3: دلا معاش چنان کن که گر بلغزد پای *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

                              دیدگاه

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