Printrboard

From Geeetech Wiki
Revision as of 08:29, 29 April 2013 by Admin (talk | contribs)

Jump to: navigation, search

Overview

The Printrboard electronic set was designed by members of the 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) 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, an AT90USB1286 development board originally based on 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

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

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 drivers, either get it from Windows-only: Media:USB Serial Device (PRJC.com) or Windows/Mac/Linux: packaged with Atmel's FLIP software. Compatible Firmware Sprinter Sprinter: Supported, use MOTHERBOARD == 9. Marlin Marlin: No official support yet, but works with Lincomatic's fork. Repetier List_of_Firmware#Repetier-Firmware: Supported, use MOTHERBOARD == 9. grbl List_of_Firmware#Grbl: No official support yet, but works with Lincomatic's fork. (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 for Mac/Linux equivalent "dfu-programmer". Installing A Bootloader If you wish to change to a different bootloader, you will need a 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 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