- חומרים נדרשים
- תרשים מעגלי עומס אלקטרוניים DC
- עיצוב PCB וקובץ גרבר
- הזמנת ה- PCB שלך מ- AllPCB
- קוד Arduino לעומס DC מתכוונן
- בודקים את עומס ה- DC המתכוונן שלנו
אם עבדת אי פעם עם סוללות, מעגלי SMPS או מעגלי אספקת חשמל אחרים, לעיתים קרובות היה קורה שעליך לבדוק את מקור הכוח שלך על ידי העמסתו כדי לבדוק כיצד הוא פועל בתנאי טעינה שונים. התקן המשמש בדרך כלל לביצוע בדיקות מסוג זה נקרא עומס זרם קבוע (DC), המאפשר לנו לכוונן את זרם המוצא של מקור הכוח שלך ואז שומר על קבוע עד לכוונון שוב. במדריך זה נלמד כיצד לבנות עומס אלקטרוני מתכוונן משלנו באמצעות ארדואינו, שיכול לקחת מתח כניסה מרבי של 24 וולט ולנקז זרם גבוה עד 5A. לפרויקט זה השתמשנו בלוחות PCB המיוצרים על ידי AllPCB, ספקית שירותי ייצור והרכבת PCB מקצועית מבוססת סין.
בהדרכת המקור הקודמת שלנו, שנשלטה על מתח, הסברנו כיצד להשתמש במגבר תפעולי עם MOSFET ולעשות שימוש במעגל מקור זרם מבוקר מתח. אך במדריך זה, נשתמש במעגל זה ונעשה מקור זרם מבוקר דיגיטלי. ברור שמקור זרם בשליטה דיגיטלית דורש מעגל דיגיטלי וכדי לשרת את המטרה משתמשים ב- Ndu Arduino. ה- Arduino NANO יספק בקרות נדרשות לעומס DC.
המעגל מורכב משלושה חלקים. החלק הראשון הוא מקטע ה- Arduino Nano, החלק השני הוא הממיר הדיגיטלי לאנלוגי, והחלק השלישי הוא מעגל אנלוגי טהור בו משתמשים במגבר תפעולי כפול באריזה אחת אשר ישלט על קטע העומס. פרויקט זה נכתב בהשראת פוסט שפורסם ב- Arduino, אולם המעגל השתנה לפחות מורכבות עם תכונות בסיסיות לכולם לבנות אותו.
העומס האלקטרוני שלנו נועד להכיל את קטעי הקלט והפלט הבאים.
- שני מתגי כניסה להגדלה והפחתה של העומס.
- LCD שמציג את העומס שנקבע, העומס בפועל ומתח העומס.
- זרם העומס המרבי מוגבל ל -5 A.
- מתח הכניסה המרבי הוא 24 וולט לעומס.
חומרים נדרשים
המרכיבים הנדרשים לבניית עומס אלקטרוני DC מפורטים להלן.
- ארדואינו ננו
- LCD בעל אופי 16x2
- שני שקעים לחבית
- Mosfet irf540n
- מקפ 4921
- Lm358
- הנגד שאט 5 וואט.1 אוהם
- 1k
- 10k - 6 יחידות
- מפזר חום
- .1uF 50v
- 2k - 2 יחידות
תרשים מעגלי עומס אלקטרוניים DC
בתרשים שלמטה, המגבר התפעולי כולל שני חלקים. האחד הוא לשלוט על ה- MOSFET והשני הוא להגביר את הזרם הנחוש. אתה יכול גם לבדוק את הסרטון בתחתית דף זה המסביר את העבודה המלאה של המעגל. בחלק הראשון יש R12, R13 ו- MOSFET. R12 משמש להפחתת השפעת הטעינה על קטע המשוב ו- R13 משמש כנגד שער Mosfet.
שני נגדים נוספים R8 ו- R9 משמשים לחישת מתח האספקה של אספקת החשמל אשר יופעל על ידי עומס הדמה הזה. לפי כלל מחלק המתח, שני נגדים אלה תומכים במקסימום 24 וולט. יותר מ -24 וולט יפיק מתח שלא יתאים לסיכות הארדואינו. אז היזהר לא לחבר ספק כוח בעל מתח יציאה מ- 24 וולט.
הנגד R7 הוא נגד העומס בפועל כאן. זהו נגן של 5 ואט.1 אוהם. בהתאם לחוק הכוח, הוא יתמוך במקסימום 7A (P = I 2 R), אך עבור הצד הבטוח, זה חכם יותר להגביל את זרם העומס המרבי של 5A. לכן, נכון לעכשיו ניתן להגדיר עומס מקסימלי של 24V, 5A על ידי עומס דמה זה.
קטע נוסף של המגבר מוגדר כמגבר רווח. זה יספק רווח פי 6. במהלך זרם הזרם תופיע ירידת מתח. לדוגמא, כאשר 5A של זרם זורם דרך הנגד, ירידת המתח תהיה.5V על פני הנגד.1 Ohms shunt (V = I x R) על פי חוק אוהם. המגבר הלא הפוך יגביר אותו ל- x6, לכן 3V יהיה הפלט מהחלק השני של המגבר. יציאה זו תחוש על ידי סיכת הקלט האנלוגית של Arduino ננו והזרם יחושב.
החלק הראשון של המגבר מוגדר כמעגל עוקב מתח אשר ישלוט ב- MOSFET לפי מתח הכניסה ויקבל את מתח המשוב הרצוי עקב זרם העומס הזורם דרך הנגד.
MCP4921 הוא הממיר הדיגיטלי לאנלוגי. ה- DAC משתמש בפרוטוקול התקשורת SPI כדי לקבל את הנתונים הדיגיטליים מכל יחידת מיקרו-בקר ולספק פלט מתח אנלוגי בהתאם לו. מתח זה הוא הקלט של המגבר. בעבר למדנו גם כיצד להשתמש ב- MCP4921 DAC זה עם PIC.
בצד השני, ישנו Arduino Nano אשר יספק את הנתונים הדיגיטליים ל- DAC באמצעות פרוטוקול SPI וישלוט בעומס, ויציג גם את הנתונים בתצוגת 16x2 תווים. משתמשים בשני דברים נוספים, כלומר כפתור ההקטנה וההגדלה. במקום להתחבר לסיכה דיגיטלית הוא מחובר בסיכות האנלוגיות. לכן, אפשר לשנות את זה לסוג אחר של מתגים כגון מחוון או מקודד אנלוגי. כמו כן, על ידי שינוי הקוד ניתן לספק נתונים אנלוגיים גולמיים כדי לשלוט בעומס. פעולה זו נמנעת גם מבעיית הפחתת מתג.
לבסוף, על ידי הגדלת העומס, ננו הארדואינו יספק את נתוני העומס ל- DAC בפורמט דיגיטלי, ה- DAC יספק נתונים אנלוגיים למגבר התפעולי, והמגבר התפעולי ישלוט ב- MOSFET לפי מתח הכניסה של המגבר התפעולי.. לבסוף, בהתאם לזרימת זרם העומס דרך הנגד המחלף, תופיע ירידת מתח שתוגבר עוד יותר על ידי הערוץ השני של LM358 ותקבל על ידי ננו הארדואינו. זה יוצג בתצוגת הדמויות. אותו דבר יקרה כאשר המשתמש ילחץ על כפתור ההקטנה.
עיצוב PCB וקובץ גרבר
מכיוון שלמעגל זה יש נתיב זרם גבוה, זו בחירה נבונה יותר להשתמש בטקטיקות תכנון PCB נכונות להסרת מקרי כשל לא רצויים. לפיכך, PCB מיועד לעומס DC זה. השתמשתי בתוכנת Design PCB של Eagle כדי לעצב את ה- PCB שלי. אתה יכול לבחור בכל תוכנת PCB Cad. ה- PCB המעוצב הסופי בתוכנת ה- CAD מוצג בתמונה למטה,
גורם חשוב שכדאי לשים לב אליו בעת תכנון PCB זה הוא להשתמש במישור כוח עבה לזרימת זרם תקינה בכל המעגל. יש גם VIAS של תפירת קרקע (ויאסות אקראיות במישור הקרקע) המשמשות לזרימת קרקע נכונה בשכבות לראש ולתחתית.
אתה יכול גם להוריד את קובץ הגרבר של PCB זה מהקישור למטה ולהשתמש בו לצורך ייצור.
- הורד קובץ גרבר אלקטרוני לטעינת DC מתכוונן
הזמנת ה- PCB שלך מ- AllPCB
ברגע שאתה מוכן עם קובץ גרבר שלך אתה יכול להשתמש בו כדי לייצר את PCB שלך. אם כבר מדברים על זה מביא את נותנת החסות למאמר זה ALLPCB, שידועים בזכות ה- PCB האיכותיים שלהם ובמשלוח מהיר במיוחד. מלבד ייצור PCB, AllPCB מספקת גםהרכבת PCB ומקורות רכיבים.
כדי לקבל מהם את הזמנת ה- PCB שלך, בקר בכתובת allpcb.com והרשמה. לאחר מכן, בדף הבית, הזן את מידות PCB שלך ואת הכמות הנדרשת כמוצג להלן. ואז לחץ על ציטוט עכשיו.
כעת תוכלו לשנות את הפרמטרים האחרים של ה- PCB שלכם כמו מספר השכבות, צבע המסכה, עובי וכו '. בצד ימין תוכלו לבחור את המדינה שלכם ואת אפשרות המשלוח המועדפת. זה יראה לך את זמן ההובלה ואת הסכום הכולל שישולם. בחרתי ב- DHL והסכום הכולל שלי הוא $ 26, אך אם אתה לקוח בפעם הראשונה המחירים יירדו בקופה. לאחר מכן לחץ על הוסף לעגלה ואז לחץ על צ'ק-אאוט עכשיו.
כעת תוכלו ללחוץ על העלאת קובץ הגרבר על ידי לחיצה על "העלאת גרבר" ואז ללחוץ על קנייה.
בעמוד הבא תוכלו להזין את כתובת המשלוח שלכם ולבדוק את המחיר הסופי שעליכם לשלם עבור ה- PCB שלכם. לאחר מכן תוכל לבדוק את ההזמנה שלך ואז ללחוץ על שלח כדי לבצע את התשלום.
לאחר אישור ההזמנה שלך, אתה יכול לשבת לאחור ולהעביר ממסר PCB שלך עד לפתח ביתך. קיבלתי את ההזמנה שלי לאחר מספר ימים ואז האריזה הייתה מסודרת כפי שמוצג להלן.
איכות ה- PCB הייתה כמו תמיד כפי שתוכלו לראות בעצמכם בתמונות למטה. הצד העליון והצד התחתון של הלוח מוצגים למטה.
לאחר שתקבל את הלוח שלך, תוכל להמשיך בהרכבת כל הרכיבים. הלוח הגמור שלי נראה בערך כך המוצג למטה.
לאחר מכן תוכל להעלות את הקוד ולהפעיל את המודול כדי לבדוק כיצד הוא פועל. הקוד השלם לפרויקט זה מופיע בתחתית עמוד זה. ההסבר לקוד הוא כדלקמן.
קוד Arduino לעומס DC מתכוונן
הקוד הוא די פשוט. בהתחלה, כללנו קבצי כותרת SPI ו- LCD וכן הגדרנו את מתח ההיגיון המרבי, סיכות לבחירת שבבים וכו '.
#לִכלוֹל
סעיף זה מורכב מהצהרות נדרשות הקשורות לזרימה של מספרים שלמים ומשתנים. כמו כן, הגדרנו את סיכות היקפי משויכות עם Arduino Nano.
const int slaveSelectPin = 10; // מספר שבב של שבב בחר int = 0; עלייה int = A2; // הגדל ירידה של סיכה int = A3; // הפחתת סיכה int current_sense = A0; // סיכה חוש החישה הנוכחי int voltage_sense = A1; // מתח סיכות מתח int1 = 0; int int2 = 0; int Set = 0; וולט צף = 0; עומס צף_זרם = 0.0; load_voltage = 0.0; זרם צף = 0.0; מתח צף = 0.0; LiquidCrystal lcd (7, 6, 5, 4, 3, 2); // סיכות LCD
זה משמש להגדרת LCD ו- SPI. כמו כן, כיווני הסיכה מוגדרים כאן.
הגדרת חלל () { pinMode (slaveSelectPin, OUTPUT); pinMode (עלייה, INPUT); pinMode (ירידה, INPUT); pinMode (current_sense, INPUT); pinMode (voltage_sense, INPUT); // אתחל את SPI: SPI.begin (); // הגדר את מספר העמודות והשורות של ה- LCD: lcd.begin (16, 2); // הדפיסו הודעה על ה- LCD. lcd.print ("עומס דיגיטלי"); lcd.setCursor (0, 1); lcd.print ("מעגל עיכול"); עיכוב (2000); }
הוא משמש להמרת ערך DAC.
בטל convert_DAC (ערך int לא חתום) { / * גודל גודל = 2 ^ n, לכן 12bit 2 ^ 12 = 4096 לעיון 5V, הצעד יהיה 5/4095 = 0.0012210012210012V או 1mV (בערך) * / מיכל int לא חתום; MSB int חתום; LSB שאינו חתום; / * שלב: 1, שמור את הנתונים של 12 הסיביות במכולה נניח שהנתונים הם 4095, בינארי 1111 1111 1111 * / container = value; / * שלב: 2 יצירת דמה 8 סיביות. לכן, על ידי חלוקת 256, 4 סיביות עליונות נתפסות ב- LSB LSB = 0000 1111 * / LSB = מיכל / 256; / * שלב: 3 שליחת התצורה עם ניקוב נתוני 4 הסיביות. LSB = 0011 0000 או 0000 1111. התוצאה היא 0011 1111 * / LSB = (0x30) - LSB; / * שלב: 4 למיכל עדיין יש ערך של 21 ביט. חילוץ 8 הסיביות התחתונות. 1111 1111 AND 1111 1111 1111. התוצאה היא 1111 1111 שזה MSB * / MSB = 0xFF & מיכל; / * שלב: 4 שליחת נתוני ה -16 ביט על ידי חלוקה לשני בתים. * / digitalWrite (slaveSelectPin, LOW); עיכוב (100); SPI.transfer (LSB); SPI.transfer (MSB); עיכוב (100); // קח את סיכת ה- SS גבוהה כדי לבטל את בחירת השבב: digitalWrite (slaveSelectPin, HIGH); }
חלק זה משמש לפעולות הקשורות לחישה הנוכחית.
לצוף read_current (בטל) { load_current = 0; עבור (int a = 0; a <ממוצע; a ++) { load_current = load_current + analogRead (current_sense); } load_current = load_current / average; load_current = (load_current * MAX_VOLT) / 1024; load_current = (load_current / opamp_gain) / load_resistor; החזר עומס_זרם; }
זה משמש לקריאת מתח העומס.
לצוף read_voltage (ריק) { load_voltage = 0; עבור (int a = 0; a <ממוצע; a ++) { load_voltage = load_voltage + analogRead (voltage_sense); } עומס מתח = עומס מתח / ממוצע; load_voltage = ((load_voltage * MAX_VOLT) /1024.0) * 6; החזר עומס_מתח; }
זה הלולאה בפועל. כאן נמדדים שלבי מתג והנתונים נשלחים ל- DAC. לאחר העברת הנתונים נמדדים זרימת הזרם בפועל ומתח העומס. שני הערכים מודפסים לבסוף על ה- LCD.
loop loop () { state1 = analogRead (הגדל); אם (state1> 500) { עיכוב (50); state1 = אנאלוג קריאה (עלייה); אם (state1> 500) { וולט = וולט + 0.02; } } state2 = AnalogRead (ירידה); אם (state2> 500) { עיכוב (50); state2 = AnalogRead (ירידה); אם (מצב 2> 500) { אם (וולט == 0) { וולט = 0; } אחר { וולט = וולט-0.02; } } } מספר = וולט / 0.0012210012210012; convert_DAC (מספר); מתח = קריאת מתח (); הנוכחי = read_current (); lcd.setCursor (0, 0); lcd.print ("הגדר ערך"); lcd.print ("="); סט = (וולט / 2) * 10000; lcd.print (סט); lcd.print ("mA"); lcd.setCursor (0, 1); lcd.print ("אני"); lcd.print ("="); lcd.print (הנוכחי); lcd.print ("A"); lcd.print ("V"); lcd.print ("="); lcd.print (מתח); lcd.print ("V"); // lcd.print (load_voltage); //lcd.print("mA "); // עיכוב (1000); //lcd.clear (); }
בודקים את עומס ה- DC המתכוונן שלנו
מעגל העומס הדיגיטלי מולחם ומופעל באמצעות מקור כוח 12V. השתמשתי בסוללת הליתיום 7.4V שלי בצד מקור החשמל וחיברתי מד מהדק כדי לבדוק איך זה עובד. כפי שניתן לראות כאשר הזרם שנקבע הוא 300mA המעגל שואב 300mA מהסוללה שנמדדת גם על ידי מד המהדק כ -310mA.
את העבודה המלאה של המעגל תוכלו למצוא בסרטון המקושר למטה. מקווה שהבנתם את הפרויקט ונהניתם לבנות משהו שימושי. אם יש לך שאלות השאיר אותן בסעיף ההערות או השתמש בפורומים.