ايران ويج

نسخه‌ی کامل: dac برای میکرو
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
نقل قول:
فقط ورودی dac شما چجوریه !
منظورتون چیه؟ مگه چجوری داریم؟ یعنی از نوع word یا byte؟ خب تا 1200 توی متغیر word

DAC1222LCN


درسته اگر ورودی dac صفر باشه خروجی صفر می ده اگه همه پورت هاش یک باشن خروجی Vref که من 12 می گیرم. و برای دیگر مقادیر در این بین چه کنم؟؟؟؟

ولی آیا از رابطه ی خطی پیروی می کند که بایه ضرب حله یا که ....؟؟؟؟؟؟
دقیقاً همینو می خوام بدونم.
نقل قول: فرضا همین عدد 1200 که اگه تقسیم بر صد بشه میشه 12.00 ولت !!!
خب این تقسیم رو که فرمودین کجا باید صورت بگیره؟؟ خروجی dac؟
منظور از ورودی رابط ورودی dac رو گفتم !
مثلا spi هستش یا i2c یا مستقیم پایه داده !!!

البته DAC1222 رابط ورودی خواصی نداره و مستقیم پایه گذاشته !


رابطه اش خطیه و با یه ضرب حله !


و همه پایه هاش یک بشه میشه عدد 4095 و نه 1200 !!!

اون تقسیم رو واسه نمایش گفتم و کاربرد دیگه ای نداره !!!
سلام
من تو یه پروژه دارم از میکرو xmega استفاده میکنم
و کلیت پروژه من به این صورت هست که من یه سری ورودی از طریق adc میخونم و بسته به اینکه تو ورودی چه ولتازی خوندم انتظار دارم توی dac اعداد خاص از پیش تعیین شده ای رو دریافت کنم
مشکلم این هست که نمیدونم چطوری باید داخل برنامه عدد دیجیتالی رو به dac بدم که خروجی آنالوگ عدد دلخواه من باشه
به فرض من برای میکرو شرط میذارم اگه ورودی 2 ولت دید تو خروجی 2.546 ولت نمایش داده بشه
اما نحوه محاسبه این عدد رو نمیدونم و نمیدونم چطوری میتونم فاصله بین 0 تا 4095 رو طوری تقسیم کنم که اعداد دلخواهم رو ببینم درواقع معادل عدد آنالوگ 2.546 در مبنای دیجیتال چطوری محاسبه میشه ؟
سلام
واسه سری mega تو بسکام برای تبدیل مقدار ولتاژ آنالوگ ورودی به دیجیتال از محابسات زیر استفاده میشه

کد:
A = Getadc(0)
B = A / 204.6

10 بیت adc معادل 2 بتوان10» 1023 ورودی رو تقسیم بر 204.6 میکنید تا عدد دیجیتال 0 تا 5 ولت بدست بیاد
واسه سری xmega هم که 12 بیتی هستن باید طبق زیر عمل کنید

کد:
A = Getadc(0)
B = A / 819

12 بیت adc معادل 2 بتوان12» 4095 ورودی رو تقسیم بر 819 میکنید تا عدد دیجیتال 0 تا 5 ولت بدست بیاد
که برای dac هم میتونید عکس این محاسبه رو انجام بدید

خوش باشید.
خیلی ممنون از پاسختون فقط موردی که وجود داره این هست که در سری xmeg تا 3.3 ولت ولتاژ داریم مثل بقیه میکروها تا 5 ولت نیست. در این مورد باز هم تقسیم باید بر عدد 819 تقسیم بشه ؟
و اینکه اعداد 819 و 204.6 بر چه مبنایی محاسبه شدند ؟
و در نهایت اینکه این دستور محاسبات تو codevision هم کارایی داره ؟
(۰۳-شهریور-۱۳۹۲, ۱۲:۲۱:۰۳)unique1990 نوشته است: [ -> ]خیلی ممنون از پاسختون فقط موردی که وجود داره این هست که در سری xmeg تا 3.3 ولت ولتاژ داریم مثل بقیه میکروها تا 5 ولت نیست. در این مورد باز هم تقسیم باید بر عدد 819 تقسیم بشه ؟
خواهش میکنم
برای 3.3 ولت هم باید محاسبات و بصورت زیر انجام بدید

کد:
A = Getadc(0)
B = A / 1240.9

(۰۳-شهریور-۱۳۹۲, ۱۲:۲۱:۰۳)unique1990 نوشته است: [ -> ]و اینکه اعداد 819 و 204.6 بر چه مبنایی محاسبه شدند ؟

طریقه محاسبه 1240.9 :
adc ما 12 بیتی پس از 0 تا 4095 ورودی آنالوگ داریم
برای ایجاد رنج بین 0 تا 3.3 ولت (تبدیل به دیجیتال) عدد 4095 رو باید تقسیم 3.3 کنیم که میشه 1240.9 به ازای هر ولت دیجیتال

(۰۳-شهریور-۱۳۹۲, ۱۲:۲۱:۰۳)unique1990 نوشته است: [ -> ]و در نهایت اینکه این دستور محاسبات تو codevision هم کارایی داره ؟
بله تو کدویژن هم کاربرد داره
تو سایت سرچ بزنید یه اهم متر به زبان سی کار شده که نمونه دستورات محاسبش
وجود داره

خوش باشید.
صفحه‌ها: 1 2