רובוטים.אורג

רובוטים אינפורמצ בע"מ
11  02 2020

כיול מדפסת 3ד

העבודה השוטפת והמבאסת בתחזוקת המדפסת היא כיול. זה מתחיל בהתלהבות (“😃 הדפסתי קוביה!”) וממשיך פחות טוב (“😩 אני בקוביית הכיול ה-20”). לא משנה כמה זה מבאס בהתחלה, אי אפשר לוותר אבל אפשר להתפשר קצת פה ושם.

מתחילים כאן עם מדפסת בנויה ועם פירמוור (firmware) פעיל ומודרני. הפוסט הזה עוסק במדפסת קרטזית מסוג פרוסה-מנדל, ולא הכל יתאים למדפסות כמו אולטימייקר ו-corexy למיניהן. ובטח ובטח לא למדפסות רסין.

יישור

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

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

  • ציר ה-x מקביל למשטח ההדפסה
  • ציר ה-y נע במאונך לציר ה-x, ואין עיוותים בתנועה
  • ראש ההדפסה נמצא באותו מרחק ממשטח ההדפסה בכל אזור ההדפסה. זה מה שנקרא bed leveling, ואחד הדברים המעצבנים אך החשובים לעשות

האם להשתמש בפלס? זה לא נחוץ. המדפסת יכולה להיות ישרה ביחס לעצמה ועקומה ביחס לכדה”א ובמקרה הזה פלס רק יזיק. אם יש אפשרות למעמד מדפסת ישר-פלס – זה נחמד כי היתרון ביישור בעזרת פלס הוא שאפשר לעשות כל ציר בנפרד ולא ביחס אחד לשני, ועם פלס מגנטי זה מאוד פשוט. באנגלית, המונח הנכון הוא tramming ולא leveling.

אז איך מיישרים? אני מתחילה מלמעלה למטה – ציר z, ציר x, ואז מיטה, והמדפסת תהיה מיושרת לפי החלק העליון של המסגרת.
יישור ציר z
ליישור ציר z אני מוודאת ששני הצדדים נמצאים במרחק שווה מהחלק העליון של המסגרת: ז”א הפסים הכתומים בתמונה יהיו באותו האורך וכך נקבל שהפסים הירוקים (המסילה של ציר x שנעה על ציר z) יהיו מקבילים. אני עושה את זה ידנית: בודקת את המרחק של אחד הצדדים ואז מורידה או מעלה את הצד השני עד שהוא נמצא באותו הגובה. להוריד ולעלות נעשה ע”י סיבוב ההברגה. המדפסת כמובן כבויה, המנוע לא מחושמל ולא מתנגד.

השלב הבא הוא יישור של ציר x למיטה ולעצמו

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

ועכשיו לחלק הכיפי של כיול משטח ההדפסה! 😭😭
מה שרוצים להשיג הוא פשוט אבל הדרך לשם רצופת חתחתים. ראש ההדפסה צריך להיות באותו מרחק ממשטח ההדפסה בכל נקודה על המשטח. אני מתחילה מ-y0 ו-x0, בודקת את הגובה ומזיזה את ראש ההדפסה על המסילה של ציר x, אם הכל טוב ממשיכה: מזיזה את המיטה (y) קדימה 4 ס”מ, ומעבירה את הראש על המסילה של x, וכך הלאה. חוץ מזה שזה לא כיף גדול, הבעיה האמיתית היא שברוב המדפסות, כולל בשלי, במיטה אין גמישות (שזה טוב) והוא מחוברת ב-4 פינות, ז”א כל שינוי בפינה אחת משפיע על הפינות האחרות, ולכן “אני רק צריכה להרים את הפינה הימנית הקרובה” לרוב ידרוש לשחק עם כל ארבעת הברגים! זו הרכבת מיטה שנראית פשוטה אבל היא לא מאוד הגיונית ובגלל זה זה השלב השנוא עלי.

מידות וכיוונים

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

החלק הזה מורכב מ:

  • בדיקת וסידור כיווניות
  • סגירה נכונה של ה-endstop
  • כיוונון מרחק התנועה בכל הצירים
  • כיוונון כמות הפלסטיק שהאקסטרודר מושך

סידור כיווניות אומר שהמדפסת נעה נכון ימינה ושמאלה ולמעלה ולמטה. את הבדיקה הזו עושים באופן פשוט: מדליקים את המדפסת עם ראש ההדפסה באמצע ציר x, והמיטה בערך באמצע המסילה, וציר z מורם מהמשטח, ואז דרך Printrun עושים צעד קטן לכיוון הבית ב-x וב-y וצעד למעלה ב-z. אם אחד מהצירים זז לכיוון הפוך מהמצופה משנים ב-Configuration.h של הפירמוור:

// Invert motor direction
#define INVERT_X_DIR false
#define INVERT_Y_DIR true
#define INVERT_Z_DIR false

הדבר הבא הוא לבדוק שה-endstops נקלטים נכון. בגלל שיש 2 דרכים לחבר את ה-endstops (כשמשתמשים במתג מכני פשוט – הכי נפוץ). סוגרים את כל אחד מה-endstops עם האצבע ושולחים את הפקודה

M119

התוצאה נראית כך:

Reporting endstop status
x_min: open
y_min: TRIGGERED
z_min: open

המתג שסגור צריך להחזיר TRIGGERED ומתגים פתוחים נשארים כ-open. אם הכל נראה נכון – יופי, אם לא אז צריך להפוך את ההגדרה עבור ה-endstop הסורר

// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
...

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

#define X_BED_SIZE 200
#define Y_BED_SIZE 20080, 4000, 500 }
// ...
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 200

אחרי שכל זה מוגדר כדאי להעלות את זה למדפסת עם Arduino IDE (או דרך SD אם לא מתחברים למדפסת ב-USB).
ועכשיו אנחנו סוף סוף במצב בטוח כי הפירמוור ישמור שהמדפסת לא תצא מגבולות הגיזרה.

מרחקים ואורכים

הדבר האחרון לפני שמדפיסים הוא לוודא שכשמבקשים מהמדפסת לזוז 1 ס”מ היא באמת תזוז 1 ס”מ, לא יותר ולא פחות. המנועים במדפסת הם מנועי צעד, שלי עושים 1.8° (ז”א יש 200 צעדים בסיבוב שלם), וצריך לחשב כמה צעדים המנוע צריך לעשות בשביל תנועה של מ”מ אחד. יש מחשבון בשביל זה באתר של פרוסה. לרוב האנשים יש את אותם המנועים ואותן החגורות עבור x ו-y, אז המספרים יהיו זהים. בציר z יש ברגים, והמספר לרוב יהיה הרבה יותר גבוה.

// X, Y, Z, E0, E1, ... steps per unit
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 500 }

החל מהמספר הרביעי והלאה בשורת ההגדרות זה בשביל קצב דחיפת החומר באקסטרודר. את זה בודקים באופן פשוט עם טוש
Extruder pull calibration
אני מחממת את ראש ההדפסה, מסמנת על הפלסטיק מעל הראש 2 סימונים עם טוש: ב 5 וב-10 ס”מ. אז שולחת פקודה להוציא 5 ס”מ של חומר – משתמשת בסימונים כדי למדוד כמה יצא באמת, ועושה את זה פעם נוספת. משתמשת בסימונים כדי לחשב מה היחס בין מה שביקשתי (סה”כ 10 ס”מ) למה שקיבלתי, ומעדכנת את כמות הצעדים למ”מ של הראש לפי היחס הזה.
אני עושה את הבדיקה הזו לכל חומר חדש שאני מנסה, כי אם הוא חלק יותר/חלק פחות, נתפס יותר או פחות ישפיע על איך האקסטרודר יצליח לדחוף אותו וגם כי קל מאוד לבדוק ולעדכן במקרה הצורך.

ועכשיו אפשר להדפיס!

XYZ Calibration Cube
3D Benchy

ועם מגדל קוביות הקליברציה שיש לי, אפשר לעבור לפוסט הבא: עוד קצת קליברציה ושידרוגים


26  01 2020

עינייני הדפסה

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

יש לי מדפסת-3ד כבר המון שנים (כתבתי עליה לראשונה ב-2012), הבעיה היא שב-4 השנים האחרונות לא נגעתי בה והמדפסת העלתה אבק וחשבתי שהיא שבקה חיים; קצר בגלל האבק? המיסבים כבר לא חלקים ולא זזים? עלבון והתיישנות כללית? מה רבה היתה שמחתי כשגיליתי שרוב הצירים זזים והכל פועל כמעט כמו ביום הרכבתה!

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

כלים

  • פלס – עדיף מגנטי, לי יש כמה באורכים ובצורות שונות
  • קליפר דיגיטלי – סרגל רגיל לא מספיק מדוייק בשביל מדידות בדיוק של מ”מ או חלקי המילימטר
  • יש עוד כמה כלים שנחמד שיש, אבל שני אלה הכרחיים. בנוסף נוח שיש פלאייר (בכמה גדלים, ולא פלאייר ענק של טרקטורים), קאטר, שפכטל כדי לגרד את ההדפסות מהמשטח, טוש לא מחיק, מפתחות לכל הברגים (מקבלים אותם עם כל הערכות שקונים, אז לכולם יש שניים או שלושה מפתחות לכל גודל).

חומרה

המדפסת שלי היא mendel prusa 2 עם מעט חלקים שהחלפנו. זו מדפסת מסוג FDM שזה מידול בעזרת הלחמת חומר – ז”א ההדפסה היא הפקדת עוד ועוד פלסטיק מומס עד שנוצרת הצורה הרצויה (ההפך מלמשל, פיסול, שם מורידים חומר עד שנשארת הצורה הרצויה). ראש ההדפסה נע על 3 צירים: צירי x, y נעים עם מנוע אחד וחגורה משוננת (כל אחד). ציר ה-z נע עם 2 מנועים ומוטות הברגה (כמו שמבריגים אום על בורג והוא עולה ויורד). לחומר הפלסטיק אותו מדפיסים יש מנוע נוסף שקובע את המהירות בה הוא נדחף לראש המדפסת. ראש ההדפסה אצלי הוא בקוטר 0.35 מ”מ, עכשיו יותר נפוץ 0.4 מ”מ – בגדול, ככל שהראש יותר קטן, אפשר לעשות פרטים יותר עדינים וראש יותר גדול מאפשר הדפסת שכבות יותר עבות ולכן הדפסה מהירה יותר.
הכל מנוהל ע”י ארדואינו ועליו מגן עם הרבה בקרי מנועים.

יש הרבה וריאציות ורמות שונות של bling (מנועים יותר עדינים, כיול אוטומטי בחלקו, וכו’) אבל מדפסת פלסטיק עם 3 צירים זה הכי פשוט והכי נפוץ.
אם נשארים בקטגוריית ה-FDM, סוג המדפסת השני, והפחות נפוץ, הוא דלטא-רובוט – מדפסת שגם מבינה קואורדינטות של x,y,z אבל במקום 3 צירים נפרדים, יש 3 ידיים על מסילות. תמונה תהיה יותר קלה להבנה. אחד הדגמים הפופולריים נקרא kossel ואני רוצה לבנות כזה!

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

תוכנה

התוכנות שצריך בשביל להדפיס ולנהל את המדפסת הן:

  1. תוכנה לבניית מודלים תלת מימדיים להדפסה. יכול להיות גרפי, כמו למשל Tinkercad או לא גרפי, כמו OpenScad.
    אני משתמשת ב-OpenScad, כי כישורי האומנות שלי שואפים ל-0.
    אפשר גם לא לבנות שום מודל ולקחת הכל מ-Thingiverse ו-Cults3d, אבל לא בשביל זה אנשים קונים מדפסת.
  2. תוכנת סלייסינג: תוכנה שלוקחת את המודל ובונה ממנו הוראות למדפסת (לזוז לנק’ 2,2, להוציא חומר במשך 1 ס”מ תנועה, לעלות למעלה, לזוז ל-2,3 וכו).
    אני משתמשת ב-Slicer, תוכנה פופולרית נוספת היא Cura.
  3. תוכנת שליטה על המדפסת: תוכנה ששולחת הוראות למדפסת, בין היתר שולחת הוראות הדפסה, הוראות קירור, תנועה, ניטור וכד’.
    אני משתמשת ב-Printrun
  4. התוכנה על המדפסת עצמה: הפירמוור שמקבל את ההוראות ויודע לתרגם אותן להזזת מנועים, חימום וכד’ (“הזז מנוע 2 מ”מ”).
    יש לי Marlin v2.x – שידרגתי ממש עכשיו ממרלין גירסא 1.

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


23  01 2020

Flow my tears, אמר השוטר

לספריו של פיליפ ק דיק יש כמה מאפיינים שהופכים אותו לסופר מתאים לכל זמן ולכל אדם:
1. מגוון רחב של נושאים
2. הספרים לא ארוכים, אז אין שום התחייבות
3. הציפיה למשהו לא שגרתי – למרות שבחלק מהספרים אין הפתעה, וגם זה מפתיע, ולרוב עדין מוזר

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

העלילה הזויה קצת ולא תמיד מעניינת (למי איכפת מכדרות?) אבל העולם המתואר בספר הוא בידיוק מה שהיתי מצפה מפיליפ ק דיק. זה נורא.
Flow my tears, the policeman said הוא ספר על הווה דיסטופי בו כל משאלות ליבה של איילת שקד התגשמו ואנשים חיים במדינת משטרה. זה לא שהכל ורוד, קיימת התנגדות לרעיון של מדינת משטרה, בעיקר מכיוון ההשכלה הגבוהה – מה שהיה בעבר קמפוסים של אונברסיטאות נהפכו לקיבוצים מחתרתיים (ותת-קרקעיים) להתנגדות, וסטודנטים הם הדוגמא לשפל המין האנושי, שצריך לתפוס ולשלוח למחנות עבודה בכפייה. פדופיליה, לעומת זאת, זה אחלה.

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

אני מוכנה לחזור לספרים אמיתיים!

ציון: 4.3999999999999995


ספויילרים מכאן כל הדרך למטה

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

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

כאן בערך נגמר הספר.

יש בסוף סיכומון קטן של מה קרה לאורך 150 השנים הבאות, ולדעתי הוא הורס יותר ממה שהוא מוסיף:

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

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

זה היה קצר, אז אני לא חושבת שזה היה בזבוז זמן, אבל הסיום-סיכומון מבאס


12  01 2020

דרזדן פיילס: Storm Front

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

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

דרזדן פיילס זו סדרת ספרים שיצאה אחרה”פ [1], ומספרת על הארי דרזדן, בלש ומכשף בשיקגו, ואפשר למצוא אותו בספר הטלפון! התוכנית היא לעזור למשטרה (כיועץ לעיניינו מוזרויות, בתשלום) ולעבוד באופן פרטי על חפצים נעלמים ושאר שטויות. בפועל יש ערפדים רצחניים, שדים חזקים ורצחניים ומכשפים שחורים ורצחניים, וגם מכשפים טובים (ולא חכמים מידי) ורצחניים. יש הרבה כוונות לרצח – בגלל זה קראתי.

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

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

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

היו כמה ט’רדים ב-comicvine לגבי מי מנצח בקרוב בין ויצ’ר לדרזדן (היו כמה סייגים וסיבובים), אבל זה קל: ברור שדרזדן, כי כשהוא מפחד מספיק או עומד למות זה נותן לו את האנגריה הנדרשת להיות כל-יכול ואל-מנוצח.

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

ציון: מטה שבור

[1] אחרי הארי פוטר


Next Page »