سلام
اول از همه بگم من انالوگم خیلی ضعیفه ..gif)
.gif)
یه مدار طراحی کردم که قرار جریان عبوری از 2 تا مقاومت 0.1 اهم موازی رو که به صورت ولتاژ روشون افت میکنه تقویت و با ADC میکرو بخونم . الان مشکل اینجاست که اپ امپ خطی عمل نمیکنه . رو ی جریانهای زیر 100 میلی و بالای 1.5 امپر اختلاف خیلی زیاده که نمیشه ازش چشم پوشی کرد و فقط توی بازه 100 میلی امپری مثلا 300 تا 400 درست کار میکنه و دقیقه . تو برنامم تغییر ضریب دردی درمون نمیکنه چون خطی نیست . توی پروتوس همه چیز اوکی هست اما تو مدار عملی نه !
اینام عکسایی از مدارشن

چجوری میتونم این مدار رو کاری کنم این مشکلش حل شه ؟
من از ADC10bit استفاده میکنم یعنی اگه از 0-5 امپر بخوام بگیرم اوصولا باید هر 10میلی امپر رو بتونم1 عدد بخونم اما نمیتونم کمترین مقدار بین 40 -80 هست قبل اون رو 0 میده
و از 2 امپر بالاتر یهو تصاعدی میره . خروجی اپ امپ رو گرفتم دیدم با یه مقاومت 1 و 10 کیلو از 3 تا 13 برابر تو ورودیهای مختلف تقویت داره به جای 11 ثابت که اصلا جالب نیست و تو همه کتابها و فرمولام ایده ال اومده !! این ور 5 امپر تا 250 میلی ولت میاد پس اگه 11 برابر تقویت کنم بدم خروجی حله دیگه باید بشه 0 تا 2.5 ولت اما نیست . به علاوه یه مشکل دیگه که خروجی اپ امپ ثابت نیست همش داره تغییرات ریز میکنه این تو همش باعث میشه امپر متر هر ثانیه 4 - 5 تا عدد متفاوت که حدود 10- 15 درصد با مقدار اصلی فاصله دارن رو بندازه مثلا مولتی متر میگه 230 میلی امپر . میکرو همش بین 200 تا 260 سوییچ میشه اونم تو امپر های خاص مثلا فقط رو 230 260 200 میمونه اصلا دیگه بینش رو نمیگیره مثلا 240 تو کارش نیست انگار یکی عدد داده فقط همین 3 تا بیاد . خلاصه ثابت نمیشه . چجوری میتونم کاری کنم این پرشهای ولتاژ هم از بین بره ؟اینم برنامش 
:
راستی خروجی بصورت میلی امپر هست مثلا 4 امپر رو میده 4000 میلی و 2.34 امپر رو میده 2340 میلی . این کار برای حدف . هست و این که 10 میلی 10 میلی تغییر کنه که نمیکنه

این موضوع هم بگم رو پروتئوس زیر 10 میلی امپر خطا داره رو برنامم مطمئنم ! (نه زیاد
)

مرسی
اول از همه بگم من انالوگم خیلی ضعیفه .
.gif)
.gif)
یه مدار طراحی کردم که قرار جریان عبوری از 2 تا مقاومت 0.1 اهم موازی رو که به صورت ولتاژ روشون افت میکنه تقویت و با ADC میکرو بخونم . الان مشکل اینجاست که اپ امپ خطی عمل نمیکنه . رو ی جریانهای زیر 100 میلی و بالای 1.5 امپر اختلاف خیلی زیاده که نمیشه ازش چشم پوشی کرد و فقط توی بازه 100 میلی امپری مثلا 300 تا 400 درست کار میکنه و دقیقه . تو برنامم تغییر ضریب دردی درمون نمیکنه چون خطی نیست . توی پروتوس همه چیز اوکی هست اما تو مدار عملی نه !
اینام عکسایی از مدارشن

چجوری میتونم این مدار رو کاری کنم این مشکلش حل شه ؟
من از ADC10bit استفاده میکنم یعنی اگه از 0-5 امپر بخوام بگیرم اوصولا باید هر 10میلی امپر رو بتونم1 عدد بخونم اما نمیتونم کمترین مقدار بین 40 -80 هست قبل اون رو 0 میده




راستی خروجی بصورت میلی امپر هست مثلا 4 امپر رو میده 4000 میلی و 2.34 امپر رو میده 2340 میلی . این کار برای حدف . هست و این که 10 میلی 10 میلی تغییر کنه که نمیکنه


این موضوع هم بگم رو پروتئوس زیر 10 میلی امپر خطا داره رو برنامم مطمئنم ! (نه زیاد

کد:
ADCDATA=adc_readzero(1); //read ADC ADCV=ADCDATA*4.9; //*0.0048 for 10 bit * 1000 convert to mA from A ADCV/=11; //(10K/1K)+1 = Op amp /ADCV=float CURRENT=(ADCV*100)/5; //current resitors = 2 parallel 0.1R sprintf(test,"%d ma",CURRENT); putstring(test);

مرسی
دیدگاه