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
temperaturecontrol [2018/05/31 10:15]
91.162.188.175
temperaturecontrol [2021/02/22 17:00] (current)
Line 11: Line 11:
 <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'>A hotend</h4></div> <div class='panel-heading'><h4 class='panel-title'>A hotend</h4></div>
-<image src='http://1.bp.blogspot.com/-00QOc_WaJMA/ULwmTTgrjdI/AAAAAAAAAIM/BPOgQuGsFZU/s1600/v_and_vb.JPG' width='620px'><br/>+<image src='/_media///external/http.1.bp.blogspot.com.00qoc.wajma.ulwmttgrjdi.aaaaaaaaaim.bpogqugsfzu.s1600.v.and.vb.jpg' width='620px'><br/>
 This is a J-head hotend with it's thermistor and heating element. This is a J-head hotend with it's thermistor and heating element.
 </div> </div>
Line 50: Line 50:
 <div class='panel panel-default wrap_right' style='width:420px;padding:10px '> <div class='panel panel-default wrap_right' style='width:420px;padding:10px '>
 <div class='panel-heading'><h4 class='panel-title'>Temperature conversion</h4></div> <div class='panel-heading'><h4 class='panel-title'>Temperature conversion</h4></div>
-<image src='http://chibidibidiwah.wdfiles.com/local--files/temperaturecontrol/upshot_4Q4Ah2HM.png' width='400px'><br/>+<image src='/_media///external/http.chibidibidiwah.wdfiles.com.local.files.temperaturecontrol.upshot.4q4ah2hm.png' width='400px'><br/>
 Resistance readings are converted into temperature readings using the magic of math Resistance readings are converted into temperature readings using the magic of math
 </div> </div>
Line 67: Line 67:
 A given controller board only has a given number of [[http://en.wikipedia.org/wiki/Analog-to-digital_converter|ADCs]] ( analog ( temperature ) to digital ( Smoothie ) converter ) capable pins. A given controller board only has a given number of [[http://en.wikipedia.org/wiki/Analog-to-digital_converter|ADCs]] ( analog ( temperature ) to digital ( Smoothie ) converter ) capable pins.
  
-On the [[smoothieboard]] for example, there are 4 thermistor inputs, labelled from **T0** to **T3**, and corresponding in the same order to the pins **0.23** to **0.26**. T0 is usually used for the hotend, and T1 for the bed.+On the [[smoothieboard]] for example, there are 4 thermistor inputs, labelled from **T0** (or th1) to **T3** (or th4), and corresponding in the same order to the pins **0.23** to **0.26**. T0 is usually used for the hotend, and T1 for the bed.
  
 Thermistor inputs are not polarized, the direction you connect them in on your board is not important. Thermistor inputs are not polarized, the direction you connect them in on your board is not important.
Line 76: Line 76:
  
  
-^ Smoothieboard thermistor input name ^ T0 ^ T1 ^ T2 ^ T3 ^ +^ Smoothieboard thermistor input name ^ T0 (th1) ^ T1 (th2) ^ T2(th3) ^ T3(th4) 
-|| Pin for configuration || 0.23 || 0.24 || 0.25 || 0.26 ||+| Pin for configuration | 0.23 | 0.24 | 0.25 | 0.26 |
  
 ~~CLEARFIX~~ ~~CLEARFIX~~
Line 104: Line 104:
 <html><a name='PT100'></a></html> <html><a name='PT100'></a></html>
  
-Note PT100 as used by the e3d amplifier is supported in current edge, but not in the current pre built binary firmware+Note PT100 as used by the e3d amplifier is supported in current edge, but not in the current pre built binary firmware.
  
-===== configuration and usage+===== Configuration and usage
  
 {{page>PT100}} {{page>PT100}}
Line 124: Line 124:
 Here is an example of how to connect the [[http://www.adafruit.com/products/269|Adafruit Thermocouple Amplifier MAX31855 breakout board]] to the smoothieboard.  Here is an example of how to connect the [[http://www.adafruit.com/products/269|Adafruit Thermocouple Amplifier MAX31855 breakout board]] to the smoothieboard. 
  
-||~ Smoothieboard ||~ Breakout board |+Smoothieboard Breakout board | 
-|| 3v3 || Vin |+| 3v3 | Vin | 
-|| GND || GND |+| GND | GND | 
-|| <kbd>0.16</kbd> CS || CS |+| <kbd>0.16</kbd> CS | CS | 
-|| <kbd>0.18</kbd> MOSI || Not used |+| <kbd>0.18</kbd> MOSI | Not used | 
-|| <kbd>0.15</kbd> SCK || CLK |+| <kbd>0.15</kbd> SCK | CLK | 
-|| <kbd>0.17</kbd> MISO || DO ||+| <kbd>0.17</kbd> MISO | DO |
  
 To configure smoothie to use the thermocouple connected like this, replace the thermistor and thermistor_pin parameters with the following: To configure smoothie to use the thermocouple connected like this, replace the thermistor and thermistor_pin parameters with the following:
Line 190: Line 190:
 The component turning the current on and off can be a [[http://en.wikipedia.org/wiki/MOSFET|mosFET]] ( like on [[Smoothieboard]] ) or a [[https://en.wikipedia.org/wiki/Solid-state_relay|Solid-State Relay]] for example. The component turning the current on and off can be a [[http://en.wikipedia.org/wiki/MOSFET|mosFET]] ( like on [[Smoothieboard]] ) or a [[https://en.wikipedia.org/wiki/Solid-state_relay|Solid-State Relay]] for example.
  
-This is controlled from the board running Smoothie using a GPIO pin+This is controlled from the board running Smoothie using a GPIO pin
  
 In the case of mosfets, on a [[Smoothieboard]], a given pin is connected to a given mosfet, and you have to use that specific pin to control that specific mosfet.  In the case of mosfets, on a [[Smoothieboard]], a given pin is connected to a given mosfet, and you have to use that specific pin to control that specific mosfet. 
Line 199: Line 199:
 <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'>Mosfet inputs and outputs</h4></div> <div class='panel-heading'><h4 class='panel-title'>Mosfet inputs and outputs</h4></div>
-<image src='http://arthurwolf.github.io/smoothieboard-graphics/schematics/mosfet-input-output.svg' width='620px'><br/>+<image src='/_media///smoothieboard-graphics/schematics/mosfet-input-output.svg.png' width='620px'><br/>
  
 </div> </div>
Line 298: Line 298:
 <callout type="danger" icon="true" title=" This can happen to you"> <callout type="danger" icon="true" title=" This can happen to you">
  
-<html><image src="http://chibidibidiwah.wdfiles.com/local--files/temperaturecontrol/fire.jpg" style="width:100%"></html>+<html><image src="/_media///external/http.chibidibidiwah.wdfiles.com.local.files.temperaturecontrol.fire.jpg" style="width:100%"></html>
  
 It has already been known to happen to Reprap/CNC enthusiasts. For an example see [[http://www.soliforum.com/post/57749/#p57749|here]]. It has already been known to happen to Reprap/CNC enthusiasts. For an example see [[http://www.soliforum.com/post/57749/#p57749|here]].
Line 340: Line 340:
 Once this is set, it will be impossible to set temperatures higher than the <kbd>max_temp</kbd> value. Once this is set, it will be impossible to set temperatures higher than the <kbd>max_temp</kbd> value.
  
-Also, if the temperature reaches this <kbd>max_temp</kbd> temperature, Smoothie will turn off all heaters, go into HALT state, and print out the following message : +Also, if the temperature reaches this <kbd>max_temp</kbd> temperature, Smoothie will turn off all heaters, go into HALT state, and print out the following message : 
  
 <code> <code>
Line 386: Line 386:
  
 You can disable this by setting it to 0. You can disable this by setting it to 0.
 +
 +Please note that if your PID settings are not correctly tuned, this can get activated by accident because of the "swings" un-tuned temperature curves can have. Please tune your PID settings before activating this feature.
 +
 +If the Smoothieboard is being a bit too strict with detecting the temperatures, you can add <kbd>runaway_error_range</kbd> as a parameter ( optional ), it is 1° by default meaning acceptable temperature detected can be +/- 1° of the set temp. If your printer tends to not stick close enough to the right temperature, increase this value. It only applies to the heat up and cool down timeouts.
  
 <callout type="warning" icon="true" title="Cool down timeout"> <callout type="warning" icon="true" title="Cool down timeout">
  
-**NOTE**  If you set <kbd>runaway_cooling_timeout</kbd> then understand that if you set a bed temp when the bed is already hotter than the setting it will need to cool down within the time period you set. If the bed has a lot of thermal mass then this may take a long time or actually never happen, and a timeout will occur eventually. This is why it is disabled by default. However if you do reduce the bed temperature during a print you **MUST** set this value otherwise you will get a runaway detection error if the new temp is lower then the current temp.+**NOTE**  If you set <kbd>runaway_cooling_timeout</kbd> then understand that if you set a bed temp when the bed is already hotter than the setting it will need to cool down within the time period you set. If the bed has a lot of thermal mass then this may take a long time or actually never happen, and a timeout will occur eventually. This is why it is disabled by default. However if you do reduce the bed temperature during a print you **MUST** set this value otherwise you will get a runaway detection error if the new temp is lower then the current temp. This is also true of setting the hotend temperature lower while printing, then you also need to set this timeout correctly.
 </callout> </callout>
  
Line 406: Line 410:
 </code> </code>
  
-Where the value is how much bellow or above the target temperature we can be without triggering the alert.+Where the value is how much below or above the target temperature we can be without triggering the alert.
  
 Now, if temperature gets out of the specified range, Smoothie will know there is a problem, enter HALT state, turn off heaters, and show the following message :  Now, if temperature gets out of the specified range, Smoothie will know there is a problem, enter HALT state, turn off heaters, and show the following message : 
Line 413: Line 417:
 Error : Temperature runaway on T, HALT asserted, TURN POWER OFF IMMEDIATELY - reset or M999 required Error : Temperature runaway on T, HALT asserted, TURN POWER OFF IMMEDIATELY - reset or M999 required
 </code> </code>
- 
-Please note that if your PID settings are not correctly tuned, this can get activated by accident because of the "swings" un-tuned temperature curves can have. Please tune your PID settings before activating this feature. 
- 
-If the Smoothieboard is being a bit too strict with detecting the temperatures, you can add <kbd>runaway_error_range</kbd> as a parameter ( optional ), it is 1° by default meaning acceptable temperature detected can be +/- 1° of the set temp. If your printer tends to not stick close enough to the right temperature, increase this value. 
  
 ==== Recovering from HALT state ==== Recovering from HALT state
Line 498: Line 498:
 <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'>Using a SSR to cut off the power supply in case of problem</h4></div> <div class='panel-heading'><h4 class='panel-title'>Using a SSR to cut off the power supply in case of problem</h4></div>
-<image src='http://arthurwolf.github.io/smoothieboard-graphics/schematics/ssr-for-psu.svg' width='620px'><br/>+<image src='/_media///smoothieboard-graphics/schematics/ssr-for-psu.svg.png' width='620px'><br/>
 The SSR goes between the power supply and the Smoothieboard's power input (note: This image is showing an AC switching SSR controlling DC voltage. Only use a DC output SSR to control DC voltage. You may instead wire this to control the AC input to the power supply, in which case an AC switching SSR is the correct part.) The SSR goes between the power supply and the Smoothieboard's power input (note: This image is showing an AC switching SSR controlling DC voltage. Only use a DC output SSR to control DC voltage. You may instead wire this to control the AC input to the power supply, in which case an AC switching SSR is the correct part.)
 </div> </div>
Line 518: Line 518:
 Here are all the possible configuration options for your TemperatureControl modules Here are all the possible configuration options for your TemperatureControl modules
  
-||~ Option ||~ Example value ||~ Explanation ||+Option Example value Explanation |
 {{page>temperaturecontrol-options}} {{page>temperaturecontrol-options}}
  
Line 531: Line 531:
 * <kbd>M190</kbd> : **Configurable**, Set the temperature target for this module then wait for it to be reached. 190 is usually used for heated beds, the S parameter is the temperature in °C, for example : <kbd>M190 S50</kbd> * <kbd>M190</kbd> : **Configurable**, Set the temperature target for this module then wait for it to be reached. 190 is usually used for heated beds, the S parameter is the temperature in °C, for example : <kbd>M190 S50</kbd>
 * <kbd>M301</kbd> : Edit temperature control PID parameters, for example : <kbd>M301 S0 P30 I10 D10</kbd>, where S is the number of the temperaturecontrol module to change the parameters for * <kbd>M301</kbd> : Edit temperature control PID parameters, for example : <kbd>M301 S0 P30 I10 D10</kbd>, where S is the number of the temperaturecontrol module to change the parameters for
-* <kbd>M305</kbd> :  Set parameters for the thermistor, where <kbd>B</kbd> is beta, <kbd>R</kbd> is r0 and <kbd>X</kbd> is t0.+* <kbd>M305</kbd> Set parameters for the thermistor, where <kbd>B</kbd> is beta, <kbd>R</kbd> is r0 and <kbd>X</kbd> is t0.
 * <kbd>M500</kbd> : Save volatile settings to an override file  * <kbd>M500</kbd> : Save volatile settings to an override file 
 * <kbd>M503</kbd> : Display overridden settings if any * <kbd>M503</kbd> : Display overridden settings if any