Difference between revisions of "Printerboard"

From Geeetech Wiki
Jump to: navigation, search
(Schematic)
(Blanked the page)
 
(12 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==
 
 
[[File:01.jpg]]
 
[[File:02.jpg]]
 
 
'''Atmel AT90USB1286 Microcontroller (or AT90USB1287 drop-in compatible for 20mhz support)'''
 
 
-- Native USB interface. No FTDI serial-to-USB chip!
 
 
-- 128kb Flash
 
 
'''Four integrated Allegro A4982 Stepper Drivers (no Pololus needed)
 
 
Thermistor Connectivity: 2
 
 
2 N-MOSFETs for Extruder and Heatbed control
 
 
1 N-MOSFET for low power Fan or motor'''
 
 
'''Onboard SD card slot
 
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)
 
 
-- Logic supplied by on-board voltage regulator
 
 
-- on-board USB connectivity
 
 
'''Edge connectors enabling right-angle connections
 
 
14 Extra pins available for expansion and development, with the following capabilities'''
 
 
-- UART1 (RX and TX)
 
 
-- I2C (SDA and SCL)
 
 
-- SPI (MOSI, MISO, SCK)
 
 
-- PWM pin (1)
 
 
-- Analog I/O (6)
 
 
-- JTAG (uses some of the ADC pins)
 
 
Additional 14 pin header with remaining I/O for prototyping
 
 
SMT Components sized at 0805, and no QFNs for easier soldering.
 
 
2-Layer PCB with proper ground plane and power distribution networks
 
 
Small design - board is 100mm x 60mm (4" x 2.4")
 
 
==Benefits of this Design==
 
 
Utilizes integrated Allegro 1/16 micro-stepping drivers for smooth operation.
 
 
Integrated USB controller provides 12MBps bandwidth, instead of usual 38400-115200 baud via FTDI. Result: Virtually no serial communication errors (common with
 
 
Sanguinololu and Generation_6_Electronics).
 
 
Integrated micro-SD Card slot
 
 
Uses small standard Molex connectors for motors, heater, and endstops.
 
 
Lowest cost and greatest performance of all RepRap motherboards at time of release, March 2012.
 
 
==Software==
 
 
We use CDC bootloard.
 
 
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] o
 
r
 
Windows/Mac/Linux: packaged with Atmel's FLIP software[http://www.atmel.com/tools/FLIP.aspx].
 
 
Compatible Firmware
 
 
Sprinter Sprinter[http://www.reprap.org/wiki/Sprinter]: Supported, use MOTHERBOARD == 9.
 
 
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
 
 
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
 
 
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.
 
 
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.
 
 
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)
 
 
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
 
  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.
 
 
 
'''Loading Fi==rmware (Linux)'''
 
 
 
DFU BOOTLOADER
 
 
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 ==
 
 
'''Stepper Motors'''
 
 
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 ==
 
[[File:1.jpg]][[File:2.jpg]]
 
 
[[Image:1.jpg | 100px]]
 
 
 
EAGLE files for the Printrboard are on Github: [https://github.com/lwalkera/Printrboard]
 
 
==How to buy==
 
 
Click here to buy [http://www.geeetech.com/new-version-reprap-printerboard-reprap-electronics-sets-p-653.html New version Reprap Printerboard]
 
 
==Video==
 
 
[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]
 

Latest revision as of 06:50, 13 October 2014