(Bascom AVR)مبدل انالوگ به دیجتال(adc)میکروکنترلر AVR در محیط بسکام ( مهندسی برق _ الکترونیک)
پژوهشگر و نویسنده: ( افشین رشید )
نکته: گاهی نیاز است که یک کمیت بیرونی (مانند دما و شدت صدا و شدت نور و...) اندازه گیری شود ، برای اینکار از وسیله ای به نام سنسور استفاده میشود. سنسور ها مقدار یک کمیت انالوگ را به ولتاژ یا جریان تبدیل میکند، سپس این ولتاژ آنالوگ به مبدل انالوگ به دیجتال میکرو داده میشود و مبدل انالوگ به دیجتال مقدار ولتاژ را به کمیت دیجتال متناظرتبدیل میکند ، سپس این مقدار دیجتال با اعمال ریاضی به مقدارعددی متناظر تبدیل میشود و روی lcd یا 7سگمنت نمایش داده میشود .
حداکثر ولتاژی که مبدل انالوگ به دیجتال ، که از این به بعد به ان adc میگوییم میتواند اندازه بگیرد برابر با vcc است واگر ولتاژاعمالی از vcc بیتر شود مبدل انالوگ به دیجتال اسیب یبیند(معمولا بیشرین ولتاژ ورودی که به adc اعمال میکنند 5.4 ولت است) وکمترین ولتاژ اعمالی برابر با gnd است . adc به ازای ولتاژ 5 ولت عدد 1023 و به ازای صفر ولت عدد صفر را در متغییر مربوطه قرارمی دهد .
Adc با دستور زیر راه اندازی میشود :
Config adc = single/free, PRESCALER = AUTO, REFERENCE = opt
گزینه های free/single : در حالتی که single انتخاب شود مقدار دیجتال سیگنال انالوگ توسط دستور getadc در یک متغییر از جنس word ریخته میشود و در حالتی که free انتخاب شود مقدار دیجتال سیگنال انالوگ در ریجیستر مربوط به adc ریخته میشود.
PRESCALER: این گزینه کلاک adc را مخص میکند و در حالتی که AUTOانتخاب شود کامپایر با توجه به کریستال انتخاب شده بهترین کلاک را در نظر میکیرد ،موارد دیگر برای کلاک عبارتند از 2و4و8و15و32و64یا128 است که یه جای گزینه AUTO نوشته میشود.
REFERENCE:در صورتی که بخواهید از یک ولتاژ مرجع استفاده کنید این گزینه را بنویسید(در صورت عدم استفاده از
این دستور ولتاژ مرجع زمین است و نیازی به نوشتن این دستور نیست) .(این امکان فقط در بعضی از میکرو ها وجود دارد ) opt میتواند یکی از موارد زیر باشد:
Off : در این حالت ولتاژمرجع داخلی خاموش شده و از ولتاژ مرجع بر روی پایه aref استفاده میشود.
Avcc: در این حالت ولتاژ پایه avcc به عنوان ولتاژ مرجع در نظر گرفته میشود .
Internal: در این حالت از ولتاژ مر جع داخلی 65.2 ولت استفاده میشود .بعد از راه اندازی adc نوبت به استفاده از ان است برای اینکار با دستور adc start،adc روشن شده و شروع به نمونه برداری از سیگنال انالوگ موجود بر روی پایه اش میکند و ان را به مقدار دیجتال تغییر میدهد.
این مقدار دیجتال در قسمت OTP میکروکنترلر AVR با دستور زیر در یک متغییر از جنس word ریخته میشود:
(var = GETADC(channel
Var : یک متغییر از جنس word میباشد.
Channel : شماره : شماره adc است که سیگنال انالوگ به ان اعمال شده است.
پژوهشگر و نویسنده: دکتر ( افشین رشید)
دکترایِ تخصصی نانو _ میکرو الکترونیک