Skip to content

📿 A USB-powered bead dispenser

License

Notifications You must be signed in to change notification settings

ccp-eva/bead-dispenser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CCP Bead Dispenser

A DIY USB powered bead dispenser

Contains an Arduino sketch that accepts user input (i.e., an integer) and then starts a Nema 14 stepper motor. While the motor rotates, the attached infrared beam module counts objects which break the beam. The motor will stop when the object count equals the provided number by the user. This repo includes all 3d stl files and the construction manual.



Demos

bead-dispenser-demo-sm.mp4
bead-dispenser-field.mp4

Overview

This DIY bead dispenser was used as a companion apparatus for Sarah Pope-Caldwell’s Nifty Shifty Game Battery. Specifically, the dispenser receives a signal (i.e., a positive integer) from the game, which starts a NEMA 14 stepper motor releasing the number of requested beads. The Arduino sketch was developed by Steven Kalinke.

Initially, Dylan T Guenther provided us with his modifications from thingiverse dispenser, and then Raik Pieszek made significant modifications to meet our requirements. You will find all the stl files within the repository’s stl directory.

Power Supply

We are aware the stepper motor and infrared beams are underpowered by the low voltage/current constraints of the USB 2 protocol (i.e., 5V @ 0.5A). However, throughout the entire hardware engineering process, we tested the dispenser to run with standard USB 2.0 power only and have not observed any drawbacks by under-powering it. The dispenser was also running in high humidity conditions (Congo) for approx. 8h per day over five to six weeks conducted by Elisa Felsche. Please refer to the hardware components sections for further details.

What’s happening

As of Summer 2022, we will work on a version 2 with some soft- and hardware improvements, which are listed below:

Software

Check the issue tab for open issues!

Hardware

Hardware Components

Component Description Approx. Price
Arduino Uno https://www.amazon.com/Arduino-A000066-ARDUINO-UNO-R3/dp/B008GRTSV6
Adafruit Motor Shield (2.3) https://www.amazon.com/Adafruit-Motor-Stepper-Shield-Arduino/dp/B00PUTH3B0
… alternatively version 2.0 (cheaper) https://www.roboter-bausatz.de/p/motor-shield-v2.0-fuer-arduino?sPartner=8&gclid=CjwKCAjw1JeJBhB9EiwAV612y0uTo-yNJ4GlXUTTYTJsgV14ZZIoj7A12Il0sJB5pGVDDNJmeDUyexoCM9cQAvD_BwE
Stepper Motor (Nema 14) Option 1 Polou SY35ST28-0504A (200 steps / 1.8°, 0.1Nm holding torque, 10V @ 0.5A, 20Ω Phase resistance) – Datasheet – https://www.robotshop.com/de/de/10-v-05-a-13-oz-in-zweipoliger-schrittmotor.html
Stepper Motor (Nema 14) Option 2 Joy-it Nema14-01 (200 steps / 1.8°, 0.1Nm holding torque, 8V @ 0.4A, 20Ω Phase resistance) — Datasheet — https://joy-it.net/en/products/NEMA14-01 or https://www.conrad.de/de/p/joy-it-schrittmotor-nema14-01-0-1-nm-0-4-a-wellen-durchmesser-5-mm-2142507.html
Adafruit IR Beam Break Sensor Pair (3mm, preferably with DuPont Connectors) https://www.mouser.de/ProductDetail/Adafruit/2167?qs=GURawfaeGuCJ0J7vogtCzg%3D%3D
USB Wire (Type B from the Arduino to whatever you need on your computer) Note, we had some difficulties with USB Adapters, a direct connection is preferred, e.g., USB C to Type B: USB-Kabel USB 2.0 USB-B Stecker
Pellets We tested a variety of beads/pellets. A rule of thumb: beads should be a non-reflective surface, as the IR signal can be reflected around the pellet. Wood is good material; we used these wood balls: https://www.holz-allerlei.de/holzkugeln-ohne-bohrung/143/holzkugeln-6-mm-oe-ohne-bohrung?c=34
Soldering Iron
Crimp tool and DuPont Connectors … to easily connect the IR beam break sensors
Threading tap to create threads … for screws and nuts (M4)

Construction Manual

Soldering Adafruit Shield on the Arduino

  • Documentation

  • Guide

  • Place the Shield stacking headers on the Adafruit shield (terminals are optional for this setup) and solder them its bottom

  • You may need to buy stacking headers as the Adafruit shield does not come with them (it did actually for our case)


Soldering stacking headers to the Motorshield (they may come pre-soldered for Motor Shield v.2.3)

Wiring the Stepper Motor on the Adafruit Shield

Check which coils make a pair

Either use a Multimeter and figure out the two wires having the lowest resistance; those make a coil pair. If you do not have a Multimeter, connect their wire tips: Now turn the stepper motor: If the rotation resistance is high, the two cables belong together (i.e., making a coil pair).

Connect the Motor to the Shield


Left: Polou SY35ST28-0504A (M1: black, green; M2: red, blue). Right: Joy-it Nema14 (M1: red, gray; M2: yellow, green).

IR Breakbeam Sensors Connection

Docs & Datasheet: https://www.adafruit.com/product/2167

Left Image: The receiver is on the left; it has three wires. The transmitter is on the right; it has two wires.

Add DuPont Connectors to the wires

If your IR break beam sensors came with DuPont (see JST connector - RE) connectors, you can skip this step. If not, use a crimp tool to add crimps.

Left: IR Breakbeam Sensors w/o DuPont Connectors. Right: IR Breakbeam Sensors w/ DuPont Connectors.

Connect IR Breakbeam Sensors

The receiver (photodiode/sensor) has three colored wires; connect the

  • black wire to the ground (there are two, which one doesn’t matter)
  • red wire to the 5V Pin (important!)
  • white wire to Pin 4 in the Digital I/O array

The transmitter LED (sender) has two colored wires; connect the

  • black wire to the ground (the one that is left)
  • red wire to the 3V Pin (important!)

Threading

Use M4 threading taps for the following 3D components:

The four pillars from the roof print-out (you may need to get rid of some residuals from the print before). Use a screw (or whatever) to push out residuals from the print. Thread after cleaning.
The four holes from the dispenser holes
The side of the dispenser. Drill an M4 thread in the side of the dispenser as a fixation for the IR beam breaker
Finally, drill an M4 thread in the IR break beam transmitter & receiver (this will be screwed together with the dispenser later.

Disk Treatment

  • Depending on the 3D printer, the bottom of the disk may be a bit rough, therefore creating resistance. Use fine sandpaper to reduce friction.
  • Depending on the 3D printer, the disk’s hole may be too narrow for the stepper motor’s D-shaft. Roll a thin layer of sandpaper to increase the inner diameter.


Left: Increase inner disk diameter. Right: Sandpaper the bottom of the disk.

3D Components Overview

Our model is composed of seven components; these are from bottom to top:

  • Box
  • Slide
  • Door
  • Roof
  • Dispenser
  • Disk
  • Funnel
Component STL File Isometric Preview
Box — Housing for the Arduino & Adafruit Shield Download
Slide — To fixate the Arduino’s plate with the slide Download
Door — Sliding door that closes the box Download
Roof — Coveres the box, and provides a housing for a NEMA 14 stepper motor Download
Dispenser — Holding the disc and provides a tube Download
Disk — Revolving magazine to release beads or other objects Download
Funnel — Bead funnel/storage unit Download
Lid — Get yourself some Pringles. Use the Pringle’s lid to seal the funnel. (optional) —