ورکشاپ آموزشی - آیسی مدار
رفتن به محتوا

مرجع فرکانس ۱۰ مگاهرتز GPSDO با ماژول GPS و نمایشگر

ابزار و گجت
۰ نظر
۵۶ نفر
کد ۴۵۹۳

توی دنیای الکترونیک دقیق و مخابرات، داشتن یه منبع کلاک فوق‌العاده پایدار و دقیق مثل طلا ارزش داره. دستگاه‌هایی مثل فرکانس‌مترها یا تحلیل‌گرهای طیف برای اینکه اعداد درستی بهمون نشون بدن، به یه مرجع فرکانس 10 مگاهرتز بی‌نقص نیاز دارن. نوسان‌سازهای معمولی به مرور زمان یا با تغییر دما دچار خطا می‌شن، اما راه‌حل حرفه‌ای چیه؟ استفاده از ماهواره‌های GPS برای کالیبره کردن مداوم این نوسان‌سازها! به این سیستم خفن در اصطلاح GPSDO (نوسان‌ساز کنترل‌شده با GPS) می‌گن.

امروز تو تیم آیسی‌مدار قراره یه پروژه بی‌نظیر برای ساخت یک GPSDO ده مگاهرتز رو با هم پیش ببریم. تو این پروژه از یه نوسان‌ساز کنترل‌شده با دما (OCXO)، یه میکروکنترلر ATmega328p و یه ماژول GPS حرفه‌ای استفاده می‌کنیم. در کنار خروجی دقیق، یه نمایشگر LCD هم داریم که اطلاعات جالبی مثل زمان دقیق جهانی (UTC)، مختصات جغرافیایی و وضعیت کالیبراسیون رو بهمون نشون میده.

این دستگاه می‌تونه به عنوان یه استاندارد فرکانس تو آزمایشگاه الکترونیکت کار کنه. پس هویه رو گرم کن و قطعات رو روی میز بچین تا بریم سراغ ساخت این ابزار دقیق و کاربردی!

قطعات موردنیاز

  • ماژول GPS (مدل Ublox M8N پیشنهاد می‌شود)
  • نوسان‌ساز OCXO با فرکانس 10 مگاهرتز
  • میکروکنترلر ATmega328p
  • نمایشگر LCD کاراکتری 2x16
  • آیسی بافر 7404 یا 7414
  • مجموعه‌ای از ال‌ای‌دی‌ها و ترانزیستورهای راه‌انداز
  • آنتن اکتیو GPS
  • قطعات پسیو (مقاومت، خازن و پتانسیومتر)
  • پروگرامر USBasp یا USBtiny برای برنامه‌ریزی میکروکنترلر
مرحله ۱

بررسی نقشه شماتیک مدار

شماتیک این مدار طوری طراحی شده که بیشترین انعطاف‌پذیری رو داشته باشه. مثلا یه پتانسیومتر برای پشتیبانی از نوسان‌سازهای 12 ولتی اضافه شده تا تقریبا بتونی از هر آیسی 7404 یا 7414 برای بافر کردن خروجی استفاده کنی. بخش ال‌ای‌دی‌ها کاملا اختیاریه، ولی اضافه کردنشون حس خیلی بهتری به عملکرد دستگاه می‌ده.

در واقع، هسته اصلی این پروژه فقط همون میکروکنترلر ATmega به همراه ماژول GPS و نوسان‌سازه. می‌تونی مدار رو بدون نمایشگر LCD و ال‌ای‌دی‌ها هم بسازی؛ در این حالت خروجی فرکانس دقیقا همونه و هیچ افت کیفیتی نخواهی داشت.

اما خب، مانیتور کردن وضعیت کار دستگاه با نمایشگر خیلی جذاب‌تره! ضمنا یه خروجی سریال هم برای میکروکنترلر در نظر گرفته شده تا اگر نخواستی LCD بذاری، بتونی اطلاعات رو مستقیم روی کامپیوتر مانیتور کنی. برای دیدن جزئیات دقیق، می‌تونی فایل شماتیک اصلی رو باز کنی و اتصالات رو کامل بررسی کنی.

مرحله ۲

انتخاب بهترین ماژول GPS

برای بخش گیرنده، می‌تونی از ماژول‌های ارزون‌قیمت هم استفاده کنی، اما تجربه نشون داده مدل Ublox M8N بهترین نتیجه رو میده؛ دلیلش هم تعداد ماهواره‌هاییه که می‌تونه دریافت کنه.

باید بدونی که مدل قدیمی‌تر Neo 6M فقط به ماهواره‌های آمریکایی وصل می‌شه، اما مدل M8N علاوه بر اون‌ها، ماهواره‌های روسی (GLONASS) رو هم می‌گیره و در نتیجه تعداد ماهواره‌های در دسترسش خیلی بیشتره.

هرچی تعداد ماهواره‌های متصل بیشتر باشه، پالس یک‌ثانیه‌ای (1PPS) ماژول دقیق‌تر و بدون نوسان‌تر می‌شه. اوایل فکر می‌کردم وصل شدن به 3 یا 4 ماهواره کافیه، چون به هر حال پالس رو تولید می‌کنه.

اما این پالس تو تعداد ماهواره کم، خطای زمانی کوچیکی داره که رو دقت نهایی تأثیر می‌ذاره. تو تست‌هایی که داشتم، دقت مدلی که با ماژول M8N ساخته شده بود به شکل چشمگیری بالاتر از مدل مجهز به 6M بود. بنابراین اگه تو نتیجه نهایی دیدی فرکانس پرش داره یا ثابت نمی‌شه، به احتمال خیلی زیاد مشکل از کیفیت سیگنال GPS و آنتنه.

اگه ماژول GPS رو آماده خریدی و پایه پالس (PPS) مشخص نبود، راحت‌ترین راه اینه که یه سیم از پایه ال‌ای‌دی چشمک‌زن روی ماژول بگیری و به ورودی آیسی 7404 مدار وصل کنی. البته الان ماژول‌هایی تو بازار هستن که پایه خروجی PPS رو به صورت مجزا روی برد دارن و کار رو خیلی راحت کردن.

ماژول باید طوری تنظیم بشه که فقط در صورت قفل شدن روی ماهواره‌ها (Lock شدن)، پالس رو بفرسته و در صورت قطعی آنتن خروجی صفر بشه. تو ماژول‌های Neo 6M این حالت به صورت پیش‌فرض فعاله. یه نکته فنی جالب:

تو ماژول Ublox M8N می‌تونی خروجی رو طوری تنظیم کنی که خودش فرکانس 10 مگاهرتز بده! پس شاید بپرسی چرا اصلا باید این مدار GPSDO رو بسازیم؟ جوابش اینه که کلاک داخلی این ماژول 48 مگاهرتزه و تولید 10 مگاهرتز ازش باعث ایجاد پدیده‌ای به اسم "جیتر" (Jitter) یا پرش‌های ریز فرکانسی می‌شه.

چون عدد 48 به 10 بخش‌پذیر نیست، ماژول سعی می‌کنه با اصلاحات نرم‌افزاری این فرکانس رو بسازه که خروجی نهایی اصلا شکل موج تمیز و دقیقی برای ابزارهای آزمایشگاهی نیست. تو تصاویر اسیلوسکوپ کاملا مشخصه که خروجی مستقیم ماژول (خط آبی) چقدر نسبت به فرکانس مرجع (خط زرد) نوسان و لرزش داره.

علاوه بر این، در سیستم‌های مبتنی بر PLL (حلقه قفل فاز) معمولی، فرکانس دائما برای اصلاح شدن در حال پس و پیش رفتن و نوسانه. یعنی در بلندمدت میانگین فرکانس کاملا دقیقه، ولی اگه فرکانس لحظه‌ای رو اندازه بگیری، ممکنه یه مقدار بالاتر یا پایین‌تر از 10 مگاهرتز باشه.

به همین دلیل تو این پروژه تصمیم گرفتیم به جای استفاده از سخت‌افزار PLL، از میکروکنترلر برای اندازه‌گیری در بازه‌های زمانی طولانی و اعمال ولتاژ اصلاحی نرم (از طریق PWM) استفاده کنیم تا خروجی نهایی بدون لرزش و فوق‌العاده پایدار بشه.

مرحله ۳

نوسان‌ساز کنترل‌شده با دما (OCXO)

برای بخش OCXO می‌تونی از مدل‌های مختلفی استفاده کنی؛ 5 ولت یا 12 ولت، با خروجی سینوسی یا مربعی. هر دو مدل تو این مدار جواب میدن و تست‌های موفقی باهاشون انجام شده.

فقط یادت باشه که این قطعه یه هیتر داخلی داره که دماش رو ثابت نگه می‌داره، واسه همین به تنهایی حدود 600 میلی‌آمپر جریان می‌کشه. پس حتما یه آداپتور یا ترانس قدرتمند برای مدارت در نظر بگیر.

یه نکته مهم اینه که خروجی PWM میکروکنترلر، یه ولتاژ DC بین 0 تا 5 ولت می‌سازه. اگه OCXO شما 12 ولتی باشه، ممکنه پایه کنترل ولتاژش (VFC) به ولتاژی بیشتر از 5 ولت (مثلا 8 یا 12 ولت) نیاز داشته باشه.

تو این حالت خاص، می‌تونی از یه مدار آپ‌امپ (Op-Amp) ساده استفاده کنی تا ولتاژ خروجی میکروکنترلر رو به سطح ولتاژ مورد نیاز نوسان‌سازت برسونه.

مرحله ۴

راه‌اندازی نمایشگر LCD

همون‌طور که گفتم، نمایشگر کاملا اختیاریه و دستگاه بدون اون هم عالی کار می‌کنه. می‌تونی وضعیت دستگاه رو فقط با ال‌ای‌دی‌ها یا از طریق اتصال کامپیوتر چک کنی.

اما داشتن یه پنل که همه‌چیز رو بهت نشون بده واقعا ظاهر پروژه‌ات رو حرفه‌ای می‌کنه. برای اتصال LCD، پایه‌های 1 تا 14 طبق شماتیک وصل می‌شن. برای پایه‌های 15 و 16 که مربوط به نور پس‌زمینه‌ست، یه دیود تو مسیرش گذاشتیم تا نورش رو یه مقدار ملایم‌تر کنه.

البته می‌تونی پایه 15 رو مستقیم به 5 ولت وصل کنی، ولی حتما قبلش پشت نمایشگر رو نگاه کن که مقاومت محدودکننده جریان رو خودش داشته باشه تا ال‌ای‌دی‌های داخلش نسوزن.

مرحله ۵

کابل و آنتن گیرنده GPS

آنتن‌های سرامیکی کوچیکی که معمولا روی خود ماژول‌ها هستن برای این پروژه دقت کافی ندارن. بهتره حتما از یه کابل رابط RP-SMA به IPX و یه آنتن اکتیو قوی با گین بالا (مثلا 28dB LNA در فرکانس 1575.42MHz) استفاده کنی تا خیالت از بابت دریافت بی‌نقص سیگنال‌ها راحت باشه.

مرحله ۶

ساخت برد مدار چاپی (PCB)

برای ساخت برد، روش انتقال تونر (اتو و کاغذ گلاسه) کاملا جواب می‌ده و برای این پروژه کار راه‌اندازه. تو مرحله بعدی فایل‌های مورد نیاز برای چاپ برد رو برات قرار دادم.

مرحله ۷

فایل‌های طراحی برد مدار چاپی

در اینجا می‌تونی فایل‌های مربوط به ساخت PCB رو دانلود کنی. تصویر اول به صورت Mirror (آینه) آماده شده تا بتونی برای روش اتو استفاده کنی. اگه هم می‌خوای برد رو بدی بیرون به صورت حرفه‌ای چاپ کنن، فایل‌های گربر (Gerber) هم در دسترسه. فایل‌های گربر پروژه آماده دانلود هستند.

مرحله ۸

تست ولتاژهای مدار

قبل از اینکه میکروکنترلر ATmega و آیسی 7404 رو روی سوکت‌هاشون جا بزنی، حتما مدار رو به برق وصل کن و با مولتی‌متر پایه‌های تغذیه رو چک کن تا ولتاژها دقیق و درست باشن. برای رگولاتور حتما یه هیت‌سینک خوب بذار چون جریان نسبتا بالایی کشیده می‌شه.

برای پروگرام کردن میکرو هم نیازی نیست هر دو مدل هدر 6 پین و 10 پین رو روی برد لحیم کنی؛ بسته به کابلی که پروگرامرت داره، یکیش رو انتخاب کن.

مرحله ۹

برد اختصاصی ال‌ای‌دی‌ها

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

برای اتصال این برد به مدار اصلی از کابل‌های فلت استفاده کن. طراحی طوریه که حتی اگه کابل رو برعکس جا بزنی هیچ اتفاق بدی نمی‌افته و مداری نمی‌سوزه. فقط تو اون حالت ال‌ای‌دی‌ها روشن نمی‌شن، همین!

شاید بپرسی چرا برای روشن کردن چند تا ال‌ای‌دی ساده از ترانزیستور استفاده کردیم و مستقیم به میکروکنترلر وصل نکردیم؟ درسته که میکرو می‌تونه ال‌ای‌دی‌ها رو روشن کنه، اما جریان‌کشی لحظه‌ای پین‌ها باعث ایجاد نوسان‌های خیلی ریزی تو خروجی ولتاژ PWM می‌شد.

با استفاده از ترانزیستور، جریان اصلی ال‌ای‌دی‌ها از منبع تغذیه (کلکتور) تأمین می‌شه و پایه میکروکنترلر هیچ فشاری رو تحمل نمی‌کنه، در نتیجه ولتاژ کنترل فرکانس کاملا تمیز می‌مونه.

مرحله ۱۰

فایل‌های برد LED

فایل‌های مورد نیاز برای چاپ این برد کوچیک هم آماده شده تا پنل پروژه‌ات کاملا شیک و یکپارچه بشه.

مرحله ۱۱

برنامه‌نویسی ATmega328p و تنظیم فیوزبیت‌ها

خیلیا از برنامه‌ریزی میکروکنترلرها می‌ترسن، ولی اصلا جای نگرانی نیست. فقط به یه چیپ ATmega328p خام و فایل هگز (.hex) نیاز داری که در ادامه قرار دادم.

نکته خیلی مهم اینه که فیوزبیت‌ها رو درست تنظیم کنی (E0 D9 FF). اگه از پروگرامرهایی مثل USBasp استفاده می‌کنی، این کار به صورت خودکار قابل انجامه.

برای پروگرام کردن می‌تونی از ابزارهای مختلفی مثل STK500، USBasp یا حتی یه برد آردوینو اونو به عنوان پروگرامر (Arduino as ISP) استفاده کنی. تو مرحله بعدی راحت‌ترین روش با USBasp رو کامل توضیح دادم. مقادیر فیوزبیت‌ها دقیقا به این شکل باید تنظیم بشن: E0 D9 FF این تنظیمات یعنی:

منبع کلاک باید روی نوسان‌ساز خارجی (External Oscillator) تنظیم بشه و تیک تقسیم‌کننده کلاک بر 8 (ckdiv8) حتما برداشته بشه. حواست باشه وقتی فیوزبیت رو روی کلاک خارجی تنظیم می‌کنی، برای برنامه‌ریزی مجدد یا اجرای کد، باید حتما کلاک به پایه XTAL1 وصل باشه. تو نسخه‌های جدید فریم‌ور دستگاه، کلی بهینه‌سازی انجام شده:

مثلا تایمر نگهبان (Watchdog) به 2 ثانیه افزایش پیدا کرده تا مشکل خطای عدم تشخیص پالس تو بعضی از ماژول‌ها برطرف بشه. فرمت داده‌های NMEA که ماژول‌های GPS می‌فرستن تو مدل‌های مختلف کمی با هم فرق داره. کدها طوری اصلاح شدن که با بازه گسترده‌تری از ماژول‌ها سازگار باشن.

عملکرد ال‌ای‌دی RUN هم تغییر کرده. حالا وقتی فرکانس دقیقا به 10,000,000.000 هرتز برسه روشن می‌شه و تا زمانی که خطا زیر 0.001 هرتز باشه، روشن می‌مونه.

همچنین در الگوریتم مقایسه 1000 ثانیه‌ای، حالا کل عدد یک میلیارد شمارش با هم مقایسه می‌شه تا در صورت بروز خطاهای بزرگ (مثل پرش‌های موقت)، دستگاه روی یه فرکانس اشتباه قفل نکنه.

اگه خطایی بیشتر از 0.050 هرتز پیش بیاد، میکروکنترلر به صورت خودکار آخرین تنظیمات سالم رو از حافظه EEPROM فراخوانی می‌کنه و دوباره تست می‌گیره. اگه مشکل حل نشد، فرآیند کالیبراسیون از اول (مرحله 1 ثانیه) استارت می‌خوره.

ال‌ای‌دی شمارنده هم حالا با فرکانس 0.5 هرتز چشمک می‌زنه (با پالس 1 ثانیه روشن و با پالس بعدی خاموش می‌شه) تا از ایجاد هارمونیک‌های فرکانس بالا روی برد جلوگیری بشه. کدهای سورس و فایل کامپایل‌شده هگز برای آپلود روی میکرو آماده شده و می‌تونی مستقیم ازشون استفاده کنی.

مرحله ۱۲

آپلود کد با پروگرامر USBasp یا USBtiny

این روش هم خیلی ساده‌ست و هم فوق‌العاده مقرون‌به‌صرفه. کافیه یه پروگرامر USBasp تهیه کنی. وقتی پروگرامر رو به کامپیوتر وصل می‌کنی، ممکنه ویندوز نتونه درایورش رو بشناسه. پیام جستجوی درایور رو ببند.

حالا نرم‌افزار Zadig رو اجرا کن. این برنامه قطعه تو رو می‌شناسه. از منوی آبشاری گزینه libusb-win32 رو انتخاب کن و دکمه نصب (Install Driver) رو بزن. بعدش تو Device Manager چک کن که علامت تعجب زرد رنگ رفته باشه. درایور که نصب شد، دیگه مشکلی تو ارتباط نداری.

حالا فایل فشرده حاوی نرم‌افزار avrdude و فایل هگز رو دانلود و اکسترکت کن. برای راحتی کار، یه فایل بچ (Batch file) نوشته شده که با یه کلیک هم کد و هم فیوزبیت‌ها رو با هم پروگرام می‌کنه. کابل پروگرامر رو به هدر روی برد متصل کن (مدار باید روشن باشه) و روی فایل program.bat دو بار کلیک کن.

در پایان، یه صفحه مشکی (Command Prompt) می‌بینی که تأیید می‌کنه کد و فیوزبیت‌ها نوشته شدن. یادت نره از این به بعد میکرو برای روشن شدن به کلاک مدارت نیاز داره. اگه از OCXO دوازده ولتی استفاده می‌کنی، پتانسیومتر رو اونقدر بچرخون تا روی نمایشگر چیزی ببینی. اگه اسیلوسکوپ داری، می‌تونی دیوتی‌سایکل خروجی رو هم دقیقا روی 50 درصد تنظیم کنی.

مرحله ۱۳

تنظیمات جامپرها (سرعت و حالت اصلاح فرکانس)

با استفاده از دو تا جامپر می‌تونی رفتار دستگاه رو تغییر بدی: - حالت سریع / Quick Mode (بدون جامپر - پیش‌فرض) - حالت کلاسیک / Classic Mode (نصب جامپر آبی) جامپر دوم برای سرعت ارتباط ماژول GPS هست: - 9600 بیت بر ثانیه (بدون جامپر - پیش‌فرض) - 4800 بیت بر ثانیه (نصب جامپر قرمز) تفاوت حالت سریع و کلاسیک تو الگوریتم اصلاح فرکانسه.

تو حالت سریع، وقتی دستگاه می‌بینه فاصله با فرکانس هدف زیاده، پرش‌های ولتاژی بزرگی انجام میده. مزیت این حالت اینه که خیلی سریع‌تر به فرکانس طلایی 10 مگاهرتز می‌رسی، ولی ایرادش اینه که اگه حساسیت نوسان‌ساز (OCXO) شما با این پرش‌ها هم‌خونی نداشته باشه، فرکانس مدام از هدف رد می‌شه و دوباره برمی‌گرده (اصطلاحا نوسان می‌کنه) و هیچ‌وقت قفل نمی‌شه.

ولتاژهای اصلاحی تو حالت سریع این‌طوریه: - تو بازه 1 ثانیه: تغییرات حدود 41.6 میلی‌ولت - تو بازه 10 ثانیه: تغییرات حدود 19.5 میلی‌ولت تو بازه‌های 60، 200 و 1000 ثانیه هم مقادیر ضرب در اختلاف فرکانس می‌شن تا سریع‌تر به محدوده مورد نظر برسن. این ضرایب طوری چیده شدن که اگه فرکانس خیلی دور بود، قدم‌های بزرگ برداره و وقتی نزدیک شد قدم‌ها میلی‌ولتی بشن.

تو فاز نهایی (1000 ثانیه) تغییرات تو حد میکروولت اعمال می‌شن تا دستگاه روی دقیق‌ترین حالت ممکن (حالت RUN) قرار بگیره. اما حالت کلاسیک چطوره؟ تو این حالت حتی اگه اختلاف با فرکانس هدف زیاد باشه، دستگاه با قدم‌های کوچیک و محتاطانه ولتاژ رو تغییر میده. مزیتش اینه که با هر نوسان‌سازی در نهایت به هدف می‌رسه، ولی عیبش اینه که زمان زیادی می‌بره.

مقادیر اصلاحی حالت کلاسیک کاملا ملایم هستن؛ از تغییرات 3.2 میلی‌ولتی تا مقادیر زیر 1 میلی‌ولت تو فازهای نهایی. حالا کدوم رو انتخاب کنیم؟

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

تو این شرایط خیلی راحت جامپر آبی رو وصل کن تا بره تو حالت کلاسیک. البته اگه با برنامه‌نویسی آشنایی داری می‌تونی این مقادیر رو تو خود سورس کد هم تغییر بدی. تو فایل main.asm تمام این متغیرها به وضوح توضیح داده شدن و می‌تونی مقادیر دلخواه خودت رو تنظیم و دوباره کامپایل کنی.

مرحله ۱۴

تست اولیه مدار روی میز کار

قبل از اینکه همه‌چیز رو تو جعبه پیچ و مهره کنی، مدار رو روی میز ببند و تست کن تا مطمئن بشی همه‌چیز بی‌نقص کار می‌کنه. اینجا من ماژول GPS رو موقتا روی یه هیت‌سینک بستم و از یه ترانس 16 ولت قدرتمند برای تغذیه استفاده کردم. تغذیه مناسب برای پایداری مدار خیلی حیاتیه.

مرحله ۱۵

عایق‌بندی حرارتی OCXO

برای اینکه دمای محیط روی نوسان‌ساز تأثیر نذاره، می‌تونی دور OCXO رو با فوم‌های عایق حرارتی (مثل فوم دپرون) بپوشونی. این کار اختیاریه اما پایداری فرکانس رو تو محیط‌هایی که تغییرات دمایی دارن، به شدت بالا می‌بره.

مرحله ۱۶

آماده‌سازی جعبه پروژه

حالا نوبت آماده کردن بدنه دستگاهه. جای ال‌ای‌دی‌ها، نمایشگر و کانکتورها رو روی قاب برش بزن. اگه از جعبه فلزی استفاده می‌کنی، ابزار نیبلر (Nibbler) برای درآوردن سوراخ‌های مربع‌شکل عالیه. البته می‌تونی یه کیس جذاب هم براش طراحی کنی و با پرینتر سه‌بعدی بسازیش تا ظاهرش کاملا صنعتی بشه.

مرحله ۱۷

مونتاژ نهایی در جعبه

من تو این پروژه از یه قاب فلزی محکم استفاده کردم که هم محافظ خوبی در برابر نویزهای الکترومغناطیسیه و هم ظاهر کلاسیک و جذابی به این ابزار آزمایشگاهی می‌ده. تمام بردها رو با فاصله‌انداز (Spacer) داخل جعبه محکم کن.

مرحله ۱۸

بررسی خروجی‌ها با اسیلوسکوپ

نگاهی به خروجی‌ها روی اسیلوسکوپ بندازیم؛ موج سینوسی کاملا تمیز با دامنه پیک‌تاپیک 3.44 ولت. موج مربعی هم با آیسی بافر 74LS04 تولید شده و فوق‌العاده شارپ و دقیقه.

مرحله ۱۹

دقت نهایی دستگاه چقدر است؟

یکی از کاربرهایی که این دستگاه رو ساخته، خروجی رو با فرکانس‌مترهای کالیبره و فوق‌دقیق اندازه‌گیری کرده و نتایج شگفت‌انگیزی گرفته. میزان خطای اندازه‌گیری شده فقط بین 0.0003+ و 0.0006- هرتز بود! این یعنی دستگاه حتی از هدف اولیه‌ای که قرار بود خطای زیر 0.001 هرتز داشته باشه هم دقیق‌تر عمل می‌کنه.

مرحله ۲۰

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

وقتی دستگاه رو روشن می‌کنی، برای 15 دقیقه هیچ کاری نمی‌کنه! این زمان برای گرم شدن و تثبیت نوسان‌ساز OCXO و همچنین پیدا کردن ماهواره‌های GPS در نظر گرفته شده. تو این حالت، اگه حافظه EEPROM خالی باشه، خروجی PWM روی 50 درصد تنظیم می‌شه (یعنی حدود 2.5 ولت). اگه دستگاه از قبل روشن بوده و نوسان‌ساز گرمه، می‌تونی با زدن یه دکمه این زمان انتظار رو رد کنی.

میکروکنترلر به صورت خودکار ولتاژ مناسب رو پیدا می‌کنه. اگه فرکانس از 10 مگاهرتز کمتر باشه، ولتاژ کنترل (PWM) رو بالاتر می‌بره و اگه فرکانس زیاد باشه، ولتاژ رو کم می‌کنه تا به نقطه ایده‌آل برسه. روند کالیبراسیون تو 5 فاز انجام می‌شه: بازه‌های 1، 10، 60، 200 و در نهایت 1000 ثانیه.

تو مرحله 1000 ثانیه، میکروکنترلر دقیقا یک میلیارد کلاک رو می‌شماره تا عدد طلایی 10,000,000.000 رو تنظیم کنه. وقتی به این فاز رسیدیم، تنظیمات تو EEPROM ذخیره می‌شه و دستگاه وارد حالت RUN می‌شه. تو حالت RUN، دستگاه مدام تو بازه‌های 1000 ثانیه‌ای وضعیت رو چک می‌کنه و اگه لازم باشه اصلاحات فوق‌العاده ریزی انجام می‌ده.

نکته مهم: تو تمام مراحل کالیبراسیون، نمایشگر داره فرکانس در حال شمارش رو نشون می‌ده. اگه دیدی اعداد خیلی عجیب و غریبن، شک نکن که سیگنال GPS ضعیفه یا پالس 1PPS داره با تأخیر می‌رسه.

وقتی دستگاه رو خاموش و روشن می‌کنی، چون تنظیمات قبلی تو حافظه هست، مستقیم میره تو فاز 200 ثانیه. اما اگه دستگاه مدت طولانی خاموش بوده، بهتره اجازه بدی فرآیند از اول طی بشه.

اگه هر زمان سیگنال ماهواره‌ها قطع بشه (زیر 3 ماهواره)، دستگاه از آخرین تنظیمات ذخیره‌شده استفاده می‌کنه و روی صفحه پیام "Self Running" مینویسه.

اگه دکمه رو بزنی، شمارش متوقف می‌شه و برای 10 ثانیه می‌تونی زمان جهانی (UTC) و مختصات جغرافیایی رو روی صفحه ببینی. این مختصات رو می‌تونی مستقیم تو گوگل‌مپس وارد کنی. برای پاک کردن حافظه و شروع کالیبراسیون از صفر، کافیه موقع روشن کردن دستگاه، دکمه رو نگه داری.

راهنمای ال‌ای‌دی‌ها:

1. ال‌ای‌دی Warming: موقع روشن شدن دستگاه نشون می‌ده که داره گرم می‌شه. بعد از 15 دقیقه خاموش می‌شه و پالس‌های GPS رو نشون می‌ده. 2. ال‌ای‌دی Satellite: وقتی 3 ماهواره یا بیشتر پیدا بشه، روشن می‌شه. 3. ال‌ای‌دی Counter: وقتی میکرو در حال شمارشه چشمک می‌زنه.

4. ال‌ای‌دی RUN (Hit): وقتی فرکانس دقیقا روی 10,000,000.000 مگاهرتز قرار بگیره روشن می‌شه و تا زمانی که خطا از 0.002 فراتر نره، روشن می‌مونه.

مرحله ۲۱

استخراج اطلاعات از حافظه EEPROM

میکروکنترلر اطلاعات 50 ساعت گذشته رو تو حافظه EEPROM خودش ذخیره می‌کنه. دو بایت اول مربوط به مقدار تنظیمات PWM هست.

مرحله ۲۲

تست دامنه ولتاژ کنترل فرکانس (VFC)

یه کد تستی هم آماده شده که به کمک اون می‌تونی بازه دقیق فرکانس نوسان‌ساز خودت رو به دست بیاری. این کد مقدار PWM رو تو درصدهای 0، 25، 50، 75 و 100 تنظیم می‌کنه و خروجی رو روی صفحه می‌نویسه.

بهترین نوسان‌ساز اونیه که تو محدوده 50 درصد PWM، خروجیش دقیقا حوالی 10 مگاهرتز باشه تا خطی‌ترین رفتار رو تو اعمال اصلاحات از خودش نشون بده. این تست به خطایابی و بررسی کیفیت OCXO شما خیلی کمک می‌کنه.

مرحله ۲۳

مانیتورینگ اطلاعات از طریق پورت سریال

کافیه از نرم‌افزارهایی مثل Putty استفاده کنی و باودریت رو روی 9600 (تنظیمات 8N1) بذاری. حتی می‌تونی تیک ذخیره لاگ (Session Log) رو فعال کنی تا عملکرد دستگاه در طول چند روز تو یه فایل متنی ذخیره بشه و بعدا روند پایدار شدن فرکانس رو کامل تحلیل کنی. Those result help to know the range of your OCXO and to see the linearity.

مرحله ۲۴

تجربیات سازندگان در سراسر دنیا

این پروژه توسط مهندس‌ها و علاقه‌مندان زیادی تو سراسر دنیا ساخته شده و بازخوردهای فوق‌العاده‌ای داشته. خیلی‌ها با تغییراتی تو بخش فیلترها یا استفاده از نوسان‌سازهای دوگانه، تونستن دستگاه رو برای کاربردهای به شدت حساس بهینه‌تر کنن. But both is supported as well.

مرحله ۲۵

فیلتر کردن هارمونیک‌های اضافی (اختیاری)

بعضی از سازنده‌ها با اضافه کردن یه فیلتر پایین‌گذر ساده در خروجی، تونستن هارمونیک‌های فرکانس بالا رو به طور کامل حذف کنن و یه موج سینوسی بی‌نقص و آزمایشگاهی به دست بیارن. اگه تجهیزات حساسی داری، این ایده می‌تونه کیفیت کارت رو یک پله بالاتر ببره.

مرحله ۲۶

سخن پایانی

امیدوارم از ساخت این ابزار دقیق لذت برده باشی. حتما نظرت رو درباره این پروژه برامون بنویس و عکس مداری که ساختی رو تو سایت آیسی‌مدار با بقیه به اشتراک بذار. موفق باشی!

فایل‌های پیوست

PDF bottom.pdf
PDF top.pdf
RAR Led board.rar

تو میتونی اولین سازنده باشی!

اگه پروژه رو ساختی به اشتراک بزار و اعتبار هدیه بگیر

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

آموزش‌های مشابه

گفتگو‌های کاربران

هنوز نظری ثبت نشده؛ تو شروع کن!