Stepper by Ngwhishma.jpg
FA info icon.svg Angle down icon.svg Project data
Authors Nicholas Whisman
Years 2021
Made yes
OKH Manifest Download

BREAD (Broadly Reconfigurable and Expandable Automation Device) is a project that has been under development at Michigan Tech for the past year, and expressly aims to reduce design lead time in system-based projects. Generally speaking, the scientific community is great at making individual useful devices, but experiments combining these systems can be time consuming, design-wise. BREAD is an attempt to make any potential system design "Plug + Play."

Project Significance[edit | edit source]

Objective[edit | edit source]

The overall objective of BREAD is to create a platform in which any idea one may have for a "grander" system can simply be achieved by combining different modules (hereby referred to as "slices" for thematic consistency) into the back-plane device which unites them. This project in particular aims to serve as a proof of concept for the system as a whole by implementing an already existing and well-studied system-- the 3D printer.

Project Goals[edit | edit source]

The technical goals of this project, currently, are as follows:

  • Implement all hardware necessarily required to control all the base elements of a 3D printer
  • If slices do not already exist to perform above mentioned tasks, design, implement, and test them.
  • Design and implement specialized software on the back-plane to fully control system

In addition to these technical goals, the project also has many non-technical goals. Ideally, this project can develop into an educational, widely used system at Michigan Tech, where many students over many years contribute slice after slice, until someday we really do have a slice for any occasion. Upon further maturation of this system, we wish to implement entire systems for a variety of projects with it, significantly reducing our design lead time for projects, proportionally to the maturity of the project.

In line with this idea, it is intended that the 3D printer BREAD application will be the first of many, and that the project team will eventually grow much larger and facilitate a variety of further applications and improvements to existing systems over the years.

Bill of Materials[edit | edit source]

SLC_STEP[edit | edit source]

Item Quantity
01x03 1/10" Pitch Male Connector Pins 1
1206 SMD 10 uF Capacitor 3
01x02 1/10" Pitch Terminal Block 1
1206 SMD 1k Resistor 4
01x08 1/10" Pitch Terminal Block 2
01x04 1/10" Pitch Terminal Block 1
5.1V Zener Diode 4
Pololu A4988 Stepper Driver 4
Arduino Nano 1
01x010 Female Header Pins 1

SLC_HEAT[edit | edit source]

Item Quantity
Arduino Nano 1
01x010 Female Header Pins 1
1206 SMD 10k Resistor 3
TIP120 Transistor 2
MAX31855KASA Type K Thermocouple Reader 1
01x02 Terminal Block 3
1206 SMD 10 uF Capacitor 2
1206 SMD 0.01 uF Capacitor 1
1206 SMD Ferrite Bead 2

SLC_BUCK[edit | edit source]

Item Quantity
Arduino Nano 1
01x010 Female Header Pins 1
1206 SMD 10 uF Capacitor 2
TIP120 Transistor 1
01x02 Terminal Block 2
Through-Hole Diode 1
Through-Hole 100 uF 100V Rated Capacitor 1
560 uH (or greater) Inductor 1
100k Bournes Potentiometer 1
100k Through-Hole Resistor 1

Designs[edit | edit source]

Notes / Justification[edit | edit source]

The slices described below are the core slices required to control an already existing 3D printer, as is the aim of this project. The stepper board controls the four stepper motors, and the heater board can control one heating element apiece. Technically, the heater board could have been designed to be multi-channel, but we felt that having one board per system heating element would be safer, simpler to implement, and more user friendly. Justification for the buck converter board is elaborated on below. The buck and heater boards were designed and built this semester, and the stepper board was inherited from the previous summer's work.

There are quite a few design choices within these modules that are worth noting, especially for maintaining some level of uniformity in future projects. Firstly, as per the general slice design specifications, one should attempt to make a board single layer only. However, when two layers are necessary, choosing to route each layeer primarily in one direction will save time and heartache.

The heater board is controlled by two transistors. This, at first, may seem unusual, as intuitively one would think only one would be required to implement the PWM based control. That is entirely correct, yes, but the second transistor is implemented as an emergency feature. It is tied to an active low emergency stop signal, so the transistor can basically be considered a wire unless the system is having troubles. If one wishes to use the module independent of the system, hard programming the E_STOP line to be high at the start of any program should suffice.

For the buck converter board, an arbitrarily large space is left for an inductor. This is because, generally speaking, a larger inductor is considered more favorable in buck converter designs, and we wished to allow for more independence in choice with this component. A default 560 uH inductor is suggested and used in this project, but individuals may have different preferences.

The buck converter exists for two primary reasons. One, despite the BREAD system overall usually using its own dedicated power supply, it was discovered during the process of this project that the 3D printer being controlled already had a perfectly acceptable power supply, albeit a little bit high in voltage for our requirements. Additionally, utilizing some different software implementation, this slice could dual-serve as an analog signal generator, similar in operation to a Class D audio amplifier.

SLC_STEP[edit | edit source]

Design Files:

SLC_HEAT[edit | edit source]

Design Files:

SLC_BUCK[edit | edit source]

Design Files:

References[edit | edit source]

[Shane's paper when it comes out]

Stepper control in action[edit | edit source]

File:Stepper control.mp4

FA info icon.svg Angle down icon.svg Page data
Keywords automation
Authors Nicholas Whisman
License CC-BY-SA-4.0
Language English (en)
Related 0 subpages, 3 pages link here
Impact 248 page views
Created December 7, 2021 by Nicholas Whisman
Modified June 18, 2024 by StandardWikitext bot
Cookies help us deliver our services. By using our services, you agree to our use of cookies.