Generation 3 Electronics
Once you start putting electricity into your RepRap - even at just 12 volts - you have to take basic, common sense precautions to avoid fires. Just in case these fail, test your workshop smoke detector. Got no smoke detector? Get one!
The electronics are the 'brain' of the system. They control all the various motors and actuators, read all the various inputs (endstops, temperature, etc) as well as communicate with the host system to get directions, report status, etc. The Generation 3 electronics are our latest attempt at improving these systems. The stepper drivers are smaller, more powerful and cheaper. The main processor has been upgraded from an atmega168 (Arduino) to and atmega644p (Sanguino). Likewise, the extruder controller boards have been consolidated onto a single board which itself contains an atmega168 (Arduino) which allows it to pursue its own individual tasks without the constant attention of the main board. The Generation 3 electronics also introduces an RS485 communications bus which allows the Motherboard to talk to the various extruder controllers in a nice, simple way.
What You'll Need
If you get kit boards or buy the bare PCBs and then get your own components to populate them you can build them for Mendel from the start, of course. Here are the instructions for building the kit boards yourself. One Mendel will need:
- 1 RepRap Motherboard (mendel/electronics/motherboard),
- 1 Mendel USB and power connector (no Eagle design - it's a simple piece of stripboard),
- 3 RepRap Stepper drivers (mendel/electronics/stepper-motor-driver),
- 3 RepRap Opto Endstops (mendel/electronics/opto-endstop), and
- As many RepRap extruder controllers as you have extruders (mendel/electronics/extruder-controller).
If you buy the printed circuit boards for Mendel ready-made from MakerBot Industries you will get versions intended for their CupCake machine. These can be used as they stand, but by making a few small changes to them (pliers, forceps, a small screwdriver, and a soldering iron are all that are needed) you can make the Mendel wiring a lot neater. Details of how to do these
The Generation 3 Electronics is the designation for a family of boards that all work nicely together. Each board has its own particular purpose, and they interact with each other through their various interfaces, which we have attempted to standardize.
The recommended order of assembly for the various boards is:
- Stepper Drivers
- Opto Endstops
- Extruder Controller
- Optional Boards
If you're a bit rusty on your soldering skills, you may want to start with the Opto Endstops first, and then move on to the Stepper Drivers, and then do the rest of the boards.
RepRap Motherboard v1.2
This board is the brains behind the Generation 3 Electronics. The heart is a Sanguino which is an Arduino-compatible board that is powered by an ATMEGA644P chip. It has connectors to hook up all the various peripherals that you'll need to drive a RepRap machine. It has headers for three stepper drivers, as well as 4 RJ45 connectors for Extruder Controller Boards. Not only that, but it has an SD card and a connector to hook it up to an ATX power supply.
Stepper Motor Driver v2.3
Each stepper driver board drives one of the stepper motors. You need three of these boards for a fully functioning RepRap. Each board controls the position of one axis. Together, they position the print head anywhere in the 3 dimensional build area. The stepper motor driver boards drastically simplify the control of stepper motors and provide a simple, standard interface.
Opto Endstop v2.1
All of a RepRap's axes all need a datum (also known as home position or end-stop) to reference their movements. At the start of each build each axis needs to back up until the datum point is reached. We use one opto-switch for each axis to define its position. This page tells you how to wire one up.
Extruder Controller v2.2
This board is a combination of the PWM Driver Board, DC Motor Driver Board, Temperature Sensor Board, RS485 comms, and an Arduino! All on one board. It has screw terminals for easy hookup, as well as a power jack for power and an IDC header for the rotary encoder. Its an all-in-one solution for controlling an extruder.
Every machine needs a regulated power supply giving at least 8 amps at 12 volts. The easiest way to do this is to use a standard ATX power supply. Its simple, cheap, and all the boards are designed to accept the standard Molex connectors that are common on ATX power supplies. The new Motherboard has a connector that accepts the large 20-pin ATX power supply connector. The motherboard can even tell the power supply to turn on and off if needed.
These boards are not required, but can be used to improve your machine or do different things.
Thermocouple Sensor v1.0
The thermocouple sensor is a different type of temperature sensor board. Unlike the thermistor based temperature sensor which can only really handle temperatures up to 300C, the thermocouple sensor can handle temperatures up to and over 1000C. It uses a thermocouple for temperature measurement, and it is much easier to read values from (as well as being a bit more accurate over a wider range.
- This board may be especially interesting if you're tight on memory space on the Arduino: using the thermocouple will allow you to leave out thermistor conversion tables.
- It also saves you the hassle of calibrating a thermistor.
- It will probably give a more accurate result (within 1-2 'C).
- Unfortunately, it is more expensive (by about $25)
Magnetic Rotary Encoder v1.0
The magnetic rotary encoder is an optional board to determine the rotational speed of the extruder motor. A different method is laser-cut version, using a H21L0I (also used for endstops).
- Allows you to achieve better print quality than with open-loop control (without feedback) of the extruder motor.
- Slightly added complexity due to another board in the system
- the costs
- this board is surface mounted technology (SMT), which is slightly harder to solder and needs some extra (inexpensive) tools, such as a flux pen.
Mounting the Electronics
The simplest way of wiring the electronics is to put the Motherboard and Stepper Drivers in a central location on your machine, mount the opto endstops in the proper place to detect the limits of the various axes, and finally to mount the Extruder Controller on whatever extruder it is actually controlling.
The Generation 3 electronics attempts to address the wiring problems of Generation 2. Most of the cables have been connectorized, so it is fairly plug and play. The motherboard has IDC headers for all the stepper drivers, and jacks for the extruders to plug into. The stepper drivers and opto endstops use common ethernet patch cable for connections as does the extruder system. The end result is that hooking everything up is actually really easy. Each individual board has information on how to hook it up to the boards it was designed to hook up to, or you can follow one of the design specific guides below.
The Darwin design has not yet caught up to the 3rd generation electronics, so your best bet is to get a thin piece of plywood / acrylic / etc. that you can mark and drill to mount the Motherboard and Stepper Drivers on. For the opto endstops and extruders, you'll want to follow the Darwin instructions for mounting the electronics.
The CupCake CNC has been designed to work simply and easily with the 3rd Generation Electronics. It has pre-cut mounting holes for all the electronics. CupCakeWiring has a brief summary. For full details on how to mount the electronics to your CupCake CNC machine, jump over to the MakerBot wiki: Cupcake Electronics Installation.
Setup the Software
The recommended software is the 3rd Generation firmware on the motherboard/extruder controllers and ReplicatorG as the host controller software. It is possible to use others, but those are the easiest. Please see the 3rd Generation firmware page for more information on how to install and configure those two pieces of software.