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
Mark Finn
04631d2250
cleanup for pull
2012-09-17 14:17:24 -05:00
Mark Finn
9698f4ea64
bed pid
...
Conflicts:
Marlin/Configuration.h
2012-09-12 21:18:59 -05:00
ZetaPhoenix
e8c92e0a95
Missing #else in temperature.cpp prevented reading bed temp when TEMP_BED_PIN <7. Thanks to Leland Wallace for helping me track this down via "Sesame Street" coding (what is not like the other)
2012-09-09 16:06:02 -07:00
Dabble63
6b45e9f167
Add Duty Cycling to the Heater Bed
2012-08-11 09:17:47 +03:00
Erik van der Zalm
e31bef31ad
Limit PID autotune PWM to PID_MAX
2012-05-16 19:32:23 +02:00
Erik van der Zalm
1874cb71a6
Added option to increase the FAN PWM frequency.
2012-05-02 19:26:14 +02:00
Logan Bowers
3eacb4c16d
Wrap the call to turn off the bed heater in a #if to prevent a compile error on boards that do not have a bed heater
2012-04-25 19:22:38 -07:00
Bernhard
33bb044d7c
fixed catsting to (int)e in serial error messages.
...
see https://github.com/ErikZalm/Marlin/issues/148
2012-04-22 20:04:39 +02:00
Erik van der Zalm
67cf105bc6
Fixed AUTOTEMP (M109 S215 B260 F1 starts autotemp)
...
Changed SLOWDOWN. IF this does not work ok OLD_SLOWDOWN is the old algo.
2012-04-15 19:17:33 +02:00
Erik van der Zalm
8aee9d51b6
Disabled disable_heater in PID_autotune.
2012-04-12 21:12:31 +02:00
Daid
414408b2d0
Fix for wrong systax in #ifdef.
2012-04-12 14:01:30 +02:00
Erik van der Zalm
cf7c8c458f
Fixed MAX6675
2012-04-10 21:57:57 +02:00
Erik van der Zalm
63aec3c56e
Replaced Kill by Stop. If the printer is stopped. Fix the error and use M999 to restart.
...
Moved the PID_dT in the Ki and Kd calculation from the configuration.h to temperature.cpp
2012-03-25 14:36:51 +02:00
Erik van der Zalm
33f5697888
PPID tune exports more constants.
2012-03-11 22:18:25 +01:00
Erik van der Zalm
15ad923310
Removed !!!. Stupid arduino bootloader can't handle this.
2012-03-09 17:42:32 +01:00
Erik van der Zalm
c077316b2b
Added PID autotune. (experimental)
...
M303 Starts autotune. Wait till the Kp Ki and Kd constants are printed.
Put these values in Configuration.h
2012-03-08 21:43:21 +01:00
haxar
79a466ca26
make analog2tempBed return a precise celsius reading for BED_USES_THERMISTOR, complementing changes to analog2temp in d15f01e
2012-03-02 17:15:21 -08:00
Erik van der Zalm
b48d67ce10
Fixed homing
2012-02-27 18:31:40 +01:00
Phil Hord
740f0c7690
Add explicit #define for bogus temp override
...
The code to ignore the "bad thermistor reading failsafe"
suicide function depends on the existing of the PS_ON pin
feature. But in some boards this shouldn't be the case
Fix this by adding an explicit definition to make our
intentions more clear and separable.
2012-02-26 20:26:16 -05:00
Erik van der Zalm
4fbda5c3f5
Merge remote-tracking branch 'daid/Marlin_v1' into Test
2012-02-26 16:10:59 +01:00
Daid
73344e69c1
Added temperature offset/gain settings for AD595.
2012-02-16 11:05:08 +01:00
Christian Thalhammer
d309565b56
Merge remote-tracking branch 'upstream/Marlin_v1' into Marlin_v1
...
Conflicts:
Marlin/Configuration.h
2012-02-13 13:07:55 +01:00
Erik van der Zalm
11518a987f
merged with triffid fork
2012-02-12 13:58:36 +01:00
Christian Thalhammer
14702089ee
-disable TEMP Min MAX Kill while using PS_ON Pin
...
ON GEN7 there is no temperature reading when power is off.. so Marlin
would kill itself. There seems to be an update from "Traumflug" on GEN7
using standby VCC for thermistors.
2012-02-06 12:28:33 +01:00
Erik van der Zalm
9f139d6e0e
Added MAX6675 support. (Thanks to gregfrost)
...
Needs some work to remove the blocking in read max6675.
2012-02-05 13:05:07 +01:00
Michael Moon
8d0916af13
allow Marlin to actually compile with Makefile pulled from Sprinter and a few other modifications
2012-01-24 13:18:54 +11:00
Bernhard
3c1a4aac2b
header file simplification
2011-12-22 12:38:50 +01:00
Bernhard
415aadf704
lcd panel bed support
...
advance and ultipanel not any more in default config
2011-12-22 11:45:52 +01:00
Erik van der Zalm
84d9cf7339
merging
2011-12-12 20:35:46 +01:00
Erik van der Zalm
e017228569
Merged multiple extruder support.
...
Soft PWM. (Sanguinololu can also have PID temperature control)
Interrupt save WRITE for addresses > 0x0FF
2011-12-12 19:34:37 +01:00
Bernhard
88ee053af0
heating up santity, formarly knows as "watchdog", but renamed due to the existance of the real watchdog, works now.
2011-12-09 17:07:44 +01:00
Denis B
4fd75dc813
Working version of multiple extruders (up to 3)
...
- The temperature control is pretty much complete
(not sure what to do w/ autotemp though)
Changed the pins assignment to clearly separate bed and extruder heaters
and temp sensors, changed a bit how termistor tables are handled.
- The steppers control is rudimentary
(only chanages what pins it uses depending on the active_extruder var,
but that's enough for switching extruder in the start.gcode in the
the profiles)
- Tested only w/ RAMPS 1.4
2011-12-06 00:09:16 -05:00
Bernhard
7714b98da7
solved some compiler warnings that are now visible in arduino 1.0.
...
Found a couple of unused variables, that I commented.
Tried to solve the program memory warning message, and failed.
2011-12-04 12:40:18 +01:00
Bernhard
59205ac5fc
preliminiary implementation for the early heating finish.
...
Might be replaced by something more clever, e.g. by erik, and does not yet support the second extruder or the bed.
its kind of not so cool, because you need 6 more ints.
Maybe isheating() should use the degrees directly, as it is not used in time-critical anyways.
Then it would be much easier. to have the offsets without additional variables.
2011-11-30 08:51:46 +01:00
Erik van der Zalm
dd5296ad4d
Fixed temperature reading bug.
...
(When using the lower and upper adc input bank)
2011-11-28 17:42:49 +01:00
Erik van der Zalm
959d82e81e
Small temperature disable bug.
2011-11-20 15:03:35 +01:00
Erik van der Zalm
2e43f9c809
Changed min max temperature code.
2011-11-20 13:14:58 +01:00
Erik van der Zalm
6841a10446
Fixed max/min temperature bug
2011-11-19 16:16:26 +01:00
Erik van der Zalm
ff69e0a772
Changed max/min temp init. Removed second uart from sabguino core
2011-11-19 12:19:53 +01:00
Bernhard Kubicek
a9c7da06e3
and changed ultipanel to have the mm/sec and not mm/min
...
Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1
Conflicts:
Marlin/Marlin.pde
Marlin/ultralcd.h
2011-11-15 22:50:43 +01:00
Bernhard Kubicek
c57906b627
fixed bug with adjusting ki in realtime.
2011-11-13 21:43:26 +01:00
Bernhard Kubicek
ff592b056a
heater power repair.
2011-11-13 00:48:55 +01:00
Bernhard Kubicek
e9adfa27b5
re-enabled heaterpower as storage for the current storage of the heater PWM duty cycle.
...
the M301 now returns the current PID settings of the machine.
M105 returns heating pwm duty cylce as "@:"
2011-11-12 20:37:28 +01:00
Bernhard Kubicek
ba8a53a40f
Streaming.h is gone. It conflicted with PROGMEM. And saving memory is more important than nicer code, imho
2011-11-09 20:30:41 +01:00
Bernhard Kubicek
ab154d5592
project progmem finished: total change with ultipanel: 2456 byte free ram initial. now: 4374 ram.
2011-11-09 20:27:44 +01:00
Bernhard Kubicek
72ace55e6a
better visibility of public/private/imported variables
2011-11-06 23:34:40 +01:00
Erik van der Zalm
e3af73ee0c
Thermistor name problem
2011-11-06 23:20:01 +01:00
Bernhard Kubicek
79d1bfb5c0
made many possible variables static, so they cannot be used extern.
2011-11-06 19:36:29 +01:00
Bernhard Kubicek
1d171e9e52
reformating and some minor bugs/things found on the way.
2011-11-06 19:23:08 +01:00
Bernhard Kubicek
900e0c9bf2
overworked the serial responses. Quite difficult, since many texts are Pronterface protocol.
2011-11-06 17:33:09 +01:00
Bernhard Kubicek
1740a83e11
correcting commit errors.
2011-11-06 15:10:29 +01:00
Bernhard Kubicek
2afb7bd4cf
refactured temperature.cpp so that there are now abstract functions to access temperatures.
2011-11-06 14:03:41 +01:00
Erik van der Zalm
2e8e8878e5
Corrected temp variables.
2011-11-05 20:21:09 +01:00
Erik van der Zalm
04d3b5537f
Merge remote-tracking branch 'origin/Marlin_v1' into Marlin_v1
...
Conflicts:
Marlin/Configuration.h
Marlin/EEPROMwrite.h
Marlin/Marlin.h
Marlin/Marlin.pde
Marlin/temperature.cpp
Marlin/temperature.h
Marlin/thermistortables.h
2011-11-05 20:03:38 +01:00
Erik van der Zalm
d15f01e1b4
Temperature changes
2011-11-05 19:21:36 +01:00
Bernhard Kubicek
ea86a5e10f
moved the variables in the ISR, thats the most normal use case of static.
2011-11-05 16:53:37 +01:00