Duet Wifi setup - need help
-
T0 sets the active tool (extruder) as tool/extruder 0.
-
Thanks, Tim. I put the T0 command back in. Got the IR sensor hooked up and functioning. Just need to do the final adjustment/calibration process.
How can I use the original Z-axis limit switch as well as the IR sensor? Reason being, if I home the machine, the IR sensor will be off the edge of the bed. Some mechanical modifications I made to the machine cause this, namely the addition of an E3D V6 extruder and glass plate over the stock aluminum heated bed. So, for bed leveling, I can move the test spots to a good location, away from the edges, but then still need the Z-axis limit switch so I don't crash.
-
In yor homez.g and homeall.g files, before the G30 command to home Z, use a G1 command to move the head to the centre of the bed. Or you can use your microswitch for Z homing if you prefer. See https://duet3d.com/wiki/Configuring_RepRapFirmware_for_a_Cartesian_printer#Homing_files.
-
What does this mean?
G28 X
Triangle interpolation: point outside all triangles!I get this message when homing any axis. I've been messing around with the bed.g file and and auto bed compensation and it seems to have started shortly after this.
-
I think that can be ignored.
-
Thanks, Tim. Well, I have things working. Not sure if it's correct, but it's working.
When I do a Home All, the X and Y will move to the limit switches, then the Z home portion will move to a position where the IR sensor is over the bed (it hangs over the edge at X0,Y0). Home Z will show 3.5 for the head position. If I send G0 Z0, the nozzle will just contact the bed.
I have adjusted the bed.g file to probe around the 4 corners and the center of the bed. It's a tiny machine and the IR sensor has a fair amount of offset from the nozzle (>20mm), but I set it as best I could. Doing an auto bed level works and it displays values. Sometimes the values change a bit if I do another bed level.
Anyway, I have a question. Once I've done a bed level, do the values get stored somewhere? Will powering everything down then require another bed level? I'm confused on how often it needs to be done.
I just tried to print via USB from Simplify3D. It's working, but something seems weird…like the printer is confused on who to listen to, the web interface or S3D. I'll try to figure out how to print from the web interface.
-
I'm glad you got it working. A few points:
-
You can declare X and Y offsets from the nozzle to the probe in the G31 command in config.g. These offsets get subtracted from the coordinates in the G30 commands in bed.g. So you can declare the actual coordinates you want probed in bed.g.
-
If using S3D to print directly over USB, make sure you have S3D configured to use hardware flow control. The printer will continue to response to requests from the web interface and PanelDue - this is intentional. However, we recommend that you save the toolpaths to disk, upload the file via the web interface, and print it from SD card instead.
-
Most people run G32 after powering the machine on, and preferably heating to operating temperature too, so there is no need to store the calibration values. Any permanent bed levelling errors you have are best eliminated by adjusting the 3 bed height screws that most printers have. But you can store the bed calibration manually if you want. After running G32, run M122 and extract the Z height from the "bed equation fits points…" values. Then construct a sequence of the same G30 commands as in bed.g but instead of using Z-99999 use the Z heights from M122. You can put that sequence near the end of config.g.
-
-
Good morning and thank you! I will attempt to digest all your information. Just to clarify, running G32 will allow the printer to compensate for an unlevel bed until it is powered down? My bed is manually leveled quite accurately but after removing a print or other handling, it seems to get skewed just enough to cause the next print to have first layer issues. My plan is to run the bed level process after any print where I could have moved the bed in some way.
I have been reading up on the heater controls at the link you sent earlier. I'm currently using the default bang-bang control and it seems to do a nice job with stable temperatures reported. Is there any reason why I shouldn't just leave it as is?
On the web interface, for heater control, the max temperature selection available for the nozzle is 240, I believe. I have no real need for anything higher than this but am wondering why there are no higher selections available?
And last question for now…I had really wanted to get a PanelDue setup but figured I should at least get the board working and controlling the printer. While this was a big learning experience for me, it's done and I'm slowly coming to terms with all the settings, concepts, terminology and such. Based on my many questions and all, do you think setting up an LCD will be possible for me? I started reading the link you sent and that's a LOT of information!
Thanks once again, Scot
-
On the web interface, you can type in any temperature you want. There is a default maximum temperature (262C AFAIR) but you can increase it with a command in config.g (M143 AFAIR).
PanelDue is very easy to get going, especially if you buy it with ready-made cables - "it just works". (OK, I am biased because I designed and manufacture it, but it's true).
-
If bang-bang is working fine, you don't need to change it.
You can change the max temp with M143 S###. You can add more temp selections via Settings/List Items tab.
The PanelDue is practically plug & play and you may already have it set up in the config.g, it uses the line:
M575 P1 B57600 S1 ; Set auxiliary serial port baud rate and require checksum (for PanelDue) -
Hi Scot,
I'll jump in here to try and save DC some time (although he is far more knowledgeable than I).
If your bed is a bit "flexible", it's generally best practice to run the bed compensation whenever you first start the printer up, just in case something got knocked while it was turned off. Thereafter, whenever you do anything which might cause it to twist or deform in some way. It's also best practice to do it heated (if you normally run the bed heated) as thermal expansion can have an effect on how level it is.
DCs latest firmware has some safety features to try and catch something like a heater cartridge falling out. I believe these features rely on having a heating model in order to detect any change which is outside of expected behaviour. So, although "bang bang" might be working just fine, the control system may not be able to detect heating events which are outside of normal operating parameters so it might be safer to tune the heaters and use PID control. (I think I got that right but no doubt DC will correct me if I'm wrong).
On the web interface, there are a selection of "default" temperatures that you can choose from and which appear in the drop down boxes for both active and standby temperatures. if you go into "Settings" and then click the tab "List Items" you'll see a table of these default heater temperatures. You can delete any of these and / or add new ones. The upper limits are 300 deg C for the hot end heater(s) and 180 deg C for the bed/chamber heater. So if you try and input a higher value, it won't let you.
HTH
Ian
Edit. DC and StephenRC posted while I was typing so I didn't save anyone any time.
-
I don't think the bed compensation is working…no idea why. This is my start script in Simplify3D:
G28 ; home all axes
G32 ; auto bed level compensation
;G28 ; home all axes
G1 Z0.2 F1200 ; raise nozzle
G92 E0 ; reset extrusion distance
G1 X20 Y5 ; (move nozzle to front edge of glass)
G1 X100 Y5 E12 F600 ; purge nozzle (changed Y0 to Y5 to keep purging on glass) -
If bed compensation is working then you should see the Z stepper motor moving a little as the head moves in the XY plane. If it has failed, then if you go to the Console page of the web interface or PanelDue immediately after running G32 you should find an error message.
-
Thanks for all the info…more to absorb. I'm running a test print now and everything seems to be functional. With all the changes, I think I have some adjusting to do in the config.g file. The speeds were dialed down as recommended for testing so I have just bumped them up and will try and get the printer dialed in. The Z-axis is moving during the print so I guess it is working!
A couple of things I have noticed...
First, every once in a great while during a rapid move over a longer distance, I get a weird rattling sound. It doesn't happen all the time so I'm not sure what it is or how to really describe the sound. I'm familiar with the mechanics of this printer so it's usual "normal" noises I am used to.
Another thing I am having problems with is the IR sensor dragging over globs of filament. As I am new to printing, I occasionally get a messy print and if I'm not sitting by the printer, I could come back and have a good little mess. Prior to the IR sensor, it didn't matter but now I'm wondering what to do about this. Using a mount I found on Thingiverse, I have the sensor pretty close to 1.5mm above the nozzle height. When it does the bed leveling, the nozzle looks about 3-4mm off the bed when the sensor triggers. The instructions say to shoot for 1.5mm. How much can I raise the sensor and still expect good results?
-
If the probe is dragging on blobs of plastic and it's 1.5mm above the nozzle, then the nozzle must be carving grooves too. The only real solution is to get your printer dialled in so that you don't have the mess of plastic to deal with.
-
First, every once in a great while during a rapid move over a longer distance, I get a weird rattling sound. It doesn't happen all the time so I'm not sure what it is or how to really describe the sound. I'm familiar with the mechanics of this printer so it's usual "normal" noises I am used to.
I had that once on my Ormerod. I was printing an enclosure for a Duet, which had lots of small cooling holes in the sides. So at certain heights, the perimeters it printed consisted of a series of short dashed lines. Where the dashes were overhanging the previous layer, there was a slight curl up at each end. At one point the gcode did a fast travel move along the perimeter, and it made a loud rattling sound as the nozzle passed over all the curled-up ends. Could the same be happening to your print?
Another thing I am having problems with is the IR sensor dragging over globs of filament. As I am new to printing, I occasionally get a messy print and if I'm not sitting by the printer, I could come back and have a good little mess. Prior to the IR sensor, it didn't matter but now I'm wondering what to do about this. Using a mount I found on Thingiverse, I have the sensor pretty close to 1.5mm above the nozzle height. When it does the bed leveling, the nozzle looks about 3-4mm off the bed when the sensor triggers. The instructions say to shoot for 1.5mm. How much can I raise the sensor and still expect good results?
You can raise the sensor a little, so long as it triggers reliably before the nozzle touches the bed, But I agree with the previous post - if you are getting blobs as high as 1.5mm then you need to fix whatever is causing them.
-
Thanks once again for the support. I don't think the rattling noise sounded like what had happened to you but will have to wait until it happens again…perhaps I can then describe it better.
Yes, I suppose you both are right regarding my printer setup and tuning. Still new to this so will work on that.
Something else has come up...on a couple of occasions, I have gotten a heater fault. The first time, I thought a thermistor wire came loose or something of that nature and double checked the wiring and found no obvious problems. Eventually got it working again but can't recall what I did to "fix" it. Now, this just happened again. I am doing test prints to adjust the z-offset and cancelled a print bad start via the web interface. I then edited the config.g file and tried again. It seemed that the z-offset adjustment did not take as there was no change in the first layer adhesion and I cancelled the print a second time. I thought that perhaps I need to reboot the Duet so powered it down and back up and now I have a heater fault. This time, I can't figure out how to make it go away.
Questions...should I be doing things differently when cancelling a print? Do you indeed need to reboot for a config.g change? It always asks if I want to perform a software reset and I select yes.
After doing a bed calibration, the z-axis shows 3.5mm for the machine status head position. I am not sure of the actual physical distance between the nozzle and the bed. If the nozzle is too high on the first layer and the print is not sticking, should I edit the config.g file G31 Z3.6 or something similar? Just tried this and it indeed lowers the nozzle for the first layer. I would not have thought 0.1mm was too much but judging how the filament is laying down, I think I compensated too much.
Also, now it seems the IR sensor is somehow lower than it used to be. I removed the glass plate I was using as it was too much of a nuisance right now and am printing on an aluminum heated bed covered completely with blue tape. I'm printing something and it looks like the IR sensor is about 1mm from the bed. Perhaps I could safely raise it 1mm. Will work on that.
-
When you make a change to config.g you can either reboot or you can execute the changed commands manually. After you cancel a print you do not need to reboot.
For advice on heater faults, see https://duet3d.com/wiki/Spurious_heater_faults_and_how_to_avoid_them.
Adjusting the G31 Z parameter is a good way to adjust the Z=0 height to get good first layer adhesion. 0.1mm is quite a large adjustment to make to the Z=0 height, especially if your first layer height is only 0.2mm. Try 0.05mm or smaller increments.
-
Thank you…I still have much to do and much to learn.
I'm currently struggling with how the Z-height adjustments/compensations work. If I home the Z-axis, it is 3.5mm. But I don't quite understand the interactions between the G31 Z parameter, my Simplify3D start scripts and the global G-code offset. Trying to make sense of how all these adjustments affect the first layer. I find myself changing one of these 3 parameters in order to fix, most likely, an error in setting one of the other parameters. Feels like that's what I'm doing anyway.
-
I'll try and help clarify things for you.
Using the X axis as an example, if you have something like a micro switch at the end of the axis and this position corresponds with the edge of the bed, then the axis home position is the same as the switch trigger position. However, if the bed is narrower in the x direction than the total length of travel for the X axis, then when the switch triggers, the nozzle won't be at the edge of the bed but too far to the left. Lets say it's 20mm. So when the switch triggers, X =0 is actually 20mm to the right of that (that's the offset).
Using a probe on the Z axis is the same principle. The G31 Z parameter is basically the distance that the nozzle is above the bed at the point when the Z probe triggers. So, lets say it's 1.7mm. When you home the Z axis, it lowers the nozzle (or raises the bed) until the probe triggers. The firmware then knows that this point is 1.7mm above the bed. To actually move to the point where the nozzle is just touching the bed, you would then have to do a G1 Z0. This would move the nozzle down (or bed up) by 1.7mm. So, before you actually start to print, after homing Z, you then need to move it to Z=0. You can put this at the end of your homez.g file or have it at the start of the gcode file for the object you print (i.e your simplfy3D start script).
HTH
Ian