הבנת Arduino UNO חומרה עיצוב

Leap Motion SDK (יולי 2019).

$config[ads_text] not found
Anonim

הבנת Arduino UNO חומרה עיצוב


מאמר זה מסביר כיצד Arduino עובד מנקודת מבט אלקטרונית עיצוב.

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

סקירה כללית של רכיבים

העיצוב PCB של Arduino UNO משתמש SMD (הרכבה משטחית) רכיבים. נכנסתי לעולם SMD שנים כאשר אני חפר לתוך עיצוב PCD Arduino בזמן שהייתי חלק מצוות מחדש עיצוב שיבוט DIY עבור Arduino UNO.

מעגלים משולבים משתמשים בחבילות סטנדרטיות, ויש משפחות לחבילות.

הממדים של נגדי SMD רבים, קבלים, ו LEDs מסומנים על ידי קודי החבילה כגון:

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

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

בטבלה שלהלן, ניתן לראות רשימה של כמה מרכיבים בארדוינו אונו עם החבילה המתאימה להם:

חֵלֶק חֲבִילָה
NCP1117ST50T3G 5V הרגולטורSOT223
LP2985-33DBVR 3.3V הרגולטורSOT753 / SOT23-5
דיודה M7SMB
LMV358IDGKR ערוץ כפול מגברMSOP08
FDN340P טרנזיסטור POS ערוץ MOSFETSOT23
ATmega16U2-MUMLF32

סקירה כללית של מערכת Arduino UNO

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

לאחר קוד שלך הוא הידור באמצעות Arduino IDE, זה צריך להיות מועלה אל המיקרו בקר הראשי של Arduino UNO באמצעות חיבור USB. מכיוון שבמיקרו-בקר הראשי אין משדר USB, יש צורך בגשר כדי להמיר אותות בין הממשק הטורי (ממשק UART) של המיקרו ושל אותות ה- USB המארחים.

הגשר בגרסה האחרונה הוא ATmega16U2, שיש לו משדר USB וגם ממשק טורי (ממשק UART).

כדי להפעיל את לוח ה- Arduino, באפשרותך להשתמש ב- USB כמקור מתח. אפשרות נוספת היא להשתמש שקע DC. אתה יכול לשאול, "אם אני מחבר גם מתאם DC ו- USB, אשר יהיה מקור הכוח" התשובה תידון בסעיף "Power Part" מתוך מאמר זה.

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

אני מחדש את המקורי Arduino UNO סכמטי להיות קריא יותר להלן. אני ממליץ לך להוריד אותו ולפתוח את PCB ו סכמטי באמצעות Eagle CAD בזמן שאתה קורא מאמר זה.

גרסה מחודשת של הסדמט המקורי Arduino. לחץ להגדלה.

קבצים סכימטיים

מיקרו

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

המיקרו בקר ATmega328 הוא MCU המשמש Arduino UNO R3 כבקר הראשי. ATmega328 הוא MCU ממשפחת AVR; זהו התקן של 8 סיביות, כלומר, הארכיטקטורה של נתונים ואוטובוסים ורשומות פנימיות מתוכננות לטפל ב- 8 אותות נתונים מקבילים.

ATmega328 יש שלושה סוגים של זיכרון:

  • זיכרון פלאש: 32KB זיכרון לא נדיף. זה משמש לאחסון היישום, אשר מסביר מדוע אתה לא צריך להעלות את היישום שלך בכל פעם שאתה לנתק את ארדואינו ממקור החשמל שלה.

  • זיכרון SRAM: 2KB זיכרון נדיף. זה משמש לאחסון משתנים המשמשים את היישום בזמן שהוא פועל.

  • זיכרון EEPROM: 1KB זיכרון nonvolatile. זה יכול לשמש לאחסון נתונים חייב להיות זמין גם לאחר הלוח הוא מופעל ולאחר מכן מופעל שוב.

תן לנו בקצרה לעבור על כמה מפרט זה של MCU:

חבילות

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

חבילות אחרות של ATmega328 זמינים כמו TQFP-32 SMD החבילה (משטח הרכבה התקן).

שתי חבילות שונות של אטמגה 328. תמונות באדיבות Sparkfun וויקימדיה.

כּוֹחַ:

MCU מקבלת מתח אספקה ​​בין 1.8 ל 5.5 V. עם זאת, יש מגבלות על תדר ההפעלה; לדוגמה, אם אתה רוצה להשתמש בתדר השעון המרבי (20 MHz), אתה צריך מתח אספקה ​​של לפחות 4.5 V.

Digital I / O:

MCU זה כולל שלוש יציאות: PORTC, PORTB ו- PORTD. כל הפינים של יציאות אלה יכולים לשמש עבור קלט / פלט דיגיטלי למטרות כלליות או עבור פונקציות חלופיות המצוין בפינה למטה. לדוגמה, PORTC pin0 to pin5 יכול להיות כניסות ADC במקום קלט / פלט דיגיטלי.

יש גם כמה סיכות שניתן להגדיר כמו פלט PWM. פינים אלה מסומנים "~" על לוח Arduino.

הערה : ה- ATmega168 זהה כמעט ל- ATmega328 והם תואמים סיכות. ההבדל הוא כי ATmega328 יש זיכרון יותר - 32KB הבזק, 1KB EEPROM, ו 2KB RAM לעומת פלאש 16kB 16kB של Atmega 168, 512 בתים EEPROM, 1KB RAM.

ATmega168 pinout עם תוויות Arduino; ATmega168 ו ATmega328 הם סיכה תואם. תמונה באדיבות Arduino.

Arduino UNO R3 pinout. תמונה באדיבות גייתוב.

כניסות ADC:

זה MCU יש שישה ערוצים PORTC0 ל PORTC5 - עם 10-bit ברזולוציה A / D ממיר. סיכות אלה מחוברות לכותרת אנלוגית על לוח Arduino.

טעות נפוצה אחת היא לחשוב על קלט אנלוגי כקלט ייעודי עבור A / D פונקציה בלבד, כמו הכותרת בלוח קובע "אנלוגי". המציאות היא שאתה יכול להשתמש בהם כמו דיגיטלי I / O או A / D.

דיאגרמת בלוקים של ATmega328.

כפי שמוצג בתרשים לעיל (באמצעות העקבות האדומים), הסיכות הקשורות ליחידת A / D הן:

  • AVCC: סיכת המתח ליחידת A / D.
  • AREF: סיכת הקלט משמשת באופן אופציונלי אם ברצונך להשתמש בהתייחסות מתח חיצונית עבור ADC ולא ב - Vref הפנימי. ניתן להגדיר זאת באמצעות רישום פנימי.

הגדרות רישום פנימי לבחירת מקור Vref.

UART ציוד היקפי:

UART (מקלט / משדר אסינכרוני אוניברסלי) הוא ממשק טורי. ל- ATmega328 יש רק מודול UART אחד.

הפינים (RX, TX) של ה- UART מחוברים למעגל ממיר USB ל- UART וגם מחוברים ל- pin0 ו- pin1 בכותרת הדיגיטלית. עליך להימנע משימוש ב- UART אם אתה כבר משתמש בו כדי לשלוח / לקבל נתונים באמצעות USB.

SPI ציוד היקפי:

SPI (ממשק היקפי טורי) הוא ממשק טורי נוסף. ATmega328 יש רק אחד SPI מודול.

מלבד השימוש בו כממשק טורי, הוא יכול לשמש גם לתכנות MCU באמצעות מתכנת העצמאי. אתה יכול להגיע הסיכות של SPI מן הכותרת ליד MCU בלוח אונו Arduino או מן הכותרת הדיגיטלית כדלקמן:
11MOSI
12MISO
13SC

TWI:

ממשק I 2 C או שני חוטים הוא ממשק המורכב משני חוטים בלבד, נתונים סידוריים ושעון טורי: SDA, SCL.

אתה יכול להגיע אלה סיכות של שני הסיכות האחרונות בכותרת דיגיטלית או pin4 ו pin5 בכותרת אנלוגי.

פונקציונליות אחרת:

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

אונו R3 MCU חלק.

בחזרה לתכנון האלקטרוני, סעיף המיקרו-בקר כולל את הדברים הבאים:

  • ATmega328-PU: MCU דיברנו רק על.
  • IOL ו IOH (Digital) כותרות: כותרות אלה הן כותרת דיגיטלית עבור סיכות 0 עד 13 בנוסף GND, AREF, SDA, ו SCL. שים לב ש- RX ו- TX מגשר ה- USB מחוברים ל- pin0 ו- pin1.
  • כותרת עליונה: כותרת הסיכות האנלוגיות.
  • 16 MHz קרני מהוד (CSTCE16M0V53-R0): מחובר עם XTAL2 ו XTAL1 מ MCU.
  • אפס פין: זה נעצר עם נגד 10K כדי לסייע במניעת איפוס מזויף בסביבות רועשות; הסיכה יש נגד הנגד הפנימי, אבל על פי AVR042 (הערה: אם הסביבה היא רועשת, זה יכול להיות מספיק לאפס עשוי לאפס באופן אקראי. איפוס מתרחש אם המשתמש לוחץ על לחצן האיפוס או אם האיפוס מונפק מגשר ה- USB. ניתן גם לראות את הדיודה D2. תפקידה של דיודה זו מתואר באותה הערה יישום: "אם לא משתמשים בתכנות מתח גבוה מומלץ להוסיף דיודה להגנת ESD מ - RESET ל - VCC, מכיוון שהדבר אינו מסופק באופן פנימי בשל תכנות מתח גבוה".
  • C4 ו C6 100nF קבלים: אלה מתווספים לסנן רעש המסנן. עכבת הקבל פוחתת בתדירות:
    $$ Xc $$ = $$ \ frac {1} {2 \ pi f C} $$
    הקבלים מספקים רעש בתדר גבוה אותות הנתיב נמוך הקרקע. 100nF הוא הערך הנפוץ ביותר. קרא עוד על קבלים בספר הלימוד AAC.
  • PIN13: זה מחובר ל PIN SCK של MCU והוא מחובר גם LED. לוח Arduino משתמש במאגר (LMV358) כדי לנהוג LED.
  • ICSP (In-Circuit Serial Programming) כותרת: זה משמש לתכנת את ATmega328 באמצעות מתכנת חיצוני. הוא מחובר לממשק In-System Programming (ISP) (המשתמש בסיכות SPI). בדרך כלל, אתה לא צריך להשתמש בדרך זו של תכנות בגלל bootloader מטפל תכנות של MCU מן ממשק UART אשר מחובר באמצעות גשר USB. כותרת זו משמשת כאשר אתה צריך פלאש MCU, למשל, עם bootloader בפעם הראשונה בייצור.

גשר ה- USB ל- UART

החלק גשר USB Arduino. לחץ להגדלה.

כפי שציינו בפרק "סקירה כללית של מערכת UNDO, " תפקידו של חלק הגשר מסוג USB-to-UART הוא להמיר את האותות של ממשק ה- USB לממשק UART, שאותו מבין ATMega328, תוך שימוש ב- ATmega16U2 עם מקלט USB פנימי . זה נעשה באמצעות קושחה מיוחדת הועלה ATmega16U2.

מנקודת מבט אלקטרונית עיצוב, סעיף זה דומה סעיף מיקרו. זה MCU יש כותרת ICSP, גביש חיצוני עם קבלים לטעון (CL), ו VCC מסנן קבלים.

שימו לב כי יש נגדי סדרה של D + ו- D- קווי USB. אלה מספקים את עכבת הסיום הנכון עבור אותות ה- USB. הנה כמה קריאה נוספת על נגדים אלה:

  1. למה נגני סדרת נתונים USB
  2. שאלות נפוצות בנושא מפתחי USB

Z1 ו- Z2 הם נגדים תלויי מתח (VDRs), הנקראים גם וריאסטורים. הם משמשים כדי להגן על קווי USB נגד transD ESD.

קבלים 100nF מחובר בסדרה עם קו איפוס מאפשר Atmega16U2 לשלוח הדופק לאפס את Atmega328. אתה יכול לקרוא עוד על זה קבל כאן.

הכח

עבור מקור מתח, יש לך אפשרות להשתמש בשקע USB או שקע DC. עכשיו הגיע הזמן לענות על השאלה הבאה: "אם אני מחבר הן מתאם DC ו- USB, אשר יהיה מקור הכוח?"

הרגולטור 5V הוא NCP1117ST50T3G ו Vin של הרגולטור הזה מחובר באמצעות קלט ג 'ק DC באמצעות דיודה M7, את הגרסה SMD של דיודת 1N4007 המפורסם (PDF). דיודה זו מספקת הגנה מפני קוטביות הפוכה.

הפלט של הרגולטור 5V מחובר לשאר של 5V נטו במעגל וגם קלט של הרגולטור 3.3V, LP2985-33DBVR. אתה יכול לגשת 5V ישירות מתוך כוח 5V פין כוח.

מקור נוסף של 5V הוא USBVCC אשר מחובר לניקוז של FDN340P, M-FOS ערוץ P, ומקור מחובר לרשת 5V. השער של הטרנזיסטור מחובר לתפוקה של מגבר אופציונלי LMV358 המשמש כמשווה. ההשוואה היא בין 3V3 ו / 2. כאשר Vin / 2 הוא גדול יותר, זה יפיק פלט גבוה מן ההשוואה ואת MOSFET ערוץ P הוא כבוי. אם אין ויין מיושם, V + של השווה הוא משך למטה ל- GND ו Vout הוא נמוך, כך הטרנזיסטור הוא פועל ו- USBVCC מחובר 5V.

מנגנון החלפת מקור כוח. לחץ להגדלה.

LP2985-33DBVR הוא הרגולטור 3V3. הן 3V3 ו 5V הרגולטורים הם LDO (נשירה נמוכה), כלומר, הם יכולים לווסת מתח גם אם מתח הקלט קרוב למתח המוצא. זהו שיפור על פני הרגולטורים ליניארית ישנים יותר, כגון 7805.

הדבר האחרון שאני אדבר הוא הגנה על כוח זה מסופק Arduino UNO.

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

סיכה VIN מ כותרת כוח. לחץ להגדלה.

כאשר אתה משתמש ב- USB כמקור חשמל, וכדי לספק הגנה ליציאת ה- USB שלך, יש נתיך PTC (מקדם טמפרטורה חיובי) (MF-MSMF050-2) בסדרה עם USBVCC. זה מספק הגנה מפני זרם יתר, 500mA. כאשר מגיעה מגבלת זרם-יתר, ההתנגדות PTC מגדילה הרבה. ההתנגדות יורדת לאחר הזרמת יתר מוסר.

קריאת מעגלים מודפסים על הגנה על Arduino הוא מאוד שימושי.

עכשיו אתה צריך להיות יותר מוכר עם העיצוב האלקטרוני של Arduino UNO ויש להם הבנה טובה יותר של החומרה שלה. אני מקווה שזה יעזור פרויקטים העיצוב שלך בעתיד!