دانلود پروژه ساخت اسیلوسکوپ دیجیتال با AVR

بازگشت به آموزشگاه

این پروژه یک اسیلوسکوپ دیجیتال با میکروکنترلر AVR می باشد که با استفاده از ADC داخلی میکرو ساخته شده است و می تواند فرکانس های بین ۱۰ هرتز تا ۷٫۷ کیلوهرتز را بدون مشکل نمایش دهد. همچنین امکان نمایش ولتاژ DC و AC و فرکانس موج ورودی را داراست. لازم به ذکر است که ورژن اصلی این پروژه توسط آقای Vassilis Serasidis نوشته و منتشر گردیده است که توسط الکترو ولت مورد طراحی و بازبینی مجدد قرار گرفته است.

مشخصات کلی این پروژه به شرح زیر است  :

  • فرکانس قابل اندازه گیری :10Hz – 7.7 kHz
  • ولتاژ ورودی قابل اندازه گیری :24V AC / 30V DC
  • منبع تغذیه :12V DC
  • ابعاد صفحه نمایش :۱۲۸×۶۴ پیکسل
  • فضای نمایش موج :۱۰۰×۶۴ پیکسل
  • فضای نمایش مقادیر اندازه گیری شده :۲۸×۶۴ پیکسل
  • تریگر : اتوماتیک
  • میکروکنترلر: ATmega32
  • کامپایلر: CodeVision

توضیحات مدار اسیلوسکوپ دیجیتال با AVR

ولتاژ تغذیه مدار 12 ولت DC می باشد که به دو ولتاژ 8.2 ولت برای تغذیه آی سی آپ امپ LM358 و 5 ولت برای تغذیه میکروکنترلر و LCD تقسیم می شود.

مدار دارای دو طبقه آپ امپ LM358 می باشد که به صورت فیدبک منفی ( Inverting ) عمل می کند. بنابراین چون دو طبقه Invert صورت می گیرد موج خروجی و ورودی هم فاز هستند. رابطه بین ورودی و خروجی در مدار آپ امپ توسط رابطه زیر بدست می آید :

دو سوئیچ کنترلی S1 و S2 در مدار تعبیه شده است. زمانی که سوئیچ S1 وصل باشد مقاومت فیدبک و در نتیجه گین مدار نصف می گردد. سوئیچ S2 به دو سر یک خازن 470 نانوفاراد متصل است. زمانی که این سوئیچ قطع باشد اسیلوسکوپ در مد AC عمل می کند یعنی خازن 470 نانوفاراد در مدار قرار گرفته و با حذف ولتاژ DC باعث نمایش ولتاژ AC خالص می گردد. زمانی که سوئیچ S2 وصل باشد اسیلوسکوپ در مد DC عمل می کند یعنی خازن 470 نانوفاراد اتصال کوتاه شده و باعث عبور هر دو ولتاژهای AC + DC می شود.

ولتاژ ورودی قابل اندازه گیری در مدار اسیلوسکوپ طراحی شده در حالت قطع بودن هر دو سوئیچ S1 و S2 بین 2.5- و 2.5+ ولت می باشد. همچنین در حالت قطع بودن سوئیچ S1 و وصل بودن سوئیچ S2 ولتاژ ورودی بین 0 تا 5 ولت می باشد. در صورتی که سوئیچ S1 وصل باشد مقادیر فوق در عدد دو ضرب می گردد در نتیجه ولتاژ ورودی قابل اندازه گیری در دو مد AC و DC به ترتیب 5- و 5+ ولت و 0 تا 10 ولت می شود. همچنین میتوان با استفاده از پروب دارای تقسیم کننده ولتاژ های بالاتر را اندازه گرفت.


نحوه کالیبراسیون مدار

دو موردی که بایستی کالیبره شود یکی کنتراست LCD و دیگری قرار دادن موج ورودی در مرکز LCD است که به ترتیب با چرخاندن P2 و P1 میتوان آن ها را کالیبره کرد. بنابراین بعد از وصل شدن تغذیه مدار P2 را آنقدر بچرخانید تا تصویر واضح و شفافی از موج ورودی دیده شود. سپس P1 را آنقدر بچرخانید تا موج ورودی در مرکز LCD ثابت شود و خط افقی LCD در وسط موج ورودی قرار گیرد.


نحوه اندازه گیری سیگنال ورودی

به منظور اندازه گیری ولتاژ سیگنال ورودی میتوانید با فشار دادن کلید های S4 و S8 موج را به بالا و پایین شیفت دهید. هر مربع معادل یک ولت را نمایش می دهد.

همچنین بوسیله کلیدهای S7 و S3 میتوانید سرعت اندازه گیری موج ورودی را کم و زیاد کنید. حداقل سرعت نمایش شکل موج ورودی بر روی LCD برابر 460 هرتز می باشد. برای نمایش شکل موج هایی با فرکانس بسیار کم برای مثال 30 هرتز میتوانید با فشار دادن S7 شکل موج را کوچک تر کنید. همچنین میتوان با فشار دادن S3 شکل موج را تا حداکثر فرکانس ممکن جهت نمایش بالا برد.

این اسیلوسکوپ دارای تریگر اتوماتیک می باشد. این بدان معنی است که، اگر سیگنال پیوسته داشته باشید ( مانند موج سینوسی، مثلثی و … )، تریگر اتوماتیک بی نقص کار می کند. اگر سیگنال شما پیوسته نباشد ( مانند یک سیگنال دیجیتال ) می توانید با فشار دادن کلید S6 صفحه را فریز کنید. در نتیجه میتوانید یک تصویر بدون حرکت از سیگنال ورودی را تا زمانی که کلید S6 را نگه داشته اید مشاهده کنید.


مراحل عملکرد تریگر اتوماتیک نرم افزاری

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

  1. در مرحله اول میکروکنترلر 15000 نمونه ( Sample ) از واحد مبدل آنالوگ به دیجیتال ( ADC ) بدست می آورد و میانگین آن ها را محاسبه می کند. ( تعداد این سمپل های گرفته شده به زمان اتمام یک پریود از موج ورودی بستگی دارد )
  2. در مرحله دوم میکروکنترلر دوباره گرفتن سمپل های جدید از موج ورودی را شروع می کند اما در این مرحله مقدار سمپل گرفته شده با نمونه مشابه گرفته شده قبلی مقایسه می شود.
  3. اگر مقدار سمپل بعدی بالاتر از سمپل مشابه قبلی باشد، شکل موج ما در حال افزایش است. بنابراین میکروکنترلر به مرحله 4 می رود. اما اگر مقدار نمونه بعدی کمتر از نمونه قبلی باشد، میکروکنترلر  به مرحله 2 می رود و مجددا کار گرفتن سمپل های جدید را شروع می کند.
  4. میکروکنترلر مقدار سمپل گرفته شده جدید را با مقدار متوسطی که ​​در مرحله 1 محاسبه شده بود مقایسه می کند.
  5. اگر مقدار سمپل گرفته شده بالاتر از مقدار متوسط ​​باشد، ابتدای شکل موج پیدا شده است ( در اینجا میکروکنترلر با اندازه گیری زمان بین ابتدای شکل موج در این پریود تا ابتدای شکل موج بعدی در پریود بعدی فرکانس موج ورودی را اندازه گیری می کند )
  6. میکروکنترلر شروع به گرفتن 100 نمونه بعدی و نمایش آن ها روی LCD  می کند. ( 100 نمونه انتخاب شده است زیرا 100 پیکسل برای نمایش شکل موج ورودی روی LCD وجود دارد )
  7. میکروکنترلر به مرحله 1 باز می گردد و این پروسه را تکرار می کند. ( این بدان علت است که ولتاژ پیک تو پیک موج ورودی ممکن است تغییر کند و میکروکنترلر برای نمایش صحیح هر بار بایستی میانگین جدیدی از موج ورودی بگیرد )

مدار اسیلوسکوپ دیجیتال با AVR طراحی شده توسط الکترو ولت

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

نحوه عملکرد این مدار در فیلم ضبط شده در زیر نشان داده شده است :

برای دریافت سورس این پروژه به لینک زیر مراجعه نمایید :

دانلود سورس آلتیوم و کدویژن پروژه ساخت اسیلوسکوپ دیجیتال با AVR

دیدگاهتان را بنویسید

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

بازگشت به آموزشگاه