سلام به همه علم دوستا مخصوصا" اونهایی که تونستن AD7730 را راه اندازی کنند. :nerd: :nice:
من تا این لحظه تونستم فقط از رجیسترهای این آی سی بخونم یا توی اونها بنویسم
درضمن با اتصال یک لودسل (5 تنی و 1.9975mv/v) به ورودی (+)AIN و (-)AIN به صورت Bipolar یه سری اعداد بخونم البته رجیستر فیلتر و مد را هم متناسب با شرایت مقدار دادم و طبق گفته های آقای احمد اول آی سی را ریست کردم بعد فیلتر را مقدار دادم(2048) و بعد رجیستر مد را با توجه به نیازم مقدار دادم .در این لحظه منتظر موندم تا پایه RDY صفر بشه :NO: و بعد Data register را میخونم.
خوب تا اینجا نه Zero-Scale کردم و نه Full-Scale در ضمن اگه بخوام این دو کار را هم انجام بدم اصلا" فرق بین Internal و System را نفهمیدم !!!! :mrgreen:
عددی که به من نشون میده عددی در حدود 23760 :agree:
از اینجا به بعد را نمیدونم چیکار کنم :rolleyes: :redface: :mrgreen:
هرچقدر هم که فرمان Zero و Full را اجرا میکنم باز هم همون عدد (حدود) 23760 را نشونم میده :cry2: :cry2:
ترتیب انجام دستور Zero و Full را هم عوض میکنم ولی فرقی در کل نداره oo: oo:
توی مطالب قبلی یه چیزایی از ضرب و تقسیم وزن گذاشته شده روی لودسل و مقدار خوانده شده خوندم ولی از اون هم سر در نیاوردم!! :angry:
توی دیتاشیت نوشته که تنظیم Zero-Scale فقط مقدار Offset را تغییر میده و تنظیم Full-Scale مقدار Gain و Offset (هر دو) را عوض میکنه
من هم اول Full-Scale را تنظیم میکنم و بعد مقدار Zero را تنظیم میکنم ولی نمیدونم چه اتفاقی میافته که وقتی از طریق رجیستر مد دستور تک تبدیل یا تبدیل پیوسته را میدم و میام Data Register را میخونم مقدر Offset دوباره تغییر کرده!!!! :angry: :angry: :angry:
حالا سوالی (بهتر بگم سوالهایی) که من دارم اینه
1-فرق بین Internal و External برای Zero-Scale و Full-Scale چیه؟؟؟؟ oo:
2-ترتیب انجام فرمان Zero-Scale و Full-Scale چگونه است؟؟؟
3-چرا مدام مقدار اینها عوض میشه؟؟
4-بعد از تنظیم تمام رجیسترهای لازم , وقتی از Data Register میخونم باید چه عددی را باید بخونم؟؟ مقدار 32768 برای بی باری یا مقدار صفر برای برای بی باری؟؟
اون قضایای ضریب و وزن و بریز تو گین و .... اینا ... چیه؟؟؟
ممنون میشم اگه بک نفر (یا چند نفر) پاسخ سوالات من را بده (یا بدهند).
تشکر
حاصلظرب توان در ادعا مقداری ثابت است.هرچه توان انسان کمتر باشد ادعای او بیشتر است و هرچه توان انسان بیشتر شود ادعایش کمتر میگردد.(دکتر حسابی)
خود AD قابلیت صفر کردن داره ولی یه راه دیگه هم هست که شما خیلی راحت می تونید عمل صفر کردن رو به صورت دستی انجام بدید معمولا در مدارات ترازو کلیدی به عنوان صفر کردن وجود دارد با فشردن این کلید شما مقدار خروجی AD رو اندازه میگیرید و ذخیره میکنید و همواره در اندازه گیری های بعدی از این عدد کم میکنید
مشکلت با zero_scale چیه؟فقط کافیه که توی مد رجیستر وضعیت zero_scale رو قرار بدی همین
توی نمونه برنامه گذاشته شده در ابتدا AD رو صفر میکنیم بعد ازش میخونیم
من مشکلی با اون ندارم , اون با من مشکل داره!!! :redface:
من میخوام بدونم که وقتی Full Calibration میکنم , عددی که از Data Register میخونم نرمالیزه شده است یعنی عددی که به من میده برابر مقدار وزن و فقط کافیه این عدد را به عنوان وزن بار روی یک نمایشگر نشون بدم ؟؟ یا اینکه باید خودم بیام اون عدد بین 65535 - 32768 - 0 را نرمالیزه کنم؟؟؟؟ و بعد نمایشش بدم؟؟؟؟
حاصلظرب توان در ادعا مقداری ثابت است.هرچه توان انسان کمتر باشد ادعای او بیشتر است و هرچه توان انسان بیشتر شود ادعایش کمتر میگردد.(دکتر حسابی)
یعنی عددی که به من میده برابر مقدار وزن و فقط کافیه این عدد را به عنوان وزن بار روی یک نمایشگر نشون بدم ؟؟
نه هیر این عدد وزن روی لودسل نیست و شما باید با توجه به فرمول مقدار وزن رو بدست بیارید
در این فرمول بایستی مقدار mv/v لودسل و ولتاژ ورودی لودسل و حداکثر وزن قابل تحمل لودسل مشخص باشد تا بتوان برحسب مقداری که 7730 به شما میده مقدار وزن رو محاسبه کنید
البته معمولا کلیدی برای کالبره کردن هم قرار میدن اگه مقادیر پارامترها رو درست وارد کرده باشید احتمالا نیازی به کالیبره کردن نخواهید داشت
من AD7730 را روی تبدیل دائم قرار دادم و دیتا را به صورت تک بار میخونم . آیا این خودش مشکل زا نیست ؟؟؟
من روی پایه RDY یک LED با یک مقاومت 330 اهم هم گذاشتم تا این پایه را بتونم خودم چک کنم عمل خواندن را هم هر یک ثانیه یکبار انجام میدم.حالا اتفاقی که میافته اینه که LED با زمان های منظم خاموش و روشن میشه و هربار یه عدد در حدود 32768 به من میده ولی گاهی (بطور نامنظم و نامشخص) این ریتم از بین میره یعنی زمانی که RDY صفر میمونه بیشتر میشه و در عوض روی LCD عدد 65535 را نشون میده!! اون قسمت برنامه که پایه RDY را چک میکنم را هم میگذارم بلکه شما یه راه حلی براش پیدا کنید!!
ممنون
while (1)
{
while(PIND.6!=0)
{
}
if(PIND.6==0)
{
ADC_Read_Data16(4,&Data_regH,&Data_regL);
DH=Data_regH;
result=(DH<<8)|Data_regL;
lcd_clear();
ltoa(result,str);
lcd_puts(str);
delay_ms(1000);
};
while(PIND.6==0)
{
}
}
}
حاصلظرب توان در ادعا مقداری ثابت است.هرچه توان انسان کمتر باشد ادعای او بیشتر است و هرچه توان انسان بیشتر شود ادعایش کمتر میگردد.(دکتر حسابی)
در این فرمول بایستی مقدار mv/v لودسل و ولتاژ ورودی لودسل و حداکثر وزن قابل تحمل لودسل مشخص باشد تا بتوان برحسب مقداری که 7730 به شما میده مقدار وزن رو محاسبه کنید
من این کار را در System Full Scale در زمان دادن مقدار گین جدید بر حسب مقدارmV/V و حداکثر بار قابل تحمل لودسل انجام دادم . ولی باز هم عدد نمایش داده شده حدود 32768 میشه !! :cry:
حاصلظرب توان در ادعا مقداری ثابت است.هرچه توان انسان کمتر باشد ادعای او بیشتر است و هرچه توان انسان بیشتر شود ادعایش کمتر میگردد.(دکتر حسابی)
آقای adelavr110 من اول فیلتر را مقدار دادم (SF11 . . .0=2048 , skip=0 , fast=0 ,a ac=0 , chp=1 , DL210=0) و بعدش میام System Zero Scale میکنم و حالا برای System Full Scale مقدار گین را میخونم و در ضریبی به مقدار
20/(5*1.9975) ضرب میکنم (Vcc=5V و 1.9975mV/V و +-20mV) و در گین مینویسمش.
حالا دیگه فکر میکنم که باید عدد واقعی وزرن را از Data Register بخونم ولی دارم عدد32768 را میخونم که گاهی هم بینش عدد 65535 ظاهر میشه !!!
حاصلظرب توان در ادعا مقداری ثابت است.هرچه توان انسان کمتر باشد ادعای او بیشتر است و هرچه توان انسان بیشتر شود ادعایش کمتر میگردد.(دکتر حسابی)
برای بدست آوردن مقدار وزن ابتدا بایستی با توجه به مشخصات لودسل تنظیمات رجیسترهای 7730 را انجام دهید و پس از بدست آوردن عددی از 7730 دوباره ضرب و تقسیمات لازم رو انجام دهید تا وزن مد نظر بدست بیاد
به طور مثال در صورتی که لودسل 2 میلی ولت استفاده میکنید و به تغذیه 5 ولت وصل شده یتوانید ولتاژ 7730 رو 10 میلی ولت بگذارید در صورتی که به صورت Bipolar ازش میخونید و وزنی برروی لودسل قرار ندارد عددی در حدود 32768 باید دریافت شود اگر این عدد کمی متفاوت باشه ضفر داخلی 7730 رو انجام بدید تا عدد 32768 رو به شما برگردونه حالا این عدد (32768) مقدار صفر شماست اگه روی لودسل وزنی قرار داده بشه این عدد بیشتر میشه یا اگه لودسل رو به طرف خارج بکشید این عدد کم میشه
حالا با توجه به حداکثر وزن لودسل با یه فرمول ساده وزن جسم رو بدست آورید
فکر کنم توضیحات کامل باشه نمونه برنامه ای هم گذاشته شده که اگه در تنظیم رجیترها مشکلی داشتید از اونا استفاده کنید
ممنون از پاسختون. :nice: :applause:
من از صحبتهای قبلی شما این برداشت را کرده بودم که با کالیبره کردن 7730 میشه مستقیم مقدار وزن را از خود 7730بخونم ولی با بررسی هایی که این چند روزه کردم و صحبت های شما و بقیه دوستان متوجه شدم که تحت هر شرایطی و هر نوع تنظیمی , خروجی 7730 عددی بین 0 تا 65535 میده , که عدد 32768 همون وزن صفر را بیان میکنه و با یک ضریب ساده و چند تا ضرب و تقسیم در داخل میکرو این عدد خامی که 7730 به ما داده را به وزن تبدیل میکنیم.
حالا مشکل جدیدی که پیدا کردم اینه که بعد از کالیبره کردن و تبدیل عدد خام به وزن , این عدد شروع به تغییر تویه یه بازه 2 الی 7 تایی میکنه . مثلا" بعد از کالیبره کردن عدد 3.2- را نشون میده و بعد از چند لحظه در نمونه گیری های بعدی این عدد به 6.5- در منفی و تا 4.3 در مثبت تغییر میکنه . و اگه یک وزنه ای روی لودسل بگذارم این تغییرات تا انداره ای به سمت اعداد مثبت شیفت پیدا میکنه!! مثلا" همون اعداد بالا بصورت 1.2- تا 5 الی 9 تغییر دارم .این باعث میشه که نتونم وزن دقیق بار را اعلام کنم!!!!!
حاصلظرب توان در ادعا مقداری ثابت است.هرچه توان انسان کمتر باشد ادعای او بیشتر است و هرچه توان انسان بیشتر شود ادعایش کمتر میگردد.(دکتر حسابی)
یعنی هیچکس به این سوالها برخورد نکرده؟؟؟؟؟؟ :sad: :sad: :sad:
هرکس این AD7730 را استفاده کرده , سریع جواب گرفته؟؟؟؟؟ :read: :nerd:
یا اینکه هیچکس نمیتونه جواب این سوالها را بده؟؟؟
حاصلظرب توان در ادعا مقداری ثابت است.هرچه توان انسان کمتر باشد ادعای او بیشتر است و هرچه توان انسان بیشتر شود ادعایش کمتر میگردد.(دکتر حسابی)
در صورتی که پارامترهای ورودی رو درست وارد کرده باشید بایستی با اعمال فشار عدد خروجی 7730 بیشتر بشه (اگه سیمهای + و - رو اشتباه وصل کرده باشید کمتر میشه)
و عدد 65535 رو زمانی از 7730 میگیرید که به حداکثر وزن قابل اعمال به لودسل برسید
حالا اینکه شما توی خروجی نوسان دارید دو دلیل میتونه داشته باشه یکی اینکه با توجه به مشخصات لودسل مقادیر رو درست وارد نکردید و یا نوسان طبیعی خروجی 7730 هست که بسته به طراحی PCB و مسائل رفع نویز هست
شما برای اطمینان از صحت تنظیمات 7730 میتونید خروجی این آی سی که عددی در حدود 32768 هست رو بخونید و بدون تغییر در اون این عدد رو روی LCD نمایش بدید
7730 رو صفر کنید و وزنی رو روی اون قرار ندید
اگر از مدار PCB با طراحی مناسب استفاده کنید و از رجیستر های 16 بیتی این آی سی اطلاعات رو بخونید باید نهایتا تنها یک بیت نوسان داشته باشید یعنی دامنه نوسان شما بین 32767 تا 32768 تغییر کنه اگه از فیبر سوراخدار یا بردبورد استفاده میکنید احتمالا بیشتر از 12 بیست دقت دریافت نخواهید کرد
در ضمن در شرایط عادی با این آی سی میتوان 15 بیت دقت پایدار رو دریافت کرد البته در محیطهای صنعتی نوسان این آیسی خیلی بیشتر میشه و من به زور تونستم با استفاده از انواع فیلترهای مخصوص و پوشش آلومینیومی و ... به همون دقت 15 بیت در محیط صنعتی برسم
نوشته اصلی توسط hamid reza_1364
یعنی هیچکس به این سوالها برخورد نکرده؟؟؟؟؟؟ :sad: :sad: :sad:
هرکس این AD7730 را استفاده کرده , سریع جواب گرفته؟؟؟؟؟ :read: :nerd:
یا اینکه هیچکس نمیتونه جواب این سوالها را بده؟؟؟
دوست عزیز وقتی سوالی رو میپرسید باید مهلتی هم برای بقیه بدهید تا وقتی پای سیستم نشستند و سوالتونو دیدند جواب بدن!
فکر کنم هیچ کسی هم (از جمله خود من) در اولین کار با این آی سی جواب نگرفته یادمه خودم با این آی سی مشکل داشتم و سوالمو اینجا پرسیدم و جوابی هم به من ندادن و خودم با کار زیاد روی این آی سی مشکلم رو حل کردم برهر حال اینجا کسانی که این آی سی رو معرفی کردن تنها برای معرفی بوده و دیتاشیت این آی سی مرجع کامل این آی سی هست
دیدگاه