Fab Academy 2024 Website

  • Home
  • About
  • WEEK1 Project Management / Principles and Practices
  • WEEK2 Computer Aided Design
  • WEEK3 Computer-controlled cutting
  • WEEK4 Electronics production
  • WEEK5 3D scanning and printing
  • WEEK6 Embedded programming
  • WEEK7 Computer-controlled machining
  • WEEK8 Electronics design
  • WEEK9 Output devices
  • WEEK10 Mechanical design, Machine design
  • WEEK11 Input devices
  • WEEK12 Molding and casting
  • WEEK13 Networking and communications
  • WEEK14 Interface and application programming
  • WEEK15 Wildcard week
  • WEEK16 System integration
  • WEEK17 Applications and implications, project development
  • WEEK18 Invention, intellectual property, and income
  • Final
目次
  • WEEK10 Mechanical design, Machine design
    • Group Assignment
    • Individual Assignment
      • Building the CoreXY module
        • Building Construction
        • 3D Print
        • Laser Cut
        • Assembling
        • Routing and tensioning
        • Installing the Limit Switches
        • Operational Check
      • Project Differences: NGA Team and JPN Team
        • Code changes:

WEEK10 Mechanical design, Machine design

  1. Fab Academy 2024 Website
  2. WEEK10 Mechanical design, Machine design
hito |


WEEK10 Mechanical design, Machine design

Group Assignment

design a machine that includes mechanism+actuation+automation+application
build the mechanical parts and operate it manually
document the group project and your individual contribution

actuate and automate your machine document the group project and your individual contribution

Machine Building Project

Individual Assignment

Document your individual contribution

Building the CoreXY module

The Complete Form of CoreXY
alt text

Building Construction

2020Aluminum Extrusion(Y) ex.400mm x2P
2020Aluminum Extrusion(X) ex.300mm x2P (3mm Acrylic spacer will be added)
2020Aluminum Extrusion(X) ex.300mm x1P
Delta socket x4P
Socket Head Screws M5x8mm x8P
T-Slot M5 x8P
alt text alt text

3D Print

First, print the capstan_motor and capstan_pulley with a 3D printer.
alt text alt text

alt text alt text

I tried to use two 3D printers simultaneously to proceed efficiently, but one of the printers stopped printing midway.

The cause was that ABS used by the previous user had clogged the nozzle. It seems the preheat temperature setting was too low for ABS, as it was set for PLA. I learned that in an environment where multiple users use the same printer, it is necessary to be careful when preheating.

Laser Cut

Cut out two each of Y-Axis_Pulley and Y-Axis_Motor with a laser cutter.
alt text alt text

Assembling

Now that all the parts are ready, we will begin the assembly process.

alt text alt text alt text alt text

Routing and tensioning

Routing and tensioning the fishing line between the motors and pulleys.
alt text alt text alt text alt text alt text alt text alt text alt text alt text alt text alt text alt text alt text alt text
Done.
alt text

Installing the Limit Switches

After ensuring that the wiring wires are long enough so as not to impede the movement of the X-Axis, we will wire the limit switches to the NO (normally open) and Common terminals.
alt text alt text
For safety, we will also use heat-shrink tubing.
alt text alt text alt text

Operational Check

We will verify the operation of the assembled CoreXY module.

1.Connect each motor of the CoreXY to the Stepper Module.
2.Connect the Stepper Modules to the PC using USB cables.
3.Using the JavaScript created by the instructor,control the CoreXY module from modular-things.
alt text


Project Differences: NGA Team and JPN Team

This Machine Building project branched out from the earlier project by the Nigeria team, leading to the development of the Japan team’s project.

I will examine the differences between the NGA and JPN projects.

  • Add Y-axis Carriage (Image and data)

The Y-axis Carriage is missing and looks like this:
alt text

Group JPN used this Y-axis Pulley:
alt text

  • Mention about CoreXY structure change

Initially, Group JPN used the same CoreXY structure created by Group NGA:
alt text

alt text

  • However, to keep everything within the CoreXY size, Group JPN used a new Y-axis pulley and Y-axis motor mount part:
  • Y-axis Pulley:

    • Initial design:
      alt text
    • New design:
      alt text
  • Y-axis Motor: alt text

    • (Initial design) Left
    • (New design) Right

Code changes:

Since the stepping motor was installed with a new part, the winding direction of the thread was reversed. JavaScript was changed to accommodate this (multiplied by -1).

Initial (NGA):

//Definition of CoreXY Motion 
async function goTo(x, y) {
  console.log(`Moving to (${x}, ${y})`);
  await machine.absolute([-1 * (x + y), -1 * (x - y)]); // The reason why "-1" is multiplied may be due to the wiring and 
}

Accommodate (JPN):

//Definition of CoreXY Motion 
async function goTo(x, y) {
  console.log(`Moving to (${x}, ${y})`);
  await machine.absolute([1 * (x + y), 1 * (x - y)]);
}
Initial (NGA):

// Function definition
async function goToHome() {
  while (await motorB.getLimitState()) { // Limit switch at X- as Normally-Open
    motorA.velocity(10); //move motorA CW
    motorB.velocity(10); //move motorB CW
  }
  while (await motorA.getLimitState()) { //  Limit switch at Y- as Normally-Open
    motorA.velocity(10); //positive value means CW
    motorB.velocity(-10); //negative value means CCW
  }
  …
}
Accommodate (JPN):

// Function definition
async function goToHome() {
  while (await motorB.getLimitState()) { // Limit switch at X- as Normally-Open
    motorA.velocity(-10); //move motorA CW -> CCW
    motorB.velocity(-10); //move motorB CW -> CCW
  }
  while (await motorA.getLimitState()) { //  Limit switch at Y- as Normally-Open
    motorA.velocity(-10); //positive value means CW -> CCW
    motorB.velocity(10); //negative value means CCW -> CW
  }
  …
}

Copyright 2024 Hajime Ito - Creative Commons Attribution Non Commercial

検索
キーワードを入力して検索を始めましょう