כזכור, הצלחתי בעבר לצרוב Bootloader ("תוכנת ניהול") של ארדואינו על מיקרו-בקר ATMega328-PU שנרכש בנפרד, ואחר כך הצלחתי לשים אותו על מטריצה ולגרום לו להבהב בנורית LED. השלב הבא היה ליצור עבור המיקרו-בקר לוח עצמאי, כזה שיוכל לתקשר עם המחשב ולעשות כל מה שארדואינו אמיתי עושה, ולא על מטריצה זמנית אלא על משהו יציב יותר.
בתור התחלה השגתי רכיב 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. שימו לב שהוא אינו כולל את התושבת למיקרו-מעבד, ושתצטרכו להתחכם קצת כדי להעביר את החוט האדום ההוא שמופיע מעליו… וכמובן, לא לשכוח לקטוע את פסי הנחושת בין כל זוג רגליים של הג'וק, ובין הרגליים של הגביש!
נו, אז מתי נפגש קהילתי!??… ^_^
אתה מארגן? 😉
בעיקרון, אנחנו רוצים לצבור הרבה חברים ופרויקטים שאפשר להראות, כדי שיהיה בסיס מוצק לכנס כמו שצריך. אבל שמע, הכל פתוח…
אפשר רשימת חלקים ושרטוט נוח? אני גם רוצה להשתמש בצ'יפ בלבד (ומה שנחוץ להפעיל אותו) לפרוייקט קטן…
יש לך Fritzing?
אם לא, נא להתקין!
אם כן, אצרף את קובץ התכנון (משם האיור הראשון בפוסט), ואז אפשר גם לייצא בעזרת התוכנה "רשימת קניות" של רכיבים. הרכיב היחיד שלא מופיע שם הוא תושבת DIP עם 28 שקעים בשביל הג'וק – או שתיים של 14.
אשמח גם לקבל 🙂
הוספתי את קובץ התכנון להורדה בסוף הפוסט. שיהיה בכיף ואני לא אחראי לכלום 😉
הכנתי לי אחד אך זה לקח די הרבה זמן ואז הזמנתי 5 ארדואינו NANO ב-12$ ליח'.
🙂 אין לי מספיק זמן כדי לייצר כאלה ועל מטריצה זה לא אסטטי ופחות נוח.
מה שכן, גם אני רכשתי מתאם שאינו עושה את העבודה ולאחר מכן רכשתי את הפריט הבא מבית cytron שעובד נהדר:
http://www.ebay.com/itm/190681850357?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649
בהצלחה ותודה על השיתוף!
שכחתי לשאול – איך עושים "חריצים" ב-stripboard?
כלומר, השורות ארוכות ובלתי אפשרי להשתמש בזה בלי לחרוץ. אז איך? 🙂
תודה!
זה כנראה היה העונש שלי, על זה שחסכתי עשרים סנט על המתאם 🙂
אומרים שיש כלים מיוחדים לקטיעה של פסים ב-Stripboard, ובאיזה מקום גם המליצו על מקדח 3.5 מ"מ… אני השתמשתי בסכין יפנית, מברג קטן והרבה סבלנות (הם די עקשניים, הפסים האלה). כמובן, אחרי כל קטיעה, לבדוק טוב עם מולטימטר שלא נשאר שם איזה נתיב דקיק שעדיין מוליך.
אנסה בהזדמנות את העניין עם המקדח. אדווח אם זה יוצא נוח ומועיל. צריך לקבע קודם את הלוח בעזרת ארבע החורים למשטח העבודה ואז אפשר להתעלל בזה עם המקדחה! (תמיד רציתי תירוץ לשחק ברופא שיניים ועכשיו יש לי :))
תודה על הפוסט האינפורמטיבי 🙂
רק שים לב שאמרתי מקדח, לא מקדחה 🙂 נראה לי שקל מאד להשמיד את הלוח בטעות בשיטות כוחניות כאלה… אז ספר לנו באמת אם תצליח (ואם לא)
ובכן, הרעיון עם המקדח עובד פשוט נהדר. עם מברגה – כך שמהירות הסיבוב נשלטת באופן משביע רצון. המברגה קלת משקל וכמעט שאינה יוצרת ויברציות לא רצויות. תודה על הטיפ – אתה מוכרח לנסות אותו בעצמך 🙂
באמת? מגניב 🙂
עכשיו אני רק צריך להשיג מברגה… יש לי מקדחה עם שליטה במהירות אבל היא מסורבלת מדי לדברים כאלה.
[עריכה: רגע, השתמשת במקדח לבטון או מקדח למתכת?]
אני לא חושב שזה משנה משהו, כי מדובר במהירויות נמוכות, ויש שעושים זאת עם מברג (אם כי לדעתי זה לא נוח). השתמשתי במקדח מסוג HSS שיכול לעבוד נהדר עם מתכת (מבחינת הרכב החומר) וצורת המקדח אחידה, כלומר, יתאים יותר לעבודה עם מתכת, לשיטתך, ואינו בעל "ראש" כדוגמת "masonry bit head". שיתאים יותר לעבודה עם בטון.
אני מוכרח להודות שמעולם לא ביצעתי את ההבחנה בין סוגי המקדחים, אם כי אני מקווה שעניתי לשאלה ע"י תיאור יתר והפעלת היגיון. 🙂
כן, HSS זה מה שקראתי "מקדח למתכת", והראש הזה של המקדחים לבטון נקרא "וידיה". תודה!
ובעניין העדכון – אני עוד לא סגור על מי מקבל מה פה…
אגב, כשאתה מבצע עריכה בפוסט, אני לא מקבל על כך חיווי במייל, כך שראיתי את ההודעה הזו לגמרי בטעות. 🙂
זה פשוט מגניב. מי שיש לו את היכולת והניסיון לבנות לוח כזה לבד, אז, אז… זה בטח מרגיש די טוב 🙂
מה שמזכיר לי בדיוק, שזה זמן טוב מאוד לנג'ס לך שתבנה לוח ATtiny:
http://www.youtube.com/watch?v=30rPt802n1k
אני מתקדם לקראת זה, בחיי! רק בצעדים קטנים קטנים… 🙂
האמת, עכשיו כשאני חושב על זה, יש לי כבר את כל הכלים הדרושים – אני רק צריך קצת זמן כדי לשבת ולגרום לכולם לעבוד יחד, בשאיפה שלא יהיה שוב איזה פיצ'ר מטופש באחד מהם שאף אחד לא טרח לתעד ושיתקע את הכל 🙂
גם אני בניתי אחד כזה , פירסמתי בקבוצת ארדואינו בפייסבוק , החלטתי לא להתעסק בצורב בכלל וקניתי מהתחלה atmega עם bootloader של uno שיש לי מקורי בבית ואיתו אני כל הזמן צורב. אני לא צריך צורב כרגע כי הזה שבניתי הוא לצורך פרוייקט האוטו שלי. בכל מקרה אני עשיתי את זה בצורה קצת שונה , על prefboard, יש מייצב מתח 5V אחרי הכניסת חשמל 2.1 יש לי כפתור ריסט ולד ביקורת , מקומות לחיבור חוטים יש לי לכל היציאות והכניסות הדיגיטליות והאנלוגיות ול5 אחד ולאדמה אחד.
אולי התרשים הזה http://www.dan-e.co.il/index.php?route=product/product&path=128_181_249&product_id=12489
יעניין אותך…..
הלוח הזו הוא סמל לתאוות הבצע של Sparkfun. מי שצריך לוח שהוא *בדיוק* כמו ארדואינו, שיקנה ארדואינו וזהו – זה גם יותר זול וגם כולל את רכיב התקשורת. בשביל להתאמן על הלחמה לא צריך להוציא מאה שבעים שקלים…
ואני יודע שזו לא אשמת האתר הישראלי – זה פער המחירים במקור.
צריך להקים אתר שפשוט ייבא מהמוכרים הכי זולים ב Ebay לארץ במקום לקנות חישנים במיליוני שקלים מהחברות הגדולות וככה חוסכים הרבה זמן המתנה (שם לאתר: made in china…)
אגב חלק מהבעיה היא גם המחירי משלוח הזמנת לד בשקל וחצי? עשרים שקל משלוח…
כן, אבל ברגע שאתה הופך את זה למסחרי אתה חייב לשלם מכס ומסי קניה ומע"מ ולהפוך לעסק ולהתנהל מול הרשויות… וכולם בכל זאת יזמינו מסין כי זה זול יותר בעשר אגורות 🙂
אם היו מוכרים כאן רכיבים אפילו ב-50% יותר ממחירי איביי, אז הייתי קונה כאן בארץ.
פשוט הפער היום הוא של מאות אחוזים. זה פשוט לא שווה לי, אפילו ההמתנה עדיפה.
מה ששכחתי להכניס למשוואה זה מחיר המשלוח בתוך הארץ. אפילו מעטפה רגילה ובול (אני לא מדבר על דואר רשום או מעטפה מרופדת) כבר יכולים להקפיץ את העלות ללקוח ביותר מ-50%, אם מזמינים משהו קטן.
איזה יופי, מה הייתרונות בלוח שכזה?
וכמה יעלה לבנות כזה כולל הרכיב תקשורת?
אופיר היתרונות שאתה יכול להתאים את הלוח לצרכים שלך ולעיצוב שלך , אחד כזה ללא רכיב תקשורת יעלה לך בסביבות ה 6 דולרים (לא כולל ציוד וחומרי בדיל וחוטים וכו') שזה 4 דולר אטמה 328 עם בוטלואדר של אונו ועוד 2 דולר לרכיבים. לגבי הרכיב אין לי מושג אני יודע שצורב AVR לזה עולה בערך 4 דולר באייבי.
היתרונות? בעיקר הגאווה על זה שהכנתי אותו לבד 🙂 בנוסף, אם אתה בוחר לעבוד אם מיקרו-בקר שהוא *לא* ATMega328, זו בערך האופציה היחידה שלך… הלוח קטן יותר מארדואינו (3.7 על 5.5 סנטימטרים), ואפשר "לתפור" דבר כזה לפי פרויקט ספציפי בקטע של סידור הרכיבים, הוספה של רכיבים ייעודיים וכדומה. המחיר – צריך להבדיל בין העלות של הרכיבים נטו לבין העלות של להשיג אותם. לדוגמה, הגביש עלה לי 15 סנט, אבל רק בגלל שקניתי עשרה כאלה בדולר וחצי. אם אתה בונה לוח אחד ויחיד ואין לך שימוש לרכיבים הנותרים מדילים כאלה, זה לא ישתלם. שימו לב להבדל בין צורב (שבעזרתו צורבים Bootloader… לקרוא עוד »
צודק לגמרי.
וגם ככה אתה יותר מבין איך זה עובד…
אבל לפרויקטים קטנים אני ממליץ על הרכיב Attiny