EinsyRambo

From RepRap
Jump to: navigation, search


Crystal Clear action run.png
EinsyRambo

Release status: Working

EinsyRambo v1.1a 1024x1024.jpg
Description 3D Printer controller with TMC2130 stepper drivers.
License Creative Commons Attribution-ShareAlike 3.0
Author ultimachine
Contributors
Based-on MiniRambo
Categories Electronics
CAD Models none
External Link Github


RAMBo Pages: RAMBo .:. RAMBo v1.0-1.1 .:. RAMBo v1.2 .:. RAMBo v1.3 .:. RAMBo v1.4 .:. RAMBo Firmware .:. RAMBo Development .:. MiniRambo .:. MiniRambo Development .:. EinsyRambo .:. EinsyRambo Development

Summary

This board is based off MiniRambo, the Arduino MEGA design, and the work of RepRap community. It has 4 Trinamic TMC2130 stepper drivers and 4 mosfet switched outputs.

EinsyRambo 1.1a main connections.

Differences from MiniRambo

  • 4 tmc2130 1/256 microstepping drivers vs. 4 a4982 1/16 microstepping drivers
  • Sensorless homing vs. No sensorless homing (Requires advanced tuning)
  • 2 mechanical endstop inputs (2pin) + ZProbe (4pin) vs. 6 optical endstop inputs
  • SPI control of motor current vs. PWM control of stepper current
  • FANS are powered by 5 Volt rail and have tachometer feedback using a 3pin connector vs. 12-24V powered with no feedback.
  • Max motor current per driver is RMS 940mAh vs. RMS 1.4A

Powering

Power must be connected to the Primary Power input for the board to operate. The USB connection is isolated from the rest of the board and cannot be a power source.

Features

Logic

  • Arduino MEGA compatible Atmega2560 and Atmega32u2 processors are compatible with all RAMPS class firmware
  • Crystals for both usb and mcu (timing accurate to 10ppm)
  • 3 Thermistor jacks + 4th Thermistor circuit on ZProbe.

Motor Drivers

  • 4 Trinamic TMC2130 1/256th microstep motor drivers(2 connectors on Z for Prusa Mendel and other dual Z printer designs)
  • SPI Control of stepper current instead of PWM.
  • Microstep mode configured by MCU through firmware (SPI, no jumpers needed)

PWM DC outputs (Extruders, Fans, Etc.)

  • 4 outputs (1 Extruder, 1 BED, 2 low power (fan,etc)
  • Low resistance mosfets for cool running
  • Indicator led for each channel
  • FANS have 3pin fan connector.
  • FANS have 5V instead of 12-24V power source.
  • FAN connectors have tachometer feedback pin to the MCU to measure fan speed in capable firmware.

Power

  • 2 power input rails
    • Heated Bed, 15A 12-24V (15A dedicated fuse)
    • Primary Power 10A 12-24V: Motors, Logic & Fans (5A dedicated fuse) + Extruder (5A dedicated fuse)
  • Built in SMPS for 5V generation from the Motors, Logic & Fans rail
    • Provides 5V power to FANS

PCB

  • 6 layer
  • 2oz copper on all layers
  • High quality, High temperature FR4-TG130 PCB
  • Gold ENIG finishing

Connectors

  • 4-pin motor,zprobe plug - Molex 5057-9404
  • 3-pin fan plug - Molex 5057-9403
  • 2-pin thermistor, mech. endstop plug - Molex 5057-9402

Schematic

https://github.com/ultimachine/Einsy-Rambo/blob/1.1a/board/Project%20Outputs/Schematic%20Prints_Einsy%20Rambo_1.1a.PDF

Fuses

There are 3 user replaceable ATO fuses (the type found in many automotives).

  • F1 5A supplies the motors + logic & fans .
  • F2 5A supplies the extruder heater.
  • F3 15A supplies the heated bed output.

Firmware

Firmware Requirements

Just like Rambo ArduinoAddons need to be installed to make use of all the pins. Not installing ArduinoAddons can result in only partially working features. ArduinoAddons can be installed manually or by the new board manager third party url feature. Rambo_firmware#Arduino_1.6.4.2B_Board_Manager_Plugin

Install TMC2130Stepper Library:

  • Select the menu Sketch -> Include Library -> Manage Libraries -> Search for TMC2130Stepper -> Click Install.

MarlinFirmware

#define HAVE_TMC2130

#define X_IS_TMC2130
#define Y_IS_TMC2130
#define Z_IS_TMC2130
#define E_IS_TMC2130

#define R_SENSE           0.22

Marlin fork

https://github.com/ultimachine/Marlin/tree/marlin-1.1.5-einsy0.5c

USB Driver

Windows 10, Linux, Mac have built in CDC driver.

  • Boards sourced from UltiMachine can reuse the same Windows CDC driver as the RAMBo USB driver.
  • Boards sourced from Prusa3D use their driver.

RepRapDiscount Full Graphic Controller Smart Controller

http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller

Install U8glib Library:

  • Select the menu Sketch -> Include Library -> Manage Libraries -> Search for U8glib -> Click Install.

Settings for Configuration.h:

#define SDSUPPORT
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
  #define ST7920_DELAY_1 DELAY_0_NOP
  #define ST7920_DELAY_2 DELAY_4_NOP
  #define ST7920_DELAY_3 DELAY_0_NOP

For Marlin 1.1.9 use this syntax to set the proper timing delays:

#define ST7920_DELAY_1 DELAY_NS(0)
#define ST7920_DELAY_2 DELAY_NS(4)
#define ST7920_DELAY_3 DELAY_NS(0)

When using the DELAY_NS syntax you may need to specify higher values for ST7920_DELAY_2 since it is specified nanoseconds. Starting at a value of 800 and reducing until just above the point that you experience display instability. If the P1 port is connected correctly to EXP1 on the LCD then the backlight should be on. If it is not on then the LCD controller is not getting power. The connection is most likely reversed.

RED LCD: The connectors on this version are reversed compared to the original version. This is a problem because the connectors are now keyed on both ends. One solution is to cut the stub on one side of the cables so the connection can be oriented correctly.

Einsy full graphic lcd connection example photo.

BLTouch example

In this example the PWM signal we need is on the ZMIN pin. It is repurposed to deploy the BLTouch. The YMIN port is remapped to serve as a Z Min endstop.

Einsy_BLTouch_connection_example photo.

Configuration.h settings:

#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
#define Z_SERVO_ANGLES {10,90}  // Z Servo Deploy and Stow angles
#define NUM_SERVOS 1

Remap pins_EINSYRAMBO.h

#define SERVO0_PIN         10
#define Z_MIN_PIN          11 //Y-MIN on board.

Here is a preconfigured Marlin example firmware. https://github.com/ultimachine/Marlin/tree/Einsy-1.1.5-servo-example

High Temp Sensor

You can use an External thermocouple board or PT100 amplifier board connected to a spare analog pin for higher temp readings.

There External thermocouple board based on ExtThermoCouple_1.0:

https://e3d-online.com/external-thermocouple-board-v1-0

PT100 amplifier board:

https://e3d-online.com/pt100-amplifier-board

https://e3d-online.com/v6-pt100-sensor-kit


Wire the signal from the sensor board to a spare analog pin 8 (PK0) on the P3 header. A pin map reference for P3 is shown here: EinsyRambo_development#Digital_Pin_Locations

Set the right temp sensor type in Configuration.h or Configuration_prusa.h:

#define TEMP_SENSOR_0 20 //PT100
#define TEMP_SENSOR_0 -1 //Thermocouple with AD595

Remap pins_EINSYRAMBO.h or pins_Einsy_1_0.h

#define TEMP_0_PIN           8

Changelog

1.1a Revision Summary

  • Added 2Mb serial flash
  • Added voltage translators for serial flash
  • Added tri-state buffer to block 3.3V MISO on the SD Card from the 5V MISO bus
  • Added barrel-relief to bottom side of thermal vias for TMC2130, FETs and SMPS
  • Added 3.3V LDO for serial flash

Troubleshooting

This is a generic troubleshooting guide. These steps may vary depending on manufacturer configuration. Contact your supplier if these steps do not help.

  • Cannot connect with 3D printing control software
    • Is the power indicator LED on?
      • Make sure the power is connected as described in: Powering.
      • Is a fuse blown? Fuses
    • Is correct driver installed? USB Driver
    • Is there firmware installed on your Mini-Rambo? Firmware
  • All Heater and Fan LEDs stay lit when board is powered.
    • Check that the power source is not plugged into the Heater outputs.