معرفی کاربردی مبدل های آنالوگ به دیجیتال

معرفی کاربردی مبدل های آنالوگ به دیجیتال

در این مقاله قصد داریم شما را با نحوه ی کار این مبدل ها آشنا کرده و در نهایت با معرفی یک آی سی مبدل و آموزش کار با آن مقاله را به پایان ببریم.

مبدل  آنالوگ به دیجیتال (Analog to Digital Converter=ADC)، مداری الکترونیکی که سیگنال‌های پیوسته آنالوگ را به داده‌های گسسته دیجیتالی یا رقمی تبدیل می‌کند. ]۱[

   امروزه به دلیل دیجیتالی شدن بسیاری از ابزارهای الکترونیکی نیاز به مبدل های آنالوگ به دیجیتال برای ارتباط میکروکنترلرها و سایر آی سی های دیجیتال با سنسور ها و اینترفیس ها بسیار جدی تر از گذشته شده است.

کار این آی سی ها در سه مرحله انجام می شود: ۱- نمونه برداری ۲- کوانتیزاسیون ۳- دیجیتال سازی

نمونه برداری

همانطور که همه میدانیم یکی ار قوانین بدیهی نمونه برداری نرخ نایکوئیست است. بنا به آن اگر هر سیگنالی را با فرکانسی معادل دو برابر بیشترین فرکانس هارمونی آن سیگنال (قابل تعیین با سری فوریه) نمونه برداری کنیم میتوان با استفاده از مقادیر به دست آمده سیگنال نمونه برداری شده را عینا بازسازی کرد.

کوانتیزاسیون

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

image001

دیجیتال سازی

حال سیگنال کوانتیزه شده را باید با روش خاصی به داده های ۰ و ۱ که قابل فهم برای آی سی های دیجیتال هستند تبدیل کرد. فرآیند دیجیتال سازی خود علمی است به نام کدینگ. به عنوان مثال در شکل زیر مشاده میکنید که به سطوح کوانتیزه شده در بازه ۱ تا ۷ مقادیر معادل باینری آن ها اختصاص داده شده است.

3-bit_resolution_analog_comparison

کار عملی!

خوب از مباحث تئوری که بگذریم به کار عملی میرسیم! برای تبدیل آنالوگ به دیجیتال روش ها و تکنولوژی های فراوانی وجود دارد که در در این مقاله نمیگنجد. به عنوان مثال یکی از این روش ها به Flash ADC و یا Parallel A/D Converter معروف است که تصاویر مدارهای مختلف برای پیاده سازی آن را در زیر می بینید.

04256

پیاده سازی با انکودر با اولویت

04257

پیاده سازی با انکودر معمولی

 

04258

ماتریسی از دیودها به عنوان انکودر

 

بسیاری از میکروکنترلر های نیز این نوع از مبدل ها را به عنوان یک peripheral داخلی در اختیار شما قرار می دهند. به عنوان مثال میکروکنترلر های AVR دارای یک مبدل داخلی ۱۰ بیتی هستند و لذا سیگنال آنالوگ ورودی را به ۲۱۰=۱۰۲۴ سطح کوانتیزه کرده و در قالب یک متغیر ۱۰ بیتی در برنامه در اختیار شما قرار میدهند. دیتاشیت بخش مبدل آنالوگ به دیجیتال میکروکنترلر AT Mega 16 برای مطالعه ی بیشتر در انتهای این پست آمده.

adconverter2_01_lrg

روش بعدی استفاده از آی سی های مبدل است. آی سی های معروف در این زمینه با پیشوند ADC شروع می شوند. در این جا برای آشنایی شما ما به معرفی و آموزش کار با آی سی ADC0804 می پردازیم. در زمان نگراش این مقاله قیمت تقیریبی این آی سی ۶۷۰۰ تومان
می باشد. ویژگی های عمومی این آی سی به شرح زیر است:

۸۰C48 and 80C80/85 Bus Compatible – No Interfacing Logic Require
Conversion Time <100μs
Easy Interface to Most Microprocessors
Will Operate in a “Stand Alone” Mode
Differential Analog Voltage Inputs
Works with Band gap Voltage References
TTL Compatible Inputs and Outputs
On-Chip Clock Generator
Analog Voltage Input Range Single + 5V Supply (0V to 5V)
No Zero-Adjust Required
۸۰C48 and 80C80/85 Bus Compatible – No Interfacing Logic Required

برای عملکرد درست این آی سی مدار زیر را یبندیم.

ADC0804_typical_circuit

ورودی آنالوگ را به پین ۶ و ۷ متصل نموده و خروجی دیجیتال را از پین های ۱۱ تا ۱۸ میخوانیم. مراحل خواندن به شرح زیر است:

مرحله اول : برای شروع عملیات تبدیل باید پین ۳ ( نوشتن ) را ۰ ( Low ) کرده و سپس آن را ۱ ( High ) کنیم با ۱ شدن عملیات تبدیل شروع می شود

مرحله دوم : زمانی که پردازش تبدیل کامل شد پایه ۵ ( وقفه ) ۰ ( Low ) می شود

مرحله سوم : زمانی که پایه ۵ ( وقفه ) ۰ شد ما باید پایه ۲ ( خواندن ) را ۰ کنیم تا خط انتقالی دیتای ۰ تا دیتای ۷ فعال شود و مقدار به دست آوردن ارسال شود

مرحله چهارم : مقدار پورت ۱ را می خوانیم ( که مقدار تبدیل شده است ) که یک عدد بین ۰ تا ۲۵۵ می باشد

مرحله پنجم : در نهایت دوباره مقدار پایه ۲ (خواندن ) را به حالت ۱ ( High ) تبدیل کرده تا برای خواندن مقدار های بعدی آماده باشد[۲]

 

دیتاشیت این آی سی برای مطالعه ی بیشتر در انتهای مقاله آمده است.

دیتاشیت adc0804

دیتاشیت ADC داخلی AtMeag16

امیدوارم در این مقاله آشنایی خوبی با مبدل های آنالوگ به دیجیتال پیدا کرده باشید. سوالات خود را از بخش نظرات با ما در میان بگذارید

خیلی بدضعیفمتوسطخوبخیلی عالی (7 نظر, امتیاز کل: 4,29 از 5)
Loading...

8 دیدگاه ها

  1. داریوش says:

    با سلام خدمت مهندس گرامی خواستم از مطالب شما وهمچنین سرعت سایت شما و نوع آموزش شما ازتون تشکر کنم سایت بسیار عالی دارید

    • محمدرضا سالارباشی says:

      با سلام

      خوشحالم که مفید واقع شده

      امیدوارم تو یه فرصت دیگه بتونم موارد جدیدی مثل یکی اززبان های برنامه نویسی سطح بالا رو به همین صورت تدریس کنم

  2. mansix says:

    بسیار عالی ممنون از شما

  3. امير سليمي says:

    با سلام و احترام
    خوشحالم که با سایت شما آشنا شدم و ممنونم از مطالب آموزشی مفیدی که در یوتیوب گذاشتین.اگه ممکنه ما را با تجربه های عملی بیشتری آشنا بکنین.
    سپاس از شما

پاسخ دادن به محمدرضا سالارباشی لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *