فهرست مطالب:

آردوینو-اسیلوسکوپ: چرا کار می کند: 4 مرحله
آردوینو-اسیلوسکوپ: چرا کار می کند: 4 مرحله

تصویری: آردوینو-اسیلوسکوپ: چرا کار می کند: 4 مرحله

تصویری: آردوینو-اسیلوسکوپ: چرا کار می کند: 4 مرحله
تصویری: ساخت اسیلسکوپ حرفه ایی.Build a professional oscilloscope 2024, نوامبر
Anonim
Image
Image

چند سال پیش وقتی داشتم وارد حوزه الکترونیک می شدم و اصول اولیه را مطالعه می کردم. متوجه شدم که یک محدوده ابزاری است که تقریباً در همه چیز به شما کمک می کند. حالا که این را فهمیدم ، برای یادگیری اصول اولیه کار یک محدوده تلاش کردم ، پس از چند ماه ، با خودم فکر کردم ، اگر من خود را در یک نقطه یادگیری قرار دهم ، یک اسیلوسکوپ روی میکروکنترلر قابل اجرا است. چشم انداز. چرا یک میکروکنترلر ، چون همه چیز لازم برای ساخت آن را داشت ، مانند ADC برای دریافت سیگنال (اما بدون کنترل جلو) ، دارای پورت های GPIO بود که می تواند برای اهداف زیادی مورد استفاده قرار گیرد ، همچنین CPU دارد هرچند نرم! (من به آردوینو فکر می کردم).

من شروع به تحقیق در مورد اسیلوسکوپ های آردوینو کردم که خوب و بسیار خوب بودند ، اما من یک کد ساده تر را دوست داشتم که به راحتی قابل تغییر و درک باشد. همانطور که در حال جستجو بودم ، با اساس کد فعلی در انجمن های آردوینو از "vaupell" مواجه شدم. من شروع به اصلاح و اظهارنظر در مورد آن و تمیز کردن مطالب برای خواندن بیشتر آن کردم. کد اصلی از Noriaki Mitsunaga است.

بنابراین اجازه دهید نحوه تنظیم سخت افزار و نرم افزار و نحوه استفاده از آن را ببینیم.

من هنوز ننوشتن توضیحات کد را در ویکی GitHub شروع کرده ام. اگر زمان زیادی برای وقت گذاشتن دارید به اطراف نگاه کنید.

! - این پروژه نحوه ساخت یک اسیلوسکوپ را توضیح نمی دهد ، بلکه به شما نشان می دهد که چگونه می توانید از یک میکروکنترلر ساده برای شبیه سازی رفتار یک اسیلوسکوپ دنیای واقعی برای درک نحوه عملکرد یک اسیلوسکوپ استفاده کنید.

مرحله 1: شناخت سخت افزار خود

شناخت سخت افزار خود
شناخت سخت افزار خود

هدف از این پروژه ارائه بینش در مورد کار یک محدوده است. به همین دلیل من ساده ترین و محبوب ترین پلتفرم سخت افزاری arduino را انتخاب کردم. این کد بر روی arduino uno یا arduino mega قابل اجرا است ، جایی که مورد دوم ترجیح داده می شود زیرا هنگام نصب صفحه نمایش روی آن ، پین های رایگان و قابل دسترسی بیشتری وجود دارد.

بنابراین در این پروژه از یک آردوینو مگا (2560) استفاده خواهم کرد.

جزء بعدی صفحه نمایش است. این تنظیم از سپر لمسی arduino TFT 2.5 اینچی (شناسه درایور is0x9341) استفاده می کند. این به شما این امکان را می دهد که چندین کانال را روی صفحه نمایش دهید که از یکدیگر متمایز هستند.

این همه چیز است. با این حال ، این محدوده از نظر قابلیت های بسیار محدود است ، بنابراین آن را به حاشیه نبرید. برخی از موارد خاص که باید به آنها توجه کنید عبارتند از ؛

arduino ADC نمی تواند ولتاژهای بالای 5 ولت را به خوبی کنترل کند و همچنین نمی تواند ولتاژهای زیر 0 ولت را به خوبی کنترل کند. چرا ، زیرا اینطور طراحی شده است.

به دست آوردن داده ها از چندین کانال به طور همزمان میزان نمونه برداری موثر از یک کانال را کاهش می دهد زیرا نمونه ها به طور متناوب از چندین کانال گرفته شده اند.

نرخ نمونه برداری بسیار پایین است (برای یک کانال تک کانال ممکن است تا 10kSps برود ، اما با دو کانال به 5kSps/کانال کاهش می یابد). این را می توان با تنظیم فرکانس مرجع ADC (تنظیم prescalar) روی مقدار کمتر کاهش داد. با این حال ، این مشکل مشکلات خاص خود را دارد که به خوبی حل نمی شود.

همچنین کامپیوتر را برای بارگذاری کد در آردوینو فراموش نکنید.

مرحله 2: راه اندازی

برپایی
برپایی
برپایی
برپایی

راه اندازی بسیار ساده است ؛

سپر نمایشگر را به آردوینو مگا وصل کنید تا پین های برق هر دو برد هم تراز شوند.

برد را با استفاده از کابل USB به کامپیوتر وصل کنید.

arduino IDE را باز کرده و کتابخانه صفحه نمایش TFT SPFD5408 (0x9341) را در صورت عدم وجود ، اضافه کنید.

حالا فایل کد را از github در Arduino بارگذاری کنید.

GitHub - آردوینو -اسیلوسکوپ

آنجا شما آن را دارید! به می توانید با تنظیم کانال های 8 (ch0) و 15 (ch1) روشن یا خاموش در قسمت راه اندازی کانال کد ، کد را تغییر دهید. برای تنظیم زمان/تقسیم محدوده می توانید متغیر نرخ را از آرایه نرخ به مقدار تغییر دهید. در قسمت ماشه کد می توانید نوع ماشه را به صورت خودکار یا تک تنظیم کنید.

مرحله زیر نشان می دهد که شتاب سنج ADXL335 3 محور در حال تغذیه و خوانده شدن توسط آردوینو-اسیلوسکوپ است ، همانطور که در فیلم اول مشاهده می شود.

مرحله 3: مثال - ADXL335 خواندن شتاب سنج

مثال - ADXL335 خواندن شتاب سنج
مثال - ADXL335 خواندن شتاب سنج
مثال - ADXL335 خواندن شتاب سنج
مثال - ADXL335 خواندن شتاب سنج
مثال - ADXL335 خواندن شتاب سنج
مثال - ADXL335 خواندن شتاب سنج

ماژول شتاب سنج را از 5V DC و GND برد آردوینو در سمت راست بالا و پایین تغذیه کنید. حالا پین x-out ماژول adxl335 را همانطور که در تصاویر مشاهده می شود به پین A8 برد آردوینو وصل کنید. اگر محور x شتاب سنج به سمت پایین باشد ، خط داده روی صفحه نمایش از صفر تغییر می کند ، زیرا ماژول adxl به دلیل گرانش شتاب را می خواند. سعی کنید آن را در جهت x همانطور که روی تخته adxl مشخص شده است تکان دهید ، خارها روی صفحه نمایش داده می شوند.

برای کسب اطلاعات بیشتر در مورد دامنه و عملکرد آن ، به GitHub Wiki مراجعه کنید

مرحله 4: مشارکت کنید؟

اگر می خواهید در اسناد ویکی مشارکت کنید ، بیش از حد خوش آمدید. اسیلوسکوپ یک دستگاه فوق العاده است و من فکر می کنم یک ابزار STEM خوب است.

من در حال حاضر روی یک قسمت جلویی کوچک با یک PGA ساختگی و یک کنترل افست کار می کنم و یک کنترل برای time/div و شاید خواندن سیگنال های AC با ولتاژ پایین اضافه می کنم.

توصیه شده: