תוכן עניינים:

מתאם תופים CNC: 13 שלבים (עם תמונות)
מתאם תופים CNC: 13 שלבים (עם תמונות)

וִידֵאוֹ: מתאם תופים CNC: 13 שלבים (עם תמונות)

וִידֵאוֹ: מתאם תופים CNC: 13 שלבים (עם תמונות)
וִידֵאוֹ: Removing & Inspecting the Boom! | Franna Crane Project | Part 10 2024, נוֹבֶמבֶּר
Anonim
Image
Image
מגשש תופים CNC
מגשש תופים CNC

מדריך זה מתאר פלטר A4/A3 עשוי מקטע של צינור פלסטיק, שני מנועי צעד BYJ-48 וסרוו SG-90. בעיקרו של דבר מדובר בפילטר מיטה שטוחה המגולגל לתוף.

מנוע אחד מסובב את התוף בעוד השני מניע את ראש ההדפסה. הסרוו משמש להעלאה והורדה של העט.

לפוטר זה מספר יתרונות על פני מגשש שטוח מסורתי:

  • טביעת רגל קטנה יותר באופן משמעותי
  • דורש רק מסילת הנחייה לינארית אחת
  • פשוט לבנייה
  • זוֹל

מתורגמן על הלוח מקבל את פלט ה- gcode מ- Inkscape.

התקשורת עם הקושר היא באמצעות קישור Bluetooth.

הקושר תואם לטאבלט הגרפיקה CNC המתואר ב

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

שלב 1: המעגל

המעגל
המעגל

המעגל כולל מיקרו -בקר Arduino UNO R3 ומגן מותאם אישית שעליו מותקנים הרכיבים הנפרדים. החשמל מופעל באמצעות וסת חיצוני של 5 וולט 1 אמפר. הזרם הממוצע הוא סביב 500mA.

מנועי הדריכה BYJ-48 מחוברים ל- PORTB (סיכות D8, D9, D10, D11) ו- PORTC (סיכות A0, A1, A2, A3). סרוו הרמת עט-SG-90 מחובר לסיכה D3.

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

נגדי 1k2 ו- 2K2 מונעים נזק למודול ה- Bluetooth HC-06 [1] על ידי הורדת תפוקת 5 וולט מהארדואינו עד 3.3 וולט.

[1] נתק את מודול הבלוטות 'HC-06 בעת העלאת קוד לארדואינו באמצעות יציאת ה- USB. זה ימנע התנגשויות ביציאה טורית.

שלב 2: הכונן הלינארי

הכונן הלינארי
הכונן הלינארי
הכונן הלינארי
הכונן הלינארי
הכונן הלינארי
הכונן הלינארי

הכונן הליניארי עשוי מאורך אלומיניום 3 מ"מ על 32 מ"מ, רצועה של יריעת אלומיניום וארבע גלגלות נושאות כדורים קטנות.

האלומיניום זמין ברוב חנויות החומרה. גלגלות U624ZZ 4x13x7 מ מ זמינות באתר

כלי יד פשוטים הם כל מה שאתה צריך. חותכים את מוט האלומיניום כך שיתאים למידות התכנון שלכם.

מכלול המנוע

הרכיב את מנוע הדריכה BJY-48 דרך הבר בקצה אחד והצמד גלגלת של שן GT2 20, 5 מ"מ, לציר המנוע. כעת הרכיב גלגלת GT2 נוספת בקצה השני של המוט שלך כך שהגלגלת תוכל להסתובב בחופשיות. השתמשתי במרווח צינורי (רדיו) בקוטר 5 מ"מ ובורג 3 מ"מ כדי להשיג זאת.

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

לבסוף חבר את מכלול הכרכרה לחגורת התזמון בעזרת קשר.

מכלול הכרכרה

מכלול הכרכרה עשוי מפס של גיליון אלומיניום [1] שעליו ברגיעות גלגלות U624ZZ. במידת הצורך השתמש במכונת כביסה בגודל 4 מ"מ כדי להרחיק את הגלגלות מיריעת האלומיניום.

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

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

לפני כיפוף רצועת האלומיניום ל- "U", יש לקדוח חור מלמעלה ותחתון כך שיתאים לקוטר העט שלך. עכשיו השלימו את העיקולים.

חבר את חגורת התזמון למכלול הכרכרה בעזרת קשר כבל ובורג 3 מ מ בין שתי הגלגלות העליונות.

מכלול הרמת העט

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

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

הדק "צווארון" לעט שלך כך שהעט רחוק מהתוף כשהשרוו נמצא במצב עט למעלה.

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

שלב 3: התוף

התוף
התוף
התוף
התוף
התוף
התוף

התוף כולל קטע של צינור פלסטיק עם שני תקעי קצה מעץ [1].

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

בורג הנדסי של 6 מ מ במרכז כל תקע קצה יוצר את הציר.

מידות תוף

מידות התוף נקבעות על פי גודל הנייר שלך. קוטר תוף של 100 מ"מ תומך בפורטרט A4 וברוחב A3. קוטר תוף של 80 מ"מ יתמוך בנוף A4 בלבד. השתמש בקוטר תוף קטן ככל האפשר כדי להפחית את האינרציה … מנועי BYJ-48 קטנים בלבד.

קוטר תוף של 90 מ"מ אידיאלי לנייר דיוקן A4 ונופי A3 כיוון שהקצוות הנגדים, כאשר הם עטופים סביב התוף, חופפים בכ -10 מ"מ, כלומר יש לך רק תפר אחד להדביק למקומו.

סיבוב התוף

כל סרן עובר בסוגר קצה אלומיניום כך שהתוף מסוגל להסתובב בחופשיות. צף הקצה מונע באמצעות GT-2, 20 שן, קדח 6 מ"מ, גלגלת המחוברת לציר בקצה אחד. חגורת תזמון רציפה GT-2 מחברת את מנוע ההליכה BJY-48 המונע לתוף. המנוע דורש גלגלת בגודל קדח של 5 מ"מ.

[1] תקעי קצה מפלסטיק זמינים ברוב קטרי הצינור אך נדחו מכיוון שהם מתאימים על הצינור ולא בפנים והפלסטיק נוטה להתגמש. סביר להניח שהם יהיו בסדר אם היו משתמשים בציר רציף במקום בברגים … אבל אז אתה צריך שיטה מסוימת של קיבוע הציר לתקעי הקצה.

שלב 4: טיפים לבנייה

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

חשוב לבצע קידוח מדויק של שני חורי העט. כל התנודדות במוביל העט או במכלול הכרכרה תגרום לנענע לאורך ציר ה- X.

אל תהדק יותר מדי את חגורות התזמון GT-2 … הן רק צריכות להיות מתוחות. למנועי דריכה של BYJ-48 אין הרבה מומנט.

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

שלב 5: אלגוריתם ציור הקווים של ברסןהם

אלגוריתם ציור קו של ברסהנהם
אלגוריתם ציור קו של ברסהנהם
אלגוריתם ציור קו של ברסהנהם
אלגוריתם ציור קו של ברסהנהם

מתווה זה משתמש בגרסה מותאמת [1] של אלגוריתם שרטוט הקווים של ברסהנהם. לרוע המזל, אלגוריתם זה תקף רק למורדות קו הנמוכים מ- 45 מעלות או שווים (כלומר אוקטנט אחד של מעגל).

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

גִזרָה

יתכן שתשמט את שאר שלב זה אם אתה מכיר את האלגוריתם של ברסהנהם.

הבה נצייר קו מ (0, 0) ל- (x1, y1) שבו:

  • x1 = 8 = מרחק אופקי
  • y1 = 6 = מרחק אנכי

המשוואה לקו ישר העובר במקור (0, 0) ניתנת על ידי המשוואה y = m*x כאשר:

m = y1/x1 = 6/8 = 0.75 = שיפוע

אלגוריתם פשוט

אלגוריתם פשוט לתכנון קו זה הוא:

  • int x1 = 8;
  • int y1 = 6;
  • לצוף m = y1/x1;
  • עלילה (0, 0);
  • עבור (int x = 1; x <= x1; x ++) {
  • int y = עגול (m*x);
  • עלילה (x, y);
  • }

טבלה 1: אלגוריתם פשוט

איקס M m*x y
0 0.75 0 0
1 0.75 0.75 1
2 0.75 1.5 2
3 0.75 2.25 2
4 0.75 3 3
5 0.75 3.75 4
6 0.75 4.5 5
7 0.75 5.25 5
8 0.75 6 6

ישנן שתי בעיות באלגוריתם פשוט זה:

  • הלולאה הראשית מכילה כפל איטי
  • הוא משתמש במספרי נקודה צפה שהוא גם איטי

גרף של y מול x עבור שורה זו מוצג למעלה.

האלגוריתם של ברסהנהם

ברסהנהם הציג את המושג מונח שגיאה 'e' שמתחיל לאפס. הוא הבין שניתן להשיג את ערכי m*x המוצגים בטבלה 1 על ידי הוספה רצופה של 'm' ל- 'e'. הוא הבין כי y מצטבר רק אם החלק השברירי של m*x גדול מ- 0.5. כדי לשמור על השוואתו בטווח 0 <= 0.5 <= 1 הוא מפחית 1 מ- 'e' בכל פעם ש- y מצטבר.

  • int x1 = 8;
  • int y1 = 6;
  • לצוף m = y1/x1;
  • int y = 0;
  • float e = 0;
  • עלילה (0, 0);
  • עבור (int x = 1; x <= x1; x ++) {
  • e+= m;
  • אם (e> = 0.5) {
  • e -= 1;
  • y ++;
  • }
  • עלילה (x, y);
  • }

טבלה 2: האלגוריתם של ברסהנהם

איקס M ה e-1 y
0 0.75 0 0 0
1 0.75 0.75 -0.25 1
2 0.75 0.5 -0.5 2
3 0.75 0.25 2
4 0.75 1 0 3
5 0.75 0.75 -0.25 4
6 0.75 0.5 -0.5 5
7 0.75 0.25 5
8 0.75 1 0 6

אם תבחן את האלגוריתם ואת הטבלה 2 תבחין בכך;

  • הלולאה הראשית משתמשת רק בחיבור וחיסור … אין כפל
  • התבנית עבור y זהה לטבלה 1.

אבל אנחנו עדיין משתמשים במספרי נקודה צפה … בואו נתקן את זה.

האלגוריתם של Bresenham (אופטימיזציה)

ניתן להמיר את האלגוריתם של נקודה צפה של ברסהנהם לצורה שלמה אם נגדיל את 'm' ו- 'e' ב- 2*x1 ובמקרה זה m = (y1/x1)*2*x1 = 2*y1

מלבד קנה המידה של 'm' ו- 'e' האלגוריתם דומה לזה שלמעלה:

  • אנו מוסיפים 2*y1 ל- 'e' בכל פעם שאנחנו מגדילים 'x'
  • אנו מגדילים y אם e שווה או גדול מ- x1.
  • אנו מפחיתים 2*x1 מ- 'e' במקום 1
  • x1 משמש להשוואה במקום 0.5

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

  • int x1 = 8;
  • int y1 = 6;
  • int m = (y1 << 1); // קבוע: שיפוע בקנה מידה של 2*x1
  • int E = (x1 << 1); // קבוע: 2*x1 לשימוש בלולאה
  • int e = -x1; // קיזוז של -E/2: הבדיקה נעשית כעת באפס
  • עלילה (0, 0);
  • int y = 0;
  • עבור (x = 1; x <= x1; x ++) {
  • e += m;
  • אם (e> = x1) {
  • e -= E
  • y ++;
  • }
  • עלילה (x, y);
  • }

טבלה 3: האלגוריתם של Bresenham (אופטימיזציה)

איקס M ה ה e - E y
0 12 16 -8 0
1 12 16 4 -12 1
2 12 16 0 -16 2
3 12 16 -4 2
4 12 16 8 -8 3
5 12 16 4 -12 4
6 12 16 0 -16 5
7 12 16 -4 5
8 12 16 8 -8 6

שוב התבנית עבור y זהה לשולחנות האחרים. מעניין לציין כי טבלה 3 מכילה רק מספרים שלמים וכי היחס בין m/E = 12/16 = 0.75 שהוא השיפוע 'm' של הקו.

אלגוריתם זה מהיר במיוחד מכיוון שהלולאה הראשית כוללת רק חיבור, חיסור והשוואה עם אפס. אין שימוש בכפל מלבד כאשר אנו מאתחלים את הערכים עבור 'E' ו- 'm' באמצעות "shift-left" כדי להכפיל את הערכים x1 ו- y1.

[1] גרסה אופטימלית זו של האלגוריתם של ברסהנהם היא מתוך מאמר "ציור קו ומעגל ברזנהאם", זכויות יוצרים © 1994-2006, W רנדולף פרנקלין (WRF). החומר שלו עשוי לשמש למחקר וחינוך ללא מטרות רווח, בתנאי שתזכה אותו, ותחזור לדף הבית שלו,

שלב 6: הקוד

הורד את הקובץ המצורף לתיקיה בעלת אותו שם ולאחר מכן העלה אותו לפלוטר באמצעות arduino IDE שלך (סביבת פיתוח משולבת).

נתק את מודול bluetoorh HC-06 לפני שתנסה להעלות אותו. זה הכרחי כדי למנוע התנגשות של יציאה טורית עם כבל ה- USB.

קוד צד שלישי

בנוסף לקוד ה-ino לעיל תזדקק לחבילות התוכנה הבאות בחינם / כלי תרומה:

  • Teraterm הזמין מ-
  • Inkscape הזמין מ-

הוראות להתקנה ושימוש בכל אחת מחבילות צד שלישי לעיל ניתן למצוא במאמר שלי

שלב 7: תפריט

תַפרִיט
תַפרִיט

צור חיבור Bluetooth עם הקושר שלך באמצעות "Teraterm".

הפעל את "כפתור נעילה" מכיוון שכל הפקודות נמצאות באותיות גדולות.

הקלד את האות 'M' ותפריט יופיע כפי שמוצג למעלה.

התפריט מובן מאליו:

  • M (או M0) מעלה את התפריט
  • G0 מאפשר לך לשלוח את העט לתאם XY ספציפי עם העט מורם.
  • G1 מאפשר לך לשלוח את העט לתאם XY ספציפי עם העט מונמך.
  • T1 מאפשר לך למקם את העט שלך על פני תיאום ה 0, 0 שלך. הקלד 'E' ליציאה.
  • T2 מאפשר לך לשנות את גודל הציור שלך. לדוגמה "T2 S2.5" יגדיל את הציור שלך ב -250%. סולם ברירת המחדל הוא 100%
  • T3 ו- T4 מאפשרים לך להרים או להוריד את העט.
  • T5 מצייר תבנית בדיקה "ABC".
  • T6 מצייר "יעד".
  • T7 מצייר קבוצה של קווים רדיאליים, שמטרתם לוודא שהאלגוריתם של ברסהנהם פועל בכל אחד משמונת "האוקטנטים"

הערות:

  • כל מהלכי העט משתמשים בסולם הציורים שנקבע באמצעות אפשרות התפריט T2
  • המספרים "17:" ו- "19:" הם קודי לחיצת היד הטרמינליים "Xon" ו- "Xoff" של מתורגמן הארדואינו.

שלב 8: כיול

הערכים עבור X_STEPS_PER_MM ו- Y_STEPS_PER_MM מיועדים לתוף בקוטר 90 מ מ.

ניתן לחשב ערכים לקטרים אחרים של תוף באמצעות מערכות היחסים הבאות:

  • היקף התוף הוא בקוטר PI*
  • 2048 צעדים שווים מהפכה אחת של כל פיר מנוע
  • מהפכה אחת של גלגלת GT-2 משווה לתנועה לינארית של 40 מילימטרים של חגורת תזמון

שיטה נוספת היא להזין את הפקודות הבאות,

  • G1 X0 Y100
  • G1 X100 Y100

לאחר מכן מודדים את אורך השורות המתקבלות ו"סולם "את הערכים עבור X-STEPS_PER_MM ו- Y_STEPS_PER_MM

שלב 9: עיבוד מוקדם של Gcode

עיבוד מוקדם של Gcode
עיבוד מוקדם של Gcode
עיבוד מוקדם של Gcode
עיבוד מוקדם של Gcode

הקושר הזה דורש רק ארבעה מקודי ה- g -Inkscape (כלומר: G0, G1, G2, G3). הקוד יבוצע מהר יותר באופן משמעותי אם נסיר את כל הקוד וההערות המיותרים.

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

פתח את הקובץ שיש לשנות עם Notepad ++ והנח את הסמן בחלק העליון של הקובץ.

בחר "הצג/הצג סמל/כל התווים" ואחריו "חפש/החלף …" מסרגל התפריטים העליון.

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

לחץ על "החלף הכל" לאחר כל ערך:

  • %
  • (.*)
  • ^מ.*$
  • ז.*$

הביטויים הרגילים לעיל מסירים את כל הסמלים %, כל ההערות המוצגות בסוגריים, כל קודי ה- M, כל קודי ה- Z והקודים הבאים.

כעת לחץ על תיבת הסימון "ביטוי מורחב" (ראה תמונה שנייה) והזן את רצף הקוד הבא:

r / n / r / n / r / n

ביטוי זה מסיר את החזרת הכרכרות וההזנות הלא רצויות שנוצרו על ידי הרצף הראשון.

שמור את הקובץ בשם אחר באמצעות "שמור בשם".

בוצע.

שלב 10: תוצאות

תוצאות
תוצאות

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

שלוש התמונות הראשונות הן תבניות הבדיקה המובנות T5, T6, T7 בהתאמה.

"עולם שלום!" התבנית נשלחה לפלוטר באמצעות בלוטות '. מצורף עותק "מעובד מראש" של קובץ זה.

שלב 11: עדכון קוד

עדכון קוד
עדכון קוד

הקוד עבור פלוטר זה עודכן ל- Drum_Plotter_V2.ino.

השינויים מה- Drum_Plotter.ino המקורי כוללים:

  • מיקום עט חלק יותר
  • עכשיו מזהה הוראות Gcode G02 (קשתות עם כיוון השעון)
  • מזהה כעת הוראות gcode G03 (קשתות נגד כיוון השעון)

התרשים המצורף מתאר את השיטה שלי לחישוב זווית הקשת.

שלב 12: Drum_plotter_v3.ino

מצורף עדכון קוד ל- "תוף CNC תופים".

"drum_plotter_v3.ino" מתקן באג קל שהשפיע על דיוק הקושר.

שינוי היסטוריה

גרסה 2:

נוספו עקומות דו קשת

גרסה 3:

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

  • (int) הוחלף בסיבוב () בפונקציה move_to ().
  • אלגוריתם החיפוש "octant" של draw_line () השתפר
  • המתורגמן משתמש כעת בפונקציות מחרוזת ולא במצביעים אשר מפשטים את העיצוב. לדוגמה אנו יכולים כעת לחפש "תפריט" במקום לחפש את האות 'M' ולאחר מכן לחלץ את המספר השלם שאחריו. זה מאפשר לך להתאים אישית את הקושר עם הפקודות שלך.

שלב 13: Drum_plotter_plotter_v4.ino

16 בינואר 2017:

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

השינויים כוללים:

  • אלגוריתם draw_line () מהיר יותר
  • תואם את הפונקציה move_to ()
  • מוני צעדים
  • תיקון באגים קל

לפרטים נוספים קרא את ההערות בתוך "drum_plotter_v4.ino" המצורף.

לחץ כאן לצפייה במדריכים האחרים שלי.

מוּמלָץ: