PDA

View Full Version : اشکال درADCمیکرو AVR



M_Ali_Safdari
پنج شنبه 22 بهمن 1388, 21:22 عصر
سلام
مداری دارم با MEGA32 که به طور مداوم از ADC نمونه می گیرد.
اگر ولتاژ ورودی ADC را از پاور کامپیوتر تآمین کنم به خوبی کار می کند ولی هنگامی که منبع ولتاژ مورد نظرم را به کار می برم ،تعدادی صفر در مقادیر خوانده شده مشاهده می شود. جالب اینکه تعداد صفر ها و محل قرار گیری آنها بطور دوره ای تکرار می شود ؛ حال آنکه منبع DC است

با اسکوپ ، منبع ولتاژ من بسیار صاف تر از پاور کامپیوتر است و تنها تفاوتی که به نظرم می رسد تفاوت در امپدانس آنها است. ولی هنوز مداری برای تطبیق امپدانس میکرو با منبع به کار نبرده ام

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

hamid-nic
پنج شنبه 22 بهمن 1388, 22:50 عصر
سلام
مداری دارم با MEGA32 که به طور مداوم از ADC نمونه می گیرد.
اگر ولتاژ ورودی ADC را از پاور کامپیوتر تآمین کنم به خوبی کار می کند ولی هنگامی که منبع ولتاژ مورد نظرم را به کار می برم ،تعدادی صفر در مقادیر خوانده شده مشاهده می شود. جالب اینکه تعداد صفر ها و محل قرار گیری آنها بطور دوره ای تکرار می شود ؛ حال آنکه منبع DC است

با اسکوپ ، منبع ولتاژ من بسیار صاف تر از پاور کامپیوتر است و تنها تفاوتی که به نظرم می رسد تفاوت در امپدانس آنها است. ولی هنوز مداری برای تطبیق امپدانس میکرو با منبع به کار نبرده ام

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

دوست عزیز از چه زبانی استفاده می کنید ؟ بیسیک یا C ؟
عوامل مختلفی باعث می شود که این مشکلات بوجود آید . منبع ADC را کجا انتخاب کردید ؟ AVCC یا Aref با 2.56 داخلی ؟ اگر با زبان c برنامه می نویسید در نرم افزار کدویژن در قسمت ویزارد می توانید از ADC Noise Canceler استفاده کنید . همچنین می توانید از خازن و سلف در مدار خود میکرو جهت کاهش نویز استفاده کنید .
در این مورد مطالب زیادی در اینترنت می توانید پیدا کنید .
کافیه فقط یک کم حوصله داشته باشید !
موفق باشید .

M_Ali_Safdari
پنج شنبه 22 بهمن 1388, 23:45 عصر
دوست عزیز از چه زبانی استفاده می کنید ؟ بیسیک یا C ؟
عوامل مختلفی باعث می شود که این مشکلات بوجود آید . منبع ADC را کجا انتخاب کردید ؟ AVCC یا Aref با 2.56 داخلی ؟ اگر با زبان c برنامه می نویسید در نرم افزار کدویژن در قسمت ویزارد می توانید از ADC Noise Canceler استفاده کنید . همچنین می توانید از خازن و سلف در مدار خود میکرو جهت کاهش نویز استفاده کنید .
در این مورد مطالب زیادی در اینترنت می توانید پیدا کنید .
کافیه فقط یک کم حوصله داشته باشید !
موفق باشید .

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

hamid-nic
جمعه 23 بهمن 1388, 02:20 صبح
دوست عزیز سلام
واحد ADC دارای زمین GND مجزا و تغذیه AVCC مجزا و همچنین دارای پایه ولتاژ مرجع خارجی Vref می باشد . باید به این نکته توجه داشته باشید که تغذیه AVCC مبدل که از تغذیه 5 ولتی مدار تامین می شود ، نباید بیشتر از 0.3_+ تغییرات داشته باشد . به همین خاطر از یک دونه سلف استفاده می کنند تا با تغییرات جریان ناگهانی مقابله کنند و علاوه بر آن به همراه یک خازن بکار برده می شود تا یک مدار فیلتر LC حذف نویز را ایجاد نماید .
به نظر میاد شاید در قسمت برنامه تابع تبدیل برای نمایش دمای سانتیگراد را اشتباه نوشته باشید بهتر است یکبار آن را با دقت بررسی کنید .
موفق و پیروز باشید .

farzadsw
جمعه 23 بهمن 1388, 04:43 صبح
سلام
مداری دارم با MEGA32 که به طور مداوم از ADC نمونه می گیرد.
اگر ولتاژ ورودی ADC را از پاور کامپیوتر تآمین کنم به خوبی کار می کند ولی هنگامی که منبع ولتاژ مورد نظرم را به کار می برم ،تعدادی صفر در مقادیر خوانده شده مشاهده می شود. جالب اینکه تعداد صفر ها و محل قرار گیری آنها بطور دوره ای تکرار می شود ؛ حال آنکه منبع DC است

با اسکوپ ، منبع ولتاژ من بسیار صاف تر از پاور کامپیوتر است و تنها تفاوتی که به نظرم می رسد تفاوت در امپدانس آنها است. ولی هنوز مداری برای تطبیق امپدانس میکرو با منبع به کار نبرده ام

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

اینکه میگید 0 میشه توی کامپیوتر (نمودار مثلا) دیدید صفر میشه یا تو خروجی خود بورد( مثلا lcd کاراکتری) ؟
منبع تغذیه شما چقدر جریان میتونه بده؟(اگه مدارتون مصرف زیادی داره)
من به یه مورد مشابه این (تو رسم نمودار) برخوردم ولی دقت نکردم که متناوب بود یا نه.

M_Ali_Safdari
جمعه 23 بهمن 1388, 12:44 عصر
اینکه میگید 0 میشه توی کامپیوتر (نمودار مثلا) دیدید صفر میشه یا تو خروجی خود بورد( مثلا lcd کاراکتری) ؟
منبع تغذیه شما چقدر جریان میتونه بده؟(اگه مدارتون مصرف زیادی داره)
من به یه مورد مشابه این (تو رسم نمودار) برخوردم ولی دقت نکردم که متناوب بود یا نه. سلام
من اطلاعات رو برای رسم نمودار نیاز دارم و به کامپیوتر ارسال می کنم.
نمونه ای از نمودار رسم شده رو ضمیمه می کنم . قسمتی که 3.5 ولت رو نشون می ده با یک پتانسیومتر از 5 ولت پاور تآمین شده و قسمتی که 2.8 ولت هست از منبع ولتاژ مورد نظر من گرفته شده که باید شبیه هم باشند(در اسکوپ هر دو مشابه هستند)

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

منبع ولتاژ رو با این مشخصات می شه مدل کرد: رآکتانس حدود 10 اهم.منبع جریان در حدود 2 میلی آمپر و منبع ولتاژ 3 ولت.

تصور من اینست که امپدانس بسیار پایین منبع باعث ایجاد چنین حالتی می شود ، اگر نظرتان را در این مورد بفرمایید بسیار ممنون خواهم شد.

با تشکر فراوان

farzadsw
شنبه 24 بهمن 1388, 00:48 صبح
ورودی adc ها امپدانس نسبتا بالایی دارن بنابراین کم بودن امپدانس منبع ولتاژ مشکلی ایجاد نمیکنه ( از طرفی منبع ولتاژ ایده آل امپدانس صفر باید داشته باشه)
اینا به فکر من میرسه :
فرکانس نمونه برداری رو تا جای ممکن پایین بیارید
-یه فیلتر پایین گذر تو ورودی adc قرار بدید
-تو صفحه 207 دیتاشیت میکرو هم یه توضیحات مختصری داده :

The Analog Input Circuitry for single ended channels is illustrated in Figure 105. An ana-
log source applied to ADCn is subjected to the pin capacitance and input leakage of that
pin, regardless of whether that channel is selected as input for the ADC. When the chan-
nel is selected, the source must drive the S/H capacitor through the series resistance
(combined resistance in the input path).
The ADC is optimized for analog signals with an output impedance of approximately
10kΩ or less. If such a source is used, the sampling time will be negligible. If a source
with higher impedance is used, the sampling time will depend on how long time the
source needs to charge the S/H capacitor, with can vary widely. The user is recom-
mended to only use low impedant sources with slowly varying signals, since this
minimizes the required charge transfer to the S/H capacitor.
If differential gain channels are used, the input circuitry looks somewhat different,
although source impedances of a few hundred kΩ or less is recommended.
Signal components higher than the Nyquist frequency (fADC/2) should not be present for
either kind of channels, to avoid distortion from unpredictable signal convolution. The
user is advised to remove high frequency components with a low-pass filter before
applying the signals as inputs to the ADC.


اون موردی که من برخورده بودم (و احتمالا برای شما اینطور نیست) این بود که اطلاعات درست گرفته میشد ولی به کامپیوتر که فرستاده میشد (شبیه نمودار شما) صفر توش ایجاد میشد . ولی با توجه به اینکه تو برنامه شما همزمان 2تا نمودار داره نمایش داده میشه و فقط یکی خرابه ، پس مسلما ارتباط درسته .

یه چیز دیگه رو هم امتحان کنید ؛ تو برنامه میکرو ، قسمتی که adc رو میخونه رو تکرار کنید مثلا 10 بار و بعد میانگین اون 10تا رو به عنوان مقدار نهایی adc به کامپیوتر بفرستید . ببینید نمودار هنوزم صفر میده ؟ چه تغییری میکنه ؟