Generation 7 Electronics

From RepRap
Revision as of 16:24, 4 June 2011 by Traumflug (talk | contribs) (Rewrite the intro yet again :-))
Jump to: navigation, search
Crystal Clear action run.png
Generation 7 Electronics

Release status: working

Gen7 Layout.png
Description
Generation 7 Electronics
License
GPL v2
Author
Contributors
Based-on
[[]]
Categories
CAD Models
External Link
(none)


This is a complete set of electronics designed to be replicatable. Replication is what makes RepRap unique, so this should be extended to electronics. All Gen7 PCBs can be manufactured on your Mendel, Prusa Mendel, Huxley, or on a general CNC milling machine. A long term future goal is to print the electrical tracks directly.

The electronic design is very similar to other single board solutions, like RAMPS,Pololu_Electronics or Sanguinololu. Generation 7 Electronics can drive the same hardware, using the same firmwares. Additionally, it comes with a few nice details to make it more flexible, as well as more reliable.


Design Goals

Highlights

  • PCBs easy to manufacture on a RepRap.
  • Can drive a heated bed directly off the Board (as of v1.3).
  • Well suited for community driven development and customisations.

Features & Specifications

  • Single board solution.
  • Dimensions about 100 x 130 mm.
  • Single sided PCB.
  • Processor: ATmega644 (Atmel Corp.)
  • Pololu stepper drivers, exchangeable.
  • 4x stepper motor drivers with 1/16 microstepping.
  • TODO: on-board USB-RS232 converter.
  • Integrated hardware for driving one extruder (stepper, heater and thermistor).
  • Integrated hardware for a heated bed (heater, thermistor).
  • Integrated hardware for driving a fan.
  • Ready to be hooked up onto a generic PC power supply unit (PSU) via it's 20-pin connector.
  • Power supply via only the 4-pin Molex connector supported as well.
  • Use of standard connectors.
  • Motor connector layout prepared for both, 4 mm or 200 mil spaced components. This allows Gen3 type plugs as well as screw terminals.
  • Debug LEDs for power, Fan and both heater outputs.
  • Can turn PSU on and off in software, when supplied via the 20-pin connector.
  • Reset button.
  • ICMP header.

Individual Components

As Gen7 is a single board solution, it consists of only few components:

Board

Gen7 Board 1.2 is the central unit. It can drive a RepRap machine on it's own, but not much more.

Endstop

Gen7 Endstop 1.2 is an optical endstop, made to fit on Mendels & Co.

Extension Board

Currently, the extension board is just an idea. It's mentioned her because you may wonder why Gen7 Board has only few features and even some previously existing features got removed over time.

The single sign currently existing about the extension board is the Misc Header, right below the ATmega on the Board.

Releases

Plans for 1.3

New features: clean up unused pins and connectors.

Still to do:

  • Use an ATX4 or second Molex 4 pin power header to allow direct connection of a heated bed.
  • Add the clamp holes for the ATX20
  • Replace the ATX20 with an ATX24, as this header is backwards compatible and accepts ATX20 plugs just fine.
  • Get the Debug LED back :-)
  • Make the Standby Power LED yellow.
  • Make the ISP header compatible to an SD card reader: [1]

12. May 2011: v1.2

Git Repository

Release Documents

New features:

  • The endstop now uses the TCST1103/2103 photo interrupter.

28. Mar 2011: v1.1

Git Repository

Release Documents

New features: fix all those silly 1.0 mistakes.

  • Cleaned up that drill size mess. Now 275 of the 369 holes are either 0.75 mm or 1.0 mm, the remaining ones are the bigger ones for the connectors and can be drill-milled.
  • Various smaller changes for better compatibility with G-Code generators.
  • Added an appropriate plus (+) signs to all polar components.
  • Swapped the TIP120 MOSFETs for IRFZ 44N ones. These are now fast enough to allow PWM in the kHz range.
  • Added two jumper headers to one existing to have one for each of the three possible power sources. This adds safety against misconfigurations: use only one jumper and you're always safe.
  • Fixed the solder mask.
  • Changed the pin assignments of the heater MOSFETs. Now they're on PWM-able ATmega pins.
  • Added a Release Maker script, bundling up design files for those without gEDA.
  • Added Arduino Support, consisting of bootloaders, board descriptions and library files.

10. Feb 2011: v1.0

New features: it works. Isn't that the most important thing on an 1.0 release?

How to get it

You want three groups of parts:

PCBs

Get Gen7 Board and Gen7 Endstop PCBs from Traumflug.

As Gen7 is designed to be manufactured on a RepRap, you can make PCBs yourself, of course. How to do this on a RepRap or a general milling machine is described later on this page. You want one "Gen7Board" PCB and up to six "Endstop" PCBs.

Yet another way is to purchase from one of the many houses specialized in manufacturing prototype PCBs. Gen7 is single sided, so this won't cost a fortune.

Electronic components

Get Gen7 Components Kits and Gen7 Connectors Kits from Traumflug.

If you want to assemble the collection yourself, see the #Parts Lists section.

Pololus

You need four Pololus. Only few general electronics dealers offer them, but many RepRap specific shops have them in stock.


Parts Lists

For the parts lists of Gen7 components, see their dedicated page

To assemble or verify parts lists, open the layout with gEDA/PCB and export a "BOM". This will give you a list of all required components.

Miscellaneous

Besides the parts needed for the individual components, you need thin wires to get the thermistor and endstop signals to the Board. For example, you can salvage the cables you find between a PC mainboard and this PC's hard disks.

Heaters and stepper motors need a bit more current, so cable wires should be thicker. It's a good idea to use cables for electrical household devices. These have typically 2x or 3x 0.75 mm2. Remove the mantling carefully, the re-wire them in sets of two or four, as needed. Twisting the wires while doing so reduces electromagnetic influence.


Assembly Instructions

If you have assembled and tested a Board and Endstops, the remaining stuff is more obvious.

  • more assembly instructons needed*


Development

Status

First test board of Gen7

March 2011: Four Mendels are driven by Gen7 Electronics successfully, first reprapp'd PCBs were shipped.

24.12.2010: A first version of the Gen7 board has been etched and is beeing tested. The hardware seems to work, but the software still needs to be ported and tested with a RepRap.

29.12.2010: Some patches were made in the firmware to support endstops and homing. The patched firmware can be downloaded in the firmware section.

30.12.2010: Some more patches to the firmware. Current firmware seems to be stable and working. Not 100% tested yet.

04.01.2011: We found some bugs in the firmware again. All of them seems to be fixed, release is planned tomorrow.

05.01.2011: Uploaded current firmware with a lot of patches.

08.01.2011: Some little modifications of the PCB are required. Pull-Up resistors for I²C are missing, we want to change some headers to more common one, some resistor values are missing, ...

12.01.2011: I discovered a bad problem with the board which can destroy you ISP programmer or the ATMega! When you are using the board without the 20 pin ATX connector do NOT program the board while the endstops are plugged in! The endstops may hold some lines of the ISP low. As a workaround pull out the endstops (X_MAX, X_MIN and Y_MIN) or use the 20 pin ATX connector when programming and don't forget to remove the jumper J13 when using the ATX connector!

09.02.2011: The master branch of FiveD on Adruion firmware is ported and seems to work but is not tested 100%. The config file for the firmware will come soon.

History

(Well, that part of the history which didn't result in a Release).

The Forum thread (german) where everything started.

Layout, PCB Editing

Gen7 uses gEDA, a true open source set of Electronics Development Applications (EDA). While gEDA has a bit of a learning curve and has some room for improvement regarding the graphical user interface, it's reliable, fast and well suited for the task. gEDA is available for Linux and Mac OS X and has ready-to-use packages on Debian/Ubuntu and SuSe. To install it on Ubuntu, simply type

sudo apt-get install geda geda-utils geda-xgsch2pcb

and you'll find schematics and PCB layout editor applications in your applications menu.

Typical Work Loop

RepRap is all about evolution of machines and lowering entry barriers into their (self-)replication, so here you have an easy how-to type description of a typical work loop for changing these electronics with the gEDA/PCB tool chain.

Download the files with Git or GitHub's download button. In the later case choose to download source and unpack that when done.

  • Always start editing with the project (.gsch2pcb suffix) file. You can open it by double-clicking it.
  • Select the schematics and use the button below the list to open it.
  • When done, save it and return to the project.
  • Open the PCB using one of the buttons to the right. Both have almost the same functionality.
  • If you have chosen to update the PCB, footprints no longer in use will have vanished and new or previously missing ones appear in the upper left corner. An updated list of connections (netlist) will have been loaded. Update the rats nest to find areas requiring work.
  • When done, save it and return to the project.

You get the idea?

PCB Manufacturing

gEDA can export PCBs to the Gerber and other file formats, of course.

Milling

On how to proceed further with that, see the PCB Milling page.

Etching

For etching, you likely want to reduce the amount of etched copper to a minimum. One way to get there perfectly, is to lay a ground plane into the layout.

Note: if you're in a hurry, you can leave out the step removing the tracks on the "GND-sldr" layer and setting Thermals. It'll work anyway.

  1. Open the layout in PCB.
  2. Switch to the "GND-sldr" layer.
  3. Remove all tracks on this layer ( = all light blue ones = all of the GND net minus vias and bridges, find the net with Menu -> Window -> Netlist).
  4. Draw a RECT (find the tool in the left bar) as big as the entire board.
  5. Do an "optimize rats nest" (o-key).
  6. Some non-GND tracks might be shortened with the new ground plane. Move the mouse over each of these tracks and press the "j" key (on your keyboard). Works for tracks hidden behind the ground plane as well, you'll see the difference immediately.
  7. For pins and pads you actually want to connect to the ground plane, set a Thermal (THRM tool to the left).
  8. Loop the last two steps until you get congratulations (no errors) on "optimize rats nest".
  9. In case the default clearance between the copper plane and pins/tracks are not sufficient for your purposes, you can adjust them with some command line work:
    1. Switch to the "solder" layer.
    2. Select Menu -> Edit -> Select all visible.
    3. Select Menu -> Windows -> Command Entry.
    4. Type the following and hit Enter:
      ChangeClearSize(selectedlines, 0.5, mm)
    5. Repeat the above with selectedpins instead of selectedlines.
    6. Repeat both of the above on the "Vcc-sldr" layer.
    7. As you probably guessed already, you can change this "0.5" to arbitrary values and "mm" to "mil", and use different values for each of the 4 groups.
  10. You're done.

On how to proceed with this etching-optimized board, see ... [Links needed]

Bug fixing, Sending Changes

This is community development, so getting changes from everyone is more than welcome. Write them to the forum, to the reprap-dev mailing list, use GitHub's Issue Tracker, whatever is most convenient for you. If you fork the repository at GitHub, you can also send Traumflug pull requests.