MaKrMelzi

From RepRap
Revision as of 06:34, 26 July 2013 by Tenbaht (talk | contribs) (Created page with '{{Development |name = MaKrMelzi |status = working |image = MaKrMelzi_full_set-1024.jpg |description = Release Version 1.1 |author = tenbaht |reprap = Melzi |categories = [[:Categ…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Crystal Clear action run.png
MaKrMelzi

Release status: working

MaKrMelzi full set-1024.jpg
Description
Release Version 1.1
License
unknown
Author
Contributors
Based-on
Categories
CAD Models
External Link


Introduction

The board is an out-of-the-box electronics solution for all current reprap-type 3D printer designs with one extruder. Support for up to 4 stepper motor drivers, 2 heaters, 1 fan and 3 endstops, a microSD-card reader on board and a highly modifiable and extendable design: The Melzi controller board is a fully Sanginolu compatible all-in-one solution for controlling 3D printers with one extruder head or light CNC machines with up to four axes like ShapeOko or the OrdBot.

This it is an all-in-one solution, ready for use and with no need for any soldering or crimping. The already well-designed original Melzi board is improved by adding some of the best features of other common electronics like the Gen7 and RAMPS. The motordrivers are exchangeable now, in case an experiment went wrong. Furthermore the design was optimised from the ground up for low manufacturing costs.

The point of RepRap is to make itself, of course. But sometimes people just want plug-and-play RepRap electronics so they can concentrate on the other aspects of the machine, or just because they are more software or mechanics oriented than electronics oriented.

It is based on RepRap's version of the Melzi Board which in turn is based on the Arduino Leonardo (Francesco Melzi was Leonardo's pupil). And from there on you can trace the inheritance down to Sanguino.


MaKrMelzi

MaKrMelzi full set-1024.jpg

This version is fully software compatible with RepRap's Melzi version, but the hardware features some significant improvements.

  • 128kB flash memory instead of the commonly used 64kB (essential for using a graphical LCD panel)
  • Screw terminals for all electrical connections – no crimping or soldering required
  • exchangeable motor driver modules, Pololu-compatible
  • Additional solder pads to allow addition of 2.54mm Molex connectors
  • Full support for dual Z-axis designs like the Prusa Mendel – pads for two parallel connectors for the Z-Axis
  • Power outputs suitable for inductive load, can be used as direct spindle and pump drives for CNC applications
  • Nearly lossless reverse power protection, with no heatsink required
  • No heatsinks required for the power outputs, even at full load
  • USB-UART converter based on Microchip MCP2200 – offers up to 8 software controllable GPIO pins
  • Modification- and extension-friendly PCB design despite being based on SMT technology – all relevant internal signals are accessible at solder pads with standard 2.54mm pitch
  • Extensive documentation on the silkscreen – all connectors, jumper and pads are clearly marked (see product images above)
  • Switched DC/DC converter for 5V generation - no need to change voltage range resistors when using input voltages other than 12V
  • Improved EMC protection for the microSD slot and the USB connection
  • Designed from the ground up with the requirements of mass production in mind, resulting in a lower sales price
  • Board dimension 220 x 58 mm²


Files

This Version of Melzi was developed from Joe Mosfet's original by MaKr3d. Design files can be found at: https://github.com/makr3d/makr-melzi


Software support

Support for this board in already included in current versions of the Marlin Firmware (in Marlin/Configuration.h: #define MOTHERBOARD 65). The pin assignment using the Arduino pin numbers is:

#define X_STEP_PIN         15
#define X_DIR_PIN          21
#define X_STOP_PIN         18

#define Y_STEP_PIN         22
#define Y_DIR_PIN          23
#define Y_STOP_PIN         19

#define Z_STEP_PIN         3
#define Z_DIR_PIN          2
#define Z_STOP_PIN         20

#define E0_STEP_PIN         1
#define E0_DIR_PIN          0

#define LED_PIN            27

#define FAN_PIN            4

#define HEATER_0_PIN       13 // (extruder)
#define HEATER_BED_PIN     12 // (bed)
#define X_ENABLE_PIN       14
#define Y_ENABLE_PIN       14
#define Z_ENABLE_PIN       26
#define E0_ENABLE_PIN      14

#define TEMP_0_PIN          7   // analog pin number
#define TEMP_BED_PIN        6   // analog pin number
#define SDSS               31

Unfortunately, there is no official numbering scheme for the pins of the ATmega1284P CPU. Currently, are two different numbering schemes in use. They differ in the way, the port signals PA0..PA7 are counted. One is counting up from Digital24..Digital31 for PA0..PA7 and another one counts the pins strictly in the order of the CPU pinout and Digital24..Digital31 corresponds to PA7..PA0.

More on using the Arduino environment with this board: http://makr3d.de/articles/2013/setting-up-arduino-for-the-atmega1284p/