Skip to content

12. Mechanical Design

Group assignment:

  • Design a machine that includes mechanism, actuation, automation, and application.
  • Build the mechanical parts and operate it manually.
  • Document the group project and your individual contribution.

Project Introduction:

视频
our project

My mentor Saverio and I brainstormed a humorous idea inspired by “petting cats” and the concept of “moyu.” We plan to create a mechanical device for the Mona Lisa to continuously stroke the fish in her arms.
Moyu is a popular internet slang in China. While it literally translates to “touching fish,” it actually refers to taking a break or relaxing secretly during work. This device is designed to bring joy and humor, aiming to surprise and amuse people with its playful concept. project_moyu.jpg


Bill of Material


Knowledge points:

Detailed steps:

1. Hardware preparation and connection
2. Build the structure
3. Arduino Uno burning Grbl firmware
4. Key Parameter Settings (via Gsender)
5. Inkscape design path
6. Gsender control and execution

1. Hardware preparation and connection

1.1 Required Hardware
- Arduino Uno x1
- CNC Shield x1
- A4988 Driver Modules x1
- 42 Stepper Motor x1
- 12-24V Power Supply (for motor power) x1
- Arduino USB Cable x1
- SG90 9G Classic Servo x1
- Jumper Cap x3
- Male to Female DuPont Line x3

Electronic materials.jpg

1.2 Wiring Steps

  • Arduino and CNC Shield Connection: Insert the shield onto the Arduino pins (ensure correct orientation).

  • Stepper Motor Connection :Connect the 4 wires of the 42 stepper motor (red, blue, green, black) to the X-axis driver module on the shield. 同时用3个 接头 十六分一步进

  • 连接舵机

  • Power Supply Connection: Connect the external power supply’s positive (+) terminal to the shield’s +V and the negative (-) terminal to GND (do not use USB power to avoid insufficient current).

  • Driver Current Adjustment: Adjust the driver module current according to the motor’s rated current (e.g., for a 1A motor, set Vref ≈ 0.8V).

图片

2. Build the structure

  • 材料
  • 步骤

3. Arduino Uno burning Grbl firmware

3.1 Install GRBL via .ZIP Library

  • Download GRBL: Visit GRBL Releases. Download the latest .ZIP file (e.g., grbl-1.1h.zip).

  • Import ZIP in Arduino IDE: Open Arduino IDE.Go to Sketch > Include Library > Add .ZIP Library.Select the downloaded GRBL .ZIP file.

3.2 Upload GRBL to Arduino Uno

  • Plug Arduino Uno into your computer via USB. Go to Tools > Board > Arduino AVR Boards > Arduino Uno. Go to Tools > Port and select the correct COM port (e.g., COM3).

  • Navigate to File > Examples > grbl-servo-uno > grblUpload. Click the Upload Button (➔ icon).

grblUpload.jpg

3.3 Verify GRBL Functionality - Open Serial Monitor,Set Baud Rate to 115200 .

  • Test Commands:Send $$ to view GRBL parameters. Example output: $0=10 $1=25 $2=0 $3=0 ... arduino_$$.jpg

  • The instruction to modify data is:

  * Enter $X to unlock GRBL.
  * Enter parameter number=new value to modify the parameter, 
  for example: $110=5000, set the maximum speed of the X-axis to 5000 mm/min.
  * Enter $SAVE to save the configuration.
  * Enter $$to verify if the parameter is valid. 
  • Key Parameters (Initial Setup),I referred to Professor SAVERIO’s project and modified the parameters.
    grbl_parameters.png

4.Key Parameter Settings (via Gsender)

4.1 Close Arduino Uno to prevent serial port conflicts, Open Gsender (baud rate 115200 ), connect hardware. gsender_Baudrate.jpg

4.2 Steps/mm Calculation Formula: Steps/mm = (Motor steps per revolution × Driver microstepping) / Lead screw lead (mm)
Example: 1.8° motor (200 steps/rev) + 16 microstepping + 5mm lead → (200×16)/5 = 640 steps/mm