Browse Source

Added temperature offset/gain settings for AD595.

Daid 13 years ago
parent
commit
73344e69c1
2 changed files with 10 additions and 4 deletions
  1. 6
    0
      Marlin/Configuration.h
  2. 4
    4
      Marlin/temperature.cpp

+ 6
- 0
Marlin/Configuration.h View File

66
 #define HEATER_2_MAXTEMP 275
66
 #define HEATER_2_MAXTEMP 275
67
 #define BED_MAXTEMP 150
67
 #define BED_MAXTEMP 150
68
 
68
 
69
+//These defines help to calibrate the AD595 sensor in case you get wrong temperature measurements.
70
+//The measured temperature is defined as "actualTemp = (measuredTemp * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET"
71
+#define TEMP_SENSOR_AD595_OFFSET 0.0
72
+#define TEMP_SENSOR_AD595_GAIN   1.0
73
+
74
+
69
 // PID settings:
75
 // PID settings:
70
 // Comment the following line to disable PID and enable bang-bang.
76
 // Comment the following line to disable PID and enable bang-bang.
71
 #define PIDTEMP
77
 #define PIDTEMP

+ 4
- 4
Marlin/temperature.cpp View File

312
 
312
 
313
     return (1023 * OVERSAMPLENR) - raw;
313
     return (1023 * OVERSAMPLENR) - raw;
314
   }
314
   }
315
-  return celsius * (1024.0 / (5.0 * 100.0) ) * OVERSAMPLENR;
315
+  return ((celsius-TEMP_SENSOR_AD595_OFFSET)/TEMP_SENSOR_AD595_GAIN) * (1024.0 / (5.0 * 100.0) ) * OVERSAMPLENR;
316
 }
316
 }
317
 
317
 
318
 // Takes bed temperature value as input and returns corresponding raw value. 
318
 // Takes bed temperature value as input and returns corresponding raw value. 
342
 
342
 
343
     return (1023 * OVERSAMPLENR) - raw;
343
     return (1023 * OVERSAMPLENR) - raw;
344
 #elif defined BED_USES_AD595
344
 #elif defined BED_USES_AD595
345
-    return lround(celsius * (1024.0 * OVERSAMPLENR/ (5.0 * 100.0) ) );
345
+    return lround(((celsius-TEMP_SENSOR_AD595_OFFSET)/TEMP_SENSOR_AD595_GAIN) * (1024.0 * OVERSAMPLENR/ (5.0 * 100.0) ) );
346
 #else
346
 #else
347
     #warning No heater-type defined for the bed.
347
     #warning No heater-type defined for the bed.
348
     return 0;
348
     return 0;
390
 
390
 
391
     return celsius;
391
     return celsius;
392
   }
392
   }
393
-  return raw * ((5.0 * 100.0) / 1024.0) / OVERSAMPLENR;
393
+  return ((raw * ((5.0 * 100.0) / 1024.0) / OVERSAMPLENR) * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET;
394
 }
394
 }
395
 
395
 
396
 // Derived from RepRap FiveD extruder::getTemperature()
396
 // Derived from RepRap FiveD extruder::getTemperature()
421
     return celsius;
421
     return celsius;
422
     
422
     
423
   #elif defined BED_USES_AD595
423
   #elif defined BED_USES_AD595
424
-    return raw * ((5.0 * 100.0) / 1024.0) / OVERSAMPLENR;
424
+    return ((raw * ((5.0 * 100.0) / 1024.0) / OVERSAMPLENR) * TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET;
425
   #else
425
   #else
426
     #warning No heater-type defined for the bed.
426
     #warning No heater-type defined for the bed.
427
   #endif
427
   #endif

Loading…
Cancel
Save