T-Bone

From RepRap
Jump to: navigation, search
Crystal Clear action run.png
T-Bone

Release status: Working

T-bone-image.jpg
Description BeagleBone Balck based CNC Motion controller, espcially suited for RepRap 3d Printers.
License AGPL CC/SA
Author Interactive-matter
Contributors
Based-on Delta
Categories Electronics
CAD Models none
External Link T-bone Website


The T-bone is a cape for the BeagleBone Black, dedicated for motion control application. These are 3D printers, laser cutters, milling machines, and other applications using stepper motors. The T-bone will come preprogrammed for Reprap Mendel 3D Printer. Best known in the Prusa Medel variant.

The t-bone is currently fundraising on indiegogo. There you can preorder your board.

Introduction

T-Bone blends motion control, realtime motion execution and 3D printing software in an easy to digest package. User interface, configuration, and path planner are running on the BeagleBone Black. This makes it easy to adapt. Real-time communication with the BeagleBone is handled by a small microcontroller, placed on the T-Bone. The microcontroller is fully compatible with the Arduino toolchain. Complex acceleration and velocity calculations for the stepper motors are done by dedicated motion controllers. These are dedicated hardware components, developed to get the maximum performance out of a given stepper motor without putting any workload to the host system.

T-bone-image.jpg

Hardware

The main features of the basic board:

  • 5 stepper motor driver (run syncronized, 3 x up to 4 A, 2 x up to 1.5 A)
  • 12-24V input voltage
  • 6 inputs for end switches
  • 3 inputs for incremental encoders (3 axis supporting closed loop control)
  • 3 inputs for thermistors
  • 1-wire interface for digital temp and other sensors
  • 2 high power outputs (for extruder and heatbed, up to 12 A)
  • 2 mid power output (for fans, LEDs, ..., also expandable)
  • Power supply for BeagleBone

T-bone-pinout.png

The T-Bone is using a smart and proven concept for improvement and simplification at the same time: division of work. dedicated motion control units are executing lowlevel, but time-critical functions. The BeagleBone can concentrate on complex tasks and user interfacing. Both parts are connected by an Arduino-compatible microcontroller, decoupling high-level and real-time programming. The connection between the two board is realized by a asychronous UART interface. It’s easy accessable in software, offers high data rates, and decouples the task-driven BeagleBone and the real-time operation of the T-bone.

T-Bone-Hardware-Layers.png

Software

To join highest performance with flexibility and easy programming, we use dedicated hard- and software abstraction layers: The T-Bone software separates high-level logic from realtime tasks, very hardware-specific routines from the almost infinite world of user interfaces. User interface, configuration, and path planner, written in Python are running on the BeagleBone. Real-time communication with the BeagleBone is handled by an Arduino Leonardo compatible microcontroller, placed on the T-bone. Acceleration and velocity calculations for the stepper motors are done by dedicated motion controller ICs.

T-Bone-Software-Layers.png

Let’s take a short look inside the different software layers our system: 1st Layer, Interfaces: All 3D printers need to have an interface for general setup, receiving jobs, status reports. They can be connected to a host PC or operating standalone. The T-Bone will come with a simple to use web interface. The web interface is based on Python and Flask.

2nd Layer, High-Level Control: A printer usually receives jobs in GCode. The Gcode is translated into movement commands for the axis and the extruder. A pathplanner optimizes the movements of several printing segments. Heaters, fans, and other tools of the printer are controlled by service processes. With the T-bone, all these tasks can be implemented in high-level programming language Phython.

3rd Layer, Real-time interface: Tightly timed control can be a very challenging task for Linux systems and high level languages. Hence the T-bone incorporates an Arduino compatible micro controller for time critical control. BeagleBone and T-bone are connected by a UART interface. The T-bone controller buffers several motion commands from the BeagleBone. The idea is to offer an open interface for all kind of projects using stepper motors or other kind of actuators.

4th Layer, Real-time hardware control: Controlling a stepper motor is a challenging job. For every movement a sequence of single steps is created, accelerating to maximum velocity and decellerating to the target position. And it’s becoming even more challenging if it’s done for several synchronous axis. For the T-bone motion control hardware this is home turf.

More Information and Support

The T-bone web site has more information regarding hardware and software of the T-bone. Guides and information will be published there.