dafous m.f.d نوشته است:
سلام مهندس حمید عزیز
لطفا در برنامه نویسی روتین قسمت انتیگرالگیر رو علنی کنین چون من همین الان در حال برنامه نویسی برای فلزیاب هستم
یک روش که برای انتیگرالگیری هست استفاده از روش ذوزنقه در محاسبات عددی هست که در واقع ولتاژ اولadcرو با سمپل دوم جمع میکنی و حاصل رو تقسیم میکنی بر دو برابرفرکانس نمونه برداری adc
و دوباره با سمپل های بعدی به همین روش جمع میکنی
شما چند تا ولتاژadcرو برای انتیگرالگیری در هر موج میرایی لوپ جمع میکنی و این انتیگرال رو باچه ولتاژی مقایسه میکنی
اگه فرمولش رو برام بفرستی خیلی خوب میشه
ناصر عزیز مجددا به انجمن خوش اومدین!
ببینیم این بار چقدر میتونیم در خدمتتون باشیم!!!
بله دوستان به اطلاع من رسوندن که ظاهرا شما در مسیر طراحی یک فلزیاب پالسی دیجیتال مدتهاست درخواست قسمت انتگرالگیر دیجیتال رو مطرح کردین! ولی باید خدمت شما عرض کنم قسمت انتگرالگیر در چنین فلزیابی جزو اصول اولیه و بسیار ساده کار هست که کل برنامش چند خط بیشتر نیست! حالا شما اگر از پس این قسمت بر نیای که باقی کار اصلا ممکن نیست چون فرمولهای بمراتب پیچیده تری برای محاسبه درست سنس نیاز هست. انتگرال خالی موج بدرد سنس مطمئن فلز نمیخوره.
بهرحال در خصوص روش انتگرالگیری همونطور که نمونه ای رو مثال زدین میشه از روش ذوزنقه در محاسبات عددی استفاده کرد که تکنیک ساده ای هست و همینطور روشهای دیگری امکانپذیره که نحوه پیاده سازیش و حتی نمونه برنامه هاش براحتی با یک جستجوی ساده در نت پیدا میشه. اما مشکل اصلی شما قطعا نحوه استفاده از ADC خواهد بود. کاری که بنده کردم گرفتن 70 نمونه از کل موج بعنوان هر مقدار سنس هست! این کار بطور معمول با ADC داخلی میکرو غیر ممکنه و بنده هم اون قسمت رو کاملا به زبان اسمبلی و با توجه به دیتاشیت دقیق میکرو نوشتم. اگر موفق به چنین کاری نشین به ناچار باید از آیسی ADC بیرونی با سرعت بالا استفاده کنین. نحوه خواندن نمونه از ADC هم که در هر صورت کاری مشخص و ساده هست.
اما در خصوص مقایسه ؛ این بستگی به مدار هم داره. من مدار رو جوری بستم که ولتاژ خروجی 357 دقیقا از صفر شروع به بالا اومدن میکنه و این کار محاسبات دیجیتال رو خیلی راحت تر میکنه. در عین حال مقایسه هم همیشه بر اساس میزان انتگرال لحظه بالانس انجام میشه! مثلا در این مدار که آپ امپ بصورت وارونگر بسته شده ؛ کم شدن انتگرال موج بمعنی سنس خواهد بود. پس شما برای بالانس دیجیتال باید مقدار انتگرال رو در اون لحظه بعنوان عدد مبنای بالانس در میکرو ذخیره کنی و در لحظات کاوش مقدار انتگرال رو با اون مقدار بالانس مقایسه کنی. فرمول خاصی هم نداره! چیزی که شما خواستی صرفا با جمع و تفریق و مقایسه منطقی ساده قابل انجام هست!
بهرحال همه اون چیزی که شما خواستی رو بنده عرض کردم. اگر در پیاده سازی قوی باشی با همین اطلاعات ساده میتونی بیس مدار پالسی دیجیتال رو طراحی کنی.