Perler Bead Sorter

From Hack Manhattan Wiki

Purpose

Create an affordable machine that can help sort unsorted perler beads after workshops and help teach people how to use Arduino.

For general Perler bead content, go to the Perler page.


Design Considerations

Most perler bead designs can be reduced into two mechanical components:

  • Placement: from a pile a beads, the component positions one bead in a consistent position to be scanned
  • Filter: the scanned bead is shifted to the correct bin.

While the goal is to sort beads as many beads as possible, 10 beads per minutes will be used as a default rate to calculate design restrictions going forward.

Placement Design

The ideal time for a sorter to run without human interactions is 24 hours. The container holding the unsorted beads should be a large enough to hold 24 hours * 60 minutes * 10 beads per minute: 14400 beads.

Version 2 hopes to use a tube drop to place the bead in front of the sensor. A rigid, acrylic 6mm inner diameter tube seems to work well. Funnel needs to move up and down 10mm from the rest position.


Tilted disk from version had several issues:

  • Torque required to spin a disk from the center with a load of beads required a nema stepper motor.
    • Possible design using a gears may be viable for a 5v infinite stepper.
  • sensor should have been closer to the exit
  • jam check would often bump out slotted beads

Filter Design

Once the bead is in front of the sensor, the controller can trigger the motion to move the bead to either a filter bin or an unfiltered bin.

Every exhaust bin should be able to safely hold at least the number of beads within the unsorted hopper.

Educational versus Performance

For the simplest sorter to be functional, it needs to consistently sort one color from an unsorted pile. For an unsorted pile of beads consisting of 3 colors, with 1000 per color, and a machine sorting at 12 beads per minute, it would take 8 hours and 19 minutes with 2 reloads.

  • 3000 beads scanned, 1000 filtered, 2000 remaining: 4 hours 10 minutes
  • 2000 beads scanned, 1000 filtered, 1000 remaining: 2 hour 46 minutes
  • 1000 beads scanned, 1000 filtered, 0 remaining: 1 hour 23 minutes

If the sorter was able to sort multiple colors per run, at 8 beads per minute (3 seconds additional per bead), it would sort 3000 beads in 5 hours and 15 minutes without any reloads.

The above numbers are based on a scenario where a pile consists of 3 equal colors. In reality, the unsorted colors will be far more unbalanced and consist for far more colors requiring even more reloads. However, the only difference between filtering one color and filtering multiple colors is a single mechanical component. Additional, this feature can usually be added with a 28byj stepper, ULN2003 driver board, and an end stop for around $10 dollars. To get the best of both versions, there will be a base model and an advanced model that includes the additional components to filter multiple beads.


Parts

Cost is a major consideration to design this machine. Parts listed will be limited to 5v components that match the microcontroller's voltage input.

Electronic Components

-
Part Est Cost per unit Mandatory Notes Link
Adafruit Metro Mini 328 V2 - Arduino-Compatible - 5V 16MHz - STEMMA QT / Qwiic $14.95 Yes example https://www.adafruit.com/product/2590
Adafruit AS7341 10-Channel Light / Color Sensor Breakout - STEMMA QT / Qwiic $15.95 Yes Example https://www.adafruit.com/product/4698
Power supply $5.00 Yes Can be replaced with power jacks Example
Monochrome 1.3" 128x64 OLED graphic display - STEMMA QT / Qwiic $19.95 No Needs STEMMA QT cables https://www.adafruit.com/product/938
RGB LED $2.00 No Useful indicator https://www.adafruit.com/product/159
Example $0.00 No Example Example
Example $0.00 No Example Example

Mechanical Components

-
Part Est Cost per unit Motion Notes Link
Micro Servo $5.95 180 rotation Example https://www.adafruit.com/product/169
Continuous Micro Servo $7.50 continuous rotation Example https://www.adafruit.com/product/2442
28byj $4.95 360 position Example https://www.adafruit.com/product/858
ULN2008 driver board $3.00 Example Mandatory per 28byj Example
Micro limit switch $1.18 Example Detects https://www.digikey.com/en/products/detail/e-switch/SS0750301F040P1A/2639078
SWITCH SLIDE SPDT 200MA 30V $0.89 Example Example https://www.digikey.com/en/products/detail/e-switch/EG1218/101726
Joystick $5.95 User Input ~$2 on Amazon https://www.digikey.com/en/products/detail/osepp-electronics-ltd/JOY-01/11198543

Version One Review

The first production model used a tilted disk with grooves to rotate beads up a bowl into a scanning position. During its debut at magfest2023, it was sorting less than 3 beads per minute due to the inconsistencies in the grooves where individual beads were slotted.


User Interface

Base Model

Mechanical Controls:

  • Slider controller
    • Filtered/Unsorted
    • Left/Right (to determine center)
    • Home (code position 90)
  • Agitator
    • Up/Down
    • Center
  • Sensor
    • Save Color (might be able to preserve color using eeprom)

Advanced Model

Advanced model will need additional controls for managing bin colors, a display to show current bin colors and progress, and external memory to save bin configuration after reboot and counts.

Progress/Issues

  • 2024-12-04: V4 model uses Adafruit Metro Mini with AS7431 color sensor. 6 seconds per bead
  • 2022-12-19: V2 model uses wheel in bowl system instead of vibration
  • 2022-01-22: Beads keep flicking out of hopper at exit hole
  • Position beads into a slot where only 1 fits
  • Read the beads color
    • OpenCV implementation probably
  • Dispense bead into correct container
    • Circular container
    • Rail container
 # move stepper motor in bowl
 # detect when deck is full
 # load bead to camera
 # openCV check color
 # identify color and exit
 # unload bed