Melzi

From RepRap
Revision as of 17:20, 7 June 2013 by Adrianbowyer (talk | contribs) (Bootloader and Firmware Upload)
Jump to: navigation, search
Crystal Clear action run.png
Melzi

Release status: working

Melzi2.jpg
Description
Release Version 2.0
License
unknown
Author
Contributors
Based-on
[[]]
Categories
CAD Models
External Link


Introduction

A compact all-in-one controller board for RepRaps with one extruder head, optimized for mass production.

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.

Melzi is designed to be a complete set of RepRap electronics that should be very cheap to mass produce. It was originally based on the Arduino Leonardo (Francesco Melzi was Leonardo's pupil).

Melzi Version 2.0

Melzi2.jpg

Specification:

  1. Processor: ATMEGA1284P (Sanguino compatible)
  2. All screw connectors - no soldering
  3. Micro SD card slot for GCode files
  4. Mini USB interface
  5. 4 x A4982 stepper drivers
  6. 3 x MOSFET drivers for hot end, bed and cooling fan
  7. Dimensions: 210mm x 50mm x 17mm
  8. Weight: 70g

Melzi-circuit.png

Melzi-pcb.png

Files

Version 2.0 of Melzi was developed from Joe Mosfet's original by RepRapPro Ltd. It can be found at:

https://github.com/reprappro/melzi

Bootloader and Firmware Upload

There is a version of the Marlin RepRap firmware for Melzi on RepRapPro Ltd's Github repository here. It contains the extra files needed for the Arduino IDE to talk to a Sanguino (and hence to the Melzi). These also allow you to flash the bootloader using an appropriate programmer.

There are more detailed firmware instructions on the RepRapPro site here and on this Wiki here.

Melzi Arduino Pin Numbers

-1 means not supported.

#define X_STEP_PIN         15
#define X_DIR_PIN          21
#define X_MIN_PIN          18
#define X_MAX_PIN          -1

#define Y_STEP_PIN         22
#define Y_DIR_PIN          23
#define Y_MIN_PIN          19
#define Y_MAX_PIN          -1

#define Z_STEP_PIN         3
#define Z_DIR_PIN          2
#define Z_MIN_PIN          20
#define Z_MAX_PIN          -1

#define E0_STEP_PIN         1
#define E0_DIR_PIN          0

#define LED_PIN            27

#define FAN_PIN            4 

#define PS_ON_PIN          -1
#define KILL_PIN           -1

#define HEATER_0_PIN       13 // (extruder)

#define HEATER_BED_PIN     12 // bed (change to 10 for gate pin of MOSFET on heated 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   // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder)
#define TEMP_BED_PIN        6   // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed)
#define SDPOWER            -1
#define SDSS               31

#define SLAVE_CLOCK	   16

Melzi with Bluetooth

In order to get rid of the USB connection between Melzi and the PC one may like to use Bluetooth. There is a cheap module available in the market called 'JY-MCU' (vendor Shenzhen Jiayuan Electronic Co.,Ltd.). Jy-mcu f.jpg Jy-mcu b.jpg

Change setting

Before the module can be used the default setting has to be changed. Connect the module from PC via USB<->RS232 (RxD/TxD) interface with default settings (9600, N, 8, 1). The module shouldn't be paired at that moment. Apply with a terminal program the following AT commands:

AT OK 
AT+BAUD8 OK115200BAUD (set baud rate for Melzi)
AT+NAMEHUXLEY OKsetname (optional set name, default: linvor)
AT+PIN0000 OKsetPIN  (optional set pin, default: 1234)

More details about the configuration you will find here [[1]]

Wiring

On Melzi one of the unused buffer of soldered 4050D takes over the mandatory level-shifting (5V -> 3.3V). Overall only 5 wires have to be soldered.

BT Connection.png

Connect via Bluetooth

Once you have setup your BT devices you can select from drop down list and control your RepRap as usual.