RAMPS-FD

From RepRap
Revision as of 14:46, 2 February 2013 by Bobc (talk | contribs)
Jump to: navigation, search
Crystal Clear action run.png
RAMPS-FD

Release status: Experimental

RIB concept.png
Description
RAMPS for Arduino Due
License
GPL
Author
Contributors
Based-on
Categories
CAD Models
KiCAD
External Link

RAMPS For Arduino Due

Arduino Dueis the new Arduino board that is using an ARM Cortex M3 CPU.

The Atmel SAM3X8E chip used on the Due operates at 3.3V and is not compatible with 5V. Therefore the RAMPS shield will not work with Due, and worse applying 5V to the Due's inputs will likely damage the chip.

Therefore there are several possibilities:

  1. create a new RAMPS variant which is compatible with the Due. Possibly could also be made backwards compatible with Mega.
  2. create a RAMPS Interface Board (RIB) to sit between Due and RAMPS to perform level-shifting, and any other needed functions. See page RAMPS_Interface_Board


Useful resources

Significant differences between Arduino Mega and Arduino Due

  • CPU operates at 3.3V
  • High-current IO pins are capable of 15 mA source, 9 mA sink
  • Low-current IO pins capable of 3 mA source, 6 mA sink
  • CPU package has an absolute max of 130mA
  • The Due has 1 dedicated SPI port, and 4 multipurpose USART/SPI ports. The SPI port is only routed to the 6 pin header used for ICSP on Mega, but this is not used for ICSP on Due.
  • The Due does not have any EEPROM

Hardware issues

  • MOSFETs need to be compatible with threshold voltage of 3.3V or better have a gate driver which allows any MOSFET to be used
  • Expansion pins need to be level-translated, but this depends on how they are used
    • Add ons: SD card, thermocouple drivers, LCD boards
  • Is heat dissipation of Due ok with RAMPS shield over it?
  • Some opto-endstops need 5V power, and return 5V on signal
  • (AUX-3) The SPI pins on the Mega (mapped to pins D50-52) are not SPI pins on Due

Hardware features known to be compatible

  • The Allegro stepper drivers will run with VDD = 3.3V and the logic signals compatible with 3.3V. This should apply to all the Pololu style drivers.
  • Servos "should" be able to operate with +5V power and a PWM signal of 3.3V
  • Thermistors will operate at 3.3V but the Analog Ref is also 3.3V, so no changes should be necessary
  • Mechanical endstops should be OK, if they do not use external pullup to 5V

Add-on compatibility

  • Sdramps (AUX-3 SPI connector) This board has a 5->3.3 voltage regulator and a level translator. I think it will work and be compatible if powered from 5V, but will not work if powered at 3.3V, because the input to the regulator is too low.

Possible improvements

  • Move connectors near to board edge
  • Allow for latching or screw terminals?

Firmware changes

  • Firmware needs to be compiled with ARM compiler (gcc)
  • Arduino libraries may be compatible
  • Any references to AVR CPU peripherals, AVR include files or AVR compiler features need to be ported
  • There is no EEPROM on the SAM3X.

Prototype

Source files are hosted at github.

Preliminary Schematic for v0.1