תוכן עניינים:

מחולל פונקציות: 12 שלבים (עם תמונות)
מחולל פונקציות: 12 שלבים (עם תמונות)

וִידֵאוֹ: מחולל פונקציות: 12 שלבים (עם תמונות)

וִידֵאוֹ: מחולל פונקציות: 12 שלבים (עם תמונות)
וִידֵאוֹ: איך להכין נוזל להפרחת בועות סבון - ליהי מינץ 2024, נוֹבֶמבֶּר
Anonim
מחולל פונקציות
מחולל פונקציות
מחולל פונקציות
מחולל פונקציות

מדריך זה מתאר את עיצוב מחולל הפונקציות המבוסס על המעגל המשולב האנלוגי של Maxims MAX038

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

כיום ישנם שני סוגים עיקריים של מחוללי פונקציות; דיגיטלי, (מבוסס DSP, DDS …) המשמשים יותר ויותר פעמים אנלוגיות, שהיו המקורות.

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

מאז הרבה זמן רציתי לתכנן מחולל פונקציות שימושי, שיכול איכשהו לשלב כמה מהיתרונות של שני הסוגים (אנלוגי ודיגיטלי). החלטתי לבסס את העיצוב על שבב Maxim MAX038*

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

קיימים גם שבבי מחולל פונקציות אנלוגיים אחרים (XR2206 מ- Exar, icl8038 מאינטרסיל), אבל היה לי

אחד MAX038 זמין, והשתמשתי בו. התכונות הדיגיטליות של מחולל הפונקציות בוצעו על ידי שבב Atmega328 אחד. תפקידיו הם כדלקמן:

  • שולט על בחירת טווח התדרים
  • שולט על סוג האות (סינוס, מלבני, משולש, מנסרת)
  • מודד את משרעת האות
  • מודד את קיזוז DC
  • מודד את תדירות האות
  • מודד את ה- THD של אות הסינוס בטווח השמע (זה עדיין צריך להיות מיושם)
  • מציג את כל המידע הזה על צג LCD בגודל 16x2.

שלב 1: תיאור MAX038

תיאור MAX038
תיאור MAX038

צירפתי את גליון הנתונים MAX038. ניתן לראות את פרמטרי השבב החשובים ביותר:

♦ 0.1Hz עד 20MHz טווח תדרי הפעלה

♦ צורות גל משולש, מסור, סינוס, ריבוע ודופק

♦ התאמות תדירות ומחזור עבודה בלתי תלוי

♦ 350 עד 1 טווח טאטוא תדר

♦ 15% עד 85% מחזור עבודה משתנה

♦ מאגר פלט בעל עכבה נמוכה: 0.1Ω

♦ היפוך טמפרטורה נמוך 200ppm/° C

דרישה חשובה נוספת היא הצורך באספקה כפולה (± 5V). משרעת הפלט קבועה (~ 2 VP-P עם קיזוז 0 V DC).

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

שלב 2: המעגל…

המעגל…
המעגל…

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

1) נוריות LED מציגות את טווח התדרים הפעיל הנוכחי, אך הוא מוצג גם על LCD;

2) נוריות LED משמשות גם לציון סוג האות, אך גם ה- LCD מציג מידע זה

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

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

מיותרים הם גם קבלים הסינון - לכל שבב אנלוגי בו נעשה שימוש יש בנק קבלים משלו (טנטלום + קבלים קרמיים לשני הציוד). אפשר גם להשמיט כמה מהם.

שלב 3: הסבר על מעגל - ספק כוח (1)

הסבר על מעגל - ספק כוח (1)
הסבר על מעגל - ספק כוח (1)

כפי שאמרתי הגנרטור הזה דורש אספקה כפולה. המתח החיובי נוצר על ידי שימוש בווסת מתח ליניארי 7805. ההיצע השלילי נוצר על ידי שבב 7905. נקודת הברז האמצעית של השנאי 2x6V מחוברת לקרקע המשותפת של הלוח. ספקי הכוח שנוצרו - גם החיובי וגם השלילי מופרדים לאנלוגי ודיגיטלי על ידי סתימות. שני נוריות מצביעות על הימצאות כל אספקה.

שלב 4: הסבר על מעגל - בקרת טווח תדרים (2)

הסבר על מעגל - בקרת טווח תדרים (2)
הסבר על מעגל - בקרת טווח תדרים (2)

כדי לכסות טווח תדרים גדול משתמשים בבנק קבלים מרובים. לקבלים יש ערכים שונים והם מגדירים תחומי תת תדרים שונים. רק אחד מהקבלים האלה משמש במהלך העבודה - הלוח התחתון שלו מקורקע על ידי מתג טרנזיסטור MOS. אילו צלחות תחתית של קבלים שיש להארקה נשלטות על ידי ה- Atmega328 על ידי שימוש בשבב demultiplexer 74HC238. כבוררי MOS השתמשתי בטרנזיסטורים BSS123. הדרישה העיקרית למתג זה היא בעל רון נמוך וקיבול הניקוז הנמוך ביותר האפשרי. ניתן להשמיט את השליטה הדיגיטלית של בנק הקבלים - הלוח המכיל מכיל חורים להלחמת החוטים למתג סיבוב מכני.

שלב 5: הסבר על מעגל - התאמת התדרים (3)

הסבר על המעגל - התאמת התדרים (3)
הסבר על המעגל - התאמת התדרים (3)

בתמונה מוצגים מעגל בקרת מחזור התדירות והחובה. שם השתמשתי באופמפ הסטנדרטי LM358 (מגבר כפול באריזה אחת). השתמשתי גם בפוטנציומטרים כפולים של 10K.

שבב MAX038 מייצר התייחסות מתח פנימית 2.5V, המשמשת בדרך כלל כהפניה לכל ההתאמות.

מתח זה מופעל בכניסה ההפוכה של IC8a והוא מייצר התייחסות למתח שלילי המשמשת ל- DADJ (התאמת מחזור החובה). שני המתחים מוחלים על הפוטנציומטר של ה- DADJ, שהברז האמצעי נאגר ומוחל על סיכת ה- DADJ של שבב MAX038. ניתן להשתמש במגשר JP5 להשבתת פונקציית DADJ כאשר הוא מחובר לאדמה. בקרת התדרים "קורס" מתבצעת על ידי שינוי הזרם השקוע / שמקורו בסיכת MAX038 "IIN". זרם זה מוגדר על ידי הנגד R41 ומתח היציאה של ה- opamp המאגר את הברז האמצעי של פוטנציומטר בקרת תדר הקורס. כל אלה ניתנים להחלפה בפוטנציומטר יחיד (בחיבור מחדש) בין סיכות ה- REF ו- IIN MAX038.

שלב 6: הסבר על מעגל - בקרת משרעת, ייצור אותות SYNC … (4)

הסבר על מעגל - בקרת משרעת, יצירת אותות SYNC … (4)
הסבר על מעגל - בקרת משרעת, יצירת אותות SYNC … (4)
הסבר על מעגל - בקרת משרעת, ייצור אותות SYNC … (4)
הסבר על מעגל - בקרת משרעת, ייצור אותות SYNC … (4)
הסבר על מעגל - בקרת משרעת, יצירת אותות SYNC … (4)
הסבר על מעגל - בקרת משרעת, יצירת אותות SYNC … (4)
הסבר על מעגל - בקרת משרעת, ייצור אותות SYNC … (4)
הסבר על מעגל - בקרת משרעת, ייצור אותות SYNC … (4)

כפי שנכתב בגליון הנתונים לאות הפלט pf ל- MAX038 יש משרעת ~ 1 V עם מתח DC שווה לפוטנציאל הקרקע.

רציתי לקבל את האפשרות לשלוט על משרעת האותות ולהיות מסוגל להגדיר בעצמי את קיזוז ה- DC. כתכונה נוספת רציתי לקבל אות SYNC עם רמות CMOS במקביל לאות הפלט. כברירת מחדל, שבב MAX038 מייצר אות כזה, אך בגיליון הנתונים קראתי שאם תכונה זו מופעלת (מה שאומר - פין+ DV המחובר ל -5 וולט), ניתן לראות כמה פסגות (רעש) באות האנלוגי הפלט. רציתי לשמור זה נקי ככל האפשר ומסיבה זו יצרתי את האות SYNC חיצונית. ה- PCB מתבצע באופן שניתן לגשר על סיכת DV+ בקלות לאספקה הראשית. סיכת ה- SYNC מנותבת למחבר BNC - יש להלחם רק נגד 50 אוהם. במקרה זה, ניתן להשמיט את מעגל יצירת האותות SYNC. כאן כפי שאתה רואה אני משתמש גם בפוטנציומטרים כפולים, אך הם אינם מחוברים במקביל. הסיבה לכך היא - אני מודד את המשרעת באופן יחסי. המתח בנקודה האמצעית של פוטנציומטר אחד מורגש על ידי ה- Atmega328 ADC ומשרעת האות מחושבת על בסיס ערך זה. כמובן ששיטה זו אינה מדויקת במיוחד (היא מסתמכת על התאמה של שני מקטעי הפוטנטיומטר, שלא תמיד מתרחשת), אך היא מספיק מדויקת ליישומים שלי. במעגל זה IC2A פועל כמאגר מתח. גם IC4A. ה- opamp IC2B פועל כמגבר סיכום - הוא יוצר את אות הפלט של הגנרטור הפונקציונאלי כסכום מתח הקיזוז ואת האות הראשי עם משרעת מותאמת. מחלק המתח R15. R17 מייצר אות מתח מתאים למדידת קיזוז האות הראשי DC. הוא מורגש על ידי ה- Atmega328 ADC. ה- opamp IC4B פועל כמשווה - הוא שולט על מהפך דור ה- SYNC שמממש שני טרנזיסטורים MOS (BSS123 ו- BSS84). ה- U6 (THS4281 - Texas Instruments) מעביר את אות הפלט שנוצר על ידי ה- MAX038 DC עם 2.5 וולט ומגביר אותו פי 1.5. אז האות שנוצרת מורגשת על ידי ADR ADC ומעובדת הלאה עם אלגוריתם FFT. בחלק זה השתמשתי במעקה באיכות גבוהה למסילות אופאמים עם רוחב פס של 130 מגהרץ (TI - LMH6619).

כדי להיות קל להבין כיצד בדיוק יצירת אות הסינכרון עובד, אני כולל כמה תמונות של סימולציות LTSpice של המעגל. בתמונה השלישית: האות הכחול הוא מתח הקיזוז (קלט ה- IC2B). הירוק הוא אות הפלט עם משרעת מותאמת. האדום הוא אות הפלט של הגנרטור הפונקציונאלי, עקומת הציאן היא אות ה- SYNC.

שלב 7: עיצוב PCB

עיצוב PCB
עיצוב PCB

השתמשתי ב"נשר "לעיצוב ה- PCB. הזמנתי את ה- PCB ב- "PCBway". לקח להם רק ארבעה ימים לייצר את הלוחות ושבוע לספק אותם. האיכות שלהם גבוהה, והמחיר נמוך במיוחד. שילמתי רק 13 דולר עבור 10 מחשבים אישיים!

בנוסף לזה יכולתי להזמין מחשבי PCB בצבע אחר ללא עליית מחירים. בחרתי בצהובים:-).

אני מצרף את קבצי הגרבר על פי כללי העיצוב "PCBway".

שלב 8: הלחמה

Image
Image
הַלחָמָה
הַלחָמָה
הַלחָמָה
הַלחָמָה

תחילה הלחמתי את התקני מעגל אספקת החשמל..

לאחר בדיקת בלוק האספקה, הלחמתי את שבב Atmega328 עם התקנים התומכים שלו: קריסטל קוורץ, קבלים, כובעי סינון ומחבר ISP. כפי שאתה רואה יש לי מגשר בקו האספקה של שבב ה- AVR. אני מנתק אותו כשאני מתכנת את השבב דרך ספק האינטרנט. אני משתמש במתכנת USBtiny למטרה זו.

כשלב הבא הלחמתי את שבב ה- de-mux 74HC238, נוריות ה- LED מציינות את טווח התדרים. העמסתי תוכנית ארדואינו קטנה בשבב Atmega, שבדק את הכפלות. (ראו את הסרטון בקישור למעלה)

שלב 9: הלחמה …

הַלחָמָה…
הַלחָמָה…
הַלחָמָה…
הַלחָמָה…
הַלחָמָה…
הַלחָמָה…

כשלב הבא הלחמתי את מסמכי ה- opamp העובדים במצב DC (LM358) ואת פוטנציומטרי התאמת התדר ו- DADJ ובדקתי את כל הפונקציות שלהם.

בהמשך הלחמתי את מתגי BSS123, את הקבלים הקובעים תדר ואת השבב MAX039. בדקתי את הגנרטור הפונקציונאלי שחיפש את האות ביציאת אות השבב המקורית. (אתה יכול לראות את הסובייט הישן שלי, שהופק בשנת 1986, עדיין עובד אוסצילוסקופ בפעולה:-))

שלב 10: הלחמה נוספת …

עוד הלחמות…
עוד הלחמות…
עוד הלחמות…
עוד הלחמות…
עוד הלחמות…
עוד הלחמות…

לאחר מכן הלחמתי את השקע לתצוגת ה- LCD ובדקתי אותו עם מערכון "עולם שלום".

הלחמתי את שאר הקופות, הקבלים, הפוטנטיומטרים והמחברים BNC הנותרים.

שלב 11: תוכנה

Image
Image
תוֹכנָה
תוֹכנָה

ליצירת הקושחה Atmega328 השתמשתי ב- Arduino IDE.

למדידת התדרים השתמשתי בספריית "FreqCounter". קובץ הסקיצה והספרייה המשומשת זמינים להורדה. יצרתי סמלים מיוחדים לייצוג המצב הנוכחי (סינוס, מלבני, משולש).

בתמונה למעלה ניתן לראות את המידע המוצג על גבי ה- LCD:

  • תדר F = xxxxxxxx בהרץ
  • טווח תדרים Rx
  • משרעת ב- mV A = xxxx
  • קיזוז ב- mV 0 = xxxx
  • סוג האות x

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

מצאתי שגיאה קטנה בקוד "Generator.ino" בקובץ ZIP - הסמלים של צורות גל סינוס ומשולש הוחלפו. בקובץ היחיד "Generator.ino" המצורף כאן, השגיאה מתוקנת.

שלב 12: להיעשות …

Image
Image

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

בסרטון ניתן לראות את הספקטרום של האות שנוצר על ידי אות הסינוס MAX038. מנתח הספקטרום מבוסס על לוח Arduino UNO + מגן TFT בגודל 2.4 אינץ '. מנתח הספקטרום משתמש בספריית SpltRadex Arduino שפותחה על ידי אנטולי קוזמנקו לביצוע FFT בזמן אמת.

עדיין לא החלטתי - להשתמש בספרייה זו או להשתמש בספריית ה- FHT שיצרו ה- Musiclabs.

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

מוּמלָץ: