3D Printing Wiki

Advancing 3D printing mastery

User Tools

Site Tools


04_projects:02_kinetic_sand_table

3D PRINTING AND DESIGN REFERENCE DOCUMENT

Document Title:Kinetic Sand Table
Document No.:1734601619
Author(s):jattie
Contributor(s):

REVISION HISTORY


Revision


Details of Modification(s)

Reason for modification

Date

By
0 Draft releaseDocument Essential References and Resource for Building a Kinetic Sandtable 2024/12/19 09:46 jattie

Kinetic Sand Table Design and Build

The objectives for the project is to 3D print as many of the parts as possible and to build low budget linear stages to construct the basic system and build it up from there.

  • Electronics/Controllers
    • GRBL Controller
    • CNC Shield
    • Stepper Drivers for shield
  • Linear Hardware
    • Stepper motors
    • Linear Stages
    • GT2 drive belts
    • GT2 Idlers
    • GT2 Stepper Attachments
    • Belt Clamp
  • Playlist 1)

Electronics

GRBL Controller

After some extensive research I discovered grblHAL2). grblHAL is the updated version of GRBL. GRBL is an open-source firmware that converts G-code commands into motion control signals for CNC (Computer Numerical Control) machines. It's widely used for controlling CNC routers, mills, lathes, laser cutters, and other automated machinery.

grblHAL essentially makes it possible to use a wide range of low cost 32 bit microcontrollers. Some popular grblHAL supported microcontrollers are :

  • RP2040: Raspberry Pi Pico
  • ESP32: Popular for IoT projects
  • STM32: Various models like STM32F1xx, STM32F3xx, STM32F4xx, STM32F7xx, and STM32H7xx
  • LPC176x: Used in many embedded systems
  • SAM3X8E: Found in Arduino Due
  • Teensy 4.x: High-performance microcontrollers
  • NXP iMXRT1062: Used in Teensy 4.x boards

This allows for a wide range of options to avail of to build a very low cost grbl interface. There are handy web based tools to select the controller of choice and build the firmware code for you.3). The alternative route is to build the code using VSCode. The full tutorial is here.

The basic steps are:

  • Create firmware 4)
  • Power off the Pico 2040 by unplugging the USB, hold in BOOTSEL and plug it back in. Upload the firmware.
  • Connect to the unit using IOSender XL 5)

That's it, you now have a GRBL controller.

Connecting Steppers to the GRBL controller

The pinouts for a Pico 2040 are as follow:

Following the grblHAL software mapping for the firmware 6) we deduce the following map to actual pinouts:

GRBL Function Pico GP Pin
Step Output X 2
Step Output Y 3
Step Output Z 4
Direction Output X 5
Direction Output Y 6
Direction Output Z 7
Steppers Enable 8
Limit X 9
Limit Y 10
Limit Z 11

Stepper Drivers

There are a few projects for Pico specific shields, however they are costly to get hold of and the Arduino community has very low cost and mature products that is compatible, or at least I believe it is and will explore this and test it for this purpose.

I will explore the CNC Shield that is discussed in detail here 7)

As an alternative we explored TB6600. 8)9)10) These units are very low cost and available on Amazon.

The different models of these types of units are tabled below for comparison.

Feature/DriverTB6600DM556DM556TDM542ERP60DM860HDM860SDM860T
Input Voltage9-42V20-50V20-50V20-50V20-50V20-50V20-50V20-50V
Output Current0.5-4A0.5-5.6A1.8-5.6A1.8-5.6A1.8-5.6A1.8-5.6A1.8-5.6A1.8-5.6A
Microsteps1, 2/A, 2/B, 4, 8, 16, 321, 2, 4, 8, 16, 321, 2, 4, 8, 16, 321, 2, 4, 8, 16, 321, 2, 4, 8, 16, 321, 2, 4, 8, 16, 321, 2, 4, 8, 16, 321, 2, 4, 8, 16, 32
Control InterfaceDigitalDigitalDigitalDigitalDigitalDigitalDigitalDigital
Protection FeaturesOvercurrent, OverheatOvercurrent, OverheatOvercurrent, OverheatOvercurrent, OverheatOvercurrent, OverheatOvercurrent, OverheatOvercurrent, OverheatOvercurrent, Overheat
ApplicationsGeneral use, CNC machinesGeneral use, CNC machinesGeneral use, CNC machinesGeneral use, CNC machinesGeneral use, CNC machinesGeneral use, CNC machinesGeneral use, CNC machinesGeneral use, CNC machines

The other option is smaller packaged driver like these:

Feature/Driver STSPIN820 DRV8834 A4988 MP6500 A5984 TB67S249 DRV8434 TMCM-1260
Operating Voltage 7-45V 2.5-10.8V 8-35V 8-40V 8-40V 8-40V 8-40V 8-40V
Max Output Current 1.5 Arms 1.5 A 2 A 2.5 A 2.5 A 2.5 A 2.5 A 2.5 A
Microstepping Up to 1/256 Up to 1/32 Up to 1/16 Up to 1/16 Up to 1/16 Up to 1/16 Up to 1/16 Up to 1/16
Protection Features Overcurrent, Overtemperature, Short-circuit, Undervoltage lockout, Thermal shutdown Overcurrent, Short-circuit, Undervoltage lockout, Overtemperature, Low-power sleep mode Overcurrent, Short-circuit, Thermal shutdown Overcurrent, Short-circuit, Thermal shutdown Overcurrent, Short-circuit, Thermal shutdown Overcurrent, Short-circuit, Thermal shutdown Overcurrent, Short-circuit, Thermal shutdown Overcurrent, Short-circuit, Thermal shutdown
Package Type QFN 4×4 mm HTSSOP/VQFN 24-pin DIP-16 DIP-16 DIP-16 DIP-16 DIP-16 DIP-16
Applications 3D printers, Medical equipment, Industrial printers, Robotics Toys, Printers, Cameras, Robotics 3D printers, CNC machines, Robotics 3D printers, CNC machines, Robotics 3D printers, CNC machines, Robotics 3D printers, CNC machines, Robotics 3D printers, CNC machines, Robotics 3D printers, CNC machines, Robotics

The TMC2208 and TMC2209 are known for their silent operation due to their StealthChop technology.

The final choice of driver came down to cost and effort to implement. At the time of writing TB6600 units were available from amazon for €11,10. With optical insulated inputs11) and the cost, it's a no brainer choice for me.

Wiring

The pico datasheet12) section 2.1 confirms use of the 3.3V output for signal purposes of up to 300mA. The TB6600 datasheet13) confirms 15mA currents required to drive the optocouplers.

The proposed microcontroller wiring from the same datasheet proposes the following:

So in keeping with the proposed vendor Microcontroller wiring we then add the enable lines back in and it should look like this.

This schematic show the wiring for the X axis, the two Y axis connections for direction and step should be used instead.

Linear Hardware

Stepper Motors

My stepper motor choice is from what I already have on hand, is popular and abundantly available. Any Nema 17 motor will suffice.

Brand Creality 3D 42-40
Item Name RepRap 42 Stepper Motor
Article number 42-40
SKU3204120126
Step angle 1.8degrees
Rated voltage 4.83V
Current rating 1.5(A)
Rated speed 1-1000(rpm)
Rated torque 0.4(NM)
Ambient temperature -20 ℃ ~ + 50℃
Length 40mm
Application 3D printer
Shaft Round shaft

Using this stepper in conjunction with a TB6600, simply set the current limit to match that of the motor selected, regardless pf the voltage supplied to the controller. The controller regulates the current limit set up from the dip switches. 14)

Linear Stage

For my linear stage I decided to venture off the well travelled path and investigate alternative rail options.

Browsing at my local hardware store I found polished oval rails like these and started working of a 3D printed design that can use cheap 3D printed options to turn these into a linear stage.

I created some oval shaped linear bearings for starters and testing them on the rails.

The were designed with very tight fit tolerances.

Then created some bearing holders with idler pulley holders and mounts for the cross bar.

The cross bar fit was also tight and I used a mallet to drive it on to avoid play. I realised I did not fit the bearing and designed a split bearing.

The bearings are here: https://www.printables.com/model/1108249-oval-tube-linear-bearing-15x30x50mm

The gantry sliders with bearing and idler pulleys are here: https://www.printables.com/model/1111593-oval-profile-linear-stage-single-bearing

04_projects/02_kinetic_sand_table.txt · Last modified: 2024/12/20 20:39 by jattie