آموزش راه اندازی ماژول سیگنال ژنراتور AD9833 با آردوینو

فهرست مطالب

ویژگی های ماژول سیگنال ژنراتور AD9833

در بسیاری از پروژه‌ها به یک سیگنال با شکل موج و فرکانس مشخص نیاز داریم. ماژول سیگنال ژنراتور AD9833 یک ماژول مناسب و مقرون به صرفه برای کاربردهایی ازین دست است. به کمک این ماژول می‌­توان سیگنال با شکل موج های سینوسی، مربعی، نیم موج مربعی و مثلثی تولید کرد. فرکانس سیگنال تولید شده را نیز می‌توان از 1 هرتز تا 12.5 مگا هرتز تنظیم کرد. پروتکل ارتباطی این ماژول SPI است.

معرفی پایه ها (Pinout) ماژول سیگنال ژنراتور AD9833

ماژول سیگنال ژنراتور AD9833 دارای 7 پایه به شرح زیر است:

  • Ref: ولتاژ مرجع
  • VCC: تغذیه ماژول –5 ولت
  • GND: زمین
  • DAT: پایه داده پروتکل SPI
  • CLK: پایه کلاک پروتکل SPI
  • FNC: پایه همگام سازی
  • Out: موج خروجی

پین اوت (Pinout) این ماژول را می‌توانید در تصویر زیر مشاهده کنید.

لوازمی که به آن احتیاج دارید

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

آردوینو UNO R3 × 1
ماژول سیگنال ژنراتور AD9833 × 1
سیم جامپر × 1

نرم افزارهای مورد نیاز

آردوینو IDE

راه اندازی ماژول سیگنال ژنراتور AD9833 با آردوینو

گام اول: سیم بندی

مطابق مدار زیر، ماژول را به آردوینو وصل کنید.

گام دوم: نصب کتابخانه

کتابخانه AD9833 را از اینجا دانلود کنید. سپس به قسمت Include Library رفته و کتابخانه را نصب کنید.

توجه

اگر برای نصب کتابخانه نیاز به راهنمایی بیشتر دارید، به اینجا مراجعه کنید.

گام سوم: کد

کد زیر را روی برد آردوینو آپلود کنید. پس از آپلود کد، پنجره Serial Plotter را باز کنید.

  /*
  Modified on Feb 03, 2021
  Modified by MehranMaleki from Arduino Examples
  
Home
*/ #include <AD9833.h> // Include the library #define FNC_PIN 10 // Can be any digital IO pin #define Frequency 1 // Frequency = 1Hz //--------------- Create an AD9833 object ---------------- // Note, SCK and MOSI must be connected to CLK and DAT pins on the AD9833 for SPI AD9833 gen(FNC_PIN); // Defaults to 25MHz internal reference frequency void setup() { Serial.begin(9600); // This MUST be the first command after declaring the AD9833 object gen.Begin(); // Apply a 1000 Hz sine wave using REG0 (register set 0). There are two register sets: REG0 and REG1. // Each one can be programmed for: // Signal type - SINE_WAVE, TRIANGLE_WAVE, SQUARE_WAVE, and HALF_SQUARE_WAVE // Frequency - 0 to 12.5 MHz // Phase - 0 to 360 degress (this is only useful if it is 'relative' to some other signal // such as the phase difference between REG0 and REG1). // In ApplySignal, if Phase is not given, it defaults to 0. gen.ApplySignal(SQUARE_WAVE, REG0, Frequency); gen.EnableOutput(true); // Turn ON the output - it defaults to OFF // There should be a 1 Hz square wave on the output of the AD9833 } void loop() { Serial.println(analogRead(A0)); delay(10); }

در کد بالا یک موج مربعی با فرکانس 1 هرتز تولید کرده‌ایم. در ادامه در هر 10 میلی ثانیه موج تولید شده را از ماژول خوانده و در پنجره­ Serial plotter نمایش می‌دهیم.

خروجی کد به شکل زیر است.

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

Comments (6)

  • مجید Reply

    با سلام و خسته نباشید
    من دو عدد از این ماژول های ad9833 که از مدل برد بنفش رنگ هستن رو خریداری کردم و هر دو برد مشکل زیر رو دارند:
    متاسفانه تحت هیچ شرایطی نمی توانم فرکانس موج خروجی رو با ارتباط spi تنظیم کنم و فقط بعد از چند بار روشن و خاموش کردن و مقدار گرفتن با spi یکدفعه یک شکل موج سینوسی با فرکانس دلخواه مثلا ۱.۵ کیلو هرتز در خروجی ظاهر می‌شود که نکته جالب این هست که حتی اگر تغذیه ماژول رو قطع کنم و بعد سه تا سیم ارتباط سریال رو قطع کنم و مجددا تغذیه رو وصل کنم همان شکل موج بدون برنامه ریزی از طریق spi در خروجی با دامنه 0.6 ولت تولید می شود.
    لطفا راهنمایی بفرمایید

    فوریه 18, 2023 at 10:16 ب.ظ
    • علی عبدالملکی Reply

      سلام وقتتون بخیر
      شما از اینکه کدتون روی برد آپلود میشه مطمئن هستید؟
      حتما توجه کنید که ماژولتون هم ایراد نداشته باشه یا ارتباط سریال spi بدون مشکل باشه
      میشه لطفا با مولتی متر یا اسیلوسکوپ ولتاژ تغذیه ماژول رو هم اندازه بگیرید
      که چند هست دقیقا؟

      فوریه 27, 2023 at 3:41 ب.ظ
  • بایک Reply

    سلام . وقت بخیر . آیا توی این برنامه با قطع تغذیه فرکانس تنظیم شده ریست میشه ؟؟

    جولای 19, 2023 at 7:27 ب.ظ
    • محمد دمیرچی Reply

      با سلام
      بله برای شروع به کار ماژول نیاز به یکسری تنظیمات می باشد که میکرو به ماژول میدهد.
      درصورتی که نیاز به سیگنال جنراتور جدا دارید می توانید از ماژول ها سیگنال جنراتور موجود در سایت استفاده کنید (بعضی مورد ها نیز نمایشگر دارند و میتوانید به سادگی تنظیم کنید)

      جولای 22, 2023 at 10:15 ق.ظ
  • قنبری Reply

    با عرض درود و تشکر فراوان از زحمات شما
    هم اکنون مدل دیگری از ماژول سیگنال ژنراتور AD9833 در بازار موجود است
    که نام پایه های آن قدری متفاوت است، نام پایه ها عبارتند از؛
    VCC _ تغذیه مثبت
    DGND _ زمین دیجیتال
    SDATA _ پایه داده پروتکل SPI
    SCLK _ پایه کلاک پروتکل SPI
    FSYNC _ پایه همگام سازی
    AGND _ زمین آنالوگ
    OUT _ خروجی (موج)
    تفاوت مهم در پایه ” Ref ولتاژ مرجع” است، که من نمی دانم کدام پایه از ماژئل میشود!
    بهترین حدسم پایه “زمین دیجیتال” است، آیا حدس من درست است
    نمونه این مدل در لینک ذیل موجود است البته با گوگل کردن هم، به آسانی قابل دستیابیست

    سپتامبر 19, 2023 at 4:02 ب.ظ
    • محمد دمیرچی Reply

      با سلام
      دقت کنید در بخش توضیحات محصول در سایت eca نیز شماتیک داخلی این ماژول قرار داده شده است.
      پایه های GND نیز هر دو با توجه به عکس های پشت برد به پلیگان کلی وصل شده اند، از این رو این 2 به همدیگر وصل شده اند.
      پایه ref نیز در این برد بنفش رنگ نیز به صورت زیر سیم کشی شده است.
      AD9833 CJMCU

      سپتامبر 20, 2023 at 11:22 ق.ظ

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

نشانی ایمیل شما منتشر نخواهد شد.