اطلاعیه

Collapse
No announcement yet.

معرفی ماژول سیگنال ژنراتور AD9850

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    معرفی ماژول سیگنال ژنراتور AD9850


    این ماژول می تواند خروجی های سینوسی و مربعی تولید کند. دارای دو خروجی سینوسی و دو خروجی مربعی است. فرکانس شکل موج سینوسی بین صفر تا 40 مگاهرتز بوده و فرکانس شکل موج مربعی بین صفر تا 1 مگاهرتز است. فرکانس تولیدی بعد از حدود 20 تا 30 مگاهرتز هارمونیک های فرکانسی کمی افزایش می یایند. به دلیل وجود یک فیلتر پایین گذر 70 مگاهرتزی، سیگنال تولیدی خروجی از لحاظ سیگنال به نویز بهتر می شود. ورودی دیتا می تواند به صورت سریال و موازی بوده که توسط جامپر قابل انتخاب می باشد.

    این ماژول دارای یک درگاه 8 بیتی دیجیتال و یک درگاه ارتباط سریال جهت ارتباط با میکروکنترلر ها یا کامپیوترها می باشد.
    دامنه شکل موج خروجی به دلیل وجود پایه PIN12 به راحتی قابل تنظیم است. ولتاژ ورودی مرجع مقایسه کننده توسط یک مقاومت متغیر تولید شده، مقاومت می تواند Duty Cycle سیگنال مربعی را روی مقادیر مختلفی تنظیم کند. این ماژول ار یک اسیلاتور کریستالی 125 مگاهرتزی فعال استفاده می کند.

    ویژگی ها:
    • پروتکل های ارتباطی: سریال و پارالل
    • ولتاژ کاری: 3.3v و 5.5v
    • تولید پالس مربعی و موج سینوسی صاف از 0 تا 40 مگاهرتز
    • قابل اتصال به بردهای آردوینو
    • دو خروجی پالس مربعی و دو خروجی موج سینوسی
    • دارای کریستال داخلی 125 مگاهرتزی

    کاربردها:
    • سیگنال ژنراتورهای آزمایشگاهی
    • اسیلاتورهای دستگاه های مخابراتی


    این ماژول توان تولید فرکانس با دقت بسیار بالا و با شکل موج های مختلف و به ویژه «موج سینوسی» را دارا می باشد. افزون بر این، این ماژول. به وسیله ی «میکروکنترلر»ها و «آردوینو» به صورت کامل قابل مدیریت و کنترل می باشد. خروجی این آی.سی. تا 20 مگاهرتز دارای خلوص و پایداری ممتازی است. روشن است که هر چه فرکانس درخواستی بالاتر رود، به کارگیری مدارهای اصلاحی برای تصحیح و بهبود شکل موج خروجی ناگزیر خواهد بود. البته برای کاربرانی که فرکانس های بالاتر را در نظر دارند، ماژول 9851 نیز در دسترس می باشد.


    اساس کار این ماژول با فرکانس متغیر با استفاده ازDDS میباشد...

    DDS مخفف عبارت Direct Digital Synthesis است و اصولا به «کاربرد یک ابزار برای تولیدِ سیگنال» از طریق یک «مولد فرکانس دیجیتالِ پایه» اطلاق می گردد. کاربرد عمده چنین ابزارهایی در فرستنده ها، گیرنده ها، سامانه های مخابراتی، ماهواره ای و آزمایشگاهی می باشد.

    جهت کسب اطلاعات بیشتر در مورد DDS به تاپیک زیر مراجعه فرمائید :
    تنها با چهار سیم می توانید این ماژول را به بردهای آردوینو متصل کنید.

    جهت استفاده از برنامه نمونه برای راه اندازی این ماژول با آردوینو از لینک های زیر استفاده کنید :
    http://www.nmea.de/schaltung/sch-dds9850.html

    Im newbie. I buy AD9850 as like at the picture Im try to connect AD9850 to my UNO : ***. Using digital pins 8 through 11, proto shield installed on the UNO. Pin 8 to CLK, 9 to FQ, 10 to DATA, and 11 to RST. *** and the sketch here: /* A simple single freq AD9850 Arduino test script Original AD9851 DDS sketch by Andrew Smallbone at www.rocketnumbernine.com Modified for testing the inexpensive AD9850 ebay DDS modules Pictures and pinouts at nr8o.dhlpilotcentral.com 9850 datasheet at http...


    جدیدترین ویرایش توسط علی چمانی; ۱۶:۴۹ ۱۳۹۶/۰۶/۱۹.

    #2
    پاسخ : معرفی ماژول سیگنال ژنراتور AD9850




    نمونه کد جهت راه اندازی ماژول سیگنال ژنراتور AD9850 با آردوینو:

    // DDS AD9850 Board und Arduino Uno
    // Serielle Ansteuerung des DDS Board
    // Fest-Frequenz-Ausgabe oder Frequenz-Sweep
    //
    // Matthias Busse Version 0.4 vom 30.11.2013

    //Arduino Uno > AD9850 Board Anschlüsse
    #define RST 11 // Arduino 11 > Board RST - Reset
    #define FQ 10 // Arduino 10 > Board FQ - Frequenz Update
    #define CLK 9 // Arduino 9 > Board CLK - Takt
    #define DATA 8 // Arduino 8 > Board DATA - Daten

    // Dann noch anschliessen
    // Arduino 5V > Board VCC
    // Arduino GND > Board GND

    #define pulseHigh(pin) {digitalWrite(pin, 1); digitalWrite(pin, 0); }

    void setup(){
    AD9850_Init();
    AD9850_Reset();
    // Wenn nur eine feste Frequenz ausgegeben werden soll:
    // AD9850_Frequenz(200000); // Frequenz in Hz einstellen
    }

    void loop(){
    while(1) {
    sweep(100000, 400000, 20, 1000); // wenn Frequenzen durchgesweept werden sollen
    delay(1000);
    }
    }

    void sweep(long int fstart, long int fstop, int nstep, int tms) {
    // Die Frequenz linear durch sweepen
    // ca. 2 ms pro Schritt werden mindestens benötigt.
    //
    // fstart: Startfrequenz
    // fstop: Stopfrequenz
    // nstep: Anzahl der Schritte
    // tms: Sweepzeit in ms
    //
    // Matthias Busse Version 1.0 vom 27.11.2013

    long int i, f, fdelta, tdelta;
    unsigned long t1;

    fdelta=(fstop-fstart)/(nstep-1);
    tdelta=tms/(nstep-1);
    for(i=0; i<nstep; i++) {
    t1=millis();
    f=fstart+(i*fdelta);
    AD9850_Frequenz(f);
    while((millis()-t1) < tdelta){}
    }
    }

    void AD9850_Init(){
    // Ausgänge definieren
    // Matthias Busse Version 1.0 vom 27.11.2013

    pinMode(RST, OUTPUT); // alles Ausgänge
    pinMode(FQ, OUTPUT);
    pinMode(CLK , OUTPUT);
    pinMode(DATA, OUTPUT);
    digitalWrite(RST, 0); // alles 0
    digitalWrite(FQ, 0);
    digitalWrite(CLK, 0);
    digitalWrite(DATA, 0);
    }

    void AD9850_Reset(){
    // DDS zurück setzen
    // Matthias Busse Version 1.0 vom 27.11.2013

    pulseHigh(RST); //Reset Signal
    pulseHigh(CLK); //Clock Signal
    pulseHigh(FQ); //Frequenz Update Signal
    }

    void AD9850_Frequenz(double frequenz){
    // Die Frequenz übertragen und DDS starten
    // Matthias Busse Version 1.0 vom 27.11.2013

    long int y;

    frequenz=frequenz/1000000*4294967295/125; //für ein 125 MHz Quarz
    y=frequenz;
    AD9850_SendData(y); // w4 - Frequenzdaten LSB übertragen
    AD9850_SendData(y>>8); // w3
    AD9850_SendData(y>>16); // w2
    AD9850_SendData(y>>24); // w1 - Frequenzdaten MSB
    AD9850_SendData(0x00); // w0 - 0x00 keine Phase
    pulseHigh(FQ); // Die neue Frequenz ausgeben
    }

    void AD9850_SendData(unsigned char c) {
    // 8 Bit Daten senden mit CLK Impuls
    // Matthias Busse Version 1.0 vom 27.11.2013

    int i;

    for(i=0; i<8; i++) {
    digitalWrite(DATA, (c>>i)&0x01);
    pulseHigh(CLK);
    }
    }


    [B][/B]

    دیدگاه

    لطفا صبر کنید...
    X