Feel free to ask questions, share tips or report issues.
وحدة مولد الدوال AD9833 هي مولد موجات جيبية ومثلثية ومربعة قابل للبرمجة من حيث التردد مع واجهة SPI.
يمكن استخدام مولد الدوال AD9833 لتوفير إشارات متنوعة للاختبارات الإلكترونية من خلال العمل كمولد دوال، كما يمكن استخدامه في تطبيقات الاستشعار والتحريك وقياس الانعكاس في النطاق الزمني (TDR) مثل اختبار الكابلات أو تطبيقات FSK أو غيرها من تطبيقات التعديل.
يمكن للوحدة العمل بجهد يتراوح بين 2.3 و5.5 فولت، لذا فهي متوافقة مع المتحكمات الدقيقة بجهد 3.3 و5 فولت.
داخلياً، تحتوي AD9833 على منظم جهد 2.5 فولت وتعمل عند 2.5 فولت. في حال رغبت في تشغيل الوحدة بجهد Vcc أقل من 2.7 فولت، يجب قصر الموقع الموجود على اللوحة والمشار إليه بـ R1 والذي يكون مفتوحاً عادةً، بحيث يتم توصيل VCC مباشرة بمدخل CAP2.5V مما يؤدي إلى تجاوز المنظم الداخلي.
يضيء مؤشر LED أحمر عند توصيل الطاقة بالوحدة.
يمكن برمجة AD9833 لإخراج موجة جيبية أو مثلثية أو مربعة. عند تشغيل الوحدة لأول مرة، فإنها تقوم تلقائياً بإخراج موجة جيبية افتراضية بتردد 1 كيلوهرتز.
تنشئ AD9833 موجات جيبية باستخدام مذبذب رقمي متحكم فيه (NCO)، ومعدل طور، وذاكرة للقراءة فقط (ROM) خاصة بجداول الجيب، ومحول رقمي إلى تناظري (DAC).
محول DAC للخرج عبارة عن مصدر تيار عالي المقاومة بدقة 10 بت. تقوم مقاومة حمل مدمجة بقيمة 200 أوم بتحويل التيار إلى خرج جهد 0.6 فولت من الذروة للذروة (Vp-p) يتأرجح بين الأرضي وحوالي +0.6 فولت. عند الترددات التي تزيد عن 1 ميجاهرتز، تبدأ سعة الإشارة في الانخفاض.
عند اختيار الموجة المثلثية، يتم تجاوز ذاكرة الجيب (ROM) ويتم إرسال خرج المذبذب الرقمي (NCO) مباشرة إلى محول DAC الموجود على الشريحة، والذي يوفر خرجاً مثلثياً بدقة 10 بت. سيكون خرج الموجة المثلثية أيضاً حوالي 0.6 فولت من الذروة للذروة حتى 1 ميجاهرتز ثم يبدأ في الانخفاض عند الترددات الأعلى.
يتم إنشاء الموجة المربعة بمجرد إرسال البت الأكثر أهمية (MSB) من بيانات محول DAC إلى الخرج. على عكس نوعي الموجات الآخرين، فإن خرج الموجة المربعة هو مستوى منطقي وسيتأرجح في النطاق الكامل من الأرضي إلى Vcc عبر معظم مداه.
خرج AD9833 متاح في 3 أماكن. على دبوس الرأس المحدد بـ ‘OUT‘، وعلى الدبوس الأوسط لموقع موصل BNC غير المثبت والذي تحيط به 4 دبابيس أرضية، وفي الوسادة المحددة بـ ‘Tset‘.
خرج الوحدة غير مدمج (unbuffered). اعتماداً على التطبيقات، قد يكون من المرغوب فيه إضافة مضخم عملياتي أو مخزن مؤقت مشابه على الخرج لتعديل المستويات و/أو إضافة قدرة قيادة. يحتوي الخرج على موقع لمقاومة ومكثف على التوالي على اللوحة. عند الشحن، يكون موقع المقاومة مزوداً بمقاومة 0 أوم. أما موقع المكثف الأكبر C2 المجاور له فهو غير مزود. إذا كان المطلوب هو التوصيل عبر التيار المتردد (AC coupling) للوحدة، فيمكن إزالة مقاومة 0 أوم وإضافة مكثف إلى C2.
تحتوي الوحدة على واجهة SPI سهلة الاستخدام مكونة من 3 أسلاك تستخدم البيانات (SPI MOSI)، والساعة (SPI CLK)، والتحميل (SPI SS) الذي يسمى FSYNC في AD9833.
تأتي هذه الوحدة مع رؤوس التوصيل (header) غير مثبتة. يتيح لك ذلك تهيئة الوحدة لتلبية متطلباتك الخاصة مثل تحديد جانب اللوحة الذي ترغب في وضع الرأس عليه أو إذا كنت ترغب في لحام الأسلاك لإجراء التوصيلات.
للاستخدام مع لوحات التجارب (breadboards)، نضع الرؤوس في الأسفل بحيث يمكن توصيل الوحدة مباشرة بلوحة التجارب.
إذا كنت تعمل مع الوحدة باستخدام راسم إشارة (O’scope)، فقد تجد أنه من المفيد إضافة دبوس رأس إلى موقع Tset لتوصيل مسبار راسم الإشارة. بالنسبة لبعض التطبيقات، مثل بناء مولد دوال صغير، قد ترغب في إضافة موصل BNC بـ 5 دبابيس إلى الوحدة للسماح بالتوصيل بكابلات BNC المحمية.
توصيلات الوحدة مباشرة جداً.
رأس 1 × 7
تتمتع هذه الوحدات بجودة تصنيع جيدة وتعمل بشكل عام بشكل جيد، ولكن لا تتوقع تشغيلها حتى أقصى تردد محدد بـ 12.5 ميجاهرتز لـ AD9833. إن AD9833 هي شريحة توليف رقمي مباشر (DDS)، ومع اقتراب تردد الخرج من معدل الساعة، وهو 25 ميجاهرتز في هذه الحالة، تبدأ القدرة على إعادة إنتاج الموجة المطلوبة في التدهور.
الاستقرار جيد حتى حوالي 1 ميجاهرتز، ثم تبدأ الموجة في التدهور مع زيادة الترددات من هناك. اعتماداً على نوع الخرج، تظل الإشارة متماسكة بشكل معقول حتى حوالي 5 ميجاهرتز. راجع صور راسم الإشارة أدناه للحصول على فكرة عن الأداء المتوقع.
دقة التردد جيدة. على أساس عينة، قمنا بقياس ما يلي باستخدام خرج الموجة الجيبية.
فيما يلي بعض لقطات موجات راسم الإشارة التي تظهر الأداء النموذجي للموجات الثلاث عند عدة ترددات مختلفة. يتم أخذ القياسات عند موقع الدبوس الأوسط لـ BNC مع مسبار أرضي قصير متصل بإحدى نقاط أرضي BNC.
تُظهر اللقطات الثلاث الأولى خرج الموجة الجيبية عند 1 ميجاهرتز بسعة من الذروة للذروة تبلغ 536 مللي فولت، وعند 5 ميجاهرتز حيث انخفضت السعة إلى 216 مللي فولت وبدأت الموجة تظهر القليل من التشويه، ثم عند 9 ميجاهرتز حيث انخفضت السعة أكثر إلى 104 مللي فولت وبدأت الموجة تتدهور بشكل خطير.
خرج الموجة الجيبية – 1 ميجاهرتز
خرج الموجة الجيبية – 5 ميجاهرتز
خرج الموجة الجيبية – 9 ميجاهرتز (تظهر تدهور الموجة)
تُظهر اللقطات الثلاث التالية خرج الموجة المربعة عند 100 كيلوهرتز بسعة 5.12 فولت، ثم عند 1 ميجاهرتز حيث لا تزال السعة 5.12 فولت ولكن الحواف بدأت تظهر بعض التراجع، ثم عند 5 ميجاهرتز حيث تُظهر تراجعاً كبيراً وانخفضت السعة قليلاً إلى 4.8 فولت.
خرج الموجة المربعة – 100 كيلوهرتز
خرج الموجة المربعة – 1 ميجاهرتز
خرج الموجة المربعة – 5 ميجاهرتز
تُظهر اللقطتان التاليتان خرج الموجة المثلثية عند 1 كيلوهرتز بسعة 616 مللي فولت، وعند 1 ميجاهرتز بسعة 156 مللي فولت.
خرج الموجة المثلثية – 1 كيلوهرتز
خرج الموجة المثلثية – 1 ميجاهرتز
هذه الوحدة ليست سهلة الاستخدام بسبب تعقيد موجة الخرج. يوصى بشدة بالحصول على راسم إشارة لتحديد ما يفعله الخرج مقابل ما تعتقد أنه يجب أن يفعله. إذا كنت تعمل بدون راسم إشارة، يمكن أن يساعد عداد التردد في تحديد تردد الخرج على الأقل.
لأغراض التجريب، يمكنك أيضاً تغذية خرج المولد إلى مدخل تناظري على متحكم دقيق. من خلال قراءة البيانات بمعدل سريع وإرسالها إلى نافذة Serial Plotter، من الممكن التقاط الموجة. لكي يعمل هذا بشكل جيد، يجب الحفاظ على التردد منخفضاً. في المثال المعروض هنا، نحن نلتقط خرج موجة جيبية بتردد 10 هرتز من AD9833 على لوحة Uno.
إليك مثال لبرنامج بسيط يمكن استخدامه لالتقاط الخرج. قم بتوصيل خرج وحدة AD9833 الذي تمت برمجته لموجة بتردد منخفض بمدخل A0 التناظري للمتحكم الدقيق. قم بتنزيل هذا البرنامج ثم افتح نافذة Serial Plotter لرؤية النتيجة. تأكد من ضبط نافذة Serial Plotter على معدل باود 115200.
/* برنامج اختبار قراءة ورسم ADC كود أساسي للقراءة من أحد المنافذ التناظرية وإرسال تلك البيانات إلى نافذة Serial Plotter لاستخدامها كراسم ذبذبات (O'Scope) اقتصادي */ //=============================================================================== // التهيئة //=============================================================================== void setup() { Serial.begin(115200); // ضبط سرعة الاتصال لنافذة مراقب السيريال } //=============================================================================== // البرنامج الرئيسي //=============================================================================== void loop() { int adc_Reading = analogRead(A0); // قراءة القيمة من ADC float voltage = adc_Reading * (5.0 / 1023.0); // تحويل القراءة الخام إلى جهد Serial.println(voltage); // الإرسال إلى نافذة Serial Plotter }
يوضح الرسم البياني أدناه مخرجات نافذة Plotter الناتجة عن موجة جيبية بتردد 10 هرتز.
نافذة Serial Plotter – مخرج الموجة الجيبية 10 هرتز لـ AD9833
إذا كان لديك لوحتا Arduino، يمكنك تشغيل هذا البرنامج على واحدة والبرنامج أدناه على الأخرى، مما يتيح لك التحكم في AD9833 في نفس الوقت. إذا كان لديك لوحة واحدة، يمكنك ضبط شكل الموجة باستخدام البرنامج أدناه ثم تحميل برنامج التقاط ADC لرؤية المخرجات الناتجة.
يستخدم البرنامج أدناه مكتبة MD_AD9833 المتاحة للتنزيل مباشرة من بيئة Arduino IDE.
قم بتوصيل طاقة 3.3 فولت أو 5 فولت، والأرضي (Ground)، وواجهة SPI كما هو موضح أدناه. لا يتم استخدام MISO الخاص بـ SPI نظرًا لأن هذا الجهاز مخصص للكتابة فقط. تأكد من تحديث تعريفات SPI (#define) باستخدام الأطراف (Pins) التي تستخدمها لوحتك لواجهة SPI. يتم عرض بعض الأنواع الشائعة أدناه.
Uno: DATA طرف 11، CLK طرف 13، FSYNC طرف 10
Mega 2560: DATA طرف 51، CLK طرف 52، FSYNC طرف 53
يسمح لك البرنامج باختيار نوع الموجة المراد إخراجها وضبط ترددها. بمجرد تنزيل المكتبة، يتوفر برنامج عينة يقدم نظرة أعمق على الاستخدامات المتقدمة للوحدة، لكن المنطق قد يكون صعب المتابعة قليلاً.
بمجرد تنزيل البرنامج وتشغيله، يمكن إدخال الأوامر في نافذة Serial Monitor. يمكن إدخالها بأحرف صغيرة أو كبيرة. اضغط على Enter لإرسال الأمر إلى المتحكم الدقيق (MCU). بمجرد أن يستقبل الـ MCU الأمر، سيقوم بإعادة إرساله (Echo) إلى نافذة Serial Monitor للتأكيد على استلامه.
الأوامر الصالحة:
/*MD_AD9833 برنامج اختبار * يقوم بتشغيل وحدة مولد الوظائف AD9833 يسمح بضبط شكل الموجة الناتج على جيبي، أو مثلث، أو مربع، أو إيقاف يسمح بضبط التردد على القيمة 1-12500000 يستخدم دبابيس أجهزة SPI القياسية للواجهة، في هذه الحالة الدبابيس 10، 11، 13 */ #include <MD_AD9833.h> #include <SPI.h> // دبابيس اتصال SPI مع الدائرة المتكاملة AD9833 على لوحة Uno #define DATA 11 // رقم دبوس البيانات/MOSI الخاص بـ SPI. تستخدم لوحة Mega 2560 الدبوس 51 #define CLK 13 // رقم دبوس الساعة الخاص بـ SPI. تستخدم لوحة Mega 2560 الدبوس 52 #define FSYNC 10 // رقم دبوس التحميل/SS الخاص بـ SPI. تستخدم لوحة Mega 2560 الدبوس 53 MD_AD9833 AD(FSYNC); // Hardware SPI char readString[9]; // مصفوفة نصية لحفظ قيمة التردد uint32_t freq_Value = 0; // قيمة التردد المراد ضبطها //=============================================================================== // التهيئة //=============================================================================== void setup(void) { AD.begin(); Serial.begin(9600); // تهيئة شاشة العرض التسلسلي PrintCmds(); } //=============================================================================== // البرنامج الرئيسي //=============================================================================== void loop(void) { if (Serial.available()) DoSerial(); // حلقة للبحث عن أي بيانات في المنفذ التسلسلي } //=============================================================================== // روتين فرعي للتعامل مع الأحرف المكتوبة عبر نافذة المراقبة التسلسلية //=============================================================================== void DoSerial() { MD_AD9833::mode_t mode; int index = 0; // فهرس المصفوفة النصية char ch = toupper(Serial.read()); // قراءة الحرف وتحويله إلى حرف كبير Serial.print(ch); // إعادة طباعة الحرف في شاشة العرض التسلسلي للتأكد من استلامه // استخدم جملة Switch/Case للتعامل مع الأوامر المختلفة switch (ch) { case '?': // طباعة الأوامر PrintCmds(); break; case 'F': // ضبط تردد الخرج delay(2); // إعطاء وقت لوصول المزيد من الأحرف for (int i; i < 9; i++) readString[i] = ' '; // مسح المصفوفة النصية while (Serial.available()) // بينما توجد المزيد من الأحرف قادمة { char c = Serial.read(); // قراءة ما تم استقباله ووضعه في المصفوفة النصية readString[index] = c; index++; delay(2); } readString[index] = '\0'; // إضافة رمز النهاية إلى نهاية المصفوفة النصية لجعلها نصاً صالحاً freq_Value = strtoul(readString, NULL, 10); // محاولة تحويل النص إلى رقم طويل غير موقع // نفترض أن القيمة 0 ناتجة عن إدخال غير صالح ونتجاهل الأمر if (freq_Value != 0) { if (freq_Value > 12500000) freq_Value = 12500000; // تحديد القيمة بالحد الأقصى النظري Serial.println(freq_Value); // إعادة طباعة القيمة النهائية للتأكيد AD.setFrequency(0, freq_Value); } break; case 'S': // ضبط نوع الموجة على جيبي (SINE) mode = MD_AD9833::MODE_SINE; AD.setMode(mode); break; case 'T': // ضبط نوع الموجة على مثلث (TRIANGLE) mode = MD_AD9833::MODE_TRIANGLE; AD.setMode(mode); break; case 'Q': // ضبط نوع الموجة على مربع (SQUARE) mode = MD_AD9833::MODE_SQUARE1; AD.setMode(mode); break; case 'O': // إيقاف الخرج (OFF) mode = MD_AD9833::MODE_OFF; AD.setMode(mode); break; } } //=============================================================================== // روتين فرعي لطباعة مجموعة الأوامر على نافذة المراقبة التسلسلية. //=============================================================================== void PrintCmds() { Serial.println("أدخل الأمر:"); // طباعة الأوامر Serial.println("F xxxxx = ضبط التردد بالهرتز"); Serial.println("S = ضبط خرج الموجة الجيبية"); Serial.println("T = ضبط خرج الموجة المثلثة"); Serial.println("Q = ضبط خرج الموجة المربعة"); Serial.println("O = إيقاف الخرج"); Serial.println("? = عرض الأوامر"); }"O = إيقاف تشغيل المخرجات"); Serial.println("? = عرض الأوامر"); }
ملاحظات:
| التصنيفات التشغيلية | ||
| Vcc (جهد المصدر) | النطاق | 2.3 – 5.5 فولت (3.3 أو 5 فولت نموذجياً) |
| التردد | النطاق المحدد | 0 – 12.5 ميجاهرتز |
| أشكال الموجة | جيبية، مثلثية، مربعة | |
| VOut | موجة مربعة (البِت الأكثر أهمية MSB) | 0 – Vcc |
| VOut | الحد الأدنى لجهد خرج المحول الرقمي التناظري (DAC) | 38 ميلي فولت |
| الحد الأقصى لجهد خرج المحول الرقمي التناظري (DAC) | 650 ميلي فولت | |
| الدقة | خرج المحول الرقمي التناظري (DAC) | 10-بِت |
| الأبعاد | الطول × العرض (لوحة الدائرة المطبوعة PCB) | 24 × 20 مم (1 × 0.78 بوصة) |
| ورقة البيانات | Analog Devices | AD9833 |
No reviews yet. Be the first to share your experience!
For more discussion Click Here
Discover More In:
Category: View similar items (وحدة)
يرجى تعبئة النموذج أدناه وسيتواصل معك فريقنا لتزويدك بأسعار الجملة.
وحدة مولد الدوال AD9833 هي مولد موجات جيبية ومثلثية ومربعة قابل للبرمجة من حيث التردد مع واجهة SPI.
يمكن استخدام مولد الدوال AD9833 لتوفير إشارات متنوعة للاختبارات الإلكترونية من خلال العمل كمولد دوال، كما يمكن استخدامه في تطبيقات الاستشعار والتحريك وقياس الانعكاس في النطاق الزمني (TDR) مثل اختبار الكابلات أو تطبيقات FSK أو غيرها من تطبيقات التعديل.
يمكن للوحدة العمل بجهد يتراوح بين 2.3 و5.5 فولت، لذا فهي متوافقة مع المتحكمات الدقيقة بجهد 3.3 و5 فولت.
داخلياً، تحتوي AD9833 على منظم جهد 2.5 فولت وتعمل عند 2.5 فولت. في حال رغبت في تشغيل الوحدة بجهد Vcc أقل من 2.7 فولت، يجب قصر الموقع الموجود على اللوحة والمشار إليه بـ R1 والذي يكون مفتوحاً عادةً، بحيث يتم توصيل VCC مباشرة بمدخل CAP2.5V مما يؤدي إلى تجاوز المنظم الداخلي.
يضيء مؤشر LED أحمر عند توصيل الطاقة بالوحدة.
يمكن برمجة AD9833 لإخراج موجة جيبية أو مثلثية أو مربعة. عند تشغيل الوحدة لأول مرة، فإنها تقوم تلقائياً بإخراج موجة جيبية افتراضية بتردد 1 كيلوهرتز.
تنشئ AD9833 موجات جيبية باستخدام مذبذب رقمي متحكم فيه (NCO)، ومعدل طور، وذاكرة للقراءة فقط (ROM) خاصة بجداول الجيب، ومحول رقمي إلى تناظري (DAC).
محول DAC للخرج عبارة عن مصدر تيار عالي المقاومة بدقة 10 بت. تقوم مقاومة حمل مدمجة بقيمة 200 أوم بتحويل التيار إلى خرج جهد 0.6 فولت من الذروة للذروة (Vp-p) يتأرجح بين الأرضي وحوالي +0.6 فولت. عند الترددات التي تزيد عن 1 ميجاهرتز، تبدأ سعة الإشارة في الانخفاض.
عند اختيار الموجة المثلثية، يتم تجاوز ذاكرة الجيب (ROM) ويتم إرسال خرج المذبذب الرقمي (NCO) مباشرة إلى محول DAC الموجود على الشريحة، والذي يوفر خرجاً مثلثياً بدقة 10 بت. سيكون خرج الموجة المثلثية أيضاً حوالي 0.6 فولت من الذروة للذروة حتى 1 ميجاهرتز ثم يبدأ في الانخفاض عند الترددات الأعلى.
يتم إنشاء الموجة المربعة بمجرد إرسال البت الأكثر أهمية (MSB) من بيانات محول DAC إلى الخرج. على عكس نوعي الموجات الآخرين، فإن خرج الموجة المربعة هو مستوى منطقي وسيتأرجح في النطاق الكامل من الأرضي إلى Vcc عبر معظم مداه.
خرج AD9833 متاح في 3 أماكن. على دبوس الرأس المحدد بـ ‘OUT‘، وعلى الدبوس الأوسط لموقع موصل BNC غير المثبت والذي تحيط به 4 دبابيس أرضية، وفي الوسادة المحددة بـ ‘Tset‘.
خرج الوحدة غير مدمج (unbuffered). اعتماداً على التطبيقات، قد يكون من المرغوب فيه إضافة مضخم عملياتي أو مخزن مؤقت مشابه على الخرج لتعديل المستويات و/أو إضافة قدرة قيادة. يحتوي الخرج على موقع لمقاومة ومكثف على التوالي على اللوحة. عند الشحن، يكون موقع المقاومة مزوداً بمقاومة 0 أوم. أما موقع المكثف الأكبر C2 المجاور له فهو غير مزود. إذا كان المطلوب هو التوصيل عبر التيار المتردد (AC coupling) للوحدة، فيمكن إزالة مقاومة 0 أوم وإضافة مكثف إلى C2.
تحتوي الوحدة على واجهة SPI سهلة الاستخدام مكونة من 3 أسلاك تستخدم البيانات (SPI MOSI)، والساعة (SPI CLK)، والتحميل (SPI SS) الذي يسمى FSYNC في AD9833.
تأتي هذه الوحدة مع رؤوس التوصيل (header) غير مثبتة. يتيح لك ذلك تهيئة الوحدة لتلبية متطلباتك الخاصة مثل تحديد جانب اللوحة الذي ترغب في وضع الرأس عليه أو إذا كنت ترغب في لحام الأسلاك لإجراء التوصيلات.
للاستخدام مع لوحات التجارب (breadboards)، نضع الرؤوس في الأسفل بحيث يمكن توصيل الوحدة مباشرة بلوحة التجارب.
إذا كنت تعمل مع الوحدة باستخدام راسم إشارة (O’scope)، فقد تجد أنه من المفيد إضافة دبوس رأس إلى موقع Tset لتوصيل مسبار راسم الإشارة. بالنسبة لبعض التطبيقات، مثل بناء مولد دوال صغير، قد ترغب في إضافة موصل BNC بـ 5 دبابيس إلى الوحدة للسماح بالتوصيل بكابلات BNC المحمية.
توصيلات الوحدة مباشرة جداً.
رأس 1 × 7
تتمتع هذه الوحدات بجودة تصنيع جيدة وتعمل بشكل عام بشكل جيد، ولكن لا تتوقع تشغيلها حتى أقصى تردد محدد بـ 12.5 ميجاهرتز لـ AD9833. إن AD9833 هي شريحة توليف رقمي مباشر (DDS)، ومع اقتراب تردد الخرج من معدل الساعة، وهو 25 ميجاهرتز في هذه الحالة، تبدأ القدرة على إعادة إنتاج الموجة المطلوبة في التدهور.
الاستقرار جيد حتى حوالي 1 ميجاهرتز، ثم تبدأ الموجة في التدهور مع زيادة الترددات من هناك. اعتماداً على نوع الخرج، تظل الإشارة متماسكة بشكل معقول حتى حوالي 5 ميجاهرتز. راجع صور راسم الإشارة أدناه للحصول على فكرة عن الأداء المتوقع.
دقة التردد جيدة. على أساس عينة، قمنا بقياس ما يلي باستخدام خرج الموجة الجيبية.
فيما يلي بعض لقطات موجات راسم الإشارة التي تظهر الأداء النموذجي للموجات الثلاث عند عدة ترددات مختلفة. يتم أخذ القياسات عند موقع الدبوس الأوسط لـ BNC مع مسبار أرضي قصير متصل بإحدى نقاط أرضي BNC.
تُظهر اللقطات الثلاث الأولى خرج الموجة الجيبية عند 1 ميجاهرتز بسعة من الذروة للذروة تبلغ 536 مللي فولت، وعند 5 ميجاهرتز حيث انخفضت السعة إلى 216 مللي فولت وبدأت الموجة تظهر القليل من التشويه، ثم عند 9 ميجاهرتز حيث انخفضت السعة أكثر إلى 104 مللي فولت وبدأت الموجة تتدهور بشكل خطير.
خرج الموجة الجيبية – 1 ميجاهرتز
خرج الموجة الجيبية – 5 ميجاهرتز
خرج الموجة الجيبية – 9 ميجاهرتز (تظهر تدهور الموجة)
تُظهر اللقطات الثلاث التالية خرج الموجة المربعة عند 100 كيلوهرتز بسعة 5.12 فولت، ثم عند 1 ميجاهرتز حيث لا تزال السعة 5.12 فولت ولكن الحواف بدأت تظهر بعض التراجع، ثم عند 5 ميجاهرتز حيث تُظهر تراجعاً كبيراً وانخفضت السعة قليلاً إلى 4.8 فولت.
خرج الموجة المربعة – 100 كيلوهرتز
خرج الموجة المربعة – 1 ميجاهرتز
خرج الموجة المربعة – 5 ميجاهرتز
تُظهر اللقطتان التاليتان خرج الموجة المثلثية عند 1 كيلوهرتز بسعة 616 مللي فولت، وعند 1 ميجاهرتز بسعة 156 مللي فولت.
خرج الموجة المثلثية – 1 كيلوهرتز
خرج الموجة المثلثية – 1 ميجاهرتز
هذه الوحدة ليست سهلة الاستخدام بسبب تعقيد موجة الخرج. يوصى بشدة بالحصول على راسم إشارة لتحديد ما يفعله الخرج مقابل ما تعتقد أنه يجب أن يفعله. إذا كنت تعمل بدون راسم إشارة، يمكن أن يساعد عداد التردد في تحديد تردد الخرج على الأقل.
لأغراض التجريب، يمكنك أيضاً تغذية خرج المولد إلى مدخل تناظري على متحكم دقيق. من خلال قراءة البيانات بمعدل سريع وإرسالها إلى نافذة Serial Plotter، من الممكن التقاط الموجة. لكي يعمل هذا بشكل جيد، يجب الحفاظ على التردد منخفضاً. في المثال المعروض هنا، نحن نلتقط خرج موجة جيبية بتردد 10 هرتز من AD9833 على لوحة Uno.
إليك مثال لبرنامج بسيط يمكن استخدامه لالتقاط الخرج. قم بتوصيل خرج وحدة AD9833 الذي تمت برمجته لموجة بتردد منخفض بمدخل A0 التناظري للمتحكم الدقيق. قم بتنزيل هذا البرنامج ثم افتح نافذة Serial Plotter لرؤية النتيجة. تأكد من ضبط نافذة Serial Plotter على معدل باود 115200.
/* برنامج اختبار قراءة ورسم ADC كود أساسي للقراءة من أحد المنافذ التناظرية وإرسال تلك البيانات إلى نافذة Serial Plotter لاستخدامها كراسم ذبذبات (O'Scope) اقتصادي */ //=============================================================================== // التهيئة //=============================================================================== void setup() { Serial.begin(115200); // ضبط سرعة الاتصال لنافذة مراقب السيريال } //=============================================================================== // البرنامج الرئيسي //=============================================================================== void loop() { int adc_Reading = analogRead(A0); // قراءة القيمة من ADC float voltage = adc_Reading * (5.0 / 1023.0); // تحويل القراءة الخام إلى جهد Serial.println(voltage); // الإرسال إلى نافذة Serial Plotter }
يوضح الرسم البياني أدناه مخرجات نافذة Plotter الناتجة عن موجة جيبية بتردد 10 هرتز.
نافذة Serial Plotter – مخرج الموجة الجيبية 10 هرتز لـ AD9833
إذا كان لديك لوحتا Arduino، يمكنك تشغيل هذا البرنامج على واحدة والبرنامج أدناه على الأخرى، مما يتيح لك التحكم في AD9833 في نفس الوقت. إذا كان لديك لوحة واحدة، يمكنك ضبط شكل الموجة باستخدام البرنامج أدناه ثم تحميل برنامج التقاط ADC لرؤية المخرجات الناتجة.
يستخدم البرنامج أدناه مكتبة MD_AD9833 المتاحة للتنزيل مباشرة من بيئة Arduino IDE.
قم بتوصيل طاقة 3.3 فولت أو 5 فولت، والأرضي (Ground)، وواجهة SPI كما هو موضح أدناه. لا يتم استخدام MISO الخاص بـ SPI نظرًا لأن هذا الجهاز مخصص للكتابة فقط. تأكد من تحديث تعريفات SPI (#define) باستخدام الأطراف (Pins) التي تستخدمها لوحتك لواجهة SPI. يتم عرض بعض الأنواع الشائعة أدناه.
Uno: DATA طرف 11، CLK طرف 13، FSYNC طرف 10
Mega 2560: DATA طرف 51، CLK طرف 52، FSYNC طرف 53
يسمح لك البرنامج باختيار نوع الموجة المراد إخراجها وضبط ترددها. بمجرد تنزيل المكتبة، يتوفر برنامج عينة يقدم نظرة أعمق على الاستخدامات المتقدمة للوحدة، لكن المنطق قد يكون صعب المتابعة قليلاً.
بمجرد تنزيل البرنامج وتشغيله، يمكن إدخال الأوامر في نافذة Serial Monitor. يمكن إدخالها بأحرف صغيرة أو كبيرة. اضغط على Enter لإرسال الأمر إلى المتحكم الدقيق (MCU). بمجرد أن يستقبل الـ MCU الأمر، سيقوم بإعادة إرساله (Echo) إلى نافذة Serial Monitor للتأكيد على استلامه.
الأوامر الصالحة:
/*MD_AD9833 برنامج اختبار * يقوم بتشغيل وحدة مولد الوظائف AD9833 يسمح بضبط شكل الموجة الناتج على جيبي، أو مثلث، أو مربع، أو إيقاف يسمح بضبط التردد على القيمة 1-12500000 يستخدم دبابيس أجهزة SPI القياسية للواجهة، في هذه الحالة الدبابيس 10، 11، 13 */ #include <MD_AD9833.h> #include <SPI.h> // دبابيس اتصال SPI مع الدائرة المتكاملة AD9833 على لوحة Uno #define DATA 11 // رقم دبوس البيانات/MOSI الخاص بـ SPI. تستخدم لوحة Mega 2560 الدبوس 51 #define CLK 13 // رقم دبوس الساعة الخاص بـ SPI. تستخدم لوحة Mega 2560 الدبوس 52 #define FSYNC 10 // رقم دبوس التحميل/SS الخاص بـ SPI. تستخدم لوحة Mega 2560 الدبوس 53 MD_AD9833 AD(FSYNC); // Hardware SPI char readString[9]; // مصفوفة نصية لحفظ قيمة التردد uint32_t freq_Value = 0; // قيمة التردد المراد ضبطها //=============================================================================== // التهيئة //=============================================================================== void setup(void) { AD.begin(); Serial.begin(9600); // تهيئة شاشة العرض التسلسلي PrintCmds(); } //=============================================================================== // البرنامج الرئيسي //=============================================================================== void loop(void) { if (Serial.available()) DoSerial(); // حلقة للبحث عن أي بيانات في المنفذ التسلسلي } //=============================================================================== // روتين فرعي للتعامل مع الأحرف المكتوبة عبر نافذة المراقبة التسلسلية //=============================================================================== void DoSerial() { MD_AD9833::mode_t mode; int index = 0; // فهرس المصفوفة النصية char ch = toupper(Serial.read()); // قراءة الحرف وتحويله إلى حرف كبير Serial.print(ch); // إعادة طباعة الحرف في شاشة العرض التسلسلي للتأكد من استلامه // استخدم جملة Switch/Case للتعامل مع الأوامر المختلفة switch (ch) { case '?': // طباعة الأوامر PrintCmds(); break; case 'F': // ضبط تردد الخرج delay(2); // إعطاء وقت لوصول المزيد من الأحرف for (int i; i < 9; i++) readString[i] = ' '; // مسح المصفوفة النصية while (Serial.available()) // بينما توجد المزيد من الأحرف قادمة { char c = Serial.read(); // قراءة ما تم استقباله ووضعه في المصفوفة النصية readString[index] = c; index++; delay(2); } readString[index] = '\0'; // إضافة رمز النهاية إلى نهاية المصفوفة النصية لجعلها نصاً صالحاً freq_Value = strtoul(readString, NULL, 10); // محاولة تحويل النص إلى رقم طويل غير موقع // نفترض أن القيمة 0 ناتجة عن إدخال غير صالح ونتجاهل الأمر if (freq_Value != 0) { if (freq_Value > 12500000) freq_Value = 12500000; // تحديد القيمة بالحد الأقصى النظري Serial.println(freq_Value); // إعادة طباعة القيمة النهائية للتأكيد AD.setFrequency(0, freq_Value); } break; case 'S': // ضبط نوع الموجة على جيبي (SINE) mode = MD_AD9833::MODE_SINE; AD.setMode(mode); break; case 'T': // ضبط نوع الموجة على مثلث (TRIANGLE) mode = MD_AD9833::MODE_TRIANGLE; AD.setMode(mode); break; case 'Q': // ضبط نوع الموجة على مربع (SQUARE) mode = MD_AD9833::MODE_SQUARE1; AD.setMode(mode); break; case 'O': // إيقاف الخرج (OFF) mode = MD_AD9833::MODE_OFF; AD.setMode(mode); break; } } //=============================================================================== // روتين فرعي لطباعة مجموعة الأوامر على نافذة المراقبة التسلسلية. //=============================================================================== void PrintCmds() { Serial.println("أدخل الأمر:"); // طباعة الأوامر Serial.println("F xxxxx = ضبط التردد بالهرتز"); Serial.println("S = ضبط خرج الموجة الجيبية"); Serial.println("T = ضبط خرج الموجة المثلثة"); Serial.println("Q = ضبط خرج الموجة المربعة"); Serial.println("O = إيقاف الخرج"); Serial.println("? = عرض الأوامر"); }"O = إيقاف تشغيل المخرجات"); Serial.println("? = عرض الأوامر"); }
ملاحظات:
| التصنيفات التشغيلية | ||
| Vcc (جهد المصدر) | النطاق | 2.3 – 5.5 فولت (3.3 أو 5 فولت نموذجياً) |
| التردد | النطاق المحدد | 0 – 12.5 ميجاهرتز |
| أشكال الموجة | جيبية، مثلثية، مربعة | |
| VOut | موجة مربعة (البِت الأكثر أهمية MSB) | 0 – Vcc |
| VOut | الحد الأدنى لجهد خرج المحول الرقمي التناظري (DAC) | 38 ميلي فولت |
| الحد الأقصى لجهد خرج المحول الرقمي التناظري (DAC) | 650 ميلي فولت | |
| الدقة | خرج المحول الرقمي التناظري (DAC) | 10-بِت |
| الأبعاد | الطول × العرض (لوحة الدائرة المطبوعة PCB) | 24 × 20 مم (1 × 0.78 بوصة) |
| ورقة البيانات | Analog Devices | AD9833 |
No reviews yet. Be the first to share your experience!
For more discussion Click Here
Discover More In:
Category: View similar items (وحدة)
يرجى تعبئة النموذج أدناه وسيتواصل معك فريقنا لتزويدك بأسعار الجملة.
متطلبات مخصصة؟
منتجات ذات صلة