شبکه نردبانی R2R
دانستن روش کارکرد آی سی ها به نظر خیلی از مهندسان و دانشجویان کار بیهوده ای به نظر می رسد. وقتی که یک آی سی ساخته شده است دلیلی ندارد که روش کارکرد آن را بدانیم و از مدار داخلی آن آن سر در بیاوریم تنها چیز مهم دانلود دیتاشیت آن و استفاده از مداراتی است که در اینترنت برای این آی سی وجود دارد. اما همیشه این نکته درست نیست. برخی اوقات دانستن مدار داخلی این آی سی ها ایده های جالب و نسبتاً با هزینه کمتری برای طراحی مدار به ما میدهد. از جمله این مدارات بسیار جالب شبکه نردبانی R2R می باشد. کارکرد اصلی این شبکه برای تبدیل سیگنال دیجیتال به آنالوگ است. کار این شبکه آنقدر ساده و جذاب است که به راحتی میتوانیم در خیلی از مدارات از آن استفاده کنیم.
برای تبدیل یک سیگنال دیجیتال به آنالوگ معمولاً بهترین راه استفاده از آی سی های مبدل دیجیتال به آنالوگ می باشد. ولی در برخی از کاربردها نیاز ما در وعده داشتن یک مبدل دیجیتال به آنالوگ ۱۲ بیت یا ۸ بیت دقیق نیست و داشتن مبدل تا سه یا چهار بیت برای ما کفایت میکند و از طرف دیگر ملاحظاتی که در یک آی سی مبدل دیجیتال به آنالوگ است در طراحی ما اهمیت زیادی ندارد. در این حالات استفاده از مدار داخلی دیجیتال به آنالوگ معمولاً به صرفه تر است.
برای اینکه با طرز کار شبکه نردبانی R2R آشنا شویم یک مثال عملی آورده و مدار را از اول تا آخر طراحی می کنیم. اما در ابتدا محاسباتی که برای این شبکه نردبانی مقاومتی لازم است را انجام می دهیم. به شکل زیر دقت کنید کنید:
در شکل بالا یک شبکه مقاومتی پنج بیتی نشان داده شده است که با استفاده از میکروکنترلر داده دیجیتال به آن اعمال می شود. داده دیجیتال ما ولتاژ های صفر و ۵ ولت است. معادل با ولتاژی که به این شبکه اعمال می شود و به عبارت دیگر معادل به عدد دیجیتالی که به این نردبان مقاومتی وارد میشود یک مقدار آنالوگ خروجی داریم. برای واضح شدن مدار و انجام محاسبات مدار شکل زیر را در نظر بگیرید. در اینجا مقدار مقاومت R برابر ۵K و بنابراین مقدار ۲R برابر با ۱۰K اهم می باشد. توجه کنید که مقاومت معادل تونن در هر طبقه از مدار برابر با R است.
در این مدار ولتاژ خروجی به صورت زیر به دست می آید:
همانطور که قبلا توضیح داده شد به جای Di ها از مقدار ولتاژ اعمالی استفاده می کنیم. این ولتاژ برای مقدار ۰ معمولاً ۰V وبرای مقدار یک معادل با ولتاژی دلخواه است که بسته به رنج ولتاژ خروجی مورد نیاز ما دارد. دقت کنید که بیشترین ولتاژ به ازای داده (۱۱۱۱۱) در مبنای ۲ است. که مثلاً اگر مقدار ولتاژ انتخابی ما ۵ ولت باشد حداکثر ولتاژ خروجی 4.84 ولت خواهد بود. با توجه به اینکه المان های استفاده شده در این نردبان مقاومتی همگی پسیو و خطی هستند مشکل مدارات غیر خطی مثل اشباع ولتاژ خروجی و غیره را نداریم.
حداقل مقدار پله ای که در خروجی داریم به صورت زیر است:
حالا یک سوال پیش می آید. آیا دقت مقاومت های استفاده شده در ولتاژ خروجی ما تاثیر دارد و اگر دارند میزان این تاثیر چقدر است؟
برای پاسخ به این سوال باید تاثیر تلرانس مقاومت در بیت با ارزش را محاسبه کرد. مقایسه این مقدار با پله های افزایش ولتاژ یا در واقع مقدار ولتاژ به ازای یک واحد افزایش نتیجه خوبی دارد. یعنی تلرانس مقاومت های مورد استفاده اصلیترین شاخصی است که می تواند به ما در تعیین تعداد بیت های قابل ساخت برای تبدیل داده دیجیتال به آنالوگ کمک کند. به بیان دیگر تلرانس مقاومت ما باعث میشود تا بیت پر ارزش ولتاژی برای تلرانس خاصی داشته باشد که مقدار این تلرانس قابل مقایسه با بیت کم ارزش داده است. پس بنابراین می توان تعداد بیت های قابل ساخت را تعیین کرد. واضح است که ساخت مبدل دیجیتال به آنالوگ با بیتهای بالا از این روش نیاز به مقاومت های بسیار دقیق دارد که بعضاً قابل ساخت نمی باشند و از روش های دیگر برای تبدیل سیگنال دیجیتال به آنالوگ استفاده می شود. به عنوان مثال فرض کنید از مقاومت های یک درصد استفاده می کنیم. در بدترین حالت مقاومت دیده شده قبل از آخرین پله ۹۹۰۰ اهم و مقاومت دیگر را ۱۰۱۰۰ در نظر می گیریم. ولتاژ بدست آمده با فرض ولتاژ مرجع ۵ ولت برابر است با:
و از سوی دیگر حالت بد دیگر آن است که مقاومت تا قبل از پله آخر ۱۰۱۰۰ اهم باشد و مقاومت پله آخر ۹۹۰۰٫ برای این حالت هم داریم:
مقدار اختلاف ولتاژ بین این دو حالت برابر است با:
البته این بدترین این اتفاق ممکن نیست چون ما اثر مقاومت های دیگر را در نظر نگرفتیم فقط چون بیشترین تاثیر برای پله آخر است است برای پله ها را در نظر نگرفتیم تا محاسبات ما ساده گردد. برای حداقل میزان ولتاژ پله کوچک ولتاژ داریم:
که در آن n تعداد بیت های مورد استفاده برای مبدل دیجیتال به آنالوگ است. در جدول زیر مقادیر پله های کوچک ولتاژ به ازای مقادیر مختلف n داده شده است.
مشاهده می شود که عملاً با استفاده از مقاومت های یک درصد تعداد بیت های ما بیشتر از پنج بیت نمی تواند باشد.
برای نمایش یک مثال عملی فرض کنید که نیاز به یک ولتاژ سینوسی داریم که با استفاده از یک مبدل ولتاژ آنالوگ به دیجیتال می خواهیم آن را به دست بیاوریم. برای منظور از یک شبکه نردبانی۵ بیتی استفاده می کنیم که در واقع ۳۲ سطح به ما میدهد. شکل زیر مدارک مورد نیاز ما برای تولید این شکل موج است را نشان می دهد.
در شکل بالا از یک میکرو کنترلر برای دادن داده دیجیتال به نردبان مقاومتی استفاده شده است. به غیر از میکرو میتوان است آی سی های حافظه ای که دیتای خروجی آن ها پارالل است برای این منظور استفاده کرد. بدین معنی که اعداد مربوط به شکل موج را به صورت Lookup table در آی سی حافظه ذخیره کرده و خط به خط هر دوره را روی پورت خروجی آورد. در اینجا ما مقادیر مربوط به شکل موج سینوسی را در ابتدای برنامه همه یک آرایه ذخیره میکنیم و در بدنه برنامه این مقادیر رو به ترتیب به نردبان مقاومتی اعمال کرده و دیتای خروجی آنالوگ آنرا با استفاده از یک آب بافر نموده و به بار ارائه می کنیم. برنامه استفاده شده در زیر آورده شده است. این برنامه در نرم افزار کدویژن نوشته شده است.
#include <mega8.h>
#include <math.h>
#include <delay.h>
float i = 0;
void main(void)
{
PORTC = 0x00;
DDRC = 0xFF;
while(1)
{
PORTC = (1+sin((i/360.0)*2.0*PI))*15.5;
i = i + 10;
if(i > 359)
i = 0;
}
}
نتیجه خروجی این مدار در شکل زیر آمده است.
همانطور که میبینید شکل موج خروجی به دلیل ماهیت دیجیتالی تولید موج پله پله دیده می شود که می توان با فیلترهای مناسب آنها را حذف کرد. پس از اتصال Op-Amp به مدار خروجی تقویت شده و شکل موج آن به صورت زیر می شود. دقت کنید که قرار دادن خازن باعث شده تا مقدار DC شکل موج روی آن بیفتد.
در برنامه نوشته شده بالا مقدار سطوح ولتاژ سینوسی به صورت مستقیم به دست آمده است در برنامههای عملی تر می توان مقدار های سینوسی را در یک جدول ذخیره کرد و به جای اینکه هر دفعه میکروکنترلر بخواهد مقدار سینوس را محاسبه کند و زمان گرفته شود از آن جدول استفاده کرد در این حالت میتوان فرکانسهای بالاتری نیز به دست آورد برای فرکانسهای بالاتر علاوه بر افزایش سرعت که با استفاده از جدول میسر میشود میتوان بعضی از پلهها را نیز حذف کرد. به همین صورت و با این روش می توان با استفاده از Lookup table های مختلف انواع شکل موج های دلخواه را به دست آورد. به عنوان مثال می توان صوت های ساده را تولید کرد. یا در مدارات اینورتر سوئیچینگ شکل موج مرجع سینوسی را از این طریق به دست آورد.
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.