PT100 TEMP_SENSOR_0 20 - is not defined in Marlin

Discussion in 'E3D-v6 and Lite6' started by rexsolomon, Sep 8, 2016.

  1. rexsolomon

    rexsolomon Member

    Joined:
    Sep 8, 2016
    Messages:
    15
    Likes Received:
    10
    Hello All,

    This is my first post, so apologies if this has been discussed and solved in this forum elsewhere (if it did, those solutions did not appear in any Google search results I've tried).

    Here is the problem:

    The E3D PT100 as TEMP_SENSOR_0 20 - is not uniformly defined in all Marlin versions (at least for the for Lulzbot Taz 5 which I am using, and several other kinds of printers - according to the Google search results into PT100 installation problems).

    Can anyone please provide (or point to a URL for) ALL the required changes to Marlin/Arduino in Configuration.h, advanced, or any other sketch file in order to get the PT100 working?

    And please, do kindly update the E3D's instructions for the PT100 amplifier. A lot of people have been misled by the instruction to merely edit #define TEMP_SENSOR_0 to 20 (and the TEMP_0_PIN).

    For most having problems, a quick search through the Marlin/Arduino sensor table shows that choice "20" does not exist.

    Do please save your customers from a wild goose chase of hunting for hardware problems to resolve MAXTEMP/MINTEMP errors upon upgrading to PT100 errors when the actual problem is in missing code.

    I thankfully have the habit of purchasing two of each item (as I have in my recent V6, Titan and PT100 purchase order) to easily and confidently verify that hardware isn't the problem.

    You've got great products E3D! The more news on the web of successful installations by people upgrading their 3D printers with V6, Titan and PT100s to enable printing with new, high temperature filament can only be even more beneficial to E3D sales.

    Looking forward to your response. Thank you.
     
  2. rexsolomon

    rexsolomon Member

    Joined:
    Sep 8, 2016
    Messages:
    15
    Likes Received:
    10
    Here is a link to someone using a MakerGear in August of last year - and he has/had the same problem with the missing PT100 code for Marlin.

    http://forum.makergear.com/viewtopic.php?f=10&t=2668

    So he attempted to add supposedly PT100 code from general release of Marlin, but still had problems. He mentioned that he contacted E3D but the thread ended without clear resolution.

    Surely someone at E3D with the PT100 team knows how to get this amplifier defined correctly in Marlin.
     
  3. PsyVision

    PsyVision Moderator
    Staff Member

    Joined:
    Sep 4, 2015
    Messages:
    798
    Likes Received:
    248
  4. PsyVision

    PsyVision Moderator
    Staff Member

    Joined:
    Sep 4, 2015
    Messages:
    798
    Likes Received:
    248
    This is a Marlin pre-configured for the BB (that uses PT100) and it is configured as documented above:

    https://github.com/Alex9779/Marlin/blob/BigBox/Dual/RC_Hybrid_Titan_MBL/Marlin/Configuration.h

    Code:
    // 13 is 100k Hisens 3950 1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE"
    // 20 is the PT100 circuit found in the Ultimainboard V2.x
    // 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950
    
    // 20 is on line 166

    The current offical Marlin (RC branch) also has it:

    https://github.com/MarlinFirmware/Marlin/blob/RC/Marlin/Configuration.h
     
  5. rexsolomon

    rexsolomon Member

    Joined:
    Sep 8, 2016
    Messages:
    15
    Likes Received:
    10
    Hello PsyVision - thank you for the reply!
    So the general process is:
    1. Arduino is installed.
    2. Generic stable Marlin is installed.
    3. Vendor specific Marlin code overwrites the generic stable Marlin code.
    4. The code is compiled and written to the firmware.

    Oftentimes however (as is the case of Lulzbot Taz5) the vendor specific Marlin code in step 3 does not include the PT100 (which however does exist in the generic stable Marlin code but is overwritten). The 3D printer vendor (such as Lulzbot/Aleph) is naturally only concerned about stock setups and not upgrades.

    Having been a programmer in a past life, I am currently doing a compare and edit on Lulzbot's code in all the files to be used to overwrite the generic stable Marlin code to re-include the PT100.

    My editing efforts will eventually be of benefit to me, but it certainly won't be of benefit to the thousands of people looking towards purchasing the PT100 to print high-temp filament, since most of them won't have the patience or expertise to hack the code. I think that is where E3D is today vis-a-vis the PT100. (I'm just like the rest - thinking that this editing is too much of an investment in time - and perhaps simply purchasing a thermocouple would be easier.)

    As such, perhaps some expert at E3D on the PT100 can simply make available, the lines of code for each file, such as Configuration.h, thermistors.h, or whatever other files in Marlin where the PT100 definitions must be manually inserted for the instructions in the E3D_PT100_Amplifier_Documentation to work. (There shouldn't be that many really.)

    If that is made available, it stands to reason that it would spur greater PT100 kit sales (especially after the word gets out).

    I know it would be too much to expect a single downloadable executable (from E3D's PT100 expert), that would automatically inject the requried PT100 code into the appropriate files (after step 3 above) - however, with all the exciting capabilities of new high-temp filaments coming out today, perhaps E3D should seriously consider doing just that.

    Again thank you, and more success to E3D!
     
  6. gj235

    gj235 Member

    Joined:
    Sep 24, 2016
    Messages:
    3
    Likes Received:
    1
     
  7. gj235

    gj235 Member

    Joined:
    Sep 24, 2016
    Messages:
    3
    Likes Received:
    1
    I have also problems using a Pt100 amplifier with the MKS 1.4 board running Marlin.
    It seems to start well and gives right the first data of temperatura but after gives the MAXTEMP error and the all process is killed.

    I am studying the problem. For the moment my printer works with the Semitech thermistor.
     
  8. mike01hu

    mike01hu Well-Known Member

    Joined:
    Apr 22, 2014
    Messages:
    957
    Likes Received:
    166
    You should do a PID tune so that Marlin knows what to expect from your sensor and get some socks as these improve the temperature stability a lot.
     
  9. gj235

    gj235 Member

    Joined:
    Sep 24, 2016
    Messages:
    3
    Likes Received:
    1
    Now my printer (HelloBEEprusa with MKS 1.4 board), is OK with the PT100 amp.
    I found that pin 3 in my firmware collides with X_MIN (same pin).
    Somewhere in the program Marlin configures this pin to an input pin with PULUP.
    That’s why I have seen 2 right readings after startup and suddenly the pin goes to a much higher value.
    I changed PT100 to pin 12 and now is OK.

    So, in my case the modifications to do in order to use the PT100 amplifier with Marlin are:
    In the pins_MKS base file:
    #define TEMP_0_PIN 12 // pt100 amplifier
    In the configuration.h file:
    #define TEMP_SENSOR_0 20 // PT100 amplifier

    I made the experiments in a experimental board identical to the board controlling the printer.
    After I confirmed the results in the actual board.

    Now, because I have 2 extruders, I must found another empty pin to attach the 2nd PT100 amp.
     
    Goh Guo DOng likes this.
  10. rexsolomon

    rexsolomon Member

    Joined:
    Sep 8, 2016
    Messages:
    15
    Likes Received:
    10
    I finally sorted these problems out (by editing Marlin and importing missing definitions into the thermistor table) and am now printing with Titan, V6 and a hardened nozzle at 325*C.

    Tip for those who want to print real polycarbonate - use really thick PEI and heat the bed to 145*C (you'll need a SSR setup - and a 120v AC silicon heater). No warping or detachment problems whatsoever. PC now sticks like mad - no glue, no tape, no mess. An Ikea hack of a shelf with acyrlic sheets from Home Depot to make a cheap (vented) enclosure also helps adhesion.

    To get the PT100 to work on the Lulzbot Taz5 Rambo board I used Analog Pin 4, which is also EXT6 or Pin number 93.

    Thank you all for your expert advice!
     
  11. Goh Guo DOng

    Goh Guo DOng New Member

    Joined:
    Jul 14, 2017
    Messages:
    1
    Likes Received:
    0
    Hi,

    i am also trying to use e3d hotend on the hello bee prusa, i am having problem making it work on my printer. may i know when you say pin 12, do you mean the A12/D66 pin shown on the board schematic? i tried both pin A3 and pin A12, both didn't work for me. also, do you know how to use the pin debug gcode, M43? i tried sending the command but it didn't show any report of the pins.

    hope to hear from you. thanks
     
  12. Simon0362

    Simon0362 New Member

    Joined:
    Oct 26, 2017
    Messages:
    1
    Likes Received:
    0
    Hi,
    I went through the pain of setting up my PT100 using the printer supplied version of Marlin (v1.0.xx) and independently discovered that the E3D instructions worked for Marlin v1.1 - very different from 1.0.
    To help anyone else in a similar situation I:
    • found the thermistortables.h referenced above
    • copied out the entire section related to "ANY_THERMISTOR_IS(20)" and pasted that into my own version of thermistortables.h
    • modified the code to use the earlier version of searching for the thermistor match (so using "THERMISTORHEATER_0 == 20 || THERMISTORHEATER_1 == 20 || THERMISTORHEATER_2 == 20 || THERMISTORHEATER_3 == 20 || THERMISTORBED == 20)" to maintain the same methods elsewhere in the file
    • in my configuration_adv.h I adjusted the following so that the second line is commented out:
      #define THERMISTORHEATER_0 TEMP_SENSOR_0
      // #define HEATER_0_USES_THERMISTOR
      This 'should' stop MAX temp errors
    All seems to function now.
    Simon
     

Share This Page