Generation 7 Electronics
English • العربية • български • català • čeština • Deutsch • Ελληνικά • español • فارسی • français • hrvatski • magyar • italiano • română • 日本語 • 한국어 • lietuvių • Nederlands • norsk • polski • português • русский • Türkçe • українська • 中文(中国大陆) • 中文(台灣) • עברית • azərbaycanca • |
Release status: working
Description | Generation 7 Electronics
|
License | various - see individual boards
|
Author | |
Contributors | |
Based-on | [[]]
|
Categories | |
CAD Models | |
External Link | (none)
|
This is a complete set of electronics designed to be replicable. 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.
- Discuss this set of electronics in the Generation 7 Electronics forum thread.
- Follow development and download files at the Generation 7 Electronics GitHub repository.
- If you just want to have a look, get the latest release files.
Contents
Features & Specifications
Highlights
- It's fast! Runs at 20 MHz -> 25% more speed.
- It's complete! Can drive a heated bed directly off the Board.
- It's comfortable! Switches the power supply on and off automatically.
- It's open! Well suited for community driven development and customisation.
- It's flexible! | Capability to supply motors and heaters with a different voltage.
- It's affordable! PCBs easy to manufacture on a RepRap or to etch DIY.
Details
- 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.
- Plug for a USB-to-TTL converter. TODO: on-board USB-TTL converter.
- Integrated hardware for driving one extruder (stepper, heater and thermistor).
- Integrated hardware for a heated bed (heater, thermistor).
- Ready to be hooked up onto a generic PC power supply unit (PSU) via its 20-pin or 24-pin connector.
- Power supply via only the 4-pin Molex connector supported as well.
- Use of standard connectors.
- Prepared for both, connector plugs as well as screw terminals.
- LEDs for standby, power and both heater outputs.
- Can turn PSU on and off in software, when supplied via the 20-pin connector.
- Reset button.
- ICMP header.
Design Goals
- Keep the replicatability, i.e. minimum distance between two tracks is 0.4 mm. This mostly rules out SMD chips.
- Get independent from industry devices.
- Put emphasis on flexibility, ease of use and reliability. Accordingly, new non-essential features have low priority.
Individual Components
As Gen7 is a single board solution, it consists of only few components:
Board
Gen7 Board 1.3.1 is the central unit. It can drive a RepRap machine on its own, but not much more. Full power to the basics, no extra features.
Endstop
Gen7 Endstop 1.3.1 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
For older releases, see the #History section.
16. August 2011: 1.3.1
This is a bugfix release.
- Attempt to prevent bootloader corruption by turning on the Brown Out Detector.
- Make the bootloader it's self a bit shorter.
- No changes to the hardware.
22. July 2011: 1.3
New features:
- Supported EDA toolchain is now gEDA 20100929, the one coming with Ubuntu 11.04.
- Use stronger 2 pin, 4 mm connectors (same type as the motors) for the heaters. These match the required current much better.
- Remove the MOSFET for the fan. Only few people use a fan. If you're one of them, connect the fan to the PSU directly.
- Remove the I2C header. Was totally unused.
- Make thermistor connectors 2 pin only. The extra pin just caused confusion.
- Replace the ATX20 with an ATX24. The new header is compatible with more recent PC power supply types and accepts ATX20 plugs just fine.
- Use another disk power type connector to supply the heaters. This allows to run a heated bed directly off the Gen7 board, without relays in between. This also introduces the ability to use different voltages for motors and heaters, without making things more complex for casual users.
- MOSFETs are now upright, for better cooling and mounting a heatsink. Also inserted a matching heatsink to the parts list.
Plans for 1.4
New features:
- Moved motor heaters from KK156 to KK100 ones. KK156 are Gen3 and screw terminal compatible, KK100 are RAMPS/Sanguinololu/Gen6 compatible. The later are significantly cheaper.
- Reduced the number of endstops to 3, so endstops no longer share pins with the ISP header.
- Connect the thermistor to 5V Standby. This allows to read temperatures without turning the power supply on and requires just 0.1 mA additional juice at room temperature, so the additional energy needed for running the thing 24/7 is neglibile.
- Gen7 Arduino IDE Support package is now compatible with Arduino 1.0.
- Reduce resistors between ATmega and MOSFETs to 10 Ohms to allow for higher PWM frequencies.
Still to do:
- Make the ISP header compatible to an SD card reader, e.g; SDSL.
- Find an intelligent pin layout for the extension board. This should include all pins required for SD cards, SPI, serial, at least one thermistor, at least one PWM heater and the extruder's stepper enable pin. Also 3.3V, 5V, GND and (both?) 12V.
- Support for the ATmega1284P.
How to get it
Get Gen7 Kits from Traumflug.
Also, see the Board 1.3.1 page and the List].
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
Just to add to the pile, here's how to adjust the Pololus:
While the pots on the Pololus should always be adjusted, people usually simply forget to do so.
Turn the pot fully to the left (counterclockwise when looking down on the pot). Then turn it to the right (clockwise) in tiny steps. After each step find out whether the motor has enough torque, i.e. move the carriage all the way up and down. If you just get away without step losses, turn another 1/8 to the right and you're done.
Notice Regarding Legal Stuff
Generation 7 Electronics isn't a device in the sense of European Community regulation 2004/108/EG (EMC Directive). The reasons include:
- Gen7 doesn't include a power supply, so a Gen7 can't be used on it's own.
- Same for the stepper drivers. No stepper drivers, no useable Gen7.
- Heaters, thermistors, dito.
- The instructions seen on the Gen7 wiki pages give you hints on how to build your own device, they're not to be seen as installation instructions or a manual of a finished device.
If you use a Gen7 to assemble something usable, check (at least) the following if you want to conform to said regulation:
- Is there a metal housing? A Faraday Cage solves most electromagnetic issues.
- Connected cables can also be subject to electromagnetic stuff. Shielding them helps.
- Is there a manual and are there installation instructions conforming to the regulation?
If you buy and assemble an Generation 7 Electronics kit, you're manufacturer in the sense of the EMC Directive, not an end user. As long as you're developing and testing, most EMC regulations don't apply (for obvious reasons). The directive just wants you to protect devices of third parties from yours, so don't run a Gen7 right next to your neighbour's cardiac pacemaker. There's no time limit for developing and testing.
That said, this section mostly applies to all currently known RepRap electronics. Also, the said was written after investigation of relevant law texts by an mechanical engineer, not a lawyer.
Relevant law: EMVG, implementing the EC directive for Germany.
Development
Current status of development can be found at the Generation 7 Electronics GitHub repository. The short term goals are listed above in the #Releases section.
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.
Additionally, you want to download the design files with Git or GitHub's download button. In the later case choose to download source and unpack that when done.
Typical Work Loop with gEDA
Here you have a typical work loop for changing these electronics with the gEDA/PCB tool chain:
- 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?
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.
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.
- Open the layout in PCB.
- Switch to the "GND-sldr" layer.
- 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).
- Draw a RECT (find the tool in the left bar) as big as the entire board.
- Do an "optimize rats nest" (o-key).
- 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.
- For pins and pads you actually want to connect to the ground plane, set a Thermal (THRM tool to the left).
- Loop the last three steps until you get congratulations (no errors) on "optimize rats nest".
- 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:
- Switch to the "solder" layer.
- Select Menu -> Edit -> Select all visible.
- Select Menu -> Windows -> Command Entry.
- Type the following and hit Enter:
ChangeClearSize(selectedlines, 0.5, mm)
- Repeat the above with
selectedpins
instead ofselectedlines
. - Repeat both of the above on the "Vcc-sldr" layer.
- 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.
- You're done.
On how to proceed with this etching-optimized board, see ... [Links needed]
Etching via Toner Transfer
Additionally to the above, the layout can be optimized for the toner transfer method even more:
- I'm not a real pro at toner transfer etching, so I generally oversize the traces and undersize the holes in the pads. This makes it more likely to get a good board. Toner transfer can be a bit of a pain. It is kitchen science in every way. Plus, since you are often drilling pads by hand it helps to oversize the pads too. Wider traces and smaller holes help the most. The wider traces help avoid open traces when etching is finished, and undersized holes helps avoid pads that etch too thin and are then liable to pop off the board when soldering. Also a smaller hole helps center the drill bit better.
Following up on this statement, the minimum track width was raised from 20 mil to 30 mil. As the minimum gap between copper is still 16 mil, other manufacturing processes shouldn't suffer from this. --Traumflug 20:33, 8 June 2011 (UTC)
You can reduce drill sizes with a few quick commands:
- Open the layout in PCB.
- Drag a rectangle over the entire board to select all elements.
- Select Menu -> Window -> Command Entry.
- Type the following two commands:
changedrillsize(selectedpins, 0.5, mm) changedrillsize(selectedvias, 0.5, mm)
Voilá, all drills are reduced to 0.5 mm, just right to be a center hole for manual drilling.
Practical tips for toner transfer see DIY PCBs double sided toner transfer.
History
(Well, that part of the history which didn't result in a Release).
The Forum thread (german), where everything started.
Work Around Christmas 2010
Mostly done by Jacky2k.
24.12.2010: A first version of the Gen7 board has been etched and is being 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, ...
09.02.2011: The master branch of FiveD on Arduino firmware is ported and seems to work but is not tested 100%. The config file for the firmware will come soon.
March 2011: Four Mendels are driven by Gen7 Electronics successfully, first reprap'd PCBs were shipped.
Older Releases
10. Feb 2011: v1.0
New features: it works. Isn't that the most important thing on an 1.0 release?
28. Mar 2011: v1.1
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.
12. May 2011: v1.2
New features:
- The endstop now uses the TCST1103/2103 photo interrupter.