Introduction: Tumbler for Pragmatic 3d Production Printing

At our Fab Lab (fablab013) we often run productions on our FDM 3d printers and often use PLA or other materials in the printers that are hard to smooth out using conventional methods. One thing that does work good is to tumble the objects until they have smooth surfaces and no more burrs or stringing.

We finally decided to build a quick and dirty tumbler and it turned out it only took 45 minutes and some scrap materials we had laying around the lab.

Tumbling, as it turns out, also works great for metal parts that came out of our CNC plasma table, and for lasercut plastics like PE and PP etc. (that show raised melted edges next to the laser-kerft unlike acrylic etc.)

Step 1: Create a Tumbler From Spare Parts

The tumbler itself consists of an arduino driven stepper motor that runs a few wheels, and a PVC pipe with 2 end caps.

Simply put the products in the pvc pipe and add some sand or other abrasive. You will have to experiment a bit with the type of abrasive and the amount of time you tumble your product.

For 3D printed products simple abrasive sand will do (shell sand, or in our case 'rhine-sand' from the rhine river). For metal parts and other hard stuff you may have to upgrade your abrasive to ceramics.

We choose to go arduino powered so we can easily control :

  • the speed at which we tumble
  • the length of time we tumble
  • the direction of the tumbler
  • the pauses in between shifting direction and/or speed

The construction itself is rather simple and in this case a few pictures will say more than a thousand words so please refer to the images and video's in this instructable for more building tips.

Step 2: How to Build Your Arduino Tumbler

When you watch the video it's rather obvious how we built the tumbler, but here are a few notes to help you along :

The tumbler is driven by an arduino (in this case a MEGA 2560 since we didn't have smaller arduino's laying around). Any arduino will do since we only need 2 outputs and a ground to run an external stepper driver. So get your cheapest arduino, then get an external stepper driver like the easy to find DQ420A, or a little older but more powerful CW230 as shown in the video.

We used an external stepper driver because they can handle more Amps. (in our case of the CW230 - 3 amps) and they don't need cooling since they have their own aluminium heatsink housing.

Next we found an old stepper motor - don't worry about the voltage; you can easily feed stepper motors with higher voltage than their rating - and finally we also found a 12 volt 1 amp adapter laying around. (anything between 9 / 12 volt will do). 1 amp is a bit meager but turned out to be fine for this project.

Step 3: Connecting the Drive Shaft

The drive-shaft is a simple piece of 6 mm. treaded rob that holds two wheels. The wheels were attached by clamping them on the treaded rod with two nuts on either side. The wheels were put off center so they wobble on purpose, it rocks the tumbler in a sideways motion.

Connecting a drive-shaft to a stepper motor in a cheap and simple way is something people talk about a lot on the internet, but it is fairly simple using a piece of reinforced air-hose. You can press it on the motor axis and normally don't even need a clamp like shown in the picture, but since our tumbler rocks back and forth and we are using threaded rod we put a clamp on to be sure the rod doesn't unthread itself each time.

Step 4: Programming the Arduino

When it comes time to program your arduino you can choose to run your tumbler in either direction, at any speed for any length of time. Below is a simple sketch to get you started. Simply change some of the variables to alter the tumbler's behavior.

// tumbler 6-4-2016
// pete scheepens | fablab013 // via4321@gmail.com

// this code simply bounces your tumbler back and forth with a short pause in between

int motorx_step = 26; int motorx_dir = 24;

void setup() { // put your setup code here, to run once:

pinMode(24,OUTPUT); pinMode(26,OUTPUT); digitalWrite(26,HIGH); digitalWrite(24,HIGH); }

void loop() {

delay(500); // higher number = longer pause between reversing if (digitalRead(24) == HIGH) digitalWrite(24,LOW); else digitalWrite(24,HIGH); // reverse tumbler for (int i;i<60000;i++){ digitalWrite(26,HIGH); delayMicroseconds(120); // make this value lower to speed things up digitalWrite(26,LOW); delayMicroseconds(120); } i=0; }

Robotics Contest 2016

Participated in the
Robotics Contest 2016

3D Printing Contest 2016

Participated in the
3D Printing Contest 2016