Replicape rev B
Replicape is a high end 3D-printer electronics package in the form of a Cape that can be placed on a BeagleBone Black. This page is about the Major revision B. It has five high power and low noise stepper motors with cool running MosFets and it has been designed to fit in small spaces without active cooling and without the need for physical access to the board once installed. That means no potentiometers to trim or switches to flip.
This page is about the hardware. It explains how to install the board and wire everything up. If you are looking for software that will run, have a look at the Kamikaze CNC image. There are other options as well, but that is the standard that will work for most people.
- 1 Availability
- 2 Mounting the Replicape on the BeagleBone.
- 3 How to wire up the board
- 4 Hardware source files
- 5 Hardware details
- 6 Testing Replicape
- 7 Errata
Mounting the Replicape on the BeagleBone.
As the name suggests, Replicape is a cape. Capes are one of the defining things about BeagleBone black/white/green, where the main development board acts as a base unit, and then accepts different add-on hardware through the two 48 pin headers, which in turn define some of the pin behaviors during Linux kernel startup. This is similar to "shields" on Arduino and "HAT"s on Raspberry Pi. Mounting the Replicape on BeagleBone should be pretty straight forward, just make sure the notch in the cape goes around the Ethernet connector so it makes a.. cape!
How to wire up the board
The Fritzing board below shows the most basic setup for connecting the board.
Bipolar and hybrid stepper motors are supported with these stepper motor drivers (SMD). Some smaller stepper motors are known to produce a high pitch noise and get very warm even with a low current setting. They will appear to work, but they may very well burn do to the large heat being produced.
With the board oriented as in the above image, the wires for the steppers are:
A1, B1, B2, A2
This might be different than what the steppers come mounted as as standard, but changing the order of the connectors in the housing is pretty straight forward.
The heater output on the Replicape have rugged connectors, with the heat bed having double connectors for redundancy (in case one wire comes loose) and for handling the power load. These are brand Molex connectors that have both screw terminals for easy fitting and slot in connectors for easy disassembly. All the heaters are controlled with PWM. The power MOSFETs controlling the output are AON6758 that are rated at 30V, 32A. For a 12V PSU, this means that the maximum power that can be used on the heated bed is 32 A x 12 V = 384 W. Please remember that there is a 20 A fuse preventing such a large power use on the heated bed. The 20 A fuse is installed to keep the traces on the PCB from over heating.
The thermistor inputs on Replicape have been designed for 100 K NTC thermistors. These are the typical type used for desktop 3D-printers. 10K thermistors can also be used, however the voltage divider setup makes the 100 K thermistors more ideal since the area of most change will be around 100 degrees. TODO: add charts for 10 K and 100 K thermistors showing their ideal temperature for most significant bit change.
DS18B20 temperature sensors
The connector marked Dallas W1 can be used for connecting temperature sensors of the type DS18B20. These are relatively low temperature sensors that can handle up to 125 degrees Celsius and are typically used for monitoring the cold end of the extruder which should never reach more than around 60 degrees when printing with PLA. The great thing about using a cold end monitor is that the temperature measurements can be used to regulate the fan on the extruder. That way, the noise level can be lowered further than when using the thermistor as a trigger for enabling the extruder fan.
The white 2, 3 and 4 pin connectors on Replicape used for thermistors, end stops and steppers are the MTA-100 series
from TE connectivity:
For the 2 pin thermistor inputs and fan outputs:
Here is a couple of good mating products:
For the 3 pin end stop and Dallas 1W inputs:
For the 4 pin stepper motor connectors, and the inductive sensor input:
Replicape is powered through a single 12 to 24 V power supply. This powers the BeagleBone as well, through a 5V step down converter. It also supplies 12V for fans and the inductive sensor. If the USB device connector is used, no power is drawn through the connector.
Hardware source files
If you want to extend, build or modify Replicape, for the repository:
Routing and noise
The Rev B PCB is a four layer PCB. The top layer is mostly vertical traces and the bottom layer is mostly horizontal. The uppermost inner layer is a ground layer with no signal traces. The lower inner layer is the voltage plane layer. There are in total 4 voltage planes: 12..24V, 12V, 5V and 1.8V. In addition, there is a 3.3 V trace routed.
All components are placed on the top layer to reduce cost of manufacturing. There are two fiducials on the top side to aid in pick and place placement of components.
Revision B does not have a dedicated extension header like the one that was introduced in rev A4A.There should still be possible to add an extension board on top of the current version that can add up to three more extruders. This has not been designed yet.
Pins on the BeagleBone used by replicape
Below is a diagram of the pins that have been used on the BeagleBone.
Stepper Motor Controllers
There are 5 Stepper Motor Controllers (SMDs) of the type TMC2100 (datasheet) on Replicape. With the right stepper motors, they reduce the noise level a lot compared to other, similar type SMDs. The peak current is rated at 2.5 A, with an RMS current pr phase of 1.2 A. TMC2100 has over temperature protection. If skipped steps occur, it might be due to over heating. To distribute heat better, there are exposed areas directly under the stepper drivers where heat sinks can be mounted. In that case, you may want to consider adding active cooling to lead the air flow away from the gap between the BeagleBone and the cape.
TODO for Rev B
High power MOSFETs
TODO for Rev B
Low Power MOSFETs
TODO for Rev B
TODO for Rev B
TODO for Rev B
The EEPROM on the Replicape should be updated when it arrives. If not, here are the instructions on how to update it.
On the Debian/kamikaze image:
sudo apt-get install nodejs-legacy wget https://bitbucket.org/intelligentagent/replicape/raw/f623a0304134b3effcc427a82de1ebbf7cee82bb/eeprom/replicape_0A4A.json wget https://bitbucket.org/intelligentagent/replicape/raw/a2b195880014c7c27aabd7c0a8d140c5564007ad/eeprom/eeprom.js wget https://bitbucket.org/intelligentagent/replicape/raw/a2b195880014c7c27aabd7c0a8d140c5564007ad/eeprom/bone.js node ./eeprom.js -w replicape_0A4A.json cat Replicape.eeprom > /sys/bus/i2c/drivers/at24/2-0054/nvmem/at24-1/nvmem
Please note the address on the I2C bus, it might be 55, 56 or 57 depending on your settings.
A script is available for testing the board. This is inteded for manufacturers, but could be useful for end-users as well. To install the test script do the following. Install the test script package:
opkg install replicape-test
Use the "testing" config file for Redeem:
cd /etc/redeem ln -s Testing.cfg printer.cfg
Finally, since the boards to test/flash do not have eeprom when plugged in, it must be enabled through the command line.
mkdir /media/mmc1 mount /dev/mmcblk0p1 /media/mmc1/ echo "optargs=drm.debug=7 capemgr.enable_partno=BB-SGX,BB-BONE-REPLICAP:0A4A consoleblank=0 vt.global_cursor_default=0" > /media/mmc1/uEnv.txt
The first batch revision is Rev B3
Replicape Revision B2 has a hardware error. This board was only manufactured for beta testing and has "developer edition" clearly shown on the board. The error is that 470K resistors were mounted instead of 4.7K for the thermistor voltage divider. The resistors were manually changed to 5.1K resistors. The thermistor voltage divider resistance value needs to be updated in software to reflect this. Add the following section to the file /etc/redeem/local.cfg
[Heaters] resistance_e = 5100.0 resistance_h = 5100.0 resistance_hbp = 5100.0