24V E3D v6 - PID Auto-Tuning



  • Hello,

    I've just switched to full 24v setup with a new heatbed and an E3D v6 hotend.

    I'm using the standard E3D heater cartridge that they supply, which is laser marked as being 24V and 25W. I've also used the thermistor parameters mentioned on their Wiki for RepRapFirmware:

    M305 P1 T100000 B4725 C7.06e-8 R4700 H30 L0
    
    

    I have been having some issues with the PID autotune - I needed to set the PWM value to 0.25 just to get it to tune without hitting the temperature limit. Here's what I used:

    M143 S270
    M303 H1 S270 P0.25
    
    

    As a result, I got the following:

    12:37:20 M303 H1 S270 P0.25
    Auto tuning heater 1 - do not leave printer unattended
    
    12:47:50 Warning: Heater 1 appears to be over-powered and a fire risk! If left on at full power, its temperature is predicted to reach 715C.
    Auto tune heater 1 with PWM=0.25 completed in 630 sec, maximum temperature reached 184.2C
    Use M307 H1 to see the result
    
    12:49:52 M307 H1
    Heater 1 model: gain 695.6, time constant 228.7, dead time 6.9, max PWM 1.00, mode: PID
    Setpoint change: P8.5, I0.037, D41.1
    Load change: P8.5, I0.452, D41.1
    
    

    These settings seem to work well and it doesn't seem to overshoot as is.

    Anyway, why is it reporting that the heater is overpowered and why am I having to use a PWM value that is intended for much more powerful heaters:

    The higher your hot end heater power, the lower the P value you need. The default of 0.5 works well for a 30W heater on a typical hot end (E3Dv6) run at its nominal voltage. A 40W heater might need P=0.4, and a 60W heater P=0.25. If your power supply voltage is higher than the nominal heater voltage then you should reduce P further. For example if you are using a 12V heater with a 13.2V supply, you should reduce P by 20% to account for the 10% higher voltage.

    My heater is about 14 Ohms which at 24V would suggests it's a 40W heater. P0.4 hit the temperature limit too quickly.

    Should I be lowering the PWM in the config and would that not affect the PID tuning ? I want a fast heat-up and the current settings seem to work well, but I'm concerned that my heater seems to be much more powerful than expected by the firmware.

    (As an aside, it would be nice if M307 H1 would output the line you need to add to the config file:)

    M307 H1 A695.6 C228.7 D6.9 B0



  • The resistance goes up when heated, so cold ohm readings are not always accurate. You have to measure current and multiply with the voltage while running to get the true watts. That being said however I've found the original E3D heaters to be pretty spot on while the clones can be way off. I have some 40 watt heaters (clones) that are 47 watts running or more.


  • administrators

    @yngndrw:

    Hello,

    My heater is about 14 Ohms which at 24V would suggests it's a 40W heater. P0.4 hit the temperature limit too quickly.
    ...
    (As an aside, it would be nice if M307 H1 would output the line you need to add to the config file:)

    M307 H1 A695.6 C228.7 D6.9 B0

    Since firmware 1.17 you have been able to send M500 after auto tuning to write the M307 commands to the config-override.g file.

    From firmware 1.18beta1 you no longer need to specify a P parameter when auto tuning, unless your heater is massively over-powered.



  • @(In)Sanity:

    The resistance goes up when heated, so cold ohm readings are not always accurate. You have to measure current and multiply with the voltage while running to get the true watts. That being said however I've found the original E3D heaters to be pretty spot on while the clones can be way off. I have some 40 watt heaters (clones) that are 47 watts running or more.

    This explains the rating - When cold mine reads as 40W but as it approaches the target temperature, the current draw drops until it's using around 30W. (Until the PID control takes over and drops the power right down, of course.)

    @dc42:

    Since firmware 1.17 you have been able to send M500 after auto tuning to write the M307 commands to the config-override.g file.

    From firmware 1.18beta1 you no longer need to specify a P parameter when auto tuning, unless your heater is massively over-powered.

    I totally missed the M500 command, that would have been convenient.

    The changes in 1.18 sound great and should remove a lot of guesswork and frustration. How much overshoot should be expected when doing this ? The E3D hotends are rated to a maximum of 295C due to the thermistor, so would 270C be safe as a cutoff ?



  • I'm using the latest 1.17 firmware, I redid the pid autotune few days ago with my e3d 24v 40W and S270
    I also had errors with P0.4 and P0.3, in the end I redid it without any P param it worked ok (no more warning, temp control ok)


  • administrators

    @yngndrw:

    The changes in 1.18 sound great and should remove a lot of guesswork and frustration. How much overshoot should be expected when doing this ? The E3D hotends are rated to a maximum of 295C due to the thermistor, so would 270C be safe as a cutoff ?

    You probably won't get more than 10C overshoot assuming you have the correct voltage heater for your power supply. I suggest you choose a target temperature that you commonly print at.



  • @lolorc:

    I'm using the latest 1.17 firmware, I redid the pid autotune few days ago with my e3d 24v 40W and S270
    I also had errors with P0.4 and P0.3, in the end I redid it without any P param it worked ok (no more warning, temp control ok)

    That seems weird, the documentation says that it defaults to 0.5 for 1.17 which should be worse. Almost sounds like a bug ?

    @dc42:

    You probably won't get more than 10C overshoot assuming you have the correct voltage heater for your power supply. I suggest you choose a target temperature that you commonly print at.

    Thanks David, I'll give that a go when 1.18 moves to stable.


Log in to reply