اسیلوسکوپها ابزاری ضروری برای علاقهمندان به الکترونیک و حرفهایها هستند تا بررسی کنند که طرحهایشان مطابق انتظار عمل میکند. اسیلوسکوپ های مبتنی بر کامپیوتر به دلیل اندازه جمع و جور، هزینه کم و توانایی انجام آنالیز آفلاین نسبت به اسیلوسکوپ های مستقل امتیاز دارند.
در اینجا توضیح می دهیم که چگونه می توانید اسیلوسکوپ خود را با هزینه بسیار کم با استفاده از رایانه شخصی خود و یک برد آردوینو به عنوان سخت افزار برای دریافت سیگنال بسازید. شما می توانید از این اسیلوسکوپ برای گرفتن سیگنال های فرکانس تا 5 کیلوهرتز استفاده کنید. برد آردوینو، قلب اسیلوسکوپ، مقادیر را از مبدل داخلی آنالوگ به دیجیتال (ADC) می خواند و از طریق پورت USB به کامپیوتر منتقل می کند. ما در اینجا یک طرح آردوینو ارائه کرده ایم که می توانید آن را کامپایل کرده و مستقیماً در آردوینو بارگذاری کنید. همچنین باید یک فایل یا برنامه اجرایی را در رایانه شخصی ویندوزی خود نصب کنید. این برنامه به عنوان قسمت جلویی کار می کند تا سیگنال های ورودی را به صورت شکل موج بر روی صفحه نمایش رایانه شما ترسیم کند.
برد آردوینو از میکروکنترلر AVR Atmel تشکیل شده است که بر اساس نوع برد می تواند 8، 16 یا 32 بیتی باشد. برای این پروژه می توانید از هر نوع آردوینو به عنوان سخت افزار استفاده کنید. میکروکنترلر AVR دارای یک ADC داخلی است. در پروژه از پین A0 برای گرفتن سیگنال ورودی استفاده می کنیم. سیگنال ورودی گرفته شده از طریق مبدل UART-USB در آردوینو به رایانه شخصی به UART تغذیه می شود. هر زمان که آردوینو به رایانه شخصی متصل می شود، یک پورت COM مجازی توسط ویندوز ایجاد می شود. یک برنامه کاربردی مبتنی بر ویندوز که با استفاده از NI LabWindows توسعه یافته است، پورت COM مجازی را باز می کند و با استفاده از کتابخانه های Graph شروع به ترسیم سیگنال ها به صورت بصری می کند.
سرعت نمونه برداری اسیلوسکوپ توسط نرخ باود UART محدود می شود. طرح آردوینو برای خواندن ADC با استفاده از ISR کدگذاری شده است و نرخ باود UART روی 115200 پیکربندی شده است که داده ها را در فواصل زمانی 85 میکرو ثانیه ارسال می کند. این نرخ نمونه برداری موثر 12kSa/s را به دست می دهد.
ساخت و ساز
تنظیم دامنه کامپیوتر کاملاً ساده و ساده است همانطور که در شکل 1 نشان داده شده است. برد آردوینو از طریق کابل USB به لپ تاپ یا رایانه شخصی شما متصل می شود. هیچ منبع تغذیه خارجی برای برد مورد نیاز نیست زیرا برد فقط از طریق USB تغذیه می شود. دیودهای سوئیچینگ (D1 و D2) را به عنوان مدار حفاظتی ورودی به پایه A0 ADC آردوینو وصل کنید. برای استفاده از این مدار به طرح آردوینو (pcscope.ino) و نرم افزار رایانه شخصی یا فایل اجرایی (PCScope.exe) نیاز دارید. برنامه PCScope.exe (طراحی شده توسط نویسنده) را در رایانه شخصی ویندوز خود نصب کنید و برنامه را باز کنید. سپس طرح آردوینو را از آردوینو IDE باز کرده و طرح را کامپایل کنید. برد آردوینو را به کامپیوتر وصل کنید و طرح را در میکروکنترلر برد آردوینو فلش کنید.
مدار اسیلوسکوپ مبتنی بر کامپیوتر با استفاده از آردوینو
ADC آردوینو می تواند ولتاژ تا 5 ولت را اندازه گیری کند. بنابراین توصیه می شود یک مدار محافظ کوچک اضافه کنید تا ولتاژ ورودی را به 5 ولت محدود کنید و ولتاژ منفی را گیره دهید. برای محافظت از پین ورودی می توان از یک دیود کم مصرف و سریع سوئیچینگ مانند 1N4148 استفاده کرد. یک مقاومت 10 کیلو اهم را به صورت سری به ورودی وصل کنید. در صورتی که ورودی از 5 ولت فراتر رود، به عنوان یک محدود کننده جریان کار می کند. در صورت نیاز به اندازه گیری ولتاژهای بالاتر از 5 ولت می توان از تقسیم کننده های ولتاژ اضافی استفاده کرد.
نرم افزار
طرح آردوینو. نرخ نمونه برداری از این برنامه کاربردی دامنه رایانه شخصی با سرعت ارسال داده ها به رایانه شخصی محدود می شود. نرخ باود 115000 فاصله زمانی حدود 85 میکرو ثانیه را نشان می دهد. دریافت سیگنال های ADC خیلی قبل از این زمان برای بدست آوردن نمودار داده های قابل اعتماد بسیار مهم است. طرح پایه A0 از Board1 را می خواند و با نرخ باود 115200 به UART ارسال می شود. در این سرعت، بایت های ورودی در فواصل زمانی حدود 85 میکرو ثانیه فشار داده می شوند.
به طور پیش فرض، پیکربندی ADC آردوینو هر 116 میکروثانیه نمونه ها را ارائه می دهد. بنابراین در اینجا ADC با خطوط کد اضافی پیکربندی شده است تا با تنظیم پیش مقیاس کننده بر روی 16، نمونه ها را سریعتر از 85 میکرو ثانیه دریافت کند. با این کار، تبدیل ADC را هر 20 میکرو ثانیه دریافت می کنید، که بسیار سریعتر از سرعت انتقال داده UART است.
کد منبع را دانلود کنید
نرم افزار کامپیوتر. همانطور که قبلاً گفته شد، نرم افزار رایانه شخصی جلویی برای دریافت و پردازش سیگنال با استفاده از NI LabWindows توسعه یافته است. داده های پورت سریال از طریق آردوینو در فواصل زمانی معین گرفته می شود و با استفاده از کتابخانه تابع Plot به صورت نمودار روی صفحه نمایش داده می شود. نقاط نمایش در امتداد محور X بر اساس مقیاس زمانی تعریف شده توسط کاربر محاسبه می شود. محدوده محور Y با استفاده از کنترل انتخاب ولتاژ تنظیم می شود.