thermferm/thermferm.c

changeset 267
a84792cab21c
parent 259
b7c967359771
child 268
dda91dfa4aa8
equal deleted inserted replaced
266:07819a7ad3c1 267:a84792cab21c
1275 /* 1275 /*
1276 * A postive value means heating, a negative value cooling. 1276 * A postive value means heating, a negative value cooling.
1277 */ 1277 */
1278 Out = (10.0*P_err) + (0.1*unit->PID_I_err) + (5*D_err); 1278 Out = (10.0*P_err) + (0.1*unit->PID_I_err) + (5*D_err);
1279 // Kp 0.1 Ki 0.3 Kd 0.02 1279 // Kp 0.1 Ki 0.3 Kd 0.02
1280 if (debug) 1280 if (err != 0.0) {
1281 fprintf(stdout, "sp=%.2f pv=%.2f err_old=%.2f err=%.2f P_err=%.2f I_err=%.2f D_err=%.2f Out=%.2f\n", 1281 if (debug)
1282 sp, pv, unit->PID_err_old, err, P_err, unit->PID_I_err, D_err, Out); 1282 fprintf(stdout, "sp=%.2f pv=%.2f err_old=%.2f err=%.2f P_err=%.2f I_err=%.2f D_err=%.2f Out=%.2f\n",
1283 syslog(LOG_NOTICE, "sp=%.2f pv=%.2f err_old=%.2f err=%.2f P_err=%.2f I_err=%.2f D_err=%.2f Out=%.2f",
1284 sp, pv, unit->PID_err_old, err, P_err, unit->PID_I_err, D_err, Out); 1283 sp, pv, unit->PID_err_old, err, P_err, unit->PID_I_err, D_err, Out);
1284 syslog(LOG_NOTICE, "sp=%.2f pv=%.2f err_old=%.2f err=%.2f P_err=%.2f I_err=%.2f D_err=%.2f Out=%.2f",
1285 sp, pv, unit->PID_err_old, err, P_err, unit->PID_I_err, D_err, Out);
1286 }
1285 if (unit->heater_address) { 1287 if (unit->heater_address) {
1286 if (Out >= 2) { 1288 if (Out >= 2) {
1287 if (! unit->heater_state) 1289 if (! unit->heater_state)
1288 syslog(LOG_NOTICE, "Heater Off => On"); 1290 syslog(LOG_NOTICE, "Heater Off => On");
1289 unit->heater_state = 100; 1291 unit->heater_state = 100;

mercurial