سلام دوستان امیدواریم حالتون عالی باشه. در این آموزش نگاهی به تراشه مبدل آنالوگ به دیجیتال 8 بیتی ADC0804 خواهیم داشت. در مهندسی الکترونیک از ماژول های مختلفی برای تبدیل سیگنال آنالوگ به سیگنال دیجیتال استفاده می شود. این ابزارها به عنوان مبدل آنالوگ به دیجیتال Analog to Digital Converter یا ADC شناخته می شوند. از این مبدل سیگنال برای یافتن مقدار جریان و ولتاژ ورودی نیز استفاده می شود. به طور معمول خروجی این مبدل ها می تواند یک تا چند بایت باشد. این مبدل‌های آنالوگ به دیجیتال در طرح‌های ساختاری مختلف از جمله در داخل برخی میکروکنترلرها تعبیه شده است، اما عمدتاً در بسته‌بندی مدارهای مجتمع بطور مستقل نیز موجود هستند. توانایی کار این مبدل سیگنال به پهنای باند و نسبت سیگنال به نویز (SNR) آنها بستگی دارد. پهنای باند آنها را می توان با نرخ نمونه آنها نسبت داد (نرخ نمونه برداری سرعت اخذ و تبدیل نمونه های آنالوگ زمان پیوسته و تبدیل آن ها به سیگنال زمان گسسته است). نسبت سیگنال به نویز را می توان با رزولوشن، دقت سیگنال و الیاسینگ اندازه گیری کرد.

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

برای آشنایی با برنامه نویسی میکروکنترلرهای AVR به دو لینک زیر مراجعه کنید:

http://smartcomp.ir/product-4

http://smartcomp.ir/product-4

مقدمه ای بر ADC0804

ADC0804 یک مدار مجتمع برای تبدیل ورودی آنالوگ به خروجی دیجیتال استفاده می شود. این مبدل هشت بیتی آنالوگ به دیجیتال دارای 20 پایه می باشد.

مبدل ADC در اکثر میکروکنترلرهای مختلف مانند Raspberry Pi، AVR، PIC و غیره استفاده می شود. برای راه اندازی این ماژول ADC در این میکروکنترلرها نیازی به ساعت خارجی نیست این ماژول دارای ساعت خاص خود است.

اما اگر به دنبال مبدل آنالوگ به دیجیتال 8 بیتی با وضوح عالی هستید، ADC0804 بهترین انتخاب است.

این مبدل سیگنال، بیشتر برای اندازه گیری دمای خانه ها یا صنایع و دمای عناصر گرمایشی مورد استفاده در ماشین های مختلف استفاده می شود. در خودروها نیز برای اندازه گیری دما استفاده می شود.

این ماژول نه تنها برای محاسبه دما بلکه در کاربردهایی که با سیگنال آنالوگ مواجه هستیم استفاده می شود.

پایه های ADC0804

در این قسمت شرح پایه های ADC0804 را در یک جدول آورده ایم.

شماره پایه
نام پایه
توصیف پایه
Pin#1
Chip   Select  
اگر   بیش از یک ماژول ADC در سیستم داشته باشیم می توان از بین آن   ها ماژول مورد نظر را انتخاب کرد
Pin#2
Read  
برای   خواندن سیگنال آنالوگ آن را باید به زمین متصل کنیم
Pin#3
Write  
برای عملیات تبدیل به این پایه باید یک پالس بلند   اعمال کنیم
Pin#4
Clock  
کلاک خارجی
Pin#5
Interrupt
ایجاد پالس وقفه پس از پایان عملیات نمونه برداری
Pin#6
Vin   positive
برای ورودی آنالوگ تفاضلی، سیگنال آنالوگ به این پایه   متصل می شود
Pin#7
Vin   negative
برای ورودی آنالوگ تفاضلی، به زمین متصل می شود
Pin#8
Gnd
اتصال به زمین منبع تغذیه
Pin#9
reference   voltage
اعمال ولتاژ مرجع برای عملیات تبدیل
Pin#10
Gnd
اتصال به زمین منبع تغذیه
Pin#11   to 18
Data   bit 0 to bit 7
8 پایه بیت خروجی
Pin#19
Clock   R
اتصال   شبکه RC برای تولید کلاک داخلی
Pin#20
Vcc
تغذیه 5 ولت

ویژگی های ADC0804

این ماژول می تواند به راحتی به میکروکنترلرهای دیگر متصل شود و همچنین می تواند به تنهایی در هر مداری کار کند.

این ماژول یک مبدل آنالوگ به دیجیتال هشت بیتی است.

در این ماژول، کلاک داخلی وجود دارد و نیازی به نوسانگر ساعت خاصی نیست.

مقادیر خروجی دیجیتال آن از صفر تا 255 تغییر می کند.

این ماژول در بسته بندی های 20 پایه ای PDIP (بسته بندی خطی دوطرفه) و SOIC (مدارهای مجتمع طرح کوچک) موجود است.

تبدیل مقادیر آنالوگ به دیجیتال 110 میکروثانیه طول می کشد.

فرکانس ساعت داخلی آن 65 کیلو هرتز است.

می تواند ولتاژهای بین 0 تا 5 ولت را با فرض اعمال ولتاژ منبع ورودی پنج ولت اندازه گیری کند.

عملکرد ADC0804

همانطور که در بالا توضیح دادیم که این ماژول از کلاک داخلی تشکیل شده است و نیازی به کلاک جداگانه ندارد.

اما برای استفاده از این کلاک داخلی باید مدارهای RC را به این ماژول وصل کنیم. این ماژول باید به منبع تغذیه 5 ولت و هر دو پایه GND آن به ترمینال زمین مدار متصل شود.

برای ساخت مدار خازن مقاومتی (RC) از مقاومت 10 کیلویی و خازن 100 پیکو فاراد استفاده کنید و سپس پایه های CLK R و CLK را همانطور که در شکل داده شده نشان داده شده وصل کنید.

پایه های CS و R باید به زمین متصل شوند. پایه ولتاژ مرجع به هیچ نقطه ای متصل نیست زیرا بطور پیش فرض با ولتاژ 5 ولت از داخل وصل خواهد شد.

در مدارهای داده شده می توانید مشاهده کنید که ولتاژ آنالوگ ورودی به پایه IN (+) اعمال شده و خروجی دیجیتال در پایه های DB0 و DB7 ایجاد می شود.

همچنین می توانید ببینید که ترمینال دوم منبع برای تبدیل آنالوگ به دیجیتال به زمین متصل است.

قبل از شروع تبدیل آنالوگ به دیجیتال، پایه WR باید HIGH شود، این شرایط را می توان با اتصال این پایه به پایه ورودی / خروجی ریزپردازنده و تنظیم آن روی مقدار HIGH بدست آورد.

در مدار همچنین می توانید ببینید که پتانسیومتر با تغییر ولتاژ از صفر تا پنج ولت به پایه ورودی متصل است.

در شکل داده شده همچنین می بینید که مقدار ولتاژ 1.55 ولت و مقدار باینری متناظر آن (01001111) است.

اکنون در مورد چگونگی تبدیل این مقدار باینری به آنالوگ بحث می کنیم.

همانطور که مقدار باینری ما (01001111) است

ابتدا آن را به اعشار تبدیل می کنیم.

باینری به دسیمال = (0 x128)+(1 x 64)+(0 x 32)+(0 x16)+(1 x 8)+ (1 x 4)+ (1 x 2)+ (1 x1)

  مقدار آنالوگ =step size x Deci 

 x(79)x (19.53)mV = (1.54)V

همانطور که مشاهده می کنید مقدار به دست آمده (1.54 ولت) است و 1.55 ولت مقدار اندازه گیری شده است که هر دو تقریباً به یکدیگر نزدیک هستند.

کاربردهای ADC0804

این تراشه می تواند با یک پردازنده هشت بیتی کار کند.

معمولاً در ریزپردازنده های مختلف مانند Raspberry PI، Beagle Bone و غیره استفاده می شود.

به راحتی می توان آن را با سنسورهای مختلف، منابع ولتاژ و مبدل ها مرتبط کرد.