עזרה בתקשורת עם ארדינו

הפורום הראשי, אתר הרובוטיקה הישראלי

המנהלים: אסף פוניס, גיא יונה

עזרה בתקשורת עם ארדינו

הודעהעל ידי עמית פריגוז'ין » ד' אוקטובר 17, 2012 5:54 pm

ערב טוב,

בהמשך לפרויקט הכרסומת שלי כעת כבר יש לי חומרה שעובדת לא רע בכלל (רמת דיוק של כ-0.3 מ"מ-לא רע בכלל!), עכשיו התחלתי לשבת ולכתוב תוכנה למחשב שתתקשר עם הארדינו ולמעשה יהיה אפשר לכתוב תוכנית במחשב והארדינו יבצע אותה (הכוונה היא להתחיל מדבר פשוט כמו: לך 30+ על ציר X אח"כ 50- על ציר Y וכו'). את התוכנה אני כותב ב-VISUAL BASIC 2010. כן... אני יודע... חלק מכם יתהו למה אני עובד בסביבה הזאת. הסיבה שפשוט מאוד לבנות שם ממשקי משתמש בצורה מאוד פשוטה. אני מצליח לשלוח מידע מהתוכנה להארדינו, ואני מצליח לקרוא מידע מהארדינו. הבעיה היא שהארידנו כביכול לא מחכה לכול הפקודה שאני שולח לו. חשבתי שיהיה פשוט להקצות מספר דו ספרתי עבור כול פקודה (למשל 11 צעד אחד קדימה בציר X, או 12 צעד אחורה בציר Z) הארידנו יקרא מה נשלח לו ויקפוץ לפונקציה מתאימה ויבצע מה שצריך. אבל כאשר אני שולח לארדינו למשל 13 הוא קורא לי 1 ואז 3 שזה פחות נוח. אך אני פותר את זה? דבר נוסף ששמתי לב הוא שבכול פעם שהארדינו מסיים לשלוח לי מידע הוא שולח 10 בסוף. זה פשוט תו להודיע שהוא סיים?

אהה כן... אני משתמש בתקשורת טורית. דרך הרגליים TX ו-RX של הלוח.

תודה רבה,
עמית פריגוז'ין
סמל אישי של המשתמש
עמית פריגוז'ין
משתמש ותיק
משתמש ותיק
 
הודעות: 197
הצטרף: א' מרץ 14, 2004 9:14 pm
מיקום: חיפה

Re: עזרה בתקשורת עם ארדינו

הודעהעל ידי גיא יונה » ד' אוקטובר 17, 2012 7:01 pm

שלום עמית!

בנוגע ל-10 בסוף ההודעה, זהו תו "Line-feed" שמשמעותו הפכה עם השנים ל-"End-of-line", והוא אכן מודיע לך שהוא סיים.
איני מכיר את התקשורת לארדואינו (וגם לא ויזואל בייסיק), אך אם אתה כותב את מה שאתה קורא לתוך מערך, כדאי גם לך להשתמש בתו כזה כדי להודיע שסיימת (ב-C סימונו n\)
הבעיה שיש לך בתקשורת לא כ"כ ברורה... אם הוא קורא 1 ואז 3 עבור 13 (מה שהגיוני אם אתה שולח את התקשורת כטקסט), מדוע לא תחכה לסוף ההודעה ואז תעשה מה שרצית לעשות?

גיא
גיא יונה
מנהל אתר
מנהל אתר
 
הודעות: 254
הצטרף: ה' אוקטובר 03, 2002 11:18 pm
מיקום: אוניברסיטת ת"א

Re: עזרה בתקשורת עם ארדינו

הודעהעל ידי עמית פריגוז'ין » ד' אוקטובר 17, 2012 7:39 pm

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

תודה רבה!!
עמית פריגוז'ין
סמל אישי של המשתמש
עמית פריגוז'ין
משתמש ותיק
משתמש ותיק
 
הודעות: 197
הצטרף: א' מרץ 14, 2004 9:14 pm
מיקום: חיפה

Re: עזרה בתקשורת עם ארדינו

הודעהעל ידי Mishka » ה' אוקטובר 18, 2012 1:09 am

סתם שאלה.
למה אתה בונה תוכנה משלך, ולא משתמש בתוכנה מוכנה כמו mach3 לדוגמא?

מיכאל
סמל אישי של המשתמש
Mishka
משתמש ותיק
משתמש ותיק
 
הודעות: 349
הצטרף: ש' יולי 14, 2007 11:45 pm
מיקום: בת ים

Re: עזרה בתקשורת עם ארדינו

הודעהעל ידי עמית פריגוז'ין » ה' אוקטובר 18, 2012 10:29 am

שלום מיכאל,

בעיקר מאותה הסיבה שאני בונה לבד את הכרסומת ולא קונה קיט ב-ebay. אני פשוט נהנה מהעשייה ומלפתור את הבעיות בדרך.
חוץ מזה שעד כמה שידוע לי MACH3 ושאר התוכנות האלה עובדות עם פורט מקבילי שאין לי במחשב (נכון אפשר לקנות כרטיס לחיבור מקבילי....), אלה אם כן תאירו את עיניי ומסתבר ש-MACH3 תומכת גם ב-USB, ואז אני אשמח לבצע שם מספר הרצות ניסיון לכמה בדיקות חוסכות זמן.

על הבעיה התגברתי בסוף-מסתבר שמסיבה כולשהיא המידע נשלח מהתוכנה לארדינו כמחרוזת ולא כמספר לכן עברתי לשיטה הזאת: אני שולח תו char מהתכונה לארדינו. הארדינו מכניס את תו ה-char לתוך משתנה int, מה שגורם להמרת התו לערך ה-ascii שלו. וכך למעשה יש לי 255 פקודות שונות שאני יכול לשלוח מהתוכנה (בפועל תוריד בערך 100 כי אני לא אשלח סמיילי, וכול מיני תווים מוזרים כאלה אבל בהחלט עדיין מספיק!)

עמית פריגוז'ין
סמל אישי של המשתמש
עמית פריגוז'ין
משתמש ותיק
משתמש ותיק
 
הודעות: 197
הצטרף: א' מרץ 14, 2004 9:14 pm
מיקום: חיפה

Re: עזרה בתקשורת עם ארדינו

הודעהעל ידי אמנון » ה' אוקטובר 18, 2012 11:05 am

עמית שלום
ראשית מגניב הפרויקט שלך
דבר שני , אני חושב שאתה צריך להתחיל לחשוב על פרוטוקול אמיתי בין המחשב לבקר , כולל בדיקת שגיאות , כי עם שמונה בלבד סיביות לא תגיע רחוק עם כרסומת (אתה אמור להיות מסוגל לישלוח מיקום שהוא לפחות כול אורך הגררה הכי ארוכה שלך עם רזולוצית התנועה הכי גבוהה שלך )
בנוסף אתה רוצה לישלוח מהירות ואתה רוצה לטפל בתאוצות (רוצה מאוד !)

דבר שלישי , יש לך מספיק דברים לממש בבקר ואם אתה רוצה שהמערכת תעבוד כמו שצריך שווה לתת למחשב לטפל ב GCODE ) . יש בקרים שמדברים עם MACH3 ב USB , כניראה שצריך עבורם PLUGIN של MACH3 אבל שווה לך מאוד ליבדוק את הנושא.

ילה תעלה תמונות וסירטונים :)
אמנון :shock:
אמנון
רובוטריק
רובוטריק
 
הודעות: 2031
הצטרף: ש' יולי 09, 2005 5:41 pm
מיקום: חיפה

Re: עזרה בתקשורת עם ארדינו

הודעהעל ידי Mishka » ה' אוקטובר 18, 2012 4:51 pm

פרוייקט ממש מגניב.
אותם הבקרים שמדברים דרך USB אני דיי בטוח שכוללים בתוכם ממיר USB ל(פורט מקבילי, או איך שלא יקראו לו).

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

מיכאל
סמל אישי של המשתמש
Mishka
משתמש ותיק
משתמש ותיק
 
הודעות: 349
הצטרף: ש' יולי 14, 2007 11:45 pm
מיקום: בת ים

Re: עזרה בתקשורת עם ארדינו

הודעהעל ידי 4Project » ה' אוקטובר 18, 2012 6:21 pm

אני פעם קראתי די הרבה חומר בנושא הזה, בעיקר על LinuxCNC שהיא תוכנה חינמית לכרסמות.
לא יודע לגבי ה-Mach3, אבל עם התוכנה הזו הבעיה היתה בזה שהיא שולטת על המנועים ברמה של צעד אחר צעד.
היא לא אומרת לבקר לך 100 צעדים שמאלה או למיקום XYZ, היא ממש נותנת פולסים של צעדים לכל המנועים.
כל זה מצריך מחשב די מהיר...

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

כמו שעמית כתב... זה כל הכייף :)
www.4project.co.il
כל הרכיבים לפרוייקט שלכם
4Project
משתמש ותיק
משתמש ותיק
 
הודעות: 213
הצטרף: ה' פברואר 03, 2011 10:45 am
מיקום: Yehud

Re: עזרה בתקשורת עם ארדינו

הודעהעל ידי אמנון » ה' אוקטובר 18, 2012 8:07 pm

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

בסירטון הבא , הכרסומת שלי בניסוי חריטה הראשון

http://www.youtube.com/watch?v=xlCYVg2N ... ature=plcp

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

והכל עם MACH3 חוקית

אמנון :shock:
אמנון
רובוטריק
רובוטריק
 
הודעות: 2031
הצטרף: ש' יולי 09, 2005 5:41 pm
מיקום: חיפה

Re: עזרה בתקשורת עם ארדינו

הודעהעל ידי 4Project » ה' אוקטובר 18, 2012 8:58 pm

אני לא יודע מה הסיבה, אבל לתוכנה הזו הם דורשים להתקין kernel שמותאם לזמני real-time קשים.
כך שיש דרישות מיוחדות מהמחשב. כנראה שזו הדרך שלהם להגיע למהירויות סבירות ותנועה חלקה.

אהבתי את הצלילים של המנועים במכונה שלך :)
www.4project.co.il
כל הרכיבים לפרוייקט שלכם
4Project
משתמש ותיק
משתמש ותיק
 
הודעות: 213
הצטרף: ה' פברואר 03, 2011 10:45 am
מיקום: Yehud

קצת תמונות

הודעהעל ידי עמית פריגוז'ין » ש' אוקטובר 20, 2012 10:36 am

טוב לאור הבקשות לתמונות אני מעלה פה 2 תמונות. האחת של הדרייבר של המנוע, השנייה של התוכנת מחשב שאני בונה.
הדרייבר לא צפוי להשתנות כבר, אבל התוכנה ממש בתחילת פיתוח אז צפוי שם עוד הרבה שינויים.
גוף הכרסומת עצמו הולך להתחלף לגמרי. עד היום היה לי גוף כרסומת מעץ, מה שדי גרוע. אני לא יכול לשחק עם איזון המכונה, ולא יכול לדאוג לקוויות של הצירים שם. אני משתמש כרגע בתור מצמד למנוע בחתיכת צינור גומי קטנה... :-\
יש שם כבר די הרבה חופשים, ואחרי שאני אסיים לבנות את התוכנה הבסיסית שתעבוד כמו שצריך, אני אתחיל לבנות גוף כרסומת כמו שצריך. הפעם ממתכת (אלומיניום?) ועם חשיבה יותר קדימה (ברגי כוונון לצירים למשל).
מאוחר יותר אני אעלה תמונות של הגוף הישן (צריך ללכת להתארגן-היום חוזרים לטכניון :-( )

תמונה

תמונה

יום טוב,
עמית פריגוז'ין
סמל אישי של המשתמש
עמית פריגוז'ין
משתמש ותיק
משתמש ותיק
 
הודעות: 197
הצטרף: א' מרץ 14, 2004 9:14 pm
מיקום: חיפה

ועוד 3 תמונות

הודעהעל ידי עמית פריגוז'ין » ש' אוקטובר 20, 2012 11:56 am

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

תמונה כללית:
תמונה

תמונה של המנוע עם ה"מצמד" המאולתר"
תמונה

מבט מתחת לשולחן ציר X
תמונה

יום טוב,
עמית פריגוז'ין
סמל אישי של המשתמש
עמית פריגוז'ין
משתמש ותיק
משתמש ותיק
 
הודעות: 197
הצטרף: א' מרץ 14, 2004 9:14 pm
מיקום: חיפה

Re: עזרה בתקשורת עם ארדינו

הודעהעל ידי אמנון » ש' אוקטובר 20, 2012 1:08 pm

עמית מגניב
כדי שתבקר בג'נקיות בחיפה ובקריות , תוכל לארגן שם חלקים יחסית בזול למכונה שלך.
אמנון :shock:
אמנון
רובוטריק
רובוטריק
 
הודעות: 2031
הצטרף: ש' יולי 09, 2005 5:41 pm
מיקום: חיפה

Re: עזרה בתקשורת עם ארדינו

הודעהעל ידי 4Project » ש' אוקטובר 20, 2012 1:50 pm

עמית,
מה אורך הצירים?

אני מתכנן ליבא רכיבי מכניקה מתכתיים שיכולים לעניין אותך.
לא מבטיח שיהיה זול יותר מג'נקיה :)
www.4project.co.il
כל הרכיבים לפרוייקט שלכם
4Project
משתמש ותיק
משתמש ותיק
 
הודעות: 213
הצטרף: ה' פברואר 03, 2011 10:45 am
מיקום: Yehud

Re: עזרה בתקשורת עם ארדינו

הודעהעל ידי עמית פריגוז'ין » ש' אוקטובר 20, 2012 2:42 pm

כרגע אורך הצירים שלי הוא 20 ס"מ, אבל בפועל המהלך של השולחן שלי הוא רק 8 ס"מ בערך (תוריד מחזיקי צירים, ואת אורך השולחן עצמו)
השאיפה שלי היא להגדיל את אורך המהלך, לאזור ה-15-20 ס"מ מה שאוחמר שאני אצטרך מסילות באזור 25 ס"מ (הערכה גסה מאוד).
אני אשמח לשמוע על דברים מעניינים שאתה מתכנן לייבא.

עמית פריגוז'ין
סמל אישי של המשתמש
עמית פריגוז'ין
משתמש ותיק
משתמש ותיק
 
הודעות: 197
הצטרף: א' מרץ 14, 2004 9:14 pm
מיקום: חיפה

הבא

חזור אל פורום הרובוטיקה

מי מחובר

משתמשים הגולשים בפורום זה: Bing [Bot] ו 13 אורחים

cron