สารบัญ:

[WIP] การสร้าง Drawbot ที่ควบคุมโดย Myo Armband: 11 ขั้นตอน
[WIP] การสร้าง Drawbot ที่ควบคุมโดย Myo Armband: 11 ขั้นตอน

วีดีโอ: [WIP] การสร้าง Drawbot ที่ควบคุมโดย Myo Armband: 11 ขั้นตอน

วีดีโอ: [WIP] การสร้าง Drawbot ที่ควบคุมโดย Myo Armband: 11 ขั้นตอน
วีดีโอ: Jason Mraz - 93 Million Miles (Official Video) 2024, พฤศจิกายน
Anonim
[WIP] การสร้าง Drawbot ที่ควบคุมโดย Myo Armband
[WIP] การสร้าง Drawbot ที่ควบคุมโดย Myo Armband

สวัสดีทุกคน!

เมื่อไม่กี่เดือนก่อน เราตัดสินใจที่จะลองและจัดการกับแนวคิดในการสร้าง Drawbot แบบเปิดเฟรมซึ่งใช้เฉพาะแถบ Myo เพื่อควบคุม เมื่อเราเริ่มโครงการครั้งแรก เรารู้ว่าจะต้องแบ่งออกเป็นสองช่วงที่แตกต่างกัน ขั้นตอนหลักแรกของเราคือการลองคิดเกี่ยวกับการออกแบบโอเพนเฟรมสำหรับบอทวาดของเรา นี่คือการตั้งค่าที่ไม่ได้มาตรฐาน และเราต้องการดูว่าการออกแบบนี้มีประโยชน์อย่างไร

ประการที่สอง เรารู้ว่าการสร้างต้นแบบนี้จะเป็นประโยชน์สำหรับตัวเราเองเท่านั้น การออกแบบและแผนของเราคือการย้ายเฟรมสุดท้ายของเราให้เป็นโลหะ และใช้ Arduino รับตำแหน่งของเราจากมาตรความเร่งและไจโรสโคปที่สร้างขึ้นในแถบ Myo ข้อมูลนั้นจะถูกส่งไปยังมอเตอร์และจะจำลองการเคลื่อนไหวของผู้ใช้ เรารู้ว่าสิ่งนี้จะทำให้เฟสที่สองของเราแบ่งออกเป็นสามส่วนหลัก:

  1. การเขียนโปรแกรมจาก Myo ไปยังมอเตอร์ ผ่าน Arduino
  2. การออกแบบทางไฟฟ้าเพื่อแปลข้อมูลของเราเป็นการเคลื่อนไหว
  3. การออกแบบทางกลเพื่อสร้างกรอบที่มีขนาดเหมาะสมที่จะอำนวยความสะดวกในการเคลื่อนไหวของเรา

สมาชิกแต่ละคนในทีมรู้สึกสบายใจที่สุดกับขั้นตอนการออกแบบที่ไม่เหมือนใคร เราจึงตัดสินใจแบ่งงานของเราให้แต่ละคน เรายังติดตามบล็อกในระหว่างขั้นตอนการออกแบบทั้งหมดของเราเพื่อติดตามการคิดแบบวันต่อวัน แทนที่จะดูเป็นสากลมากขึ้น

ขั้นตอนที่ 1: สิ่งที่เราวางแผนจะทำ

Image
Image

เป้าหมายของเราคือการรวมผลิตภัณฑ์ทั้งสองนี้เข้าด้วยกันในแบบที่เราไม่เคยเห็นมาก่อน เราตั้งใจจะถ่ายทอดสดระหว่างปลอกแขน Myo กับการออกแบบเวอร์ชันของเราเองซึ่งได้รับแรงบันดาลใจจาก AxiDraw ของนักวิทยาศาสตร์ Evil Mad

ขั้นตอนที่ 2: รายการส่วนผสมต้นแบบ

2 แผ่นไม้ 2 x 4 แผ่น 1 สายพานหรือโซ่วัด >= 65” 4 ตะปูไม้ 3 เฟืองฟันที่พอดีกับสายพานหรือโซ่ 4 แผ่นเจาะรู 3 x 8 vex 30 ⅜” ตัวเว้นระยะยาง 8 วงแหวนขนาดเส้นผ่านศูนย์กลาง 1” 1 1” เส้นผ่าศูนย์กลางไม้ เดือย 1' ยาว 8 สกรู Vex 1”8 ½” สกรู Vex 8 สกรู Vex 2” 8 ¼” ตัวเว้นวรรคยาง 48 ถั่ว Vex 1 สายรัดซิปเล็ก

ขั้นตอนที่ 3: [ต้นแบบ] งานไม้แขนและภายในรถของเรา

[ต้นแบบ] งานไม้ แขนและภายในรถของเรา
[ต้นแบบ] งานไม้ แขนและภายในรถของเรา

เราคว้า 2x4 สองตัวแล้วตัดให้มีความยาวเท่ากัน (33 ¼”)

การใช้โต๊ะเลื่อยเราทำรอยบากตามส่วนที่แคบของกระดาน ¼” ลึกและกว้าง ⅛” ตรงกลาง

ตัดเดือยเป็นชิ้น 4 2” แล้วเจาะรูตรงกลางเดือยเส้นผ่านศูนย์กลางประมาณ ¼” โดยใช้ดอกสว่าน

ขั้นตอนที่ 4: [ต้นแบบ] การสร้างรถของเรา

[ต้นแบบ] การสร้างรถของเรา
[ต้นแบบ] การสร้างรถของเรา
[ต้นแบบ] การสร้างรถของเรา
[ต้นแบบ] การสร้างรถของเรา
[ต้นแบบ] การสร้างรถของเรา
[ต้นแบบ] การสร้างรถของเรา

ตามหลักการแล้วเราจะใช้เหล็กเจาะรู vex ขนาด 7x7 สองชิ้น แต่ทั้งหมดที่เรามีคือแถบ 2x7 ดังนั้นเราจึงยึดเข้าด้วยกันในรูปแบบ "X"

กอง 5 ของตัวเว้นวรรคยาง ⅜” และยึดมุมของแผ่น vex เข้าด้วยกัน

ยึดเดือยไม้อย่างหลวม ๆ ดังแสดงในรูปที่ 1 เพื่อให้หมุนได้อย่างอิสระโดยมีพื้นที่ระหว่างกันประมาณ 2” ใช้รูปภาพเพื่อดูว่าควรวางเฟืองไว้ที่ตำแหน่งใด ณ จุดนี้ เราใช้แหวนรอง แต่ต่อมาพบว่าเฟืองเวกซ์พลาสติกขนาดเล็กทำงานได้ดีกว่า.

ใช้สกรู vex ½ “, ตัวเว้นระยะยาง ¼” และแหวนรองขนาดเส้นผ่านศูนย์กลาง 1” เพื่อยึดแหวนให้อยู่ในตำแหน่งยกระดับดังแสดงในรูปที่ 1 (เราใช้เฟืองพลาสติกสีเขียวเพราะเราไม่พบแหวนที่เหมาะสม) ตรวจสอบให้แน่ใจว่าแหวนรองสามารถ หมุนได้ง่ายและพอดีกับรอยหยักของกระดาน

ขั้นตอนที่ 5: [ต้นแบบ] รวมทุกอย่างเข้าด้วยกัน

[ต้นแบบ] รวมทุกอย่างเข้าด้วยกัน
[ต้นแบบ] รวมทุกอย่างเข้าด้วยกัน
[ต้นแบบ] รวมทุกอย่างเข้าด้วยกัน
[ต้นแบบ] รวมทุกอย่างเข้าด้วยกัน
[ต้นแบบ] รวมทุกอย่างเข้าด้วยกัน
[ต้นแบบ] รวมทุกอย่างเข้าด้วยกัน
[ต้นแบบ] รวมทุกอย่างเข้าด้วยกัน
[ต้นแบบ] รวมทุกอย่างเข้าด้วยกัน

วางแผ่นกระดานบนพื้นผิวและเลื่อนแคร่ตลับหมึกไปตรงกลางเพื่อให้แหวนรองยึดแคร่ตลับหมึกไว้เหนือกระดาน และด้านใดด้านของกระดานตอกเฟืองลงเพื่อให้หมุนได้อย่างอิสระ ตอกตะปูที่ปลายด้านหนึ่งของกระดานที่สอง ตรวจสอบให้แน่ใจว่าอยู่กึ่งกลาง และเลื่อนไปที่แคร่ตลับหมึกในแนวตั้งฉากกับกระดานแรก

ตอนนี้สายพานต้องคล้องผ่านระบบดังที่แสดง ให้ความสนใจอย่างระมัดระวังว่าเดือยอยู่ด้านนอกของสายพานอย่างไร และดูว่าไม่มีอะไรอยู่ตรงกลางของแชสซีที่อาจขัดขวางสายพานขณะเคลื่อนที่ได้อย่างไร

ตอนนี้ต้องคาดเข็มขัดที่ด้านข้างของกระดานที่ไม่มีเฟือง เราใช้ตะปูและซิปผูกพิเศษเพื่อผูกของเรา แต่วิธีการที่ใช้นั้นไม่สำคัญตราบใดที่เข็มขัดยังยึดอยู่ที่จุดนั้น

ขั้นตอนที่ 6: [ต้นแบบ] เสร็จสิ้นและย้าย

Image
Image

ควรจะเป็นเช่นนั้น ดึงเข็มขัดในแบบต่างๆ และดูผลกระทบที่แตกต่างกันที่แขนมี!

ขั้นตอนที่ 7: แปลแบบจำลองของเราเป็นการออกแบบที่เสร็จสมบูรณ์ของเรา

แปลแบบจำลองของเราเป็นการออกแบบที่เสร็จสิ้นของเรา
แปลแบบจำลองของเราเป็นการออกแบบที่เสร็จสิ้นของเรา
แปลแบบจำลองของเราเป็นการออกแบบที่เสร็จสิ้นของเรา
แปลแบบจำลองของเราเป็นการออกแบบที่เสร็จสิ้นของเรา

เมื่อเราสร้างต้นแบบเสร็จแล้ว เราก็มีความสุข พวกเราไม่มีใครแน่ใจว่าระบบทำงานอย่างไรก่อนประกอบ แต่เมื่อชิ้นส่วนของเรามารวมกัน เราก็ค้นพบอย่างรวดเร็วว่าเราชอบอะไร และจะปรับปรุงได้อย่างไรเมื่อสร้างการออกแบบขั้นสุดท้าย ข้อร้องเรียนหลักของเรากับระบบในการแก้ไขคือ:

  1. มาตราส่วน

    1. รถต้นแบบของเรามีขนาดใหญ่และเทอะทะ ซึ่งทำให้มีแนวโน้มที่จะพลิกคว่ำที่ขอบแขนของเรา
    2. รถขนของมีขนาดใหญ่เกินความจำเป็น และมีพื้นที่สิ้นเปลืองมาก
    3. เข็มขัดของเรา (ดอกยางถังเวกซ์) มีขนาดใหญ่เกินความจำเป็น ซึ่งทำให้มีช่องว่างระหว่างแขนมากเกินไป
  2. แรงเสียดทาน

    1. ดอกยางของเราไม่ผ่านลูกกลิ้งเดือยไม้อย่างง่ายดายทุกจุด
    2. พลาสติกบนไม้ทำให้รถขนย้ายไม่สะดวกในหลายกรณี
  3. เครื่องยนต์

    เราจำเป็นต้องทำให้ระบบสามารถจ่ายไฟได้

เมื่อคำนึงถึงสิ่งเหล่านี้ เราจึงวางแผนสำหรับการออกแบบขั้นสุดท้าย เราต้องการให้ Drawbot ควบคุมด้วย Myo ผ่าน Arduino และเราต้องการสร้างเฟรมอะลูมิเนียมให้เล็กลง

เพื่อที่จะทำสิ่งนี้ เราเอาเปอร์เซ็นต์ของต้นแบบดั้งเดิมของเรามา และเริ่มทำงานจากขนาดนั้น ด้วยการใช้แผ่นโลหะที่จะตัดเฉือนเพื่อให้มีช่องกว้างพอสำหรับตลับลูกปืนที่มีฉนวนป้องกัน เราจะมีการออกแบบที่เบาแต่แข็งแกร่งซึ่งจะมีความทนทานต่อการใช้งานสูงขึ้น

ต้นแบบของเรายังช่วยให้เราสามารถกำหนดได้ว่าการหมุนของมอเตอร์ส่งผลต่อหัวของ drawbot ของเราอย่างไร สิ่งนี้ทำให้เราเข้าใจว่าการออกแบบการควบคุมของเราจะง่ายกว่าที่เราคาดไว้ เมื่อตรวจสอบอย่างละเอียดถี่ถ้วนแล้ว เราก็พบว่าการเคลื่อนที่ของมอเตอร์นั้นเป็นส่วนเสริม! ซึ่งหมายความว่ามอเตอร์แต่ละตัวมีผลตามที่ต้องการอย่างอิสระต่อการเคลื่อนไหวของเรา แต่เมื่อเรารวมเข้าด้วยกัน พวกมันจะเริ่มยกเลิก

ตัวอย่างเช่น หากพิจารณาเหมือนระนาบพิกัด มอเตอร์ที่วางอยู่ในส่วนปลาย x ลบมักจะดึงลิ้นชักของเราเข้าไปในจตุภาคที่สองและสี่ ในทางกลับกัน มอเตอร์ที่วางอยู่บนปลาย x ขั้วบวกมักจะทำให้ลิ้นชักอยู่ในจตุภาคที่หนึ่งและสามเสมอ หากเรารวมการเคลื่อนไหวของมอเตอร์เข้าด้วยกัน มันจะยกเลิกส่วนที่ชี้นำความขัดแย้งนั้น และจะขยายส่วนที่เห็นด้วย

ขั้นตอนที่ 8: การเข้ารหัส

ในขณะที่ฉันทำงานค่อนข้างกว้างขวางใน C เมื่อไม่กี่ปีที่ผ่านมา ฉันไม่เคยมีประสบการณ์กับ lua หรือ C++ มาก่อน และนี่หมายความว่าฉันต้องใช้เวลาพอสมควรในการดูเอกสาร ฉันรู้ว่างานทั่วไปที่ฉันจะพยายามทำให้สำเร็จคือการได้ตำแหน่งของผู้ใช้ในช่วงเวลาหนึ่งแล้วส่งต่อไปยังมอเตอร์ ฉันตัดสินใจแบ่งงานเพื่อแยกย่อยส่วนที่ฉันต้องการให้ดีขึ้น

1. รับข้อมูลจากเมียว (ลัว)

ฉันรู้ว่าฉันต้องหาวิธีรวบรวมข้อมูลจาก Myo นี่เป็นส่วนแรกของความท้าทายที่ฉันอยากจะทำ ในการทำเช่นนี้ ฉันต้องการให้ผู้ใช้ปรับเทียบขนาดผ้าใบก่อนที่จะเริ่มวาด นี้จะช่วยให้ฉันมีขอบเขตในการทำงานจาก จากนั้นฉันสามารถทำให้โปรแกรมเป็นปกติระหว่างผู้ใช้ที่แตกต่างกันโดยเพียงแค่ใช้เปอร์เซ็นต์ของผ้าใบสูงสุดเป็นจุดข้อมูลของฉันที่จะผ่าน ฉันตัดสินใจที่จะมีเหตุการณ์ตามสคริปต์ที่จะทำการตรวจสอบ getOrientation ทุก ๆ ครึ่งวินาที เนื่องจากจะทำให้การตรวจสอบไม่ดำเนินการข้ามป่าที่คุณจะต้องเดา (เช่น ถ้าผู้ใช้เหวี่ยงกลับอย่างรุนแรงและ ออกมา)

สิ่งนี้ทำให้เกิดสิ่งกีดขวางบนถนนครั้งแรกที่ฉันชน ฉันค้นพบข้อ จำกัด ของ lua ที่ใหญ่มากและไม่อนุญาตให้ฉันรอก่อนที่จะดำเนินการตามบทต่อไป วิธีเดียวในการดำเนินการนี้คือหยุด CPU ชั่วคราว (ซึ่งจะหยุดชั่วคราวทั่วโลก แม้กระทั่งนาฬิการะบบค้างไว้) หรือใช้คำสั่งเฉพาะของระบบปฏิบัติการ ในโค้ดตัวอย่างของฉัน ฉันเหลือการตรวจสอบระบบปฏิบัติการดั้งเดิมที่ฉันดำเนินการ (แสดงความคิดเห็น) นี่เป็นหลังจากทำการวิจัยจำนวนมากในเอกสารของ lua และทำโดยการตรวจสอบการจัดรูปแบบพาธของระบบ นี่คือตอนที่ฉันตัดสินใจว่าจะต้องดูเอกสารของโครงการที่เคยตีพิมพ์มาก่อน ฉันรู้ทันทีว่าเสียเวลาไปเท่าไหร่ และถูกนำไปสู่ตัวแปรของแพลตฟอร์มทันที ด้วยสิ่งนี้ ฉันจึงสามารถใช้คำสั่งรอเฉพาะของระบบปฏิบัติการได้เกือบจะในทันที เมื่อเทียบกับวันที่ฉันต้องรวบรวมโซลูชันก่อนหน้านี้

ประมาณช่วงเวลานี้ของการออกแบบที่เริ่มทำงานในด้านไฟฟ้า และฉันระงับการทำงานในส่วนนี้ของโค้ด ความตั้งใจที่จะเรียนรู้ว่ามอเตอร์ของเราเชื่อมต่อกับ Arduino อย่างไร

2. การทำงานกับ Arduino (C++)

เมื่อการทำงานกับเขียงหั่นขนมของเรามีความซับซ้อนมากขึ้น ฉันได้เรียนรู้ว่า Arduino ไม่สามารถทำมัลติเธรดได้ นี่เป็นกุญแจสำคัญในการออกแบบโค้ดดั้งเดิมของฉัน และหลังจากอ่านเพิ่มเติมเกี่ยวกับข้อจำกัดที่นำเสนอด้วยคอนโทรลเลอร์ของเรา ฉันพบว่าฉันจะต้องตั้งโปรแกรมว่า Arduino จะสลับไปมาระหว่างทั้งสองอย่างไร สิ่งนี้กลายเป็นจุดสนใจของความพยายามของฉันเมื่อใกล้ถึงกำหนดส่ง ฉันต้องทิ้งสคริปต์ดั้งเดิมจำนวนมากเนื่องจากออกแบบมาเพื่อเขียนข้อมูลไปยังไฟล์พร้อมกันกับตัวควบคุมมอเตอร์ที่อ่านไฟล์ ทั้งนี้เพื่อให้มีฟังก์ชันการจัดคิวเพื่อให้แน่ใจว่าแม้ว่าผู้ใช้จะอยู่ข้างหน้าลิ้นชักของเรา มันจะไม่ทำลายโครงการ

ฉันตัดสินใจว่าควรบันทึกฟังก์ชันการจัดคิวไว้ หากไม่ดำเนินการในลักษณะเดียวกับเมื่อก่อน ในการทำสิ่งนี้ ฉันสร้างเวกเตอร์ของอาร์เรย์ สิ่งนี้ทำให้ฉันไม่เพียงแต่รักษาจิตวิญญาณของการออกแบบก่อนหน้านี้ได้ค่อนข้างสมบูรณ์ แต่ยังหมายความว่าฉันไม่ต้องคอยติดตามตำแหน่งของฉันในไฟล์เพื่ออ่านหรือเขียน ตอนนี้ ทั้งหมดที่ฉันต้องทำคือเพียงแค่เพิ่มค่าใหม่ลงในเวกเตอร์ของฉัน หากผู้ใช้กำลังเคลื่อนไหว (การทดสอบเบื้องต้นน้อยกว่า 1% ของขนาดผ้าใบที่ต่างกันในทั้ง x และ y จากตำแหน่งที่บันทึกล่าสุดทำให้ไม่มีการบันทึกข้อมูล). จากนั้นฉันก็เอาค่าที่เก่าแก่ที่สุดในเวกเตอร์ของฉันและในคราวเดียวส่งไปที่ตัวควบคุมมอเตอร์เขียนลงในไฟล์ของเราแล้วลบออกจากเวกเตอร์ของฉัน สิ่งนี้ช่วยขจัดความกังวลของฉันเกี่ยวกับการให้กระแส IO ทำงานอย่างต่อเนื่อง

ขั้นตอนที่ 9: ไฟฟ้า

Image
Image
ไฟฟ้า
ไฟฟ้า

ในขณะที่ฉันเคยเรียนวิชาอิเล็กทรอนิกส์และเคยทำงานกับ Arduinos มาบ้างแล้ว ฉันไม่เคยเจาะลึกในการทำให้ Arduino ได้รับข้อมูลจากแหล่งภายนอก (myo) ฉันมีประสบการณ์ในการส่งออกข้อมูลผ่าน Arduino เท่านั้น อย่างไรก็ตาม ฉันได้เดินสายไฟมอเตอร์บน Drawbot ของเรา และทำงานกับโค้ดเพื่อให้ทำงานกับรหัส myo ได้

วัสดุที่ฉันใช้:

2 x สเต็ปเปอร์มอเตอร์

1 x เขียงหั่นขนม

1 x Arduino (อูโน่)

2 x ไดร์เวอร์ IC L293DE

สายจัมเปอร์ 40 เส้น

2 x แฟน

1. การเชื่อมต่อสเต็ปเปอร์มอเตอร์และพัดลมเข้ากับเขียงหั่นขนม

ตามแผนภาพวงจร เราสามารถต่อสเต็ปเปอร์มอเตอร์หนึ่งตัวกับไดรเวอร์บนเขียงหั่นขนม จากนั้น ทำตามแผนภาพเดียวกันนี้กับไดรเวอร์และมอเตอร์ตัวที่สอง อย่างไรก็ตาม จะต้องเสียบสายจัมเปอร์เข้ากับพินชุดอื่นใน Arduino (เนื่องจากมอเตอร์ตัวแรกใช้พื้นที่สำหรับอีก 4 ตัว)

คำเตือน/เคล็ดลับ:

ไดรเวอร์มีขนาดเล็กมากและหมุดอยู่ใกล้กันมาก ควรเว้นระยะห่างระหว่างไดรเวอร์ทั้งสองเพื่อไม่ให้สายไฟสับสน

ต่อไปคือการต่อสายไฟพัดลม มันค่อนข้างง่าย แฟน ๆ ที่ฉันมีอยู่คือพัดลมโปรเซสเซอร์คอมพิวเตอร์ขั้นพื้นฐานซึ่งมีข้อดีและข้อเสีย เสียบทั้งสองเข้ากับหมุด +/- ตามลำดับบนเขียงหั่นขนม และทำมุมแต่ละอันไปทางไดรเวอร์แต่ละตัว (เราพบว่าเนื่องจากสเต็ปเปอร์มอเตอร์ได้รับข้อมูลและคำสั่งจำนวนมากเป็นเวลานาน คนขับจึงมักร้อนจัดและมีกลิ่นเหม็น การเพิ่มพัดลมเพื่อทำให้เย็นลงจะช่วยแก้ปัญหานี้ได้)

2. รหัส Arduino

นี่เป็นส่วนที่ง่าย!

เปิด Arduino IDE ไปที่แท็บ "ไฟล์" จากนั้นไปที่แท็บ "ตัวอย่าง" ซึ่งจะเลื่อนลงไปอีกและแสดงแท็บ "stepper" จากนั้นคุณต้องการเปิด "Stepper_OneStepAtATime"

การดำเนินการนี้จะโหลดโค้ดตัวอย่างล่วงหน้าซึ่งเกือบจะเป็นแบบเสียบปลั๊กและใช้กับการเดินสาย Arduino/มอเตอร์ เราจะต้องทำการปรับเปลี่ยนเล็กน้อยเพราะเราจะใช้มอเตอร์สองตัวซึ่งฉันจะแสดงให้เห็นด้านล่าง คุณอาจต้องปรับเปลี่ยนเล็กน้อยโดยขึ้นอยู่กับพินที่คุณตัดสินใจใช้ เนื่องจาก Arduino IDE มีค่าเริ่มต้นเป็นพิน 8-11

รหัสที่ฉันใช้เพื่อทำให้มอเตอร์ทั้งสองเคลื่อนที่ใน "ซิงค์" อยู่ด้านล่าง:

//#รวม

const int stepsPerRevolution = 200;

Stepper myStepper1(stepsPerRevolution, 9, 10, 11, 12);

Stepper myStepper2 (stepsPerRevolution, 4, 5, 6, 7);

int stepCount = 0;

การตั้งค่าเป็นโมฆะ () {// เริ่มต้นพอร์ตอนุกรม: Serial.begin (9600); }

วงเป็นโมฆะ () {

myStepper1.step(1);

Serial.print("ขั้นตอน:");

Serial.println(stepCount);

stepCount++;

ล่าช้า (0.5);

myStepper2.step(1); ล่าช้า (0.5); }

3. ปัญหาที่เป็นไปได้

ปัญหาที่ฉันพบในระหว่างกระบวนการนี้ไม่ได้ใช้ตัวอย่างโค้ดที่ถูกต้อง ใช้สายจัมเปอร์ที่ไม่ดี ใช้ IC ไดรเวอร์ที่ไม่ถูกต้อง

ตรวจสอบให้แน่ใจว่าไดรเวอร์ที่คุณใช้อยู่นั้นสามารถควบคุมมอเตอร์ได้

ตรวจสอบหมายเลขซีเรียลและตรวจสอบข้อมูลจำเพาะ

ฉันพบปัญหาเรื่องสายจัมเปอร์เสีย ซึ่งทำให้มอเตอร์ของฉันหมุนอย่างผิดปกติ

ฉันต้องใช้มัลติมิเตอร์เพื่อตรวจสอบสายไฟทุกเส้น

และตรวจสอบโค้ดของคุณอีกครั้งเพื่อหาข้อผิดพลาดเล็กๆ น้อยๆ เช่น จุดสิ้นสุด “;” สั่งการ

ขั้นตอนที่ 10: เครื่องกล

เครื่องกล
เครื่องกล
เครื่องกล
เครื่องกล
เครื่องกล
เครื่องกล
เครื่องกล
เครื่องกล

1. วัสดุ

สำหรับรุ่นการผลิตเต็มรูปแบบของแขน เราแนะนำว่าควรทำจากวัสดุที่แข็งแรงแต่น้ำหนักเบา เรารู้สึกว่าอะลูมิเนียมเหมาะสมที่สุด

เราใช้แผ่นอลูมิเนียมเกจ 032 ตัดเป็น 9.125" x 17.5" และลากลวดลายจากภาพวาดที่แสดงในขั้นตอนก่อนหน้า

2. การแปรรูป

เราเพิ่มชายเสื้อที่หันไปทางตรงกันข้ามโดยใช้ตีนผี (เครื่องสีน้ำเงิน) เพื่อที่ว่าเมื่อชิ้นส่วนหักและพับแล้ว ชายเสื้อทั้งสองจะประสานกันจนเป็นชิ้นเดียว

สำหรับการโค้งงอขนาดใหญ่ เราใช้ไม้เทนนิส เพราะมีความแม่นยำสูง

สำหรับการโค้งงอที่เล็กกว่า คุณจะต้องการใช้เครื่องจักรที่มีเท้าเล็กกว่า ซึ่งเป็นที่ที่เครื่องจักรอย่างโรโต-ดายเข้ามา เนื่องจากเท้าที่เล็กกว่าจึงทำให้แตกได้น้อยลง น่าเสียดาย, roto-die ที่เราจำหน่ายยังคงมีขนาดใหญ่เกินไปสำหรับรางของเราและมีรูปร่างผิดปกติ

**หรือหากคุณไม่มีอุปกรณ์หรือเครื่องมือที่เหมาะสม ก็สามารถทำสิ่งทดแทนได้**

ในกรณีของเรา เราตัดแขนของเราออกจากรางแผงโซลาร์เซลล์อะลูมิเนียมโดยใช้เครื่องตัดพลาสม่า และบดปลายให้เรียบ จากนั้นจึงขันน็อตกลับหลังเพื่อสร้างระบบรางสองด้าน ตามหลักการแล้ว เราต้องการเชื่อมรางเข้าด้วยกัน อย่างไรก็ตาม หากไม่มีสถานีเชื่อม เราก็ยึดรางเข้าด้วยกันและเจาะเข้าไป จากนั้นจึงยึดเข้าด้วยกัน แต่ถ้าใช้เส้นทางนี้ ควรใช้น็อตล็อคและแหวนรองอย่างระมัดระวังเป็นพิเศษเพื่อให้แน่ใจว่าชิ้นส่วนงอน้อยที่สุด

3. เข็มขัด

สำหรับสายพานเราใช้สายพานเครื่องพิมพ์ 3 มิติแบบเก่าบางรุ่นซึ่งเราสามารถกอบกู้ได้

ในตอนแรกสายพานมีความยาวไม่เพียงพอ ดังนั้นโดยใช้ท่อหดด้วยความร้อน เราจึงรวมชิ้นส่วนสองชิ้นเข้าด้วยกันเพื่อให้ได้อันที่ยาวพอสมควร

เฟืองสีเขียวและเดือยไม้ถูกแทนที่ด้วยดิสก์แบริ่งพร้อมวงแหวนกว้างพิเศษที่ใช้เพื่อป้องกันไม่ให้สายพานเลื่อนหลุด

4. การขนส่ง

และในที่สุด แคร่ตลับหมึกก็ทำจากแผ่นอะลูมิเนียม 032 ขนาด 5" x 5" โดยเจาะรูโดยใช้สกรูและแหวนรองที่สอดคล้องกัน ระยะทางจะแตกต่างกันไปขึ้นอยู่กับความกว้างของรางและระยะห่างที่คุณมีบนเครื่องซักผ้า

ขั้นตอนที่ 11: การสะท้อนกลับ

น่าเสียดายที่ทุกด้านของโครงการของเราต้องเผชิญกับอุปสรรคของเวลา และเราไม่สามารถออกแบบให้เสร็จภายในวันที่เป้าหมายของเราได้ สมาชิกแต่ละคนในทีมของเราลงเอยด้วยการทำงานร่วมกันในทุกแง่มุมของการออกแบบของเราอย่างน้อยก็ในระดับหนึ่ง ซึ่งนำไปสู่ช่วงโค้งการเรียนรู้ที่ลดลง ประกอบกับต้องการออกแบบผลิตภัณฑ์โดยใช้ทรัพยากรภายนอกน้อยที่สุด (เนื่องจากเราทุกคนต้องการสร้างชิ้นส่วนของเราตั้งแต่ต้น) นำไปสู่ล้อที่คิดค้นขึ้นใหม่จำนวนมาก

ทุกคนที่ทำงานในโครงการได้เรียนรู้เพิ่มเติมเกี่ยวกับแง่มุมอื่นๆ ของโครงการ การทำให้ซอฟต์แวร์ดำเนินการเฉพาะเป็นเรื่องหนึ่ง การทำให้ซอฟต์แวร์ทำงานร่วมกับฮาร์ดแวร์เป็นอีกเรื่องหนึ่ง ฉันจะบอกว่ามันเป็นสิ่งสำคัญที่ใครก็ตามที่ทำงานด้านการเขียนโค้ดของโครงการนี้ จะต้องคุ้นเคยเหมือนกับผู้เขียนโค้ดโครงการของเรา

โดยรวมแล้วเราไม่สามารถบรรลุสิ่งที่เราต้องการได้อย่างแน่นอน อย่างไรก็ตาม ฉันรู้สึกว่าเรามาถูกทางแล้ว และเราทุกคนได้ค้นพบและเรียนรู้แนวคิดใหม่ๆ ที่เราจะนำไปประยุกต์ใช้กับโครงการในอนาคตได้

แนะนำ: