מי צריך ארדואינו?

כזכור, הצלחתי בעבר לצרוב Bootloader ("תוכנת ניהול") של ארדואינו על מיקרו-בקר ATMega328-PU שנרכש בנפרד, ואחר כך הצלחתי לשים אותו על מטריצה ולגרום לו להבהב בנורית LED.  השלב הבא היה ליצור עבור המיקרו-בקר לוח עצמאי, כזה שיוכל לתקשר עם המחשב ולעשות כל מה שארדואינו אמיתי עושה, ולא על מטריצה זמנית אלא על משהו יציב יותר.

Board Design
השרטוט. תיכף נדבר עליו.

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

כעת עברתי לתכנון. ה"פלטפורמה" שבחרתי היא Stripboard – לוח PCB אוניברסלי שבו כל החורים בשורה נתונה מחוברים זה לזה חשמלית בפס נחושת. זה הופך את ההלחמות לקצת יותר פשוטות ו"נקיות" לעומת Prefboard, שבו כל חור הוא נפרד לחלוטין מהאחרים, ומצד שני זה מחייב תכנון זהיר ויצירתי יותר, כדי לנצל את פסי הנחושת בצורה אופטימלית ולהימנע מהתנגשויות. פה ושם צריך גם לקטוע פיזית את פסי הנחושת, למשל בין כל זוג רגליים מקבילות של המיקרו-בקר.

את התכנון הסופי אתם יכולים לראות באיור למעלה. כמו בארדואינו, יש בו את המיקרו-בקר, שורות חיבורי "נקבה" בצדדים, גביש  16MHz עם קבלים, נורית "Power" ולחצן איפוס. כל החוטים והנגדים משרתים את החלקים הנ"ל. כמו כן הוספתי חיבורי "זכר" במיקומים אסטרטגיים – לאספקת החשמל, לתקשורת הרגילה ולתקשורת הצריבה – כדי לתת לי יותר גמישות בסוגי החיבורים בהם אוכל להשתמש.

אחרי ההלחמה, הלוח נראה כמו בתמונה הבאה – אבל היו עוד כמה דברים לעשות לפני שהוא עבד כמו שצריך.

הלוח המולחם ורכיב התקשורת

הלוח בפעולה עם רכיב התקשורת ברקע (לחצו להגדלה)

הדבר הראשון שלא עבד הוא רכיב התקשורת. ראשית, המחשב לא זיהה אותו כמו שצריך, כי לא היו לי דרייברים מתאימים. מצאתי והתקנתי אותם [עדכון: זה היה מזמן, הקישור שהיה פה כבר לא תקף], אבל זה עדיין לא עבד – סביבת הפיתוח של הארדואינו סירבה לתקשר עם הלוח. אחרי חיטוט ממושך באינטרנט מצאתי פוסט, שהסביר בבירור את הבעיה: הרגל שמסומנת RST (איפוס) על הרכיב לא אמורה להתחבר לפין ה-RESET של המיקרו-בקר! צריך להלחים פין לחור שמסומן DTR ואותו לחבר ל-RESET. אינטואיטיבי לגמרי, אה? אחסוך מכם את ניבולי הפה שנזרקו לחלל האוויר עד שהעסק הושלם. הסתכלו בתמונה על החוט הכחול שיוצא פתאום מאמצע ה-CP2102 – זו התוצאה הסופית של התיקון.

עכשיו סביבת הפיתוח הסכימה לצרוב את קוד ה-Blink הבסיסי שכתבתי, וזה אפילו עבד… בערך. כלומר, זה עבד עד שניתקתי מהלוח את רכיב התקשורת, ואז הנורית המהבהבת כבתה לגמרי, אף על פי שנורית ה-POWER המשיכה לדלוק כאילו כלום. לא היה טעם לחפש פתרון בגוגל – ברור שזה משהו מקומי. כדי לאתר את מקור הבעיה התחלתי בניסויים עם רכיב התקשורת. האם כל החוטים שלו חייבים להיות מחוברים כדי שהקוד יפעל? הסתבר שחיבורי RX/TX אינם רלוונטיים – רק החשמל וה-RESET. המשכתי ובדקתי מתחים (בזמן פעולה) והתנגדויות (כשהלוח מנותק מהחשמל) באזור החיבורים הללו, די באקראי, עד שעליתי על דבר משונה: הנגד בערך 10K, שמחבר בין פין ה-RESET של המיקרו-בקר לבין מקור המתח, הראה התנגדות של 220 אום בלבד. זה היה רמז מספיק חזק בשבילי להפוך את הלוח ולבדוק שוב את ההלחמות. ואכן, קצה קצר של "רגל" מולחמת אחת התכופף יותר מדי ונגע בהלחמה ששייכת לפס נחושת אחר. קיצרתי אותו עוד יותר, וידאתי שאין מגע – ואכן, סוף כל סוף, הלוח עשה את מה שהוא היה אמור לעשות.

חשוב לציין שזה לא "ארדואינו תוצרת בית". אין לו מייצבי מתח או ממיר ל-5V, אין לו נורית LED לפין 13, אין לו את אותה "חתימה" של פינים שמאפשרת חיבור Shields, ולמעשה סכמת הפינים שלו שונה לגמרי מזו של הארדואינו. בקיצור, זהו לוח תוצרת בית ל-ATMega328. אני אמשיך לעשות לו בדיקות, ואם הוא ישרוד עד אז, אולי אפילו אביא אותו למפגש הקהילתי שלנו…

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

נ.ב.ב לכל מי שביקש – הנה קובץ התכנון של המעגל, לפתיחה באמצעות Fritzing. שימו לב שהוא אינו כולל את התושבת למיקרו-מעבד, ושתצטרכו להתחכם קצת כדי להעביר את החוט האדום ההוא שמופיע מעליו… וכמובן, לא לשכוח לקטוע את פסי הנחושת בין כל זוג רגליים של הג'וק, ובין הרגליים של הגביש!

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

נו, אז מתי נפגש קהילתי!??… ^_^

אפשר רשימת חלקים ושרטוט נוח? אני גם רוצה להשתמש בצ'יפ בלבד (ומה שנחוץ להפעיל אותו) לפרוייקט קטן…

אשמח גם לקבל 🙂

הכנתי לי אחד אך זה לקח די הרבה זמן ואז הזמנתי 5 ארדואינו NANO ב-12$ ליח'.
🙂 אין לי מספיק זמן כדי לייצר כאלה ועל מטריצה זה לא אסטטי ופחות נוח.

מה שכן, גם אני רכשתי מתאם שאינו עושה את העבודה ולאחר מכן רכשתי את הפריט הבא מבית cytron שעובד נהדר:
http://www.ebay.com/itm/190681850357?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649

בהצלחה ותודה על השיתוף!

שכחתי לשאול – איך עושים "חריצים" ב-stripboard?
כלומר, השורות ארוכות ובלתי אפשרי להשתמש בזה בלי לחרוץ. אז איך? 🙂
תודה!

אנסה בהזדמנות את העניין עם המקדח. אדווח אם זה יוצא נוח ומועיל. צריך לקבע קודם את הלוח בעזרת ארבע החורים למשטח העבודה ואז אפשר להתעלל בזה עם המקדחה! (תמיד רציתי תירוץ לשחק ברופא שיניים ועכשיו יש לי :))
תודה על הפוסט האינפורמטיבי 🙂

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

אני לא חושב שזה משנה משהו, כי מדובר במהירויות נמוכות, ויש שעושים זאת עם מברג (אם כי לדעתי זה לא נוח). השתמשתי במקדח מסוג HSS שיכול לעבוד נהדר עם מתכת (מבחינת הרכב החומר) וצורת המקדח אחידה, כלומר, יתאים יותר לעבודה עם מתכת, לשיטתך, ואינו בעל "ראש" כדוגמת "masonry bit head". שיתאים יותר לעבודה עם בטון.
אני מוכרח להודות שמעולם לא ביצעתי את ההבחנה בין סוגי המקדחים, אם כי אני מקווה שעניתי לשאלה ע"י תיאור יתר והפעלת היגיון. 🙂

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

זה פשוט מגניב. מי שיש לו את היכולת והניסיון לבנות לוח כזה לבד, אז, אז… זה בטח מרגיש די טוב 🙂
מה שמזכיר לי בדיוק, שזה זמן טוב מאוד לנג'ס לך שתבנה לוח ATtiny:
http://www.youtube.com/watch?v=30rPt802n1k

גם אני בניתי אחד כזה , פירסמתי בקבוצת ארדואינו בפייסבוק , החלטתי לא להתעסק בצורב בכלל וקניתי מהתחלה atmega עם bootloader של uno שיש לי מקורי בבית ואיתו אני כל הזמן צורב. אני לא צריך צורב כרגע כי הזה שבניתי הוא לצורך פרוייקט האוטו שלי. בכל מקרה אני עשיתי את זה בצורה קצת שונה , על prefboard, יש מייצב מתח 5V אחרי הכניסת חשמל 2.1 יש לי כפתור ריסט ולד ביקורת , מקומות לחיבור חוטים יש לי לכל היציאות והכניסות הדיגיטליות והאנלוגיות ול5 אחד ולאדמה אחד.

צריך להקים אתר שפשוט ייבא מהמוכרים הכי זולים ב Ebay לארץ במקום לקנות חישנים במיליוני שקלים מהחברות הגדולות וככה חוסכים הרבה זמן המתנה (שם לאתר: made in china…)
אגב חלק מהבעיה היא גם המחירי משלוח הזמנת לד בשקל וחצי? עשרים שקל משלוח…

אם היו מוכרים כאן רכיבים אפילו ב-50% יותר ממחירי איביי, אז הייתי קונה כאן בארץ.
פשוט הפער היום הוא של מאות אחוזים. זה פשוט לא שווה לי, אפילו ההמתנה עדיפה.

איזה יופי, מה הייתרונות בלוח שכזה?
וכמה יעלה לבנות כזה כולל הרכיב תקשורת?

אופיר היתרונות שאתה יכול להתאים את הלוח לצרכים שלך ולעיצוב שלך , אחד כזה ללא רכיב תקשורת יעלה לך בסביבות ה 6 דולרים (לא כולל ציוד וחומרי בדיל וחוטים וכו') שזה 4 דולר אטמה 328 עם בוטלואדר של אונו ועוד 2 דולר לרכיבים. לגבי הרכיב אין לי מושג אני יודע שצורב AVR לזה עולה בערך 4 דולר באייבי.

צודק לגמרי.
וגם ככה אתה יותר מבין איך זה עובד…
אבל לפרויקטים קטנים אני ממליץ על הרכיב Attiny