اطلاعیه

Collapse
No announcement yet.

مشکل در ساخت آمپرمتر با avr

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

    مشکل در ساخت آمپرمتر با avr

    سلام بر همه ای دوستان
    مشکلی در ساخت آمپر متر با مگا 8 برای من پیش امده خواستم راهنمایی بگیرم.
    من یک آمپر متر با مگا 8 ساختم و از یک مقاومت 1 اهمی نمونه می گیرم. در ظاهر کلی درست کار می کند اما زمانی که جریان مربوط به منبع جریان را تغییر میدهم
    در حدود 10 میلی آمپر را فراموش میکنه نشون بده. مثلا دارم جریان 50 میلی آمپر را اندازه میگیرم وقتی جریان را بیشتر میکنم در صفحه نمایش جریان تغییری
    نمیکنه و بعد که جریان به مثلا 61 میلی آمپر میرسه یک دفعه مقادیر صفحه نمایش به مقدار جدید 61 میلی آمپر تغییر میکنه.
    علت چیه؟؟

    #2
    پاسخ : مشکل در ساخت آمپرمتر با avr

    نوشته اصلی توسط MEHRANNOHTANIPOOR نمایش پست ها
    سلام بر همه ای دوستان
    مشکلی در ساخت آمپر متر با مگا 8 برای من پیش امده خواستم راهنمایی بگیرم.
    من یک آمپر متر با مگا 8 ساختم و از یک مقاومت 1 اهمی نمونه می گیرم. در ظاهر کلی درست کار می کند اما زمانی که جریان مربوط به منبع جریان را تغییر میدهم
    در حدود 10 میلی آمپر را فراموش میکنه نشون بده. مثلا دارم جریان 50 میلی آمپر را اندازه میگیرم وقتی جریان را بیشتر میکنم در صفحه نمایش جریان تغییری
    نمیکنه و بعد که جریان به مثلا 61 میلی آمپر میرسه یک دفعه مقادیر صفحه نمایش به مقدار جدید 61 میلی آمپر تغییر میکنه.
    علت چیه؟؟
    باید خطوط کد برنامه را دید تا نرخ نمونه برداری و یا احیانا شیوه میانگیری و تبدیل مقادیر خام ADC را بررسی کرد. در ضمن شماتیک سخت افزارتان را ارائه نداده اید اما یادآوری می کنم مقدار مقاومت نامی شنت، بر اثر تغییر دما، تغییراتی می کند.

    دیدگاه


      #3
      پاسخ : مشکل در ساخت آمپرمتر با avr

      سلام بر شما دوستان. این هم برنامه ای که استفاده کردم.
      نکته اول برای 2 عدد آمپرمتر است. یعنی قراره 2 تا آمپرمتر باشد که در یک lcd نمایش میدهد.
      نکته دوم این که برنامه در اصل یک ولت متر است که من در عمل از یک مقاومت 1 اهمی 2 وات انمونه میگیرم. و در اصل باید حاصل ولتاژ بدست آمده را بر میزان مقاومت نمونه گیر تقسیم کنم تا میزان نهایی آمپر بدست آید. اما من چون از یک مقاومت 1 اهمی استفاده کردم دیگر در عمل و در خط های برنامه عملیات تقسیم را انجام ندادم. چرا که
      حاصل تقسیم هر عددی بر عدد 1 می شود خود همان عدد.
      $regfile = "m8def.dat"
      $crystal = 1000000
      Config Lcdpin = Pin , Rs = Pind.1 , E = Pind.2 , Db4 = Pind.3 , Db5 = Pind.4 , Db6 = Pind.5 , Db7 = Pind.6
      Config Lcd = 16 * 2
      Cursor Off
      Cls

      Config Adc = Single , Prescaler = auto , Reference = Avcc
      Start Adc



      Config Portd = Output
      Dim W As Word
      Dim Input_mv As Single
      Dim Input_v As Single

      Dim W2 As Word
      Dim Input_mv2 As Single
      Dim Input_v2 As Single


      Current:
      Cls

      Do

      Gosub Read_the_adc
      Gosub Display_lcd
      Waitms 5
      Loop

      End

      '**********************************************


      '**********************************************
      Read_the_adc:
      W = Getadc(5)
      Input_mv = W * 4.8828125
      Input_v = Input_mv / 1000

      W2 = Getadc(4)
      Input_mv2 = W2 * 4.8828125
      Input_v2 = Input_mv2 / 1000


      Return

      '**********************************************
      Display_lcd:

      Locate 1 , 1 : Lcd "B1: " ; Fusing(input_mv , "#.#") ; "mA"
      Locate 2 , 1 : Lcd "B2: " ; Fusing(input_mv2 , "#.#") ; "mA"
      Return

      '**********************************************
      '**********************************************
      '**********************************************




      دلیل: ادغام دو پست برای جلوگیری از اسپم

      این هم سخت افزار

      دیدگاه


        #4
        پاسخ : مشکل در ساخت آمپرمتر با avr

        ممنون میشم راهنمایی فرماید
        جدیدترین ویرایش توسط MEHRANNOHTANIPOOR; ۱۷:۱۲ ۱۳۹۸/۰۴/۲۹.

        دیدگاه


          #5
          پاسخ : مشکل در ساخت آمپرمتر با avr

          به عنوان تشخیص اولیه و افتراقی، چند نکته را بیان می کنم؛
          _ محل اتصال و نوع مصرف کننده ( بار مقاومتی یا القایی) در شماتیک مشخص نشده است اما از آنجایی که ظاهرا آمپراژ مصرفی را توسط پتانسیومتر کنترل ولتاژ متصل به LM317 کنترل می کنید،ممکن است این رفتار، ناشی از شیوه ی طراحی مدار داخلی این رگولاتور باشد که ما ازچند و چون و نحوه ی عملکرد آن، اطلاع کافی نداریم.
          _ ولتاژ مرجع داخلی در موارد نیاز به دقت و سرعت بالا در اندازه گیری، چندان کارآ و پایدار نیست و در این موارد، باید از چیپ های ولتاژ مرجع خارجی با دقت مطلوب استفاده گردد.
          _ همچنین از اسیلاتور داخلی ATmega8 حداکثر تا فرکانس کلاک 8MHz می توان استفاده کرد و در صورت نیاز به فرکانس بالاتر؛ باید از اسیلاتور خارجی با قابلیت جبران سازی دما و نیز از رگولاتور خطی با استابیلیتی و قابلیت رگیولیشن بالا برای تغذیه ی خود میکرو استفاده شود.
          _ مدار ADC میکروی ATmega8 یک مبدل 10 بیتی است و شما هم طبق کد برنامه، تنها تا یک رقم اعشار را نمایش می دهید.
          _ برنامه ی شما نسبتا ساده است. در موارد حساس؛ بایستی در هر قرائت، چند نمونه گیری از هر ADC انجام شده و در یک آرایه ریخته شود. سپس مقادیر بیشینه و کمینه ای که از رنج از پیش تعریف شده تجاوز می کنند، حذف شوند. بعد با انجام عملیات ریاضی، میانگیری انجام شود و نتیجه ی حاصل پس از تبدیلات لازم، روی نمایشگر گزارش شود.
          _ مدار ADC تا حدی به نویز حساس است و مباحثی مثل شیلدینگ اصولی باید مد نظر قرار گرفته و از کاربست سیم های دراز متصل به شنت، بایستی خودداری شود.
          جدیدترین ویرایش توسط Freelancer; ۱۱:۳۸ ۱۳۹۸/۰۴/۳۰.

          دیدگاه


            #6
            پاسخ : مشکل در ساخت آمپرمتر با avr

            مصرف کننده در عمل یک باتری نیم قلمی 1.2 ولتی قابل شارژ است. مسیر مقاومت نمونه گیر تا میکرو بسیار کوتاه است کمتر از 2 سانت. مدار را روی فیبر زدم.
            در مورد دقت اندازه گیری باید عرض کنم که زمانی که با آمپرمتر جداگانه ( مولتی متر) تست عبور جریان میگیرم درسته و دقیق پس نمیتونه خیلی ربطی به نحوه رفتار داخلی lm317 باشه.
            جدیدترین ویرایش توسط MEHRANNOHTANIPOOR; ۲۱:۴۵ ۱۳۹۸/۰۴/۳۰.

            دیدگاه


              #7
              پاسخ : مشکل در ساخت آمپرمتر با avr

              همچنین با فرکانس 8 مگاهرتر هم تست کردم. تاثیری ایحاد نشد. در کل و در عمل 4.9 میلی آمپر گم شدگی جریان دارم . مثلا وقتی 100 میلی آمپر جریان در حال نشان داده شدن است با تغییر ولوم یا مقاومت متغییر جریان بعدی را 104.9 میلی آمپر نشان می دهد. در حالی که آمپر متر خارجی که وصل کردم حدفاصل این مقادیر گم شده را نشان می دهد. یعنی آمپر متر ساخت من این حد فاصل جریان را نشان نمیدهد.

              دیدگاه


                #8
                پاسخ : مشکل در ساخت آمپرمتر با avr

                نوشته اصلی توسط MEHRANNOHTANIPOOR نمایش پست ها
                همچنین با فرکانس 8 مگاهرتر هم تست کردم. تاثیری ایحاد نشد. در کل و در عمل 4.9 میلی آمپر گم شدگی جریان دارم . مثلا وقتی 100 میلی آمپر جریان در حال نشان داده شدن است با تغییر ولوم یا مقاومت متغییر جریان بعدی را 104.9 میلی آمپر نشان می دهد. در حالی که آمپر متر خارجی که وصل کردم حدفاصل این مقادیر گم شده را نشان می دهد. یعنی آمپر متر ساخت من این حد فاصل جریان را نشان نمیدهد.
                سلام شما adc رو بصورت single گذاشته اید یعنی برای هربار خواندن adc باید دستور get adc رو اجرا کنین
                بعد یک فاصله wait هم داده اید که توی اون زمان adc اصلا کاری نمیکنه
                بعد شما به نشان دادن مقدار دقیق تر نیاز دارید و ولتاژی که دارید به adc میدید 1.2 ولت هستش
                پس میتونین از ولتاژ رفرنس 2.5 ولت داخلی میکرو استفاده کنین و این adc شما رو خیلی دقیق تر میکنه اما باید عدد 4.88... رو عوض کنین ( عدد دقیقش رو نمیدونم که باید چند بزارید )
                پس اول adc رو روی حالت free بزارید بعد رفرنسش رو کم کنین
                یکبار با رفرنس 5 ولت و adc حالت free تست کنین اگه خوب شد که هیچ اگر نه و بدتر شد که روی همون single بزارید و رفرنس رو کم کنین
                فرکانس کاری میکرو رو هم روی 8 مگاهرتز بزارید ( به نظر من توی این فرکانس عملکرد بهتری داره )
                این مشکل رو تجربه کردم
                یا اینکه از نزدیک دیدم و دارم نظر میدم
                بعضی ها به اشتباه فکر میکنن من تعمیر کارم و دارم راه حل میگم

                دیدگاه


                  #9
                  پاسخ : مشکل در ساخت آمپرمتر با avr

                  سلام. تست کردم نشد.

                  دیدگاه


                    #10
                    پاسخ : مشکل در ساخت آمپرمتر با avr

                    نوشته اصلی توسط MEHRANNOHTANIPOOR نمایش پست ها
                    همچنین با فرکانس 8 مگاهرتر هم تست کردم. تاثیری ایحاد نشد. در کل و در عمل 4.9 میلی آمپر گم شدگی جریان دارم . مثلا وقتی 100 میلی آمپر جریان در حال نشان داده شدن است با تغییر ولوم یا مقاومت متغییر جریان بعدی را 104.9 میلی آمپر نشان می دهد. در حالی که آمپر متر خارجی که وصل کردم حدفاصل این مقادیر گم شده را نشان می دهد. یعنی آمپر متر ساخت من این حد فاصل جریان را نشان نمیدهد.
                    با سلام
                    رزولوشن مبدل شما 10 بیتی هست و هر بیت معادل 4.88 میلی ولت میشه. مقاومت نمونه گیرتون هم 1 اهمه. پس تغییر هربیت به اندازه ی 4.88 میلی آمپر میشه و درسته. بنا بر این همه چیز درسته و مشکلی وجود نداره..
                    شما اگه دقت بالاتر میخواین یا باید رزولوشن مبدل رو بالاتر ببرید و یا مقدار مقاومت رو افزایش بدید، یا هر دو!
                    مثلا با افزایش مقاومت به 4 اهم دقت تقریبا یک میلی آمپر رو بدست میارید.
                    کمترین توقع از یک فرد تحصیلکرده، دانستن املای صحیح کلمات است.

                    دیدگاه


                      #11
                      پاسخ : مشکل در ساخت آمپرمتر با avr

                      سلام. ممنون دوست عزیز درست شد با افزایش مقاومت به 4 اهم. اما مقدار دقیق مقاومت را با همین 10 بیت رزولوشن چطور مشخص کنم؟ تا خطا به min برسه .

                      جدیدترین ویرایش توسط MEHRANNOHTANIPOOR; ۱۶:۲۴ ۱۳۹۸/۰۴/۳۱.

                      دیدگاه


                        #12
                        پاسخ : مشکل در ساخت آمپرمتر با avr

                        از نظر تئوری هر چی مقدار مقاومت بیشتر باشه دقت بهتری هم بدست میاد، اما سقف مقدار قابل اندازه گیری میاد پائین.
                        یعنی با مقاومت 1 اهم ماکزیمم جریانی که می شد اندازه گرفت 5 آمپر بود. اما با مقاومت 4 اهم 1.25 امپره. هر چی مقاومت زیاد بشه به همون نسبت جریان ماکزیمم کم میشه.
                        کمترین توقع از یک فرد تحصیلکرده، دانستن املای صحیح کلمات است.

                        دیدگاه


                          #13
                          پاسخ : مشکل در ساخت آمپرمتر با avr

                          ممنونم برای همه چیز
                          جدیدترین ویرایش توسط MEHRANNOHTANIPOOR; ۲۲:۰۰ ۱۳۹۸/۰۴/۳۱.

                          دیدگاه

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