Arduino Mega Pololu Shield
Release status: Experimental
Description | A circuit board that fits on the Arduino MEGA and holds Pololu A4983 stepper driver carrier and the rest of RepRap's electronics.
|
License | |
Author | |
Contributors | |
Based-on | |
Categories | Electronics
|
CAD Models | |
External Link |
Contents
Summary
This board is mostly based on Adrian's Pololu_Electronics and work by Tonok. It is designed to fit the entire electronics needed for a RepRap in one small package for low cost. It has provisions for the cartesian robot and extruder. And is expandable to control other accessories. It fits 4 Pololu A4983 stepper drivers, 3 mosfets for heater / fan outputs and 2 thermistor circuits.
Short video of it working here: <videoflash type="youtube">0k_KArg_sgA</videoflash>
A couple features that stand out are placing the Pololu boards on pin header sockets so they can be replaced easily or removed for use in future designs. Placing the Pololus up as another layer allows us to put the capacitors and pull up resistors for each stepper driver underneath it. The pin headers for the stepper motor outputs are placed on top of the Pololu boards saving routing them on the main shield.
The board pictured above and below this line were printed on a RepRap Mendel with the etch resist method http://reprap.org/wiki/Plotting#Using_cad.py
The X and Z endstops are on interrupt pins. I2C and SPI pins left available for future expansion. All the Mosfets are hooked into PWM pins for versatility.
Servo style connectors are used to connect to the endstops, motors, and leds. These connectors are gold plated, rated for 3A, and very compact.
Assembly Instructions
Component Soldering
Use your preferred circuit board manufacturing method. :) If you are doing point to point wiring make sure to read that section first- Place the connectors shown below to make sure the top wires do not interfere with their future placement. You can insert strips of pin headers into the female connectors to keep them aligned while soldering.
- Solder the top wires.
- Solder the resistors as shown to the right.
- Solder the capacitors as shown lower right. They must be inserted in the correct orientation. + to the top or left. Place the caps and bend their leads so that they are in the desired position (without leads shorted) before soldering.
- Solder the rest of the components. Mosfets must be oriented correctly. It is usually easiest to place components in order from shortest to tallest. Save the stackable headers for last. The diode is optional if you are powering the Arduino from the shields 12V input(if used it must be in the show orientation. If higher that 12V is used to power the shield the diode should be omitted to prevent damage.***Warning: The Pololu boards are designed to accept up to 35V, but the heater and other high side outputs will be that voltage also. You may need to adjust the heater resistance, etc. ***
- Thoroughly check for shorts. Check for continuity between each and every pin to the pins next to them and GND, 12V, 5V. It is easiest to set your meter to beep for continuity and hold a probe on GND and check all soldered pins, if it beeps check if it is supposed to be GND. Repeat for 12V and VCC. This is crucially crucial for DIY etched boards.
- Solder the pin headers on the stepper driver boards. For this design the power and control pins go down towards your new shield and the motor pins on top of the board (component side) so the motors can be plugged directly in.
- Make the cables up for the endstops. Make sure the endstop cable ends are wired correctly this board has the signal wire on one side of the connector instead of in the center like the opto endstop boards. Hooking them up incorrectly can damage the components. They need to be made up with a pair of wires switched on one end. In order to keep current printable resolution on the PCB the Signal pin is on the outside of the connector. So the endstop end of the cable needs to be wired Vcc-Sig-Gnd, and the shield end Vcc-Gnd-Sig.
- Put the connectors on the motor wires. Shown is the type used for servos in RC projects. See Stepper Motors for info on motors.
Point to point wiring with proto shield
Make sure to check the prototype shield you use for pin holes that have traces tying them together. You most likely will have to cut some traces to keep from shorting circuits together that do not belong. The board used here is the Arduino Mega shield one manufactured by Arduino. I only had to cut traces in about 4 places and it only took a couple seconds each with the little grinding bit on a dremel tool. Pictured below are the traces that need cut on the Tinker-It shield, both traces need cut in the small red circle, the top trace cut twice in the big circle to isolate the pins there.
If wiring a shield make sure to leave the area above the usb jack and ISCP header clear of components or the board is spaced / electrically insulated sufficiently to avoid shorts to the Arduino Mega board components.
Warnings:
The endstop pins are Signal - VCC - GND, instead of the VCC - Sig - GND like the rest of RepRaps boards. Make sure to wire them correctly. This is done to allow squeezing fatter traces on the printable board.
Ingredients
Source
File:ArduinoMegaPololuShield.zip
copper etch resists methods suggested by Vik circuit design based mostly on Adrian's Pololu_Electronics Used Joaz's pin definitions for initial layout
Bill of Materials
ID | Description | Quantity | Part Number |
---|---|---|---|
U1 | Arduino Mega | 1 | |
U2,U3,U4,U5 | Pololu A4983 carrier | 4 | |
C1,C2,C3,C9 | 100uF capacitor | 4 | |
C5,C8 | 10uF capacitor | 2 | |
R1,R7 | 4.7K resistor | 2 | |
R2,R4,R9 | 100K resistor | 3 | |
R3,R5,R6,R8 | 47K resistor | 4 | |
Q1,Q2,Q3 | N-channel Mosfet | 3 | STP55NF06L |
D1 | Diode | 1 | 1N4004 |
F1 | PTC resettable fuse | 1 | MF-R500 |
J1 | Power Jack | 1 | RAPC712X |
J2 | 5.08 Eurostyle screw terminal | 1 | 282837-6 |
LED1 | 5mm Green LED | 1 | |
S1 | Push button switch | 1 | FSMRACD |
20 pin header | 1 (extras for additional pins) | ||
10 pin header | 1 | ||
2 x 18 Pin Stackable Female Header | 1 | ||
8 Pin Stackable Female Header | 5 | ||
6 Pin Stackable Female Header | 1 | ||
16 Pin Female Header | 4 | ||
Circuit Board | 1 |
Firmware and New Pin Assignments:
You will need the Arduino software at http://www.arduino.cc/en/Main/Software to upload the firmware to Arduino Mega.
Here are the pin definitions for this board. The following values need to be entered to "Arduino Mega pin assignment" in the "pins.h" file of the firmware.
NEW AS OF 29 July 2010
#define X_STEP_PIN 26 #define X_DIR_PIN 28 #define X_ENABLE_PIN 24 #define X_MIN_PIN 3 #define X_MAX_PIN 2 #define Y_STEP_PIN 38 #define Y_DIR_PIN 40 #define Y_ENABLE_PIN 36 #define Y_MIN_PIN 16 #define Y_MAX_PIN 17 #define Z_STEP_PIN 44 #define Z_DIR_PIN 46 #define Z_ENABLE_PIN 42 #define Z_MIN_PIN 18 #define Z_MAX_PIN 19 #define E_STEP_PIN 32 #define E_DIR_PIN 34 #define E_ENABLE_PIN 30 #define LED_PIN 13 #define FAN_PIN -1 #define PS_ON_PIN -1 #define KILL_PIN -1 #define HEATER_0_PIN 12 #define TEMP_0_PIN 2 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!!
Wish list
This shield would like to replicate with the following external boards
- Additional Stepper Driver
- DC Driver
- Thermistor
- Thermocouple
- SD Card
- Control Panel w/LCD
- Ethernet
- Host USB