اطلاعیه

Collapse
No announcement yet.

حذف نوسان یک میلی ولت

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

    حذف نوسان یک میلی ولت

    سلام دوستان
    من دارم روی یه پروآ‌ژه ای کار می کنم که توش ولتاژ AC رو به DC تبدیل کردم و این ولتاژ DC رو به ADC میکرو میدم.
    مشکل اینجاست که این ولتاژ DC تولید شده نوسان در حدود 1 میلی ولت داره که باعث نوسان در نتیجه به دست آمده میشه.
    راه حلی برای این موضوع سراغ دارین؟ البته نمی خوام از خازن بزرگ استفاده کنم چون خازن بزرگ دیر شارژ میشه که این مسئله باعث میشه سیگنالی که به ADC میرسه دیر به میزان واقعیش برسه که این خودش هم مشکل تولید می کنه.
    خازنی که من الان استفاده می کنم 22 میکروفاراده.

    با تشکر
    عمر گران میگذرد خواهی نخواهی سعی بر آن کن نرود رو به تباهی
    مطلب دل را طلب از سوی خدا کن زآنکه بود رحمت او لا یتناهی

    #2
    پاسخ : حذف نوسان یک میلی ولت

    با خازن و مقاومت فقط میشه فیلتر پسیو ساخت که کیفیت و زمان پاسخ کمی داره. یک راه استفاده از فیلتر آکتیو است. در این فیلترها از یک پ امپ استفاده میشه و زمان پاسخ خوبی میشه بدست آورد. البته سیگنال ACآ‌را شرح بدید می تونم روشهای نرم افزاری بهتری هم معرفی کنم
    با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

    دیدگاه


      #3
      پاسخ : حذف نوسان یک میلی ولت

      تشکر احمد آقا
      من حدود یک درصد از سیگنال ورودی رو که به صورت AC با فرکانس 50 هرتز هستش رو به وسیله یک بافر به یک طبقه Full-Wave Rectifier (با استفاده از Opamp) میدم و اون رو یکسو می کنم. در مرحله بعد این سیگنال به دست آمده رو به وسیله یه فیلتر بالاگذر ساده (یک مقاومت و یک خازن) به DC تبدیل می کنم. و این سیگنال به دست اومده، همونیه که یک میلی ولت نوسان داره.
      به نظر شما یک فیلتر Notch که فرکانس 25 هرتز رو حذف کنه به درد میخوره؟
      عمر گران میگذرد خواهی نخواهی سعی بر آن کن نرود رو به تباهی
      مطلب دل را طلب از سوی خدا کن زآنکه بود رحمت او لا یتناهی

      دیدگاه


        #4
        پاسخ : حذف نوسان یک میلی ولت

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

        جالب اینجاست که سرعت پاسخ شما چندین برابر فیلتر سخت افزاری میشه!

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

        دیدگاه


          #5
          پاسخ : حذف نوسان یک میلی ولت

          احمد آقا این روشی که فرمودی خیلی جالبه
          اما مشکل کار اینجاست که من فکر می کنم که با AVR نشه با این سرعت نمونه برداری کرد. من دقیقا نمیدونم که حداکثر فرکانس نمونه برداری چنده اما فکر نمی کنم که بشه با بیشتر از یک کیلوهرتز نمونه برداری کرد.
          حتی اگه بشه با این سرعت هم نمونه برداری کرد، باز هم تو نگهداری این همه نمونه مشکل خواهیم داشت.
          البته من هنوز روشی که شما فرمودید رو امتحان نکرده ام ولی حتما اون رو امتحان خواهم کرد تا نتیجه اش رو ببینم.
          عمر گران میگذرد خواهی نخواهی سعی بر آن کن نرود رو به تباهی
          مطلب دل را طلب از سوی خدا کن زآنکه بود رحمت او لا یتناهی

          دیدگاه


            #6
            پاسخ : حذف نوسان یک میلی ولت

            سرعت نمونه برداری در AVRآ‌خیلی بیشتر از 10 هزار در ثانیه است!

            ما نباید نمونه ها را ذخیره کنیم بلکه باید به یک متغیر مثل SUMآ‌ اضافه کنیم. و در آخر SUM را بر 100 یا تعداد نمونه ها تقسیم کنیم.

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

            دیدگاه


              #7
              پاسخ : حذف نوسان یک میلی ولت

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

              دیدگاه


                #8
                پاسخ : حذف نوسان یک میلی ولت

                احمد آقای عزیز
                من روشی که گفتی امتحان کردم اما برنامه ام به هم خورد. یعنی نتیجه گاه گاهی صفر میشد در حالی که سیگنال وجود داشت.
                آخر سر فهمیدم که سرعت نمونه برداری من کمه و من نمونه به اندازه کافی نمی گیرم که این باعث به وجود آمدن این خطا میشه.
                حالا من یه برنامه نوشتم تا حداکثر فرکانس نمونه برداری رو به دست بیارم که با کمال تعجب، حداکثر فرکانس نمونه برداری 905 هرتز شد. حالا من میخوام بدونم که چه طور می تونم فرکانس نمونه برداری رو افزایش بدم؟
                برنامه رو هم اینجا میزارم تا ببینید که من چطور این عدد (905) رو به دست آوردم.
                کد:
                $regfile = "m8def.dat"
                $crystal = 8000000
                Config Lcd = 16 * 2
                Config Lcdpin = Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.1 , Db7 = _
                Portb.0 , E = Portb.3 , Rs = Portb.2
                
                Config Adc = Single , Prescaler = Auto
                Config Timer2 = Timer , , Async = On , Prescale = 128
                Dim W As Word , Count As Long , Count2 As Long
                
                Enable Ovf2
                Enable Adc
                On Adc Adc_isr
                On Ovf2 Timer2_isr
                Cls
                Lcd "Start"
                Config Pind.0 = Output
                Enable Interrupts
                
                Start Adc
                Start Timer2
                
                Do
                 W = Getadc(0)
                
                
                Loop
                
                End                            'end program
                ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
                
                Adc_isr:
                Incr Count
                Toggle Portd.0
                Return
                
                ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
                
                Timer2_isr:
                Disable Interrupts
                Stop Timer2
                Cls
                Lcd Count
                Count = 0
                Start Timer2
                Enable Interrupts
                Return
                '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
                عمر گران میگذرد خواهی نخواهی سعی بر آن کن نرود رو به تباهی
                مطلب دل را طلب از سوی خدا کن زآنکه بود رحمت او لا یتناهی

                دیدگاه


                  #9
                  پاسخ : حذف نوسان یک میلی ولت

                  سرعت ADC رو که اصلا تنظیم نکردید؟! اگه دیتاشیت مگا 8 مراجعه کنید می بینید سرعت نمونه برداری بسیار بیشتر از 905 است.

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

                  باید وقتی که نمونه برداری از یک پرید به اتمام رسید مقدار متوسط رو محاسب و درون LCD نمایش بدید. و حتی کارهای دیگه ای که لازمه انجام بدید بعد پرید دیگه ای رو آغاز کنید.

                  در واقع ممکن است چند پرید را سربپرید که اصلا مهم نیست چون کسی که به LCD نگاه می کنم بعید است با سرعت 20 میلی ثانیه بخواند.
                  با عرض پوزش خدمت دایی های عزیزم تا اطلاع ثانوی به اینترنت دسترسی ندارم.

                  دیدگاه

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