Teensylu

From RepRap
Revision as of 00:32, 22 October 2011 by Lwalkera (talk | contribs) (Software)
Jump to: navigation, search

This page is a development stub. Please enhance this page by adding information, cad files, nice big images, and well structured data!

Crystal Clear action run.png
Teensylu

Release status: Experimental

Teensylu-Top.jpg
Description
Design Version 0.7
License
unknown
Author
Contributors
Based-on
Categories
CAD Models
Eagle
External Link


Introduction

This is a project that is based on Sanguinololu. The ATmega644P has been replaced with an Atmel AT90USB1286 MCU. This Microcontroller has on-chip USB, removing the need for the FTDI USB UART. All of the through hole resistors and capacitors have been replaced with 0805 SMT components (as of Ver 0.1). Like the Sanguinololu the Teensylu 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.

Features

  • Small design - board is 100mm x 60mm (4" x 2.4")
  • Teensylu clone, Atmel's AT90USB1286 - AT90USB1287 drop-in compatible for 20mhz support
  • Up to 4 Pololu (or Pololu compatible) on-board (X,Y,Z,Extruder) (A4983 without voltage regulator)
  • Supports multiple power configurations (Carried from Sanguinololu)
-- Logic & Motors supplied by ATX power supply (needs molex harddrive connector, and optional 4pin atx connector for additional 12v)
-- Motors supplied by 5mm screw terminal 7-35V
-- Logic supplied by USB bus
-- Logic supplied by optional on-board voltage regulator (molex harddrive connector cannot be installed at the same time)
-- on-board USB connectivity
  • 2 thermistor connectors with circuitry
  • 2 N-MOSFETs for extruder/bed heaters
  • 1 N-MOSFET for low power fan or motor
  • Selectable 12v/5v endstop voltage
-- 4 endstops including 4th stop called E-Stop to be used as an emergency stop, or extruder stop (to be added in firmware).
  • Edge connectors enabling right-angle connections
  • Silkscreen for connectors on both sides of the board, facilitating bottom cable connections
  • 14 Extra pins available for expansion and development - 6 analog and 8 digital (Fully compatabile with Sanguinololu), with the following capabilities
-- UART1 (RX and TX)
-- I2C (SDA and SCL)
-- SPI (MOSI, MISO, SCK)
-- PWM pin (1)
-- Analog I/O (6)
  • Additional 14 pin header with 11 I/O for prototyping
  • SMT Components sized at 0805 for easier soldering.

Software

Compatible Firmwares

  • Sprinter Sprinter
  • (Other firmwares are currently untested but any firmware for an arduino mega should work with proper pin setup.)

Building Firmware

Sprinter

  • Download the arduino environment and install. http://arduino.cc/en/Main/Software
  • Download the Teensyduino library from pjrc and install. The teensyduino libraries here: http://pjrc.com/teensy/td_download.html
  • Download Sprinter firmware. https://github.com/kliment/Sprinter
  • Open Sprinter in arduino and configure configuration.h file.
    • Motherboard should be set to 8: #define MOTHERBOARD 8
    • Turn off endstops if you didn't install endstops: const bool ENDSTOPS_INVERTING = true;
    • Turn comment out SD card support, not working yet: //#define SDSUPPORT
  • Go to Tools menu and set Board to Teensy++ 2.0.
  • Go to Sketch menu and click "Verify/Compile"
  • A program will popup for the teensy programmer after sprinter is done compiling. We don't use that here. You can exit it.
  • Find the hex file: the compiled hex is in a temporary directory.
    • Windows: Find the hex file in the temp folder. c:\users\{currentuser}\appdata\temp\build1234567890\sprinter.cpp.hex copy this hex file into my documents or somewhere more accessible.

Programming the Firmware

Atmel preloads the AT90USB128 with a bootloader that allows for programming of the firmware using the USB port.

Windows

This requires their software called FLIP to be installed. For more information, read the following documentation: http://www.atmel.com/dyn/resources/prod_documents/doc7618.pdf http://www.atmel.com/dyn/resources/prod_documents/doc7769.pdf

For Windows Users You will need to download FLIP FLIP: http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3886

To start the bootloader:

  • Press the reset button on the board
  • Windows should say "found new hardware". the drivers for this hardware are in the "c:\program files\atmel\flip 3.4.3\usb" folder.

Flashing Firmware

  • Start the FLIP program. select the target device: AT90USB1286. Select Communication medium as USB, and click Open.
  • Open hex file, and choose the Sprinter.cpp.hex
  • Make sure the Erase, Blank Check, Program, and Verify checkboxes are checked.
  • Click the Run button
  • To enter normal operation, unplug and replug the USB cable on the board.
  • Congratulations, you're done!

Mac

For Mac users a customer version of opensource programmer called "dfu-programmer" Information on this software can be found on it's homepage here: http://www.uriahbaalke.com/?p=106 TODO: Add mac instructions here.

Linux

For Linux users an opensource programmer called "dfu-programmer" has been found. Information on this software can be found on it's homepage here: http://dfu-programmer.sourceforge.net/

  • dfu-programmer at90usb1286 erase
  • dfu-programmer at90usb1286 flash sprinter.hex

Alternate Bootloader

If you have an ISP or JTAG cable, you can also program an alternate bootloader from the LUFA project that allows you to potentially program with the standard Arduino software.

  • Download BootloaderCDC.zip
  • Unzip to get BootloaderCDC.hex
  • Program using your favorite ISP/JTAG cable. The command for avrdude is avrdude -p at90usb1286 -c <your programmer here> -U flash:w:BootloaderCDC.hex

Instructions to modify the Arduino software are forthcoming.

Board Images

Teensylu-Top.jpg

Teensylu-Bottom.jpg

Teensylu Assembled.JPG

Schematics

File:Teensylu-0.6.pdf

Mouser project: https://www.mouser.com/ProjectManager/ProjectDetail.aspx?AccessID=360523b45b

Where to get it

Bare PCB

Complete Kit