Commit Graph

112 Commits

Author SHA1 Message Date
Cameron Lai
6460709d92 Fix bug in PID Autotune report 2014-04-25 16:05:05 +08:00
David Forrest
8c4377dd63 temperature.cpp: Fix PID_DEBUG compile error. 2014-02-26 00:44:22 -05:00
ErikZalm
e8291ed728 Merge pull request #802 from Makers-Tool-Works/Marlin_v1
Clarify which PID values to enter
2014-02-24 22:31:13 +01:00
RoyOnWheels
aee63afccd Clarify which PID values to enter
Users can be confused as to which values to enter after a PID tune. Updating the message to help clarity it.
New message: "PID Autotune finished! Put the last Kp, Ki and Kd constants from above into Configuration.h"

Old message: "PID Autotune finished! Put the Kp, Ki and Kd constants into Configuration.h"
2014-02-23 14:36:50 -08:00
Christian Axelsson
c00383f286 Fixed typo. 2014-02-18 18:50:12 +01:00
ErikZalm
0d81ae77bc Merge pull request #727 from drf5n/oversampling
temperature.cpp: Actually use OVERSAMPLENR in the oversampling calculation.
2014-01-31 07:09:10 -08:00
David Forrest
476c7193d8 temperature.cpp: Use OVERSAMPLENR in oversampling calculation. 2014-01-21 16:49:03 -05:00
daid
df194f75e1 Added PT100 support for Ultiboard2 2014-01-06 11:20:03 +01:00
Alex Borro
5c44f6c434 Bed Heater monitoring in Controller Fan
In some cases the Bed Heater FET heats up more then stepper drivers, so
this change add the bed monitoring to the controller fan. As soon as the
bed heater is turned on, the controller fan will run as well.
2013-11-27 23:23:06 -02:00
Alex Borro
35905ea4f9 Allow heaters to stay full On when PWM=127
In previous version, even with PWM = 127, the system turns the FET off
and then on in the next cycle. This bevavior may increase the FET heat
dissipation.
It was fixed keeping the FET always On when PWM=127.
2013-11-27 18:13:38 -02:00
Erik van der Zalm
69af392554 Added HEATERS_PARALLEL (Request from reifsnyderb)
This allows a hot end with two heaters and a FET for each heater. This is useful if the FET is not capable of heating two heaters.
2013-11-17 13:29:02 +01:00
bkubicek
d147a057ac Add the socalled "Babystepping" feature.
It is a realtime control over the head position via the LCD menu system that works _while_ printing.
Using it, one can e.g. tune the z-position in realtime, while printing the first layer.
Also, lost steps can be manually added/removed, but thats not the prime feature.
Stuff is placed into the Tune->Babystep *

It is not possible to have realtime control via gcode sending due to the buffering, so I did not include a gcode yet. However, it could be added, but it movements will not be realtime then.

Historically, a very similar thing was implemented for the "Kaamermaker" project, while Joris was babysitting his offspring, hence the name.

say goodby to fuddling around with the z-axis.
2013-10-06 21:14:51 +02:00
ErikZalm
07e7de3600 Merge pull request #569 from hg42/convert-PROTOCOL-macros-from-statements-to-expressions
convert PROTOCOL macros from statements to (multiple, comma separated) expressions
2013-08-02 13:13:29 -07:00
hg42@gmx.net
3700f688f5 convert PROTOCOL macros from statements to (multiple, comma separated) expressions 2013-08-01 14:56:39 +02:00
daid
a504c88346 Fix a bug where the PID controllers D action kicks in hard as soon as the PID controller starts. 2013-08-01 14:12:30 +02:00
Erik van der Zalm
bd96d22bfb Merge branch 'Marlin_v1' into thinkyhead
Conflicts:
	Marlin/Configuration.h
	Marlin/Configuration_adv.h
	Marlin/Marlin.h
	Marlin/Marlin_main.cpp
	Marlin/Servo.cpp
	Marlin/language.h
	Marlin/pins.h
	Marlin/planner.cpp
	Marlin/ultralcd_implementation_hitachi_HD44780.h
	README.md
2013-06-09 22:26:47 +02:00
Erik van der Zalm
c8dcc7c208 Allow increasing the software PWM frequency. 2013-06-09 12:52:49 +02:00
Scott Lahteine
5dabc95409 Apply all changes from latest Marlin_V1
Diffed and merged, preserving my updates
2013-06-06 15:49:25 -07:00
Erik van der Zalm
5090c56651 More redundant temp sensor changes. (After testing and debugging by reifsnderb) 2013-05-29 19:29:30 +02:00
Erik van der Zalm
9be61cdc02 Added redundant temp sensor 2013-05-26 17:57:49 +02:00
Robert F-C
40eb07bad4 Revert and extend previous change pin check change
Reviert previous change of #if BLAH_PIN > 0 to #if defined(BLAH_PIN) &&
BLAH_PIN > -1. Unfortunately some times pin 0 is used. For my sins I've
gone through and replaced all unsafe checks of #if BLAH_PIN > -1 with
the safe version.
2013-05-22 21:33:23 +10:00
Robert F-C
0d4a9444c4 Merge remote-tracking branch 'upstream/Marlin_v1' into Marlin_v1 2013-05-19 08:50:58 +10:00
MaikStohn
95dff34b73 fixed wrong compare for min temp check of heater 1 and heater 2 2013-05-16 01:17:38 +02:00
MaikStohn
4cc6f9f6de fixed wrong pin initialization when using temperature 2 pin input 2013-05-16 01:17:08 +02:00
MaikStohn
61a48cc662 Add support for RUMBA thermocouple add on 2013-05-16 01:16:33 +02:00
Scott Lahteine
a200521eab Added CUSTOM_MENDEL_NAME option to Configuration.h and language.h
Also cosmetic comment changes and spelling corrections in printed
messages
2013-05-02 09:22:58 -07:00
Robert F-C
d5ad7a0814 Rework change to incorporate CONTROLLERFAN
Also refactor extruder auto fan logic to simplify further and now only
check every 2.5 seconds
2013-04-30 01:08:29 +10:00
Robert F-C
c3cdaceab3 Merge remote-tracking branch 'upstream/Marlin_v1' into Marlin_v1 2013-04-29 22:13:55 +10:00
Simon Oliver
93f0463b21 Allow Edit menu to call fn after edit; Fix PID Ki and Kd display in menus; Actually use changed PID and Max Accel values
Add new 'callback' edit-menu types that call a function after the edit is done. Use this to display and edit Ki and Kd correctly (removing the scaling first and reapplying it after). Also use it to reset maximum stepwise acceleration rates, after updating mm/s^2 rates via menus. (Previously, changes did nothing to affect planner unless saved back to EEPROM, and the machine reset).

Add calls to updatePID() so that PID loop uses updated values whether set by gcode (it already did this), or by restoring defaults, or loading from EEPROM (it didn't do those last two). Similarly, update the maximum step/s^2 accel rates when the mm/s^2 values are changed - whether by menu edits, restore defaults, or EEPROM read.

Refactor the acceleration rate update logic, and the PID scaling logic, into new functions that can be called from wherever, including the callbacks.

Add menu items to allow the z jerk and e jerk to be viewed/edited in the Control->Motion menu, as per xy jerk.

Conflicts:
	Marlin/language.h
2013-04-12 13:31:30 +02:00
whosawhatsis
fd5b7e0cec Separate PID_MAX from BANG_MAX
This allows PID_FUNCTIONAL_RANGE to use a maximum duty cycle higher
than PID_MAX. This is useful for powerful heaters to heat quickly in
bang-bang mode, but use a lower duty cycle that is easier to stabilize
in PID mode.
2013-03-22 18:16:26 -07:00
Robert F-C
f1263d3f88 Further reduce code by using precompiler logic 2013-03-02 16:12:11 +11:00
Robert F-C
372e12f83f Implement automatic extruder/cold-end fan control based on temperature
This change allows fan outputs to automatically turn on/off when the
associated nozzle temperature of an extruder is above/below a threshold
temperature.
Multiple extruders can be assigned to the same pin in which case the fan
will turn on when any selected extruder is above the threshold.
It also makes the M42 command compatible with the M106/M107 command.
The majority of the logic in this change will be evaluated by the
compiler at build time (i.e, low code space requirements).
2013-03-01 21:57:23 +11:00
daid303
38ee395ac7 Replace the 1ms delay for 2 nops to get a 100ns delay. #259 2012-12-17 11:12:11 +01:00
oni303
ab09fa4bbf fixed pwm generation at pin D12 and D13 when one of them is used as FAN_PIN on Sanguino, added soft pwm entry for FAN_PIN in temperature.cpp 2012-12-16 01:36:57 +01:00
daid303
08356361ac Fixing a problem with heated beds not working without PID and BED_LIMIT_SWITCHING 2012-12-13 10:25:29 +01:00
daid303
f30b46b2a8 One more fix for #338, I really should get a heated bed to test with. 2012-12-12 23:06:17 +01:00
daid303
65c3f1ffcd Most likely fixing #338 2012-12-12 21:56:17 +01:00
daid303
55ba90ac19 Add PID functional range setting. With high powered heaters the current functional range of 10 degrees causes high overshoots as the PID needs to kick in before the temperature hits 10 degrees below target. 2012-12-12 09:08:37 +01:00
daid303
5ff5cee8ce Fix the sensitive pin definitions, there where analogue numbers in the digital pin list. Also made M42 without a P function on the LED_PIN (which was otherwise a useless pin definition) 2012-12-11 14:53:53 +01:00
daid303
3fb07d9b8d Add MINTEMP/MAXTEMP error to LCD, and fix temperature bug with more then 1 extruder. 2012-12-10 10:48:46 +01:00
daid303
82c8724b33 Fix compile with PID_DEBUG 2012-12-09 23:50:12 +01:00
daid303
52158dffcc Big temperature code update. No longer converts back and forwards between temperature and raw sample value. Reducing complexity, removing code. Also named some variables better. While keeping the safety intact and functionality the same. 2012-12-09 23:00:06 +01:00
daid303
587154c01b Fix the WATCHPERIOD implementation. It did not work correctly in a multi extruder setup, it did not work after 32 seconds after startup (int16 used as millies timestamp). And it did not work if you gave an M104 or M109 when the target was already around the target setpoint. So on average, it did not work at all. The new implementation should be robust in detecting a failure to heat up. 2012-12-06 10:36:07 +01:00
daid303
529748894c Minor changes in the temperature code for some cleanup. 2012-12-05 19:54:01 +01:00
daid303
6a9bee27cc Changed the naming of some LCD functions, so the names match better what the function does. Also moved around some prototypes for general cleanup. 2012-12-03 12:52:00 +01:00
daid303
94ea26ff46 Some minor changes on code style. And a bugfix where the counters for positioning in the stepper where wrong depending on compiler settings. (Caused strange values to reported back with M114 and endstop triggers). Also fixed compiling with FWRETRACT enabled. 2012-12-03 12:13:20 +01:00
daid303
72586eb30a Solved few warnings. 2012-11-12 09:29:12 +01:00
daid303
06b58a9c4f First cleanup. Moved all code to cpp files, so there are no dependencies on pde files. And no more odd requirement to cat files together. (Still need to fix the Makefile). Also cleaned up some defines and made defines upper case as by C coding conventions. 2012-11-06 12:06:41 +01:00
Mark Finn
d197f8504b clean up and changes from testing 2012-09-17 19:18:50 -05:00
Mark Finn
eb06a886c4 missed 2012-09-17 14:23:49 -05:00