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

نمونه اولیه مولد فرکانس
شکل 1: نمونه اولیه برای تولید کننده فرکانس مبتنی بر Arduino

مدار آردوینو  برای ساخت مولد فرکانس

نمودار مدار مولد فرکانس سینوسی، مربعی مبتنی بر آردوینو در شکل 2 نشان داده شده است. این مدار در اطراف یک تخته Ardunio Uno (برد 1)، LCD 16 × 2، دو پتانسومتر Potmeter VR1 متصل به پین 3 LCD1 برای کنترل کنتراست LCD1 استفاده می شود.

VR2 متصل به پین A0 ورودی آنالوگ از برد Arduino Uno برای تنظیم مدت زمان شکل موج خروجی استفاده می شود. 10 کیلو اهم (VR2 و VR1) ساخته شده است و چند جز دیگر ساخته شده است.

نمودار مدار مولد فرکانس مبتنی بر آردوینو
شکل 2: نمودار مدار مولد فرکانس مبتنی بر آردوینو

پتانسیومتر VR1 متصل به پین 3 LCD1 برای کنترل کنتراست LCD1 استفاده می‌شود. VR2 متصل به پین A0 ورودی آنالوگ از برد Arduino Uno برای تنظیم مدت زمان شکل موج خروجی استفاده می‌شود.

سه خروجی جداگانه از پایه‌های 3، 9 و 10 برد Arduino گرفته شده است. پین 3 برای موج مربع، پین 9 برای موج سینوسی و پین 10 برای خروجی موج رمپ (Ramp) است. پین‌های 9 و 10 خروجی در واقع سیگنال‌های تعدیل شده با پالس (PWM) هستند که سیگنال‌های آنالوگ را حمل می‌کنند و پس از فیلتر کردن با یک مدار فیلتر ساده مقاومت-خازن ساده به دست می‌آیند. خروجی موج مربع در پایه 3 مستقیماً بدون فیلتر گرفته می‌شود، همانطور که در شکل 2 نشان داده شده است.

این شکل موج‌ها با استفاده از تایمر 0 و توابع کنترل وقفه مقایسه – مطابق میکروکنترلر آردوینو (ATmega328) سنتز می‌شوند. تایمر 1 ATmega328 برای تولید سیگنال‌های خروجی PWM در 10kHz برنامه‌ریزی شده است. این برنامه (freq_gen.ino) حاوی رجیستری از میکروکنترلر ATmega328 است که به عنوان صفحه داده پیکربندی شده است. این نرم‌افزار (freq_gen.ino) به زبان برنامه‌نویسی آردوینو نوشته شده و با استفاده از نرم‌افزار Arduino IDE تدوین شده است.

سوئیچ S2 متصل به پایه 8 Board1 برای تغییر دامنه فرکانس استفاده می‌شود. دو دامنه فرکانس در برنامه طراحی شده است: 30 تا 250 هرتز و 250 تا 2500 هرتز برای پوشش دامنه فرکانس صوتی متوسط. این سیگنال‌ها از CON2 تا CON4 را می‌توان با اسیلوسکوپ مشاهده کرد.

این برنامه قرار است از رایانه شخصی با استفاده از نرم‌افزار Arduino IDE در برد آردوینو بارگذاری شود. با اتصال کابل USB بین Arduino و PC، مقدار فرکانس را می‌توان در LCD1 مشاهده کرد. سوئیچ S1 متصل به پایه 2 Board1 برای تغییر صفحه نمایش بین LCD1 و پلاتر سریال در Arduino IDE استفاده می‌شود. اگر پین 2 به صورت زمینی باشد، شکل موج‌ها (سینوسی، مربع و شیب‌دار) را می‌توان مانند یک اسیلوسکوپ دیجیتالی روی پلاتر سریال مشاهده کرد (به شکل 3 مراجعه کنید).

شکل موج‌های سیگنال در پلاتتر
شکل 3: شکل موج‌های سیگنال در پلاتتر (رسام) سریال

هر شکل موج حدود 5 ولت است. بنابراین موج سینوسی از 0 به 5 ولت تغییر می‌کند و منفی نمی‌شود.

ساخت فانکشن ژنراتور با آردوینو

اتصالات LCD1 با استفاده از نوار برگ 16 پین بر روی PCB ایجاد می‌شود. برای روشنایی LCD1 از مقاومت 470 اهم (R1) متصل به پایه 15 استفاده می‌شود. 5V برای LCD از پین‌های برد 5V و Gnd برد آردوینو گرفته شده است.

برای اتصال برد آردوینو به کامپیوتر یا لپ تاپ از کابل USB استفاده می‌شود. پس از بارگذاری برنامه (freq_gen.ino)، صفحه آردوینو و LCD1 می‌توانند توسط یک آداپتور / باتری 9 ولت تأمین شوند.

ساخت سیگنال ژنراتور با آردوینو

طرح PCB برای مولد (ژنراتور) فرکانس در شکل 4 و طرح اجزای آن در شکل 5 نشان داده شده است. پس از جمع‌آوری مدار بر روی PCB، کد منبع (freq_gen.ino) را روی صفحه Arduino بارگذاری کنید.

Board1 را از رایانه جدا کرده و آن را به منبع تغذیه 9 ولت در سراسر CON1 متصل کنید.

با باز کردن سوئیچ S1 می‌توانید مقدار فرکانس تولید شده را در LCD1 مشاهده کرده و یا با بستن S1 شکل موج‌های مختلف سیگنال را بر روی پلاتر سریال بررسی نمایید.

شکل 4: طرح PCB برای مولد فرکانس
شکل 5: طرح کامپوننت برای PCB