Rambo firmware

From RepRap
Revision as of 23:59, 16 January 2014 by Johnnyr (talk | contribs) (created page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Summary

RAMBo is compatible with most of the RepRap firmwares.

Firmware can be uploaded with the Arduino IDE.

RAMBo Arduino Plugin

Marlin and Repetier-Firmware (and others?) have extended support for RAMBo that takes advantage of the Atmega2560 MCU's pins that are not available on Arduino Mega2560. These pins are used for LCD interface or external stepper drivers.

To be upload newer version of these firmwares it is best to install the RAMBo Arduino addons. The add ons need to be copied into your Arduino application's hardware folder. You should end with a boards.txt file at arduino-1.0.5/hardware/rambo/boards.txt. The add ons can be found in https://github.com/ultimachine/RAMBo/tree/master/ArduinoAddons/Arduino_1.x.x or it may be included with your firmware(i.e. Marlin).

Marlin

For Marlin you will at least need to set the following variables in configuration.h:

#define MOTHERBOARD 301

The TEMP_SENSOR needs to be set to match your configuration. For a Epcos 100K thermsitor on Extruder0 and HeatedBed:

#define TEMP_SENSOR_0 1
#define TEMP_SENSOR_1 0
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_BED 1

You will likely need to tune the PID and DEFAULT_ settings to mach your hardware.

For some computers you may also need to set #define BAUDRATE 115200 to get communications.

You can adjust the motor driver settings in Configuration_adv.h: #define MICROSTEP_MODES and #define DIGIPOT_MOTOR_CURRENT

Repetier

Repetier-Firmware has good support for RAMBo.

Firmware Development

One of the key features of RAMBo (like most other RepRap electronics) is the ease of entry for development and research.

If firmware is compatible with RAMPS it can run on RAMBo with minimal modifications.

Motor Current

The current for the stepper motors is set by firmware controlling the 8-bit digital potentiometer. For the end user this is seamless. The firmware sets the current at every boot and The following formula from the Allegro datasheet describes how to set the reference voltage: ITripMAX = VREF/(8 X RS). RS, the value of the sense resistor on RAMBo is equal to 0.1Ω. ITripMAX is the current the stepper motors are rated for. Ideally you should start with 70%-90% of maximum. You can verify the voltage for each driver by plugging the reference voltage (VREF) measured at the X_REF test point (Y_REF,etc for the other drivers) in the following formula:

VRef = ITripMAX * 0.8

Note the A4982 is set to be limited to 2A. This means the adjustable voltage range is 0 to 1.66 volts. The following formula will yield the 8-bit binary value, Wv, to be entered into firmware or directly over SPI.

Wv = VRef / 1.66 * 255

Micro-stepping Configuration

Seamless to end user. Can be configured in configuration.h or by M-code.