נגן שירים באמצעות Arduino באמצעות ADC ל- PWM על שנאי או רמקול של Flyback: 4 שלבים
נגן שירים באמצעות Arduino באמצעות ADC ל- PWM על שנאי או רמקול של Flyback: 4 שלבים
Anonim
נגן שירים באמצעות Arduino באמצעות ADC ל- PWM על שנאי Flyback או רמקול
נגן שירים באמצעות Arduino באמצעות ADC ל- PWM על שנאי Flyback או רמקול
נגן שירים באמצעות Arduino באמצעות ADC ל- PWM על שנאי Flyback או רמקול
נגן שירים באמצעות Arduino באמצעות ADC ל- PWM על שנאי Flyback או רמקול
נגן שירים באמצעות Arduino באמצעות ADC ל- PWM על שנאי Flyback או רמקול
נגן שירים באמצעות Arduino באמצעות ADC ל- PWM על שנאי Flyback או רמקול
נגן שירים באמצעות Arduino באמצעות ADC ל- PWM על שנאי Flyback או רמקול
נגן שירים באמצעות Arduino באמצעות ADC ל- PWM על שנאי Flyback או רמקול

היי ח'ברה, זהו החלק השני של ההוראה הנוספת שלי (שהייתה קשה בהרבה), בעיקרון, בפרויקט הזה השתמשתי ב- ADC וב- TIMERS בארדואינו כדי להמיר אות אודיו לאות PWM.

זה הרבה יותר קל מההוראה הקודמת שלי, הנה הקישור של המדריך הראשון שלי אם אתה רוצה לראות. קישור

כדי להבין את התיאוריה של אות שמע, קצב סיביות, עומק סיביות, קצב דגימה, אתה יכול לקרוא את התיאוריה במדריך האחרון שלי בנושא Instructable. הקישור למעלה.

שלב 1: דברים שאנחנו צריכים לפרויקט זה (דרישות)

1. לוח Arduino (אנו יכולים להשתמש בכל לוח (328, 2560) כלומר מגה, אונו, מיני וכו 'אך עם סיכות שונות ספציפיות)

2. מחשב עם Arduino Studio.

3. קרש או פרדבורד

4. חיבור חוטים

5. TC4420 (נהג Mosfet או דבר כזה)

6. Power Mosfet (ערוץ N או P, אנא חברו אז בהתאם) (השתמשתי בערוץ N)

7. רמקול או שנאי Flyback (כן קראתם נכון !!)

8. ספק כוח מתאים (0-12V) (השתמשתי באספקת כוח ATX משלי)

9. גוף קירור (הצילתי מהמחשב הישן שלי).

10. מגבר (מגבר מוסיקה רגיל) או מעגל מגבר.

שלב 2: תיאוריה של ADC ל- PWM

תיאוריה של ADC ל- PWM
תיאוריה של ADC ל- PWM
תיאוריה של ADC ל- PWM
תיאוריה של ADC ל- PWM

אז בפרויקט זה השתמשתי ב- ADC בנוי של Arduino לביצוע דגימת נתונים של אות שמע.

ADC (ממיר אנלוגי לדיגיטלי) כפי שמגדיר השם, ADC ממיר אות אנלוגי לדגימות דיגיטליות. ולארדואינו בעומק מרבי של 10 סיביות. אך לפרויקט זה נשתמש בדגימה של 8 סיביות.

בעת השימוש ב- ADC של Arduino, עלינו לזכור את מתח ADC_reference.

Arduino Uno מציע 1.1V, 5V (הפניה פנימית, שניתן להגדיר בהגדרה בקוד) או הפניה חיצונית (אותה עלינו להחיל חיצונית על סיכת AREF).

על פי הניסיון שלי, מינימום 2.0V צריך לשמש כמתח התייחסות כדי לקבל תוצאה טובה מ- ADC. כמו 1.1V לא הלך טוב לפחות בשבילי. (ניסיון אישי)

*חשוב**חשוב ** חשוב ** חשוב ** חשוב*

עלינו להשתמש באות שמע מוגבר ממגבר או ממעגל מגבר בעל מתח שיא (מקס מתח) של 5V

מכיוון שהגדרתי את התייחסות המתח הפנימית של 5V לפרויקט שלנו. ואני משתמש באות מוגבר באמצעות מגבר רגיל (מגבר מוסיקה), שזמין בעיקר במשק הבית שלנו או שאתה יכול לבנות כזה בעצמך.

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

לכן, נשתמש בקצב דגימה של 33.33Khz בפרויקט זה, על ידי הגדרת שעון ה- ADC על 500Khz. כדי להבין איך זה, עלינו לראות את דף התזמון של ADC בגיליון הנתונים של שבב Atmega (328p).

אנחנו יכולים לראות את זה, אנחנו צריכים 13.5 מחזורי שעון ADC כדי להשלים מדגם אחד עם דגימה אוטומטית. עם תדר של 500Khz, זה אומר 1/500Khz = 2uS למחזור ADC אחד, כלומר 13.5*2uS = 27uS נחוצים להשלמת דגימה בעת שימוש בדגימה אוטומטית. על ידי מתן 3uS יותר למיקרו -בקר (למען הצד הבטוח), ביצוע סך של 30uS לגמרי לדגימה אחת.

אז מדגם אחד ב- 30uS פירושו 1/30uS = 33.33 KSamples/S.

כדי להגדיר את קצב הדגימה, התלוי ב- TIMER0 של Arduino, מכיוון שהדק הדגימה האוטומטית של ADC תלוי בכך במקרה שלנו, כפי שניתן לראות גם בקוד ובגיליון הנתונים, ערכנו את הערך של OCR0A = 60 (מדוע כן ???)

כי לפי הנוסחה שניתנה בגיליון הנתונים.

תדירות (או כאן קצב הדגימה) = תדירות השעון של Arduino/Prescaler*ערך ה- OCR0A (במקרה שלנו)

תדר או קצב דגימה שאנחנו רוצים = 33.33KHz

תדר השעון = 16MHz

ערך מכשיר טיל = 8 (במקרה שלנו)

ערך OCR0A = אנחנו רוצים למצוא ??

שפשוט נותן OCR0A = 60, גם בקוד הארדואינו שלנו.

TIMER1 משמש לגל נושא של אות שמע, ואני לא אכנס לכל כך הרבה פרטים על זה.

אז זו הייתה התיאוריה הקצרה של המושג ADC ל- PWM עם Arduino.

שלב 3: סכמטי

סכמטי
סכמטי

חבר את כל הרכיבים כפי שמוצג בתרשים. אז יש לכם כאן שתי אפשרויות:-

1. חבר רמקול (מחובר עם 5V)

2. חבר שנאי Flyback (מחובר עם 12V)

ניסיתי את שניהם. ושניהם עובדים די טוב.

*חשוב**חשוב ** חשוב ** חשוב ** חשוב*עלינו להשתמש באות שמע מוגבר ממגבר או ממעגל עם מתח שיא (מקס מתח) של 5V

כתב ויתור:-

*אני ממליץ להשתמש בשנאי Flyback בזהירות מכיוון שהוא עלול להיות מסוכן מכיוון שהוא מייצר מתח גבוה. ולא אהיה אחראי לכל נזק.*

שלב 4: מבחן אחרון

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

ואל תשכח לחבר את כל סיכות הקרקע לקרקע משותפת.

ורק תהנה להאזין למוזיקה.