Skip to main content

Site Navigation

Your Account

Choose Language

Introduction

In the previous two guides, we connected all the wiring, and prepared the SD card with all the configuration files needed and connected to the printer.

This guide will cover the first steps you should take once connected to the Duet Web Control to safely verify that your hardware is connected and configured correctly.

This will test motor movement, endstop triggering, heater function, fan control, homing behaviour, and the LCD.

Though this guide is specific to the Ender 3, the procedures shown here are the same for any printer during first commissioning.

Other guides in this series:

  1. Use the IP address we obtained in the previous guide and connect to the DWC.
    • Use the IP address we obtained in the previous guide and connect to the DWC.

    • You can familiarize yourself with the Duet Web Control functionality here:

    • Duet Web Control Manual

  2. Go to the Settings page on the left side bar.
    • Go to the Settings page on the left side bar.

    • Compare the version numbers shown to the versions we copied to the SD card in the previous guide.

    • If they do not match, you can upload the Duet2Firmware zip file on this page to update all relevant files automatically.

  3. Next, we will verify that the end stops are triggering properly.
    • Next, we will verify that the end stops are triggering properly.

    • Go to the Settings > Machine properties > find the column that shows End stop hit.

    • X, Y, and Z end stops should say "No", E should say "Yes"

    • Manually trigger the end stops with your finger, you should see the value change to "Yes" for each one you press.

    • If the values do not change, power down the printer and double check your wiring connections.

    • If the values for X, Y, and Z show "Yes" by default, and "No" when triggered, you chose the wrong switch type in the configurator.

  4. Before we try and home the printer we must verify the direction of the motors. Go to the Gcode Console tab and send the command M18 to power off the motors. Manually position the X and Y axis to their midway positions by hand. This means the bed and the print head are in the middle of their travel distances. The Z axis should be raised about a hand width above the bed.
    • Before we try and home the printer we must verify the direction of the motors.

    • Go to the Gcode Console tab and send the command M18 to power off the motors.

    • Manually position the X and Y axis to their midway positions by hand. This means the bed and the print head are in the middle of their travel distances. The Z axis should be raised about a hand width above the bed.

    • Send G92 Z50 Y100 X100 which will force a verified axis position close enough for our test and allow us to command motor movement safely.

    • Go to the machine control tab and click on the X+1, Y+1, and Z+0.5 buttons one at a time. Verify that the motors move slightly in the expected direction. X+ should move the print head to the right. Y+ should move the bed towards the front. Z+ should raise the print head above the bed.

    • If the direction doesn’t match what you expect, you will need to go into Settings > System Editor and edit config.g, find the M569 command under the ;Drives section and change the S parameter of the drive in question. P0 = X, P1 = Y, P2 = Z

    • Changing a motor direction means you will also need to change the direction of the homing move for that axis by changing from a positive movement to a negative movement or vice versa. The homing files are found in the sys folder. Testing homing is covered next.

  5. Now that we have verified that the motors are moving in the right direction and the end stops are triggering correctly, we can try our first homing commands.
    • Now that we have verified that the motors are moving in the right direction and the end stops are triggering correctly, we can try our first homing commands.

    • On the Machine Control tab, click the Home buttons for each axis, starting with X.

    • Warning! If the direction of movement is not towards the end stop, kill the power to the printer immediately.

    • When the printer starts to move, immediately press the endstop switch for the axis with your finger. Movement should stop, the direction should briefly reverse, and then try to home again. Trigger the endstop once more.

    • Warning! If the movement does not stop when you trigger the end stop, kill the power to the printer immediately.

    • When homing X the print head should move to the left towards the end stop switch.

    • When homing Y the bed should move to the back towards the end stop switch.

    • When homing Z the gantry should move down towards the end stop switch.

  6. When you are confident that each axis is homing in the correct direction and that the end stop switches halt the printer movement, you can continue.
    • When you are confident that each axis is homing in the correct direction and that the end stop switches halt the printer movement, you can continue.

    • First, home each axis one at a time and let it complete without triggering the endstop by hand.

    • The axis should move to the end of travel and trigger the end stop, reverse direction a few mm, and then go back to trigger the end stop again more slowly.

    • After confirming that each axis homes correctly on its own, you can test the Home All button.

    • Warning! If at any time behaviour is erratic, or behaves contrary to expectation, kill the power to the printer immediately.

    • If you had to reverse the direction of a motor in the previous step, you will need to change the direction of the homing moves in the homing files. See this wiki entry for further information on editing the homing files: Configuring RepRapFirmware for a Cartesian printer

    • See this wiki entry for further details: Test homing behaviour

  7. Command the hot end to 50c.
    • Command the hot end to 50c.

    • Watch the temp graph.

    • At 45c the hot end fan and case should start spinning.

    • Watch the temp graph to see if it stabilizes.

    • Command the hot end to 180c.

    • Watch the temp graph to see if It stabilizes.

    • Turn the hot end heater off (0c).

    • When the hot end temp drops below 45c the hot end fan should stop spinning.

  8. Command the bed temp to 50c.
    • Command the bed temp to 50c.

    • Watch the temp graph to see if it stabilizes.

    • Test the part cooling blower with the fan speed slider on the right side of the screen. Note if it has an effect on the hot end temperature.

    • As the hot end temp drops below 45c the hot end fan should turn off and the case fan should continue to spin.

    • Turn the bed heater off (0c).

    • When the bed temp drops below 45c the case fan should stop spinning.

    • If you encounter a heater fault, check this page: Spurious heater faults and how to avoid them

  9. If you included the set of menu files on the SD card as described in the previous guide the LCD menu and encoder wheel should be working already, and you can test the LCD menu to perform the same homing, heating, and movement commands.
    • If you included the set of menu files on the SD card as described in the previous guide the LCD menu and encoder wheel should be working already, and you can test the LCD menu to perform the same homing, heating, and movement commands.

    • If the display shows “Duet Maestro Self-Test” it means you are missing a menu system. You’ll need to either download an existing menu setup, or create your own. Duet 2 Maestro 12864 display menu system

    • If the LCD is blank, you may need to enable it in config.g by adding M918 P1. If that doesn't work, double check the 10-way ribbon cables are connected correctly and that you flipped the connector housings on the LCD panel side.

  10. The CPU on the Duet has an internal temperature sensor, which can be very useful for gauging the temperature of the electronics case and the stepper drivers. However, before it can provide a useful result, it must be calibrated. Following the procedure documented here: Calibrating the CPU temperature
    • The CPU on the Duet has an internal temperature sensor, which can be very useful for gauging the temperature of the electronics case and the stepper drivers. However, before it can provide a useful result, it must be calibrated.

    • Following the procedure documented here: Calibrating the CPU temperature

    • Start with your printer at room temperature. As in, powered off for many hours.

    • Turn on the printer, and as quickly as possible read the MCU temperature from the Machine Status box at the top left of the screen. We will call this temperature Tc.

    • Now read the temperature of the hot end and bed. This should be very close to room temperature. Alternatively, if you have a thermometer in the room, you can use that value. We will call this Tr.

    • To calculate the offset value, use (Tr-Tc). This value may be positive or negative. We will use this resulting value in the following command.

    • In the Gcode Console, send M912 P0 S#, where # is the offset value obtained by (Tr-Tc). After a few seconds the CPU temperature should then read about the same as room temperature.

    • To make the calibration permanent, you must add that M912 P0 S# command to config.g. It doesn't matter where, but I put it near the end, before the M501 command and the T0 command.

  11. You can then add the CPU/MCU temperature to the temperature graph in the DWC
    • You can then add the CPU/MCU temperature to the temperature graph in the DWC

    • Click on “Extra” in the “Tools/Heaters/Extra” section at the top middle of the DWC window and checking “Show in Chart” for the MCU sensor. It will then appear as a dashed line in the temperature graph.

    • You can go one step further and configure the Fan2 port for the Ender 3 case fan to use the CPU temperature as a thermostatic control point, so that when it starts to get above a certain temp, it will begin to spin up.

    • For example, you can replace the existing M106 P2 command in config.g with the following command.

    • M106 P2 T35:55 H100:101:102 C"Case Fan"

    • This will set Fan2 as “Case Fan”. And will turn on when the MCU temperature (virtual heater 100) reaches 35C and reaches full speed when the MCU temperature reaches 50C or if any driver (virtual heaters 101 and 102) report that they are nearing over-temperature.

    • Changing the fan control is totally optional, and for the Ender 3 best performance is likely to be had by simply tying the case fan to turn on whenever the hotend or bed heat up, ie whenever a print is going.

  12. RepRapFirmware on the Duet allows you to fine tune the behavior of the PWM controlled fans. Every fan is a little different, and to get the best performance and acoustics out of it, you may want to experiment with different PWM frequencies, etc. More information on how fans are controlled with the M106 command here: Gcode
    • RepRapFirmware on the Duet allows you to fine tune the behavior of the PWM controlled fans. Every fan is a little different, and to get the best performance and acoustics out of it, you may want to experiment with different PWM frequencies, etc.

    • More information on how fans are controlled with the M106 command here: Gcode

    • On the Ender 3 used in this guide the best (quietest) results were found by using a frequency of 20Hz.

    • Values lower than 20 would tend to pulse, and values higher than 60 had a high pitched whine. Values above 1000 would not spin up.

    • With these changes, you may not even be tempted to replace the stock fans with quieter options, saving you time and money.

    • Bear in mind that cooling performance may be slightly impacted by reducing the PWM frequency. If you notice excessive stringing or jamming, try increasing the frequency and see if it is solved.

Finish Line

5 other people completed this guide.

Jason Znack

Member since: 06/16/2018

2,937 Reputation

5 Guides authored

0 Comments

Add Comment

View Statistics:

Past 24 Hours: 5

Past 7 Days: 33

Past 30 Days: 161

All Time: 888