פרנקנשטיינדואינו 3.3V

גם למי שכבר עובד עם מיקרו-בקרים "נטו", הארדואינו הוא עדיין כלי נוח לבדיקות ולמשימות קטנות וזריזות, כגון בדיקת תקינות של רכיבים ומודולים. אבל מה עושים כשהרכיבים האלה מיועדים לעבודה במתח של 3.3V?

פרנקנשטיינדואינו 3.3V, גרסה 1.0
פרנקנשטיינדואינו 3.3V, גרסה 1.0

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

בנוסף, לפעמים אני מעוניין ליצור פרויקט שמבוסס על מיקרו-בקר ATMega328P כמו זה שבארדואינו, במתח של 3.3V (במהירות שעון 8MHz על בסיס המתנד הפנימי). לוח מסודר יכול היה להפוך את שלב הניסויים והבדיקות הראשוניות לקצת יותר נוח, אבל כאמור הארדואינו לא מתאים.

הפתרון האידאלי לכל אלה הוא לוח ארדואינו שעובד במתח 3.3V, אבל למיטב ידיעתי לא קיים לוח כזה שעונה על כל הדרישות בו-זמנית. האופציות הקיימות הן או Arduino Due יקר, שהמיקרו-בקר בו שונה לגמרי, או Pro Mini 3.3V שאין לו מתאם USB-to-UART מובנה ולא פינים נוחים לגישה. קיימים לוחות דמויי-Uno נדירים עם מתג להחלפה בין 5V ל-3.3V, אבל הם יקרים מאוד וגם מותאמים לעבודה ב-16MHz כמו ארדואינו רגיל, מה שלא רלוונטי וגם בעייתי בעבודה ב-3.3V.

בקיצור, החלטתי לבנות לוח כזה לבד.

כשלב ראשון הזמנתי מסין שלושה לוחות Pro Mini 3.3V. שלושה לוחות אכן הגיעו ואפילו במצב תקין, אבל הסתבר ששניים מהם היו 5V (נו, סינים. לפחות קיבלתי החזר על השניים האלה). בנפרד הזמנתי לוח מתאם מיוחד מ-Pro Mini לתצורת Uno, וכן מספר ג'וקים CH340G, שנפוצים כיום כמתאמי USB-to-UART בלוחות דמויי-ארדואינו סיניים. כשהכול הגיע סוף כל סוף, התיישבתי לחבר את כולם לכדי מפלצת כלאיים חדשה.

ארדואינו Pro Mini 3.3V ולוח מתאם לתצורת Uno
ארדואינו Pro Mini 3.3V ולוח מתאם לתצורת Uno

השלב הבא היה לשנות את המתחים בלוח המתאם ל-3.3V במקום 5V. העפתי ממנו את שני מייצבי המתח הקיימים. במקום המייצב הסטנדרטי ל-5V הלחמתי LD33V רב-עוצמה, ואיפה שהיה המייצב החלש ל-3.3V פשוט קיצרתי את הפדים של הכניסה והמוצא כך שיציאת 3.3V במתאם תהיה מחוברת למתח ה"ראשי", איפה שהיה פעם 5V.

מייצב המתח החדש במקום השניים הקודמים

מייצב המתח החדש במקום השניים הקודמים

עכשיו אפשר לחבר ללוח המתאם המשופצר את ה-Pro Mini 3.3V, אבל עדיין חסר החיבור הנוח למחשב. לשם כך יצרתי Shield עם הג'וק CH340G, מה שהצריך קצת מחשבה וחלקים.

לקחתי לוח Shield ריק (יש הרבה כאלה באיביי ועליאקספרס) והלחמתי לו Stackable headers בצדדים, כך שאפשר יהיה להרכיב אותו על לוח המתאם ועדיין לקבל גישה לכל הפינים. את ה-CH340G, שלא מגיע במארזי DIP, הלחמתי למתאם SOIC ל-DIP (כן, יש הרבה מתאמים בפרויקט הזה) ואותו למרכז ה-Shield. הג'וק הזה צריך מתנד גביש 12MHz עם קבלי 22pF, והוא מתחבר מצד אחד לחוטי האדמה והנתונים שבתוך כבל ה-USB (לא לחוט הפלוס, במקרה שלי, כי אני לא רוצה 5V במערכת), ומצד שני לאדמה, מתח חיובי, TX, RX ו-RESET של הארדואינו. את ה-RESET צריך לחבר עם קבל בטור לפין DTR של הג'וק, לפי העיקרון שהסברתי בצורה קצת מגושמת לפני ארבע שנים בערך, כאן.

המגן עם ה-CH340G
המגן עם ה-CH340G

בתוך כבל ה-USB יש ארבעה חוטים: שחור לאדמה, אדום למתח חיובי, וירוק ולבן שהם חוטי הנתונים – אחד "D+" והשני "D-". מי זה מי? מסמכים רשמיים שמצאתי טענו שהלבן צריך להיות "D-", אבל מסתבר שהרבה יצרני כבלים עושים מה שבראש שלהם, וחיפוש רגיל ברשת מעלה תשובות סותרות. ראו הוזהרתם! בניסיון הראשון חיברתי את החוטים האלה הפוך, וכשחיברתי את כל העסק למחשב, מערכת ההפעלה פשוט אמרה שהיא לא מצליחה לזהות את התקן ה-USB המחובר.

אחרי תיקון החוטים ווידוא שהכול עובד, הוספתי את הטאץ' האחרון – העברת המתח החיובי מכבל ה-USB דרך דיודה אל פין Vin (משם הוא עובר ישירות למייצב המתח ל-3.3V). כך אפשר להפעיל את הלוח כולו מהחשמל שב-USB, או ממקור חיצוני כשה-USB עדיין מחובר – בדיוק כמו ארדואינו רגיל.

אותו המגן, מהצד השני
אותו המגן, מהצד השני

התוצאה הסופית היא משהו מגושם ומכוער מאוד, אבל זה בדיוק מה שהייתי צריך – לוח ארדואינו נוח עם ATmega328P שעובד ב-3.3V. כמו כן, עם צורה כזו, אין שום סיכוי שאתבלבל בינו לבין הלוחות האחרים!

להרשמה
הודע לי על
5 תגובות
מהכי חדשה
מהכי ישנה לפי הצבעות
Inline Feedbacks
הראה את כל התגובות

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

אגב, בכלליות אני מעדיף את הפורמט של ארדואינו נאנו כמעט לכל ישום. גם יש לו USB מובנה וגם מתאים למטריצה בקלות.