Extruder I/O | ||||||||
| Line: 30 to 30 | ||||||||
|---|---|---|---|---|---|---|---|---|
| The two parameters VR and PS together define the timing behaviour. It is intended that the host controller software will dynamically adjust these parameters to keep the timer values as close to 255 as possible, without overflowing. If an overflow occurs the timing should be slowed down (or VR increased) so that overflow stops. If the timer values are too low, the timing should be sped up (or VR decreased) to increase the timer values. At any stage, with the knowledge of the current PS and VR values and the charge time, the host software can calculate the resistance and therefore the temperature. | ||||||||
| Changed: | ||||||||
| < < |
This automatic ranging behaviour allows for the most accuracy possible throughout the desired temperature range. To make the most of auto-ranging capability, the capacitor value should be matched to the thermistor range. The capacitor value is currently assumed to be 1μF and is hard coded. Since ideally this depends on the thermistor used, the capacitor value should be stored in the application preferences. 1μF will not be suitable for all thermistors. The ideal capacitor value can be calculated: | |||||||
| > > |
This automatic ranging behaviour allows for the most accuracy possible throughout the desired temperature range. To make the most of auto-ranging capability, the capacitor value should be matched to the thermistor range. The capacitor value is currently assumed to be 10nF and is hard coded. Since ideally this depends on the thermistor used, the capacitor value should be stored in the application preferences. 10nF will not be suitable for all thermistors. The ideal capacitor value can be calculated: | |||||||
Capacitor calculatorGiven a desired maximum temperature and level of accuracy, this calculator will determine the appropriate capacitor value to match your thermistor. | ||||||||
| Line: 84 to 84 | ||||||||
| var r1 = calculateResistanceForTemperature(t1); var r2 = calculateResistanceForTemperature(t2); | ||||||||
| Changed: | ||||||||
| < < |
var c = 1.0 / ((r1 - r2) * Math.log(0.28125)*1000000); | |||||||
| > > |
// * commented out by Adrian; fudge added below * var c = 1.0 / ((r1 - r2) * Math.log(0.28125)*1000000); var c = 0.05 / ((r1 - r2) * Math.log(0.28125)*1000000); | |||||||
| form.cap.value = friendlyCap(c); | ||||||||
| Line: 99 to 100 | ||||||||
| ||||||||
| Changed: | ||||||||
| < < |
| |||||||
| > > |
| |||||||
| ||||||||
| Changed: | ||||||||
| < < |
| |||||||
| > > |
| |||||||
| ||||||||
| Line: 136 to 137 | ||||||||
| Vc = 5(1-exp(-t/RC)) vs the VREF. Probably the most sensible way to do this is specify the max temperature and desired error size. Then the capacitor can be calculated, as well as the lowest temperature that can be measured. Example outline (fill in details): | ||||||||
| Changed: | ||||||||
| < < |
Thermistor β=5237
Thermistor Rz=483038 | |||||||
| > > |
Thermistor β=3480
Thermistor Rz=29000 | |||||||
| Aim for a max temperature of 220°C ±2. | ||||||||