Difference between revisions of "Sanguinololu"

From Geeetech Wiki
Jump to: navigation, search
(file)
(file)
Line 61: Line 61:
 
== file ==
 
== file ==
 
[[File:Sanguinolu.zip]]
 
[[File:Sanguinolu.zip]]
 +
 
[[File:arduino--0023.zip]]
 
[[File:arduino--0023.zip]]
  

Revision as of 01:30, 25 April 2014


Sanguinololu

Sanguinololu is a low-cost all-in-one electronics solution for Reprap and other CNC devices. It features an onboard Sanguino clone using the ATMEGA644P though a ATMEGA1284 is easily dropped in. Its four axes are powered by Pololu pin compatible stepper drivers.

The board features a developer friendly expansion port supporting I2C, SPI, UART, as well as a few ADC pins. All 14 expansion pins can be used as GPIO as well.

The board is designed to be flexible in the user's power source availability, allowing for an ATX power supply to power the board, or the user can choose to install the voltage regulator kit for use with any power supply 7V-30V.


Version 1.3a - Updated July 21, 2011

Version 1.3a has no software changes - the pin assignments remain the same and your 1.2+ compatible firmware should work here fine. The hardware changes:

  • Removed the Molex HDD connector in favor of using the voltage regulator - some power supplies give a dirty 5V signal when there is no motherboard load, so its better to just use the power supply's ATX+4 connector and the 5V voltage regulator.
  • Added a jumper to enable/disable USB auto-reset. This way if you're printing from an SD card using SDSL you can disconnect your USB and reconnect it without interrupting a print.
  • R7 and R8 are now 100k pull-up resistors that are on the stepper-enable lines. This ensures the stepper motors stay disabled and don't move while uploading new firmware, rebooting, etc. The current limiting resistors for the FTDI are gone.
  • There is an extra Z-motor header for Prusa Mendel.

Features

  • Small design - board is 100mm x 50mm (4" x 2") - barely an inch longer than a business card!
  • Sanguino clone, Atmel's ATmega644P - ATmega1284 drop-in compatible!!
  • Up to 4 Pololu stepper driver boards (or Pololu compatible) on-board (X,Y,Z,Extruder) (without voltage regulator)
  • Supports multiple power configurations
-- Logic & Motors supplied by ATX power supply (needs molex harddrive connector, and optional 4pin atx connector for additional 12v/supply voltage)
-- 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)
Supports multiple communication configurations
-- FT232RL on-board for USB connectivity
-- USB2TTL header is available for FTDI cable, or BlueSMIRF bluetooth module
  • 2 thermistor connectors with circuitry
  • 2 N-MOSFETs for extruder/bed, or whatever
  • Selectable 12v(or supply voltage)/5v endstop voltage
  • Edge connectors enabling right-angle connections
  • Silkscreen for connectors on both sides of the board, facilitating bottom cable connections
  • 13 Extra pins available for expansion and development - 6 analog and 8 digital, with the following capabilities
-- UART1 (RX and TX)
-- I2C (SDA and SCL)
-- SPI (MOSI, MISO, SCK)
-- PWM pin (1)
-- Analog I/O (5)
  • All through-hole components (except FTDI chip) for easy DIY soldering

</div>

Bugs

500px-Sanguinololu12.svg.png

  • The USB 5V VBUS is connected to the output of the 5V regulator. This is bad for the regulator and bad for the PC. Some users report the regulator getting very hot (because it is trying to power the PC), other users report the PC giving USB over current errors. Nophead and Nothinman recommend cutting the 5V track to the USB connector. The only downside is the board needs the 12V supply before it will do anything, but who cares?

An alternate fix for the 1.3a board is to cut the trace between the USB chip pin 4 and C13. This is functionally identical to building a Sanguinololu without the USB port and FT232RL and using an offboard USB-serial cable. The advantage over cutting the 5V trace at the USB connector is that the USB serial port doesn't disappear from the host PC when the printer is switched off, which can anger host software that is still running.

  • When the bootstrap loader runs during reset and when downloading firmware the motors are enabled due to pull-downs on the Pololus (The enable pins are pulled up by 100K resistors on the Sanguinololu but they are pulled down by 100K on each Pololu). The step pins are floating and this can cause random motor movements. The E step pin is next to E dir pin which the bootstrap thinks is an LED to be flashed. Crosstalk can cause the extruder to spin when firmware is being loaded. This is not good as it will be cold, so could damage the hot end. Nophead recommends changing the enable line pull ups (R7 and R8) to 4K7 to ensure the motors are disabled until the firmware enables them.

A software fix is to use the the Gen7 boot strap that does not flash the non-existent LED.

  • The pads and traces on the board are not robust enough to handle the high current involved when controlling the heated bed with the sanguinololu's dedicated mosfet. If left as is, the board will heat up in this area, could be damaged and the plastic connectors discolored. To fix, simply add a direct current path by way of (preferably insulated) wire from the 12v input to the 12v pins on the Heated Bed (HB) connector; from the center pin of the HB mosfet to the two ground pins on the HB connector; and from the ground pin on the mosfet to the ground input of the board (probably the ground side of the 12v connector). Find the appropriate traces using continuity check or resistance mode on your multimeter, and check after to ensure you didn't create a short between any of these components in the process. It would be prudent to check for shorts before starting so you don't waste effort trying to fix a short you think you just created but was already there before you applied this fix. To understand this fix, pretend that no traces exist between the high current pathways of the 12v input and 12v pins of the HB connector; the ground input and the ground pin on the mosfet, and the center pin of the mosfet and ground pins on the HB connector. Assume you must create these pathways, then do so!


file

File:Sanguinolu.zip

File:Arduino--0023.zip

firmware download

Setup your Sanguinololu to communicate with your PC over USB

1) Download the Virtual Com Port USB drivers from http://www.ftdichip.com/Drivers/VCP.htm, and unzip

2) Connect to your Sanguinololu to a power supply (PC ATX supply etc) and connect the usb

3) At hardware detection, point to your driver folder from above. This will install a new com port (COM7 in my case)

4) Download pronterface, a nice gui to control your hardware, from http://koti.kapsi.fi/~kliment/printrun/, and unzip

5) Open pronterface, change to the COM port to the new one created above and set the rate to 250000. Hit Connect to connect/test.

Download fresh Marlin firmware and the Arduino IDE to edit and compile your firmware

1) Get the Marlin Firmware from File:Sanguinolu.zip, extract to a new marlin/folder

2) Download the Arduino IDE from http://arduino.cc/en/Main/Software, extract to a new Arduino/ folder

3) Download the Sanguino-specific Arduino IDE files from http://code.google.com/p/sanguino/, extract to hardware/ in the Arduino/ folder from above

4) Open the Arduino IDE, select Board -> Sanguino W/Atmega128P *, then select tools -> serial port -> COM[7] (from above)

5) From the Arduino IDE, select File -> Open -> [Your Marlin directory] -> Marlin.pde to open the firmware for editing

6) Make sure the following is set in the Configuration.h file '#define MOTHERBOARD 62' to tell the firmware what hardware you are running on

7) Make any other changes to the Configuration.h file you need here

8) Compile your code using Verify -> Verify / Compile

9) Select File -> Upload to transfer to your hardware **

How to buy

http://www.geeetech.com/reprap-sanguinololu-rev-13a-assembled-p-609.html