צורת דלתא היא טכניקה המשמשת במערכות תקשורת דיגיטליות כדי להמיר אותות אנלוגיים לסימנים דיגיטליים עם מורכבות מינימלית. על ידי אופטימיזציה רק ההבדל בין דגימות מוצלחות ולא ערך האות המוחלט, מודולר דלה משיג צריכת חשמל נמוכה וחומרה פשוטה תוך שמירה על מידע אותות חיוני.לבנות מתאם דלה באמצעות Arduino ורכיבים אלקטרוניים בסיסיים הוא פרויקט מצוין לחובבי אלקטרוניקה ולמידה על עיבוד אנלוגי ומספקת-שלב זה, כגון הדרכה יסודית, עיצוב.

הבנה של Delta Modulation

צורתו של דלתא (DM) היא צורה של Modulation הדופק-קודי שונה שדומה לאות אנלוגי על ידי מעקב אחר השינויים שלה ולא האמרה המוחלטת שלה.המערכת משווה את דגימת הקלט הנוכחית עם ההערכה הקודמת.אם הקלט גדול יותר, המודולטור מתווה 1; אם קטן יותר, 0.1 סיביות זה ממיר זרם דיגיטלי חד-ביט יחיד זה ממריץ כי הוא משקף את האותות, אשר דורש לעתים קרובות ל-מחדשה-מחדש (מחדש) כדי לשחזר את ה-מחדש) או ל-מחדשהת-מחדשה-מחדשה (מחדש) כלומר, אשר דורש רק את ה-מחדשה-מחדש) או ל-מחדש) באופן קבוע-מחדש) עם אדפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפט (מחדש) באופן קבוע (מחדש) רק עם מכשיר דיגיטלי (מחדש) ו-מחדש) באופן קבוע (מחדש) באופן קבוע (מחדש) ו-

שני מדדי ביצועים חשובים שולטים בעיצוב Modulation delta: מדרדר יתר ורעש גרניט. Slope overload מתרחשת כאשר אות קלט משתנה מהר יותר מאשר אינגרה יכול לעקוב, גרימת האות המשוחזר ללג מאחורי רעש גרנורי, הנקרא גם רעש אדדל, עולה כאשר האות משתנה לאט מאוד או נשאר קבוע, ומייצרת 1 ו 0s כי יוצרות מהירויות קטנות סביב גודל של מטבולית, כאשר אותות מדויקים יכול להתאים את גודלו של בוהק.

כלים ומכשולים

בניית מודולל פונקציונלי דלתא דורש מבחר של רכיבים אלקטרוניים זמינים בדרך כלל וציוד בדיקה.הרשימה מתחת מכסה את הפריטים החיוניים; מפרטים מדויקים נדון בסעיף עיצוב המעגל.

  • (FLT:0)Arduino Uno או microcontrollereurveFLT:1) - מספק דיגיטלי I / O, PWM פלט, ו-USB עבור debugging.
  • (FLT:0) מגבר תפעולי (op-amp)cioFLT:1) - המשמש כמתמחה.
  • (FLT:0)Comparator או Schmitt טריגרלה 1 בינואר) - הופך את ההבדל האנלוגי לאות דיגיטלית נקייה. An LM393 או מובנה-in Arduino comparator (אם זמין) עובד.
  • (ב) [ה] [ה]]: [ה] [ה]] [ה]] [ה]]] [ב]], [ב], [ב], [ב]], [ה]], [ה], [ה], [ה], [ה],]], [התחילה], [ה], [ה], [ה], [ה], [ה],], [ה], [ה], [ה], [ה], [ה], [ה], [ה], [ה], [ה],],], [ה], [ה], [ה],], [ה], [ה],],], [ה], [ה] [ה], [ה], [ה], [ה], [ה], [ה], [ה],],],], [ה],], [ה],],],], [ה], [ה], [ה], [ה],],]], [ה], [ה],], [ה],
  • (ב) ,0) ,CapacitorsphFLT:1 - בדרך כלל 0.1 μF ל 10 מיקרוF עבור תזמון integrator ואספקת חשמל decoupling.
  • (FLT:0) ממירל-ל-אנט-אנט-אנט (DAC) או PWM עם מסננים נמוכים-passFLT:1 - כדי לייצר את המתח האנלוגי המשוחזר מה bitstream הדיגיטלי. A פשוט מסנן RC על פי סטפני Arduino PWM מספיק עבור יישומים רבים.
  • (ב) ויקרא י"א: "ה', ו'"ה'" (בראשית כ"ד)
  • (FLT:0)Oscilloscope או ניתוח לוגיקה (Palph 1) - עבור הדמיה של אותות במהלך בדיקה. לחלופין, השתמש במזימה הסידורית של Arduino.
  • (ב) ויקרא י"א: ויקרא י"ד): "לספק אותות של דבקות כגון גלי חטא או טונים אודיו.

עיצוב

שלב השוואתי

ההשוואה משווה את אות הקלט עם הפלט המשוחזר (feedback) Connect את אות קלט אנלוגי לקלט שאינו מונע (+) של ה-Comparator (הההפצה) מקבל את הפלט של אינגרה, המייצג את רמות הפלט הנוכחיות של ה- comparo-exe עולה על ההערכה, התפוקה של ה- comparator הולכת גבוה (לוגיקה 1) אחרת זה הולך נמוך (למשל אם הוא באמצעות OPD3) עם תיקון פתוח, או תיקון, כמו תיקון, כלומר, עם תיקון, או תיקון פתוח.

Integrator (Revision Filter)

ה- Integrator ממיר את אות הבקרה הדיגיטלית (1 או 0) למתח אנלוגי שעוקב אחר הקלט. A קלאסי מונע את ה- Rtegrator שנבנה סביב תצלום פועל היטב. Connect a Resistanceor R מהשורה של הבקרה הדיגיטלית (למשל, קידוד Arduino או DAC) כדי למנוע את קלט ה-Damp. Place ccor בין ה-Freper לבין הפונקציה t Fret rep (p) {\displaystyle t-pret=p ret) ל-D.

Digital-to-Analog Conversion: PWM Method

במקום להשתמש שבב DAC ייעודי, רבים ממודולטורים המבוססים על Arduino מייצרים את האות המשוחזר עם Modulation הדופק-width (PWM) ואחריו מסנן רוחב פס אנלוגי נמוך.התפקיד של Arduino של Arduino:0 הפונקציה מייצרת גל ריבועי בערך 490Hz (default) או 980 (על פי pins מסוימים).

« « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « «

מודול דלתא פועל סינכרון: בכל טייפ שעון, פלט הנספח מכווץ על ידי ארדונו להפריע או לוח זמנים. ואז אות הבקרה הדיגיטלית מעדכן את הממריץ (דרך PWM או DAC) קצב השעון קובע את תדירות הדגימה להפריע Dduino.עבור אות אודיו של כמה קילוהרץ, שעון של 10-100 הוא טיפוסי כדי ליצור את הזמן הפנימי של Arlopr.

בכל רגע מדגם, Arduino קורא את רצף הפלט של ה-Comparator.אם ה bit גבוה, הוא מגביר את מחזור החובה PWM (או DAC) על ידי צעד קבוע; אם נמוך, הוא יורד.גודל הצעד ( ⁇ ) שווה את השינוי המתח integrator למחזור שעון.עם טווח VWM ו- 8-bit, כל צעד הוא בערך 19.5 מ"מ) לשימוש חיצוני עם גודל של DM.

בניית המעגל

האסיפה על לוח לחם

התחל על ידי הצבת הדגה וההפרדור ICs על לוח הלחם. Connect כוח (VCC = 5 V מ Arduino, GND) הוסף decoupling capacitors (0.1 μF) קרוב לתנודות האספקה של כל IC.

  1. (FLT:0) IntegratorFLT:1: Wire the Op-amp כגורם מופנם ל- integrator. Connect a 10 k ⁇ התנגדות מתוך רצף הפלט של Arduino PWM (למשל, pin 9) כדי למנוע את הקלט. Place a 0.1 מיקרוF capacitor בין הפלט ומניעה של אי-in-in-in-in-in'ting ל-2.5 ליטר (Vuse) ל- 2 ליטרים של 2 ליטרים (Ver) ל-V2 ליטרים (במטרהחליפקודדלהלן: 2 ליטרים)
  2. (FLT:0)Comparatororph:1: לחבר את אות קלט (מנרטור אות) לשורה הלא-מחדשת של LM393. Connect the integrator פלט ל-Switching.The LM393 פלט (Collector) דורש התנגדות של משיכה (למשל, 10 k ⁇ ל-5 V).
  3. (ב) ,0) ,FeedbackFLT:1: הפלט integrator מתחבר גם למוניטור האנלוגי (Arduino A0) עבור debugging.
  4. (FLT:0)PWMoriFLT:1: מן ה- Arduino PWM pin (שדומה לקלט אינטגרטור), להוסיף מסנן נמוך-פס: 1 k ⁇ התנגדות בסדרה ואחריו 10 μF capacitor כדי הקרקע.זה מסונן PWM הוא אות משוחזר ניתן לצפות על 2 של oscilloscope.

עוצמה ושיקולים

שמור חיבורים אנלוגיים ודיגיטליים נפרדים כדי להימנע מזרקת רעש דיגיטלי לתוך integrator. השתמש חוטים קצרים ומקומ על ידי עקפים capacitors ליד כל IC. אם אות קלט הוא דו קוטבי (למשל, ±2 V), להטיא את קלטי ה- comparator כך האות הוא הפנה ל-2.5 V. עבור אות AC טהור, להוסיף DC מ-V באמצעות מתח מתפצל עם כבל.

תכנות Arduino

הסקיצת Arduino מיישמת את אלגוריתם המודולציה של דלה בזמן אמת.הלאה הליבה קוראת את bit ה-Comparator, מעדכנת את מחזור החובה של הפלט בהתאם, וחוזרת בקצב מדגם קבוע. A timer מפריע תזמון עקבי, הימנעות ג'טר שמדכא ביצועים.

אלגוריתאם Pseudocode

Initialize:
 set PWM pin 9 to output
 set comparator pin 2 as input
 set timer1 to generate interrupt at desired sample rate (e.g., 50 kHz)
 clk = 0

Interrupt Service Routine:
 read comparator pin → bit
 if bit == HIGH:
 duty_cycle = duty_cycle + step_size
 else:
 duty_cycle = duty_cycle - step_size
 clamp duty_cycle between 0 and 255
 analogWrite(9, duty_cycle)

 (Optional) debug: send bit via Serial to plotter

תגית: Code Snippet

להלן ⁇ Arduino מינימלית באמצעות Timer1 עבור דגימה מדויקת.זה פועל בערך 50 kHz, מתאים למעקב אחר אותות אודיו בינוניים.

// Delta Modulator using Arduino Uno
// Uses Timer1 to sample comparator at 50 kHz

const int compPin = 2; // comparator output
const int pwmPin = 9; // PWM output to integrator
const int stepSize = 10; // adjust for tracking speed

volatile int duty = 128; // initial midpoint

void setup() {
 pinMode(compPin, INPUT);
 pinMode(pwmPin, OUTPUT);

 // Setup Timer1 for 50 kHz interrupts
 TCCR1A = 0; // normal mode
 TCCR1B = 0;
 TCNT1 = 0;
 OCR1A = 319; // (16 MHz / (prescaler * desired frequency)) - 1
 // for 50 kHz: 16e6/(1*50e3)-1 = 319
 TCCR1B |= (1 << WGM12); // CTC mode
 TCCR1B |= (1 << CS10); // prescaler = 1
 TIMSK1 |= (1 << OCIE1A); // enable interrupt
}

ISR(TIMER1_COMPA_vect) {
 int bit = digitalRead(compPin); // read comparator
 if (bit == HIGH) {
 duty += stepSize;
 if (duty > 255) duty = 255;
 } else {
 duty -= stepSize;
 if (duty < 0) duty = 0;
 }
 analogWrite(pwmPin, duty);
}

void loop() {
 // nothing to do here – all work in ISR
}

מותאם (FLT 3: 3) וקצב הדגימה כדי להתאים מעקב אחר צעד גדול יותר מגביר את מהירות המעקב, אבל גם רעש גרניט. Compromise הוא הכרחי. עבור בדיקות ראשוניות, להתחיל עם קצב של 5 ודגם של 10 kHz, ואז להגדיל את שניהם.

בדיקות ו-Celbration

אותות חזותיים

צור בדיקה של אוקטילוסקופ לאות קלט ולפלט integrator (המוסמך PWM) החל גל חטא של 1 kHz של 2 V שיא-to-peak עם 2.5 V DC מהפך כך האות נשאר בתוך טווח 0-5 VG. עיין באופן משמעותי מדי של הפלט ה-Digortgateration, אם הפלט ה-Tgateertgaterate הוא בדרך כלל עולה, כאשר הוא גבוה יותר מדי, כאשר הוא גורם מדרגות חיובי, כאשר הוא מעלה, הוא מעלה, כאשר הוא מעלה, הוא מעלה, כאשר הוא מעלה, הוא מעלה, כאשר הוא מעלה את קצב ה-Freper חיובי, כאשר הוא מעלה, כאשר הוא מעלה, כאשר הוא מעלה, הוא מעלה, כאשר הוא גורם מדרגות קידוד הוא מעלה, הוא מעלה, אם הוא מעלה, אם הוא מעלה, אם הוא גורם גבוה יותר מדי, אם הוא מעלה, אם הוא מעלה, הוא מעלה, כאשר הוא מעלה, הוא מעלה, כאשר הוא מעלה, אם הוא מעלה את הגרף גבוה יותר מדי, אם הוא גורם מדרגות מהירות גבוהה יותר מדי, אם הוא גורם גבוה יותר מדי, אם הוא גורם מדרגות קידוד הוא מעלה, אם הוא מעלה, אם הוא מעלה, אם הוא מעלה, אם הוא מעלה, אם הוא

השתמש ב-Arduino Serial Plotter (Tools > Serial Plotter) כדי לראות את זרם ה-Uparator bit ואת האות המשוחזר אם תשלח אותם דרך Serial מהלאה העיקרית (לא בתוך ISR).

המונחים: Components

זמן ההסגרה קובע את גודל הצעד. עבור ערך RC נתון ותקופת הדגימה T, שינוי המתח על צעד הוא ⁇ V = (V pwm גבוה - V ref) * T / (RC עבור שיטת PWM, V pwm גבוה הוא 5 V ואת מחזור החובה משנה את capacitor המסנן על ידי כמות פרופורציונלית עם מתח דומה; אבל פחות מתאים Racio low t.

בדוק עבור הפיכה רעש.אם ה-Comparator גורם ל- אספקת חשמל ripple, להוסיף היסטריה עם התנגדות משוב חיובי (למשל, 100 k ⁇ מפלט מ-Comparator לקלט לא מונע) זה יוצר גורם Schmitt עם אזור קטן מת, אשר מסייע גם להפחית צ'אט.

יישומים וריאציות

בעוד מודולל מבוסס דלתא משמש ככלי חינוכי, יש לו גם שימושים מעשיים. Delta Modulation הוא מועסק בהקלטה דיגיטלית זולה אודיו דיגיטלי, דחיסת קול (למשל, משתנה בהתמדה מודולציה סלופה דלתא או CVSD), ובמערכות תקשורת שבו רוחב פס הוא מוגבל.החומרה הפשוטה והחד-bit לייצר אותו אידיאלי עבור ערוצים רועשים.

שיפורים למעגל הבסיסי כוללים:

  • (FLT:0) שינוי דלתא (ADM)BuildFLT:1: לוגיקה שליטה מתאמת את גודל הצעד בהתבסס על דפוס של ביטים האחרונים (למשל, אם שלושה 1s רצופים, עלייה בתוכנות על Arduino על ידי ניטור רצף הפלט של ה-Comparator.
  • (FLT:0) אינטגרציה קוטבית 1: שימוש באספקת חשמל כפולה ו אינגרה דו קוטבית כדי להתמודד עם אותות AC ללא הטיה DC, הרחבת טווח דינמי.
  • (ב) [ה]הדרגות של סמפלינג'ר: Replace Arduino עם Teensy או מיקרובקר מהיר יותר עבור רוחב פס עד עשרות קילוולץ, שימושי עבור אודיו.
  • (ב) ,0) ,External DigcFLT:1: השתמש ב- MCP4921 או DAC0800 לקבלת החלטה טובה יותר של צעד ורעש נמוך יותר מאשר פילטר PWM.

(ב) תאוריה מעמיקה יותר, עיין במקורות סמכותיים כגון FLT:0 (Wikipedia Delta Modulation דף FLT:1 ו-FLT:2Analog מכשירים הדגמה integrator הדרווירטוט FLT 3: Arduino-פרטים ספציפיים על PWM ניתן למצוא בתיעוד PWMorituino P-Falph:5:5;

מסקנה

בניית מודולטור דלתא עם Arduino ורכיבים בסיסיים demystifies טכניקה עיבוד אותות בסיסי. על ידי בניית קומפוטור, integrator, ו- משוב לולאה, ועל ידי כתיבת שגרת דגימה מדויקת, אתה מקבל תובנות על ידי על איך אותות אנלוגיים הם דיגיטציה דרך אופטימיזציה שונים.