Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
general-appendixes [2017/01/25 18:55]
arthur
general-appendixes [2018/12/21 10:41]
arthur [External Stepper Drivers]
Line 2: Line 2:
  
  
-=== <​html><​a name='​wiring'></​a></​html>​Wiring+=== Wiring 
 +<​html><​a name='​wiring'></​a></​html>​ 
  
 How well your machine is wired is going to determine how long it lives and how resistant it is to breakage. How well your machine is wired is going to determine how long it lives and how resistant it is to breakage.
Line 8: Line 10:
 We have a great guide on different techniques and recommendations,​ please read the [[/​how-to-wire|how to wire page]]. We have a great guide on different techniques and recommendations,​ please read the [[/​how-to-wire|how to wire page]].
  
-=== <​html><​a name='​crimping-connectors'></​a></​html> ​Crimping connectors+===  ​Crimping connectors 
 +<​html><​a name='​crimping-connectors'></​a></​html>​ 
  
 <​grid>​ <​grid>​
Line 15: Line 19:
 If your Smoothieboard came with connectors, you got connector casings, and [[http://​en.wikipedia.org/​wiki/​Crimp_connection|crimps]]. You will need to attach your crimps to your cables, and then insert the crimps into the connector casings. If your Smoothieboard came with connectors, you got connector casings, and [[http://​en.wikipedia.org/​wiki/​Crimp_connection|crimps]]. You will need to attach your crimps to your cables, and then insert the crimps into the connector casings.
  
-[http://​sparks.gogo.co.nz/​crimping/​index.html This tutorial] is a good read about crimping properly.+[[http://​sparks.gogo.co.nz/​crimping/​index.html|This tutorial]] is a good read about crimping properly.
  
 <callout type="​warning"​ icon="​true"​ title="​ Patience">​ <callout type="​warning"​ icon="​true"​ title="​ Patience">​
 +
 Please be careful and patient, if you have never done it before you will probably fail a few times before getting the hang of it. Also be careful to insert the crimp into your connector the right way around. Please be careful and patient, if you have never done it before you will probably fail a few times before getting the hang of it. Also be careful to insert the crimp into your connector the right way around.
 +
 </​callout>​ </​callout>​
  
 </​col>​ </​col>​
 <col md="​6">​ <col md="​6">​
-[[html]]<iframe width="​100%"​ height="​400px"​ src="​http://​www.youtube.com/​embed/​L8Mfvv1PqpY"​ frameborder="​0"​ allowfullscreen></​iframe>​[[/html]]+ 
 +<html><iframe width="​100%"​ height="​400px"​ src="​http://​www.youtube.com/​embed/​L8Mfvv1PqpY"​ frameborder="​0"​ allowfullscreen></​iframe>​</html
 </​col>​ </​col>​
 </​grid>​ </​grid>​
-=== <​html><​a name='​soldering-connectors'></​a></​html> ​Soldering connectors+ 
 +===  ​Soldering connectors 
 +<​html><​a name='​soldering-connectors'></​a></​html>​ 
  
 Please read [[http://​mightyohm.com/​files/​soldercomic/​FullSolderComic_EN.pdf|this comic]] before soldering anything. Please read [[http://​mightyohm.com/​files/​soldercomic/​FullSolderComic_EN.pdf|this comic]] before soldering anything.
  
-=== <​html><​a name='​doubling-steppers'></​a></​html> ​Using two steppers motor on a single driver+===  Using two steppers motor on a single driver 
 +<​html><​a name='​doubling-steppers'></​a></​html>​ 
  
 Stepper motor drivers on Smoothieboard can handle up to 2Amps per driver. ​ Stepper motor drivers on Smoothieboard can handle up to 2Amps per driver. ​
  
-If you want to control two separate motors with a single driver ( for example you have two stepper motors for your Y axis ​like on a [[http://​www.shapeoko.com/​|Shapeoko]],​ or two stepper motors for your Z axis like on a [[http://​reprap.org/​wiki/​Prusa_i3|Reprap Prusa i3]] ) and have both motors move simultaneously,​ you have two options.+If you want to control two separate motors with a single driver ( for example you have two stepper motors for your Y axis ​like on a [[http://​www.shapeoko.com/​|Shapeoko]],​ or two stepper motors for your Z axis like on a [[http://​reprap.org/​wiki/​Prusa_i3|Reprap Prusa i3]] ) and have both motors move simultaneously,​ you have two options.
  
 If the total of the current used by your motors is more than 2Amps ( for example two 1.5Amps motors are 3Amps ), you can not wire them together on a single driver, and you need to look at [[#​doubling-drivers|doubling drivers just bellow]]. If the total of the current used by your motors is more than 2Amps ( for example two 1.5Amps motors are 3Amps ), you can not wire them together on a single driver, and you need to look at [[#​doubling-drivers|doubling drivers just bellow]].
Line 50: Line 63:
 </​code>​ </​code>​
  
-=== <​html><​a name='​doubling-drivers'></​a></​html> ​Doubling stepper motor drivers.+===  ​Doubling stepper motor drivers. 
 +<​html><​a name='​doubling-drivers'></​a></​html>​ 
  
 If you need to drive two motors with a single axis, but the total current used for the motors is more than 2Amps ( for example two 1.5Amps motors add up to 3Amps ), you can not wire the steppers in parallel to a single driver and have it control both motors at the same time like described [[#​doubling-steppers|above]]. ​ If you need to drive two motors with a single axis, but the total current used for the motors is more than 2Amps ( for example two 1.5Amps motors add up to 3Amps ), you can not wire the steppers in parallel to a single driver and have it control both motors at the same time like described [[#​doubling-steppers|above]]. ​
  
-This is the case for example for the Y axis ​of [[http://​www.shapeoko.com|Shapeoko]] machines.+This is the case for example for the Y axis ​of [[http://​www.shapeoko.com|Shapeoko]] machines.
  
-In this case, you will need to use one driver for each of your motors. This means you need a Smoothieboard with one more stepper motor driver than you have axes. If you have 3 axes and need to double one, you will need a 4X or ​5X Smoothieboard.+In this case, you will need to use one driver for each of your motors. This means you need a Smoothieboard with one more stepper motor driver than you have axes. If you have 3 axes and need to double one, you will need a 4X or ​5X Smoothieboard.
  
 To enslave a driver to another, you will need to connect the control pins for both drivers together. To enslave a driver to another, you will need to connect the control pins for both drivers together.
Line 68: Line 83:
 The connectors for this can be found close to the stepper motor drivers, and are labelled. The connectors for this can be found close to the stepper motor drivers, and are labelled.
  
-[[html]]<iframe width="​560"​ height="​315"​ src="​http://​www.youtube.com/​embed/​b0dCM0JDYOM"​ frameborder="​0"​ allowfullscreen></​iframe>​[[/html]]+<html
 +<iframe width="​560"​ height="​315"​ src="​http://​www.youtube.com/​embed/​b0dCM0JDYOM"​ frameborder="​0"​ allowfullscreen></​iframe>​ 
 +</html>
  
-Finally you need to do two things in your configuration file : +Finally you need to do two things in your configuration file :
  
-First, set the current value for **both** drivers. For example if you are using beta and delta set : +First, set the current value for **both** drivers. For example if you are using beta and delta set : 
  
 <​code>​ <​code>​
Line 81: Line 98:
 Then, you need to make sure that none of the step, dir and enable configuration values for your slave stepper motor driver, are present in the configuration file. Then, you need to make sure that none of the step, dir and enable configuration values for your slave stepper motor driver, are present in the configuration file.
  
-For example if you are using gamma as a slave, make sure that none of the following values are present in the configuration file : +For example if you are using gamma as a slave, make sure that none of the following values are present in the configuration file : 
  
 <​code>​ <​code>​
Line 93: Line 110:
 Only remove the lines for the slave driver. Only remove the lines for the slave driver.
  
-=== <​html><​a name='​external-drivers'></​a></​html> ​External Stepper Drivers+===  ​External Stepper Drivers 
 +<​html><​a name='​external-drivers'></​a></​html>​ 
  
 The logic pins that control the stepper drivers are broken out on all 5 axes to 1x4 pin headers found near each driver on the board. The 4 pins are EN, DIR, STP, and ground. These pins or their equivalents are found on most external stepper drivers. Many drivers call the STP (step) pin PUL (pulse). Some will call the DIR (direction) pin PHA (phase). ​ The logic pins that control the stepper drivers are broken out on all 5 axes to 1x4 pin headers found near each driver on the board. The 4 pins are EN, DIR, STP, and ground. These pins or their equivalents are found on most external stepper drivers. Many drivers call the STP (step) pin PUL (pulse). Some will call the DIR (direction) pin PHA (phase). ​
Line 101: Line 120:
 <callout type="​success"​ icon="​true"​ title="​ Pins">​ <callout type="​success"​ icon="​true"​ title="​ Pins">​
  
-While this example will show using the pins of one of the on-board drivers to control the external driver, you can use pretty much any free GPIO pin ​to control the step/​direction/​enable pins on your external driver.+While this example will show using the pins of one of the on-board drivers to control the external driver, you can use pretty much any free GPIO pin ​to control the step/​direction/​enable pins on your external driver.
  
 See [[http://​smoothieware.org/​pinout|pinout]] and [[http://​smoothieware.org/​lpc1769-pin-usage|pin usage]] to find free pins. See [[http://​smoothieware.org/​pinout|pinout]] and [[http://​smoothieware.org/​lpc1769-pin-usage|pin usage]] to find free pins.
Line 112: Line 131:
 <div class='​panel panel-default wrap_center'​ style='​width:​640px;​padding:​10px '> <div class='​panel panel-default wrap_center'​ style='​width:​640px;​padding:​10px '>
 <div class='​panel-heading'><​h4 class='​panel-title'>​Wiring an external driver with a common cathode</​h4></​div>​ <div class='​panel-heading'><​h4 class='​panel-title'>​Wiring an external driver with a common cathode</​h4></​div>​
-<image src='​http://​arthurwolf.github.io/​smoothieboard-graphics/​schematics/​external-driver.svg' ​style='width:620'>+<image src='​http://​arthurwolf.github.io/​smoothieboard-graphics/​schematics/​external-driver.svg' ​width='620px'><br/>
 This shows control of an external driver using the pins on the positive side of the external driver'​s input. This shows control of an external driver using the pins on the positive side of the external driver'​s input.
 </​div>​ </​div>​
Line 122: Line 141:
 Two solutions to this : either use a [[https://​www.sparkfun.com/​products/​12009|level shifter]] or use the Smoothieboard'​s pins as Open-Drain ( ie linking to ground instead of linking to 3.3v, when closed ), and wire accordingly. Two solutions to this : either use a [[https://​www.sparkfun.com/​products/​12009|level shifter]] or use the Smoothieboard'​s pins as Open-Drain ( ie linking to ground instead of linking to 3.3v, when closed ), and wire accordingly.
  
-For example : +For example : 
  
 <​html>​ <​html>​
 <div class='​panel panel-default wrap_center'​ style='​width:​640px;​padding:​10px '> <div class='​panel panel-default wrap_center'​ style='​width:​640px;​padding:​10px '>
 <div class='​panel-heading'><​h4 class='​panel-title'>​Wiring an external driver with a common anode</​h4></​div>​ <div class='​panel-heading'><​h4 class='​panel-title'>​Wiring an external driver with a common anode</​h4></​div>​
-<image src='​http://​arthurwolf.github.io/​smoothieboard-graphics/​schematics/​external-driver-open-drain.svg' ​style='width:620'>+<image src='​http://​arthurwolf.github.io/​smoothieboard-graphics/​schematics/​external-driver-open-drain.svg' ​width='620px'><br/>
 Here, the 5V is taken from an endstop input'​s positive terminal, taken to the 5V inputs on the external driver. The step/​direction/​enable pins on the Smoothieboard are taken to the GND inputs on the external driver. Here, the 5V is taken from an endstop input'​s positive terminal, taken to the 5V inputs on the external driver. The step/​direction/​enable pins on the Smoothieboard are taken to the GND inputs on the external driver.
 </​div>​ </​div>​
Line 133: Line 152:
  
  
-In this case, you will also need to change those pins to be open-drain. To change a pin from being normal to being open-drain, you add a <​kbd>​o</​kbd>​ to the pin's number. For example :+In this case, you will also need to change those pins to be open-drain. To change a pin from being normal to being open-drain, you add a <​kbd>​o</​kbd> ​LowerCase "​o" ​to the pin's number. For example :
  
 <​code>​ <​code>​
Line 153: Line 172:
 It comes with an adapter for pololu-type drivers for RAMPS-type boards. However, you can also simply wire it to Smoothie'​s external driver connectors. It comes with an adapter for pololu-type drivers for RAMPS-type boards. However, you can also simply wire it to Smoothie'​s external driver connectors.
  
-The only catch is : the ​pins are not in the same order in Smoothie and on the driver'​s cable. (Note the colors maybe different on your cable)+The only catch is : the pins are not in the same order in Smoothie and on the driver'​s cable. (Note the colors maybe different on your cable)
  
 || Silencio cable color              || Black           || Green         || Red             || Blue             || || Silencio cable color              || Black           || Green         || Red             || Blue             ||
Line 176: Line 195:
  
 <​code>​ <​code>​
-alpha_step_pin ​       0.      # Pin for alpha stepper step signal +alpha_step_pin ​     2.      # Pin for alpha stepper step signal 
-alpha_dir_pin ​        ​0.5       # Pin for alpha stepper direction +alpha_dir_pin ​      ​0.5       # Pin for alpha stepper direction 
-alpha_en_pin ​         2.0!      # Pin for alpha enable pin+alpha_en_pin ​       0.4!      # Pin for alpha enable pin
 </​code>​ </​code>​
  
Line 185: Line 204:
 </​callout>​ </​callout>​
  
-=== <​html><​a name='solidstaterelay'></​a></​html>​ Solid State Relays+==== Multiple drivers in parralel 
 + 
 +If one of your axes requires more than one motor and driver, you can wire the control signals for one axis to multiple drivers, like so :  
 + 
 + 
 +<​html>​ 
 +<div class='panel panel-default wrap_center'​ style='​width:​640px;​padding:​10px ​'> 
 +<div class='​panel-heading'><​h4 class='​panel-title'>​External drivers wired in parralel</h4></​div>​ 
 +<href="​http://​smoothieware.org/​_detail/​unnamed.png?​id=general-appendixes"​ class="​media"​ title="​unnamed.png"​><img src="​http://​smoothieware.org/​_media/​unnamed.png?​w=800&​amp;​tok=f1375f"​ class="​media img-responsive"​ alt=""​ width="​620"></​a>​ 
 +<​br/>​ 
 +</​div>​ 
 +</​html>​ 
 + 
 + 
 + 
 + 
 +===  ​Solid State Relays 
 +<​html><​a name='​solidstaterelay'></​a></​html>​ 
  
 The big mosfets on the Smoothieboard can handle up to 12Amps. Sometimes that's not enough. Say you want to control a big spindle, a gigantic heated bed, or a tesla coil.  The big mosfets on the Smoothieboard can handle up to 12Amps. Sometimes that's not enough. Say you want to control a big spindle, a gigantic heated bed, or a tesla coil. 
Line 191: Line 228:
 Typical Solid State Relays ( SSR ) can handle up to 40Amps easily, sometimes more. AC ones can run 220V AC, and DC ones up to 60V DC ( typically, look at the specs for yours ). Typical Solid State Relays ( SSR ) can handle up to 40Amps easily, sometimes more. AC ones can run 220V AC, and DC ones up to 60V DC ( typically, look at the specs for yours ).
  
-To control your Solid State Relay ( SSR ), you will need one GPIO pin ​( use one of the free ones on the board ideally ), and a connection to GND ( plenty of those ).+To control your Solid State Relay ( SSR ), you will need one GPIO pin ​( use one of the free ones on the board ideally ), and a connection to GND ( plenty of those ).
  
-A SSR ​is essentially a big switch : you cut a wire, plug each end of the cut wire into it's two terminals, and then you'll be able to control whether or not those two ends of the wire connect or not. Simple as that.+A SSR ​is essentially a big switch : you cut a wire, plug each end of the cut wire into it's two terminals, and then you'll be able to control whether or not those two ends of the wire connect or not. Simple as that.
  
 <​html>​ <​html>​
 <div class='​panel panel-default wrap_center'​ style='​width:​640px;​padding:​10px '> <div class='​panel panel-default wrap_center'​ style='​width:​640px;​padding:​10px '>
 <div class='​panel-heading'><​h4 class='​panel-title'>​Wiring a Solid State Relay</​h4></​div>​ <div class='​panel-heading'><​h4 class='​panel-title'>​Wiring a Solid State Relay</​h4></​div>​
-<image src='​http://​arthurwolf.github.io/​smoothieboard-graphics/​schematics/​ssr-basic.svg' ​style='width:620'>+<image src='​http://​arthurwolf.github.io/​smoothieboard-graphics/​schematics/​ssr-basic.svg' ​width='620px'><br/>
 You will need to connect GND on the Smoothieboard to the "​-"​ connection on the Input side of the SSR, and the GPIO pin on the Smoothieboard to the "​+"​ connection on the Input side of the SSR. This example shows using P{{1.30}} You will need to connect GND on the Smoothieboard to the "​-"​ connection on the Input side of the SSR, and the GPIO pin on the Smoothieboard to the "​+"​ connection on the Input side of the SSR. This example shows using P{{1.30}}
 </​div>​ </​div>​
Line 218: Line 255:
 SSRs have a low maximum frequency they can be switched at. You need to specify that frequency or Smoothie will drive it way too fast. In this example, the maximum frequency is 20Hz. SSRs have a low maximum frequency they can be switched at. You need to specify that frequency or Smoothie will drive it way too fast. In this example, the maximum frequency is 20Hz.
  
-So, you need to modify your module to both use the correct pin ( the free GPIO you ​wired to the SSR ), and to the correct frequency. Here are the two lines to change : +So, you need to modify your module to both use the correct pin ( the free GPIO you ​wired to the SSR ), and to the correct frequency. Here are the two lines to change : 
  
 <​code>​ <​code>​
Line 233: Line 270:
 </​code>​ </​code>​
  
-[[html]]+<html>
 <iframe width="​100%"​ height="​720"​ src="​https://​www.youtube.com/​embed/​TiEwNf1H_Tc"​ frameborder="​0"​ allowfullscreen></​iframe>​ <iframe width="​100%"​ height="​720"​ src="​https://​www.youtube.com/​embed/​TiEwNf1H_Tc"​ frameborder="​0"​ allowfullscreen></​iframe>​
-[[/html]]+</html>
  
 === Swapping stepper motor drivers === Swapping stepper motor drivers
Line 245: Line 282:
 In that case, all you need to do is exchange the 3 pin definitions for these two axes. In that case, all you need to do is exchange the 3 pin definitions for these two axes.
  
-For example : +For example : 
  
 <​code>​ <​code>​
Line 269: Line 306:
 </​code>​ </​code>​
  
-Now your beta driver becomes your Z axis, and your gamma driver becomes your Y axis.+Now your beta driver becomes your Z axis, and your gamma driver becomes your Y axis.
  
 Please note that the current control parameters do not get swapped : <​kbd>​alpha_current</​kbd>​ always controls the current for M1, no matter what you do to the step/​direction pins. Please note that the current control parameters do not get swapped : <​kbd>​alpha_current</​kbd>​ always controls the current for M1, no matter what you do to the step/​direction pins.