Difference between revisions of "Printrboard"

From Geeetech Wiki
Jump to: navigation, search
(Benefits of this Design)
(FAQS)
 
(34 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Overview==
 
The Printrboard electronic set was designed by members of the Printrbot[http://www.reprap.org/wiki/Printrbot] team in order to eliminate the production and functionality shortcomings of older RepRap electronics sets. Printrboard improves upon the previous production-grade electronics set (Gen6)[http://www.reprap.org/wiki/Gen6] by adding heatbed and SD card support, reverting to 1/16 microstepping Allegro stepper drivers, and improving connectivity reliability and reducing cost by elimination of the FTDI UART chip. Printrboard also has expansion headers supporting I2C, SPI, UART, and ADC pins. All extra I/O ports of the AT90USB have been broken out to headers for prototyping and expansion.
 
Printrboard is a derivative of Teensylu[http://www.reprap.org/wiki/Teensylu], an AT90USB1286 development board originally based on Sanguinololu[http://www.reprap.org/wiki/Sanguinololu]. The Atmel AT90USB1286 MCU has on-chip USB, removing the need for the FTDI UART (USB-to-serial) IC. On-chip USB means dramatically faster firmware upload times and communication. The AT90USB connects at any baud rate regardless of firmware configuration, and operates virtually free of serial communication errors/pauses.
 
  
==Features==
+
==Introduction==  
  
'''Atmel AT90USB1286 Microcontroller (or AT90USB1287 drop-in compatible for 20mhz support)'''
+
[[File:5.jpg|400px|]]
  
-- Native USB interface. No FTDI serial-to-USB chip!
+
Printrboard, a development board, originally based on sanguinololu, is one of the lasted versions of control board for 3D printer. Compared with sanguinololu, what makes Printrboard special is the on-chip USB, removing the need for the FTDI UART (USB-to-serial) IC. On-chip USB means dramatically faster firmware upload times and communication. What’s more, the Printrboard is equipped with a micro SD slot, which means you can paste the print file to the SD card to implement off-line printing.
 +
Printrboard is highly integrated, all our Printrboard has been tested rigorously and preassembled before shipping, including the four integrated Allegro A4982 Stepper Drivers (no Pololus needed), which is on the one hand a good thing for a lay man of electronics, but on another hand, it will be difficult for them to repair by themselves if there is some damage. On the whole, the Printrboard is of high capacity-price ratio and friendly to use.
  
-- 128kb Flash
+
=== features===
  
'''Four integrated Allegro A4982 Stepper Drivers (no Pololus needed)
+
1. 4 Non-replacement integrated Allegro A4982 Stepper Drivers.
  
Thermistor Connectivity: 2
+
2. 2 channel high current (30A) device interface for heaters
  
2 N-MOSFETs for Extruder and Heatbed control
+
3. Controllable fan
 +
4. Four endstop connectors supplied 5V. Includes X, Y, Z, and fourth endstop called E-Stop to be used as an emergency stop, or extruder stop (to be added in firmware).
  
1 N-MOSFET for low power Fan or motor'''
+
5. 2 thermistor connectivity
  
'''Onboard SD card slot
+
6. Power supply (12-20V 120W minimum)
Four Endstop connectors supplied @ 5V. Includes X, Y, Z, and fourth endstop called E-Stop to be used as an emergency stop, or extruder stop (to be added in firmware).
 
Supports multiple power configurations (Carried from Sanguinololu)''
 
'
 
-- Logic & Motors supplied by ATX or laptop power supply (12-20V 120W minimum)
 
  
-- Logic supplied by USB bus (if enabled by solder jumper)
+
7.  Integrated USB interface and on-board SD card slot
  
-- Logic supplied by on-board voltage regulator
+
8.  Expansion headers supporting I2C, SPI, UART, and ADC pins.
  
-- on-board USB connectivity
+
9.  Support one extruder only
  
'''Edge connectors enabling right-angle connections
+
10. Highly integrated and high capacity-price ratio.
  
14 Extra pins available for expansion and development, with the following capabilities'''
+
===Overview and Hardware===
  
-- UART1 (RX and TX)
+
[[File:Printrboard1-2.jpg|600px|]]
  
-- I2C (SDA and SCL)
+
size:100mm x 60mm
  
-- SPI (MOSI, MISO, SCK)
+
weight:73g
  
-- PWM pin (1)
+
===Software===
 +
compiling environment:Arduino IDE
 +
firmware:Marlin
 +
upper-computer software:Printrun/Repetier-Host
  
-- Analog I/O (6)
 
  
-- JTAG (uses some of the ADC pins)
+
===source===
 +
[http://www.geeetech.com/wiki/images/e/e1/Printrun-Win-Slic3r-10Mar2014.zip Printrun]
  
Additional 14 pin header with remaining I/O for prototyping
+
[http://www.geeetech.com/wiki/images/3/36/SetupRepetierHost_1_00.zip Repetier-Host]
  
SMT Components sized at 0805, and no QFNs for easier soldering.
+
[http://www.geeetech.com/wiki/images/3/36/Arduino-1.0.5-r2-windows.zip Arduino IDE]
  
2-Layer PCB with proper ground plane and power distribution networks
+
[http://www.geeetech.com/wiki/images/4/4d/Arduino-1.5.6-r2-windows.zip Arduino IDE]
  
Small design - board is 100mm x 60mm (4" x 2.4")
+
[http://www.geeetech.com/wiki/images/3/39/Marlin-Marlin_v1.zip Marlin]
  
==Benefits of this Design==
+
==Interface==  
 +
===Interface Layout=== 
 +
 +
[[File:Printrboard connection and layout.jpg|700px|]]
  
Utilizes integrated Allegro 1/16 micro-stepping drivers for smooth operation.
+
===Interface specifications===
 +
1. 2 channel ADC interface for thermometry: one for Extruder and another for Heatbed.  
  
Integrated USB controller provides 12MBps bandwidth, instead of usual 38400-115200 baud via FTDI. Result: Virtually no serial communication errors (common with
+
2. 3 channel PWM: one for extruder control, one for heatbed and one for fan.
  
Sanguinololu and Generation_6_Electronics).
+
3. 4 channel endstop: for x/y/z/e separately to connect to mechanical or optic endstop or hall sensor.
  
Integrated micro-SD Card slot
+
4. With TF card slot which supports 8G <= FAT16 and FAT32.
  
Uses small standard Molex connectors for motors, heater, and endstops.
+
===Jumper Instruction===
  
Lowest cost and greatest performance of all RepRap motherboards at time of release, March 2012.
+
[[File:Printrboard jumper.jpg]]
  
==Software==
+
NOTE: do remember to put on the jumper cap. Or it will affect the uploading of firmware and the connection with PC.
All preassembled Printrboards come pre-loaded with a bootloader and firmware. You may wish to use alternative (or newer) firmware, modify calibration data for use with another style of RepRap, or perhaps assemble your own board.
 
  
To use a Printrboard, you will need to load appropriate USB driversrom
 
Windows-only: USB Serial Device[http://pjrc.com/teensy/serial_install.exe] or
 
Windows/Mac/Linux: packaged with Atmel's FLIP software[http://www.atmel.com/tools/FLIP.aspx].
 
  
Compatible Firmware
+
==Development Environment setting==
Sprinter Sprinter[http://www.reprap.org/wiki/Sprinter]: Supported, use MOTHERBOARD == 9.
+
===Interface Connecting and Setting===
Marlin Marlin[http://www.reprap.org/wiki/Marlin]: No official support yet, but works with Lincomatic's fork[https://github.com/lincomatic/Marlin].
 
Repetier List_of_Firmware#Repetier-Firmware[http://www.reprap.org/wiki/List_of_Firmware#Repetier-Firmware]: Supported, use MOTHERBOARD == 9.
 
grbl List_of_Firmware#Grbl[http://www.reprap.org/wiki/List_of_Firmware#Grbl]: No official support yet, but works with Lincomatic's fork[http://blog.lincomatic.com/?p=564].
 
(Other firmwares are currently untested but any firmware for an arduino mega should work with proper pin setup.)
 
  
Bootloaders
+
[[File:Printerboard setting.jpg|500px|]]
There is no native Arduino bootloader for the AT90USB series microcontrollers, however, there is excellent opensource support for the MCU and Arduino integration is easily achieved.
 
LUFA's CDC Bootloader: Allows direct uploading of firmware through Arduino/avrude via avr109 protocol. Requires no driver on Linux/Mac and free INF installer to use the built-in Windows driver, and Arduino 022 with modified Teensylu boards configuration. Avrdude within Arduino directory must also be upgraded to newest version. Limited to 64k flash space by the protocol.
 
LUFA's HID Bootloader: No Arduino integration. No drivers required. Allows firmware to be uploaded by command prompt.
 
Atmel's DFU Bootloader: Factory installed bootloader. No Arduino integration. Allows firmware to be uploaded by Atmel's free FLIP software (Windows only). See Teensylu#Sprinter [http://www.reprap.org/wiki/Teensylu#Sprinter]for Mac/Linux equivalent "dfu-programmer".
 
  
Installing A Bootloader
+
===File Burning===
If you wish to change to a different bootloader, you will need a USBtinyISP [http://www.ladyada.net/make/usbtinyisp/]or equivalent ICSP or JTAG programmer. Note that USBTiny only officially supports MCU's with less <= 64K flash (the AT90USB1286 is a 128K chip!). Writing will work with a USBTiny, but read verification will always fail.
+
Arduino IDE
Obtain a compiled bootloader (CDC, HID, or DFU). See Lincomatic's Bootloaders for AT90USB1286 article[http://blog.lincomatic.com/?p=548] for pre-compiled copies of each bootloader.
+
1.Windows users need install driver before uploading. The board: Tools > Board > [CDC]teensylu/printrboard ,as shown below.
Remove the BOOT jumper from the Printrboard. Press the Reset button
 
Connect the 6 pin programming cable to the Printrboard's ICSP header. Pin 1 (red wire) is closest to the SD card slot.
 
Connect your programmer's USB cable.
 
Run the following avrdude commands, where BootloaderNAME_HERE.hex is the name of the Bootloader file you wish to install
 
avrdude -c usbtiny -p at90usb1286 -U lfuse:w:0xDE:m -U hfuse:w:0x9B:m -U efuse:w:0xF0:m
 
avrdude -c usbtiny -p at90usb1286 -U flash:w:BootloaderNAME_HERE.hex:i
 
Replace jumper on the Printrboard. Press Reset again.
 
WARNING: Triple check the fuse values! Setting incorrect values will brick the microcontroller! Fuse values above are for the CDC and HID bootloaders. Fuses for the factory DFU bootloader should be set as
 
avrdude -c usbtiny -p at90usb1286 -U lfuse:w:0x5E:m -U hfuse:w:0x99:m -U efuse:w:0xF3:m
 
  
Loading Firmware (Windows)
+
[[File:Pfb1.jpg|500px|]]
To load new firmware to your Printrboard, first determine which bootloader your board uses. CDC or DFU are most likely.
 
Unlike older AVR microcontrollers, the AT90USB has a special HWB_ALU pin (Hardware Button) which must be tied to ground during a reset cycle in order to place the microcontroller into bootloader mode. This is accomplished by removing a jumper on the Printrboard called "BOOT". Firmware can only be loaded while the chip has booted into its bootloader. Note that on RevD the polarity was changed for the BOOT jumper.
 
To get into bootloader mode and upload new firmware:
 
1.Remove the BOOT jumper (for rev. d/e replace it)
 
2.Press and release the Reset button. The AT90USB's bootloader will appear as a new USB device the first time you boot into the bootloader. Allow Windows to install the USB driver and note the new COM port number.
 
3.Replace the BOOT jumper onto the board (for rev. d/e remove it)
 
4.Proceed to upload new firmware using the method relevant to your installed bootloader.
 
  1. CDC BOOTLOADER (Arduino Bootloader)
 
  In Arduino 022, open firmware
 
  2.Choose [BootloaderCDC]Teensylu/Printrboard from the Arduino Tools-->Board menu, and select the COM port associated with your Printrboard's bootloader. See                        Lincomatic's How to Program an AT90USB1286/Teensylu/Printrboard with Arduino article[http://blog.lincomatic.com/?p=502] for help configuring Arduino.
 
  3.Click File --> Upload to Board.
 
  4.Arduino will compile and upload firmware. You should see an error a few seconds after the firmware compiles. This is because the AT90USB has successfully exited the bootloader.
 
  5. Press Reset. You may need to disconnect and reconnect the USB and power cables.
 
  
  HID BOOTLOADER
 
  1.Open a command prompt in the directory of the HID application.
 
  2.Compile firmware within Arduino. You will need to copy and paste the compiled .HEX file into the HID application directory. The HEX file is saved in the temp folder,    C:\users\{currentuser}\appdata\temp\build1234567890\Firmware_Name_Here.cpp.hex
 
  3.Run the hid_bootloader_cli application, specifying your firmware and an mmcu of at90usb1286.
 
  4.  Disconnect and reconnect the USB and power cables.
 
  
  DFU BOOTLOADER
+
2.Configuring serial interface: Tools > Serial Port > the corresponding COM Port of Printrboard of is usually the last one. As shown below:
  1.Open Atmel's FLIP software.
 
  2.Select the target device: AT90USB1286. Select Communication medium as USB. Click Open.
 
  3.Compile firmware within Arduino. You will need to copy and paste the compiled .HEX file into the HID application directory. The HEX file is saved in the temp  folder, C:\users\{currentuser}\appdata\temp\build1234567890\Firmware_Name_Here.cpp.hex
 
  4.Open compiled HEX file within the FLIP software.
 
  5.Make sure the Erase, Blank Check, Program, and Verify checkboxes are checked.
 
  6.Click the Run button
 
  7.When finished, disconnect and reconnect the USB and powe== r cables.
 
  
 +
[[File:Pfb2.jpg]]
  
'''Loading Fi==rmware (Linux)'''
 
  
 +
3.Click the [[File:Button1.jpg]] to check if it is right and then click [[File:Button2.jpg]]to upload firmware, as shown below.
  
DFU BOOTLOADER
+
[[File:Rumba 11.jpg]]
1.install dfu-programmer (on ubuntu sudo apt-get install dfu-programmer)
 
2.compile your firmware as usual with the arduino IDE. (only compile not upload)
 
3.arduino will create a hex file within the tmp directory.
 
4.power and connect printrboard
 
5.set printrboard into boot mode (remove boot jumper, reps after rev.D add boot jumper)
 
6.press the reset button
 
7.lsusb (should say 'Atmel Corp. at90usb AVR DFU bootloader') if lsusb says 'VOTI' you're not in bootloader mode
 
8.sudo dfu-programmer at90usb1286 erase
 
9.sudo dfu-programmer at90usb1286 flash {path to the hex file in the /tmp} (e.g. sudo dfu-programmer at90usb1286 flash /tmp/build7750901060806024229.tmp/Repetier.cpp.hex)
 
10.exit boot mode by add/removing (depends on rev.) the boot jumper and press the reset button
 
11.lsusb should say 'VOTI'
 
12.connect with your host software and test if the changes have been applied
 
  
  
== Setup ==
+
4.Upon uploading, IDE will display the rate of progress; when done uploading appears, the uploading process succeeded.
  
'''Stepper Motors'''
+
[[File:Done uploading.jpg]]
Connect the X, Y, Z axis, and extruder motors to the matching headers at the top of the Printrboard (X-MOT, Y-MOT, Z-MOT, E-MOT). Headers are 4 wire Molex KK series, part# 0022013047) with 2759 series crimp terminals, part# 0008550101. Motor pinout is:
 
A - Phase 1+
 
B - Phase 1-
 
C - Phase 2+
 
D - Phase 2-
 
'''Endstops'''
 
Connect mechanical microswitches to the 3-pin Molex headers X-STOP, Y-STOP, Z-STOP at the bottom of the board. E-STOP is reserved for future use. Connect switches as follows:
 
Switch NC
 
No connection
 
Switch COMMON
 
For optos:
 
Signal Output
 
+5V
 
GND
 
'''Heaters'''
 
Connect the heating element of your hotend (resistor or nichrome wire) to the 4-pin EXTRUDER header, positioned next to MOSFET Q1. Connect your heatbed to the HOTBED header, next to MOSFET Q2. Polarity here is unimportant; pinout is as follows:
 
Positive
 
Positive
 
Negative
 
Negative
 
'''Thermistors'''
 
Thermistor headers are 2-pin Molex headers at the right side of the board, located above the reset button.
 
Connect the heatbed thermistor to the header directly above the reset button. The hotend thermistor connects above the heatbed header.
 
Lower Power Fan
 
A 2-pin Molex header labelled FAN is located on the right side of the board, above the thermistor headers. This optional header can be used to power a fan or other small motor. Generally not used.
 
'''Board Power'''
 
All power is supplied through the 4-pin ATX style header at the upper left corner of the Printrboard, labelled PWR. Connect directly to any 12VDC power supply. Ground terminals are closest to the edge of the board (left); 12VDC+ terminals are at right.
 
'''USB'''
 
Connect a micro-USB cable to the USB jack at the bottom of the PCB. Note that a jumper should be installed on the "BOOT" pins for normal operation (see Printrboard#Bootloaders[http://www.example.com link title]). In revision D, the behavior was inverted so that the jumper is only need when using the bootloader.
 
  
== Schematic ==
+
After uploading, you can go on to the next step. If you cannot upload, check the dialog box below to identify the problem and solve it. The common mistakes are the wrong select of type of board or serial port etc.
  
EAGLE files for the Printrboard are on Github: [https://github.com/lwalkera/Printrboard]
+
==Software Setting==
 +
Arduino IDE Installation
 +
1.Windows will prompt that a new USB device, named DFU was found when connecting USB with Printrboard to the PC.
 +
Then, windows will open the dialog box “found new hardware wizard”, check “no, not this time”, then click “next” to continue.
 +
 
 +
[[File:Rumba 14.jpg]]
 +
 
 +
 
 +
2.Check “install from a list or specific location (advanced)”, then click “next”.
 +
 
 +
[[File:Rumba15.jpg]]
 +
 
 +
 
 +
3.Specify “USB32” in Atmel\AVR Jungo USB installation directory to install driver.
 +
 
 +
[[File:Rumba 16.jpg]]
 +
 
 +
 
 +
4.If everything goes well, windows will install the corresponding driver.The graph below shows installation completed.
 +
 
 +
[[File:Pfb7.jpg]]
 +
 
 +
 
 +
Now, you can find the corresponding Printrboard device in device manager of windows.
 +
 
 +
[[File:Pfb8.jpg]]
 +
 
 +
 
 +
The connection of Repetier-Host
 +
 
 +
1.Click configuration > printer setting
 +
 
 +
[[File:Rh1.jpg|500px|]]
 +
 
 +
 
 +
2.Set the communication port (the COM port for printrboard) and the Baud rate. Then click ok
 +
 
 +
[[File:Rh2.jpg]]
 +
 
 +
 
 +
3.Click “connect”> upload. Choose the GCODE file you want to print.
 +
 
 +
[[File:Rh3.jpg|500px|]]
 +
 
 +
==Get Started==
 +
Printrboard is the CPU of a 3D printer, manipulating the whole process of printing. Printrboard can’t be put in use directly without uploading firmware.
 +
1. Firmware uploading- marlin.
 +
 +
2. Setting parameters of the firmware
 +
 
 +
The parameters that need setting are as below, for those not mentioned just leave them as default.
 +
 
 +
  #define BAUDRATE 250000
 +
 
 +
This parameter is for the baud rate of serial port. Note: a successful communication can be realized only when the Baud rate of upper computer is identical with that of Firmware. The Baud rate is not set in random. The common Baud rate are: 2400,9600,19200,38400,57600,115200,250000. The last three are frequently used for 3D Printer.
 +
 
 +
  #define MOTHERBOARD 81
 +
 
 +
This parameter is set for board type. 3D Printer has many types of main board, and the settings of IOs are different, therefore, the parameter has to correspond to the type of your board, or it can’t operate normally. The parameter of Printrboard should be 81(single- nozzle). For other board, you can refer to the annotation on the board.
 +
 
 +
  #define TEMP_SENSOR_0 3
 +
  #define TEMP_SENSOR_BED 3
 +
 
 +
The two parameters are set for the type of temperature sensor respectively. They are the critical parameter to check if the sensor read temperature correctly. The printer can’t operate normally, even has potential risk (damage the device and even worse). You must modify depending on the temperature sensor you use.
 +
 
 +
  #define EXTRUDE_MINTEMP 170
 +
 
 +
This parameter is set to avoid potential risks when the extruder operates before reaching the rated temperature. If you use other 3D Printer, such as printer to make Chocolates, 45℃ is appropriate, so that the parameter configured to a lower value(such as 40℃).
 +
 
 +
  const bool X_ENDSTOPS_INVERTING = true;
 +
  const bool Y_ENDSTOPS_INVERTING = true;
 +
  const bool Z_ENDSTOPS_INVERTING = true.
 +
 
 +
The three parameters are set for the end stops of three axes.  If the configuration is true, the end stop outputs 1 in default condition, and outputs 0 when triggered. That is to say, mechanical end stop should connect to the NO (normally open) contactor. If it is connected to the NC (normally closed), true should be changed to false.
 +
 
 +
  #define INVERT_X_DIR false
 +
  #define INVERT_Y_DIR true
 +
 
 +
Mistakes are often made in the above two parameters. The parameters are different for different machinery. In principle, the origin should be at lower-left corner of the print platform (origin: [0, 0]), or at up-right corner (origin: [max, max]). Only in this way will the printing be correct, otherwise, the printing is the mirror image of one axis which is not what expected.
 +
 
 +
  #define X_HOME_DIR -1
 +
  #define Y_HOME_DIR -1
 +
  #define Z_HOME_DIR -1
 +
 
 +
If the position of the origin is the minimum, the parameter is -1; if it is the maximum, the parameter is 1.
 +
 
 +
  #define X_MAX_POS 205
 +
  #define X_MIN_POS 0
 +
  #define Y_MAX_POS 205
 +
  #define Y_MIN_POS 0
 +
  #define Z_MAX_POS 200
 +
  #define Z_MIN_POS 0
 +
 
 +
These parameters are crucial to the printing size. Fill in parameters by reference to the coordinate graphs. It is important to note that the origin is not the printing center and the real printing center usually lies at [(x.max - x.min)/2, (y.max -y.min/2)]. The coordinate of central will be used in the slice tool. The printing center’s coordinate must correspond to the parameter configuration, or it will print to the outside of the platform.
 +
 
 +
  #define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0}
 +
 
 +
The parameter means the homing speeds (mm/min). This parameter can be set as default if you use the x-axis and y-axis adopt synchronous belt drive and z-axis adopts screw drive.
 +
 
 +
  #define DEFAULT_AXIS_STEPS_PER_UNIT {85.3333, 85.3333, 2560, 158.8308}
 +
 
 +
These parameters are crucial to the printing size. These parameters indicate the pulse the axis need when operating 1mm. they are corresponding to x, y, z axis and extruder respectively. In most cases these figure should be calculated by yourself, you can refer to: http://calculator.josefprusa.cz/#steppers.
 +
 
 +
So far, the commonest parameters have been configured and the printer can work now. In addition, if the 2004 LCD needs verifying, you should delete the “//” from “//#define REPRAP_DISCOUNT_SMART_CONTROLLER” to ensure the normal working.
 +
 
 +
 
 +
==Extensible Applications==
 +
 
 +
Exp:IIC、RS232、GPIO,JTAG
 +
 
 +
[[File:EA PB.jpg]]
 +
 
 +
 
 +
==FAQS==
 +
1. The LED doesn’t light when connected to USB and 5v external power supply.
 +
 
 +
① LED is broken ② LED is not well welded  ③ the power supply doesn’t work.
 +
 
 +
 
 +
2.How to solve it if the driver installation failed?
 +
 
 +
Click [http://pjrc.com/teensy/serial_install.exe  here] to reinstall the driver.
 +
 
 +
 
 +
3.What type of printer can Printrboard be applied to?
 +
 
 +
Solidoodle,printrbot,and most type of reprap(with a stepper motor driver for Z axis and single extruder)
 +
 
 +
 
 +
4.How come the stepper drivers of X/Y/Z axis cannot run in normal direction?
 +
 
 +
①The endstops didn’t connect or it is a matter of poor connection.
 +
 
 +
②The IC of stepper driver broke down
 +
 
 +
==videos==
 +
 
 +
[http://www.youtube.com/watch?v=91Pvyhqhlho&feature=youtu.be Review of GeTech PrintrBoard] from [http://www.youtube.com/channel/UC8v4qMldvrz4xMv79qWMu8g?feature=watch Paul Estep]
 +
 
 +
 
 +
==where to get==
 +
click [http://www.geeetech.com/new-version-reprap-printerboard-reprap-electronics-sets-p-653.html  here] , you can get a printrboard .

Latest revision as of 02:35, 28 September 2016

Introduction

File:5.jpg

Printrboard, a development board, originally based on sanguinololu, is one of the lasted versions of control board for 3D printer. Compared with sanguinololu, what makes Printrboard special is the on-chip USB, removing the need for the FTDI UART (USB-to-serial) IC. On-chip USB means dramatically faster firmware upload times and communication. What’s more, the Printrboard is equipped with a micro SD slot, which means you can paste the print file to the SD card to implement off-line printing. Printrboard is highly integrated, all our Printrboard has been tested rigorously and preassembled before shipping, including the four integrated Allegro A4982 Stepper Drivers (no Pololus needed), which is on the one hand a good thing for a lay man of electronics, but on another hand, it will be difficult for them to repair by themselves if there is some damage. On the whole, the Printrboard is of high capacity-price ratio and friendly to use.

features

1. 4 Non-replacement integrated Allegro A4982 Stepper Drivers.

2. 2 channel high current (30A) device interface for heaters

3. Controllable fan 4. Four endstop connectors supplied 5V. Includes X, Y, Z, and fourth endstop called E-Stop to be used as an emergency stop, or extruder stop (to be added in firmware).

5. 2 thermistor connectivity

6. Power supply (12-20V 120W minimum)

7. Integrated USB interface and on-board SD card slot

8. Expansion headers supporting I2C, SPI, UART, and ADC pins.

9. Support one extruder only

10. Highly integrated and high capacity-price ratio.

Overview and Hardware

Printrboard1-2.jpg

size:100mm x 60mm

weight:73g

Software

compiling environment:Arduino IDE firmware:Marlin upper-computer software:Printrun/Repetier-Host


source

Printrun

Repetier-Host

Arduino IDE

Arduino IDE

Marlin

Interface

Interface Layout

Printrboard connection and layout.jpg

Interface specifications

1. 2 channel ADC interface for thermometry: one for Extruder and another for Heatbed.

2. 3 channel PWM: one for extruder control, one for heatbed and one for fan.

3. 4 channel endstop: for x/y/z/e separately to connect to mechanical or optic endstop or hall sensor.

4. With TF card slot which supports 8G <= FAT16 and FAT32.

Jumper Instruction

Printrboard jumper.jpg

NOTE: do remember to put on the jumper cap. Or it will affect the uploading of firmware and the connection with PC.


Development Environment setting

Interface Connecting and Setting

Printerboard setting.jpg

File Burning

Arduino IDE 1.Windows users need install driver before uploading. The board: Tools > Board > [CDC]teensylu/printrboard ,as shown below.

Pfb1.jpg


2.Configuring serial interface: Tools > Serial Port > the corresponding COM Port of Printrboard of is usually the last one. As shown below:

Pfb2.jpg


3.Click the Button1.jpg to check if it is right and then click Button2.jpgto upload firmware, as shown below.

Rumba 11.jpg


4.Upon uploading, IDE will display the rate of progress; when done uploading appears, the uploading process succeeded.

Done uploading.jpg

After uploading, you can go on to the next step. If you cannot upload, check the dialog box below to identify the problem and solve it. The common mistakes are the wrong select of type of board or serial port etc.

Software Setting

Arduino IDE Installation 1.Windows will prompt that a new USB device, named DFU was found when connecting USB with Printrboard to the PC. Then, windows will open the dialog box “found new hardware wizard”, check “no, not this time”, then click “next” to continue.

Rumba 14.jpg


2.Check “install from a list or specific location (advanced)”, then click “next”.

Rumba15.jpg


3.Specify “USB32” in Atmel\AVR Jungo USB installation directory to install driver.

Rumba 16.jpg


4.If everything goes well, windows will install the corresponding driver.The graph below shows installation completed.

Pfb7.jpg


Now, you can find the corresponding Printrboard device in device manager of windows.

Pfb8.jpg


The connection of Repetier-Host

1.Click configuration > printer setting

Rh1.jpg


2.Set the communication port (the COM port for printrboard) and the Baud rate. Then click ok

Rh2.jpg


3.Click “connect”> upload. Choose the GCODE file you want to print.

Rh3.jpg

Get Started

Printrboard is the CPU of a 3D printer, manipulating the whole process of printing. Printrboard can’t be put in use directly without uploading firmware. 1. Firmware uploading- marlin.

2. Setting parameters of the firmware

The parameters that need setting are as below, for those not mentioned just leave them as default.

  #define BAUDRATE 250000

This parameter is for the baud rate of serial port. Note: a successful communication can be realized only when the Baud rate of upper computer is identical with that of Firmware. The Baud rate is not set in random. The common Baud rate are: 2400,9600,19200,38400,57600,115200,250000. The last three are frequently used for 3D Printer.

  #define MOTHERBOARD 81

This parameter is set for board type. 3D Printer has many types of main board, and the settings of IOs are different, therefore, the parameter has to correspond to the type of your board, or it can’t operate normally. The parameter of Printrboard should be 81(single- nozzle). For other board, you can refer to the annotation on the board.

  #define TEMP_SENSOR_0 3
  #define TEMP_SENSOR_BED 3

The two parameters are set for the type of temperature sensor respectively. They are the critical parameter to check if the sensor read temperature correctly. The printer can’t operate normally, even has potential risk (damage the device and even worse). You must modify depending on the temperature sensor you use.

  #define EXTRUDE_MINTEMP 170

This parameter is set to avoid potential risks when the extruder operates before reaching the rated temperature. If you use other 3D Printer, such as printer to make Chocolates, 45℃ is appropriate, so that the parameter configured to a lower value(such as 40℃).

  const bool X_ENDSTOPS_INVERTING = true;
  const bool Y_ENDSTOPS_INVERTING = true;
  const bool Z_ENDSTOPS_INVERTING = true.

The three parameters are set for the end stops of three axes. If the configuration is true, the end stop outputs 1 in default condition, and outputs 0 when triggered. That is to say, mechanical end stop should connect to the NO (normally open) contactor. If it is connected to the NC (normally closed), true should be changed to false.

  #define INVERT_X_DIR false
  #define INVERT_Y_DIR true

Mistakes are often made in the above two parameters. The parameters are different for different machinery. In principle, the origin should be at lower-left corner of the print platform (origin: [0, 0]), or at up-right corner (origin: [max, max]). Only in this way will the printing be correct, otherwise, the printing is the mirror image of one axis which is not what expected.

  #define X_HOME_DIR -1
  #define Y_HOME_DIR -1
  #define Z_HOME_DIR -1

If the position of the origin is the minimum, the parameter is -1; if it is the maximum, the parameter is 1.

  #define X_MAX_POS 205
  #define X_MIN_POS 0
  #define Y_MAX_POS 205
  #define Y_MIN_POS 0
  #define Z_MAX_POS 200
  #define Z_MIN_POS 0

These parameters are crucial to the printing size. Fill in parameters by reference to the coordinate graphs. It is important to note that the origin is not the printing center and the real printing center usually lies at [(x.max - x.min)/2, (y.max -y.min/2)]. The coordinate of central will be used in the slice tool. The printing center’s coordinate must correspond to the parameter configuration, or it will print to the outside of the platform.

  #define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0}

The parameter means the homing speeds (mm/min). This parameter can be set as default if you use the x-axis and y-axis adopt synchronous belt drive and z-axis adopts screw drive.

  #define DEFAULT_AXIS_STEPS_PER_UNIT {85.3333, 85.3333, 2560, 158.8308}

These parameters are crucial to the printing size. These parameters indicate the pulse the axis need when operating 1mm. they are corresponding to x, y, z axis and extruder respectively. In most cases these figure should be calculated by yourself, you can refer to: http://calculator.josefprusa.cz/#steppers.

So far, the commonest parameters have been configured and the printer can work now. In addition, if the 2004 LCD needs verifying, you should delete the “//” from “//#define REPRAP_DISCOUNT_SMART_CONTROLLER” to ensure the normal working.


Extensible Applications

Exp:IIC、RS232、GPIO,JTAG

EA PB.jpg


FAQS

1. The LED doesn’t light when connected to USB and 5v external power supply.

① LED is broken ② LED is not well welded ③ the power supply doesn’t work.


2.How to solve it if the driver installation failed?

Click here to reinstall the driver.


3.What type of printer can Printrboard be applied to?

Solidoodle,printrbot,and most type of reprap(with a stepper motor driver for Z axis and single extruder)


4.How come the stepper drivers of X/Y/Z axis cannot run in normal direction?

①The endstops didn’t connect or it is a matter of poor connection.

②The IC of stepper driver broke down

videos

Review of GeTech PrintrBoard from Paul Estep


where to get

click here , you can get a printrboard .