@chrishamm Chris you are a fricken legend!
Posts made by jhalewood
-
RE: duetpi will not run on usb ssd - raspbian will
-
RE: Independent control of single Z axis motor in multi-Z setup
@droftarts Thank you so much Ian. Really appreciate that detailed input!
You are correct about the crash, occasionally it can get so bad that even with increasing M671 S parameter, it'll crash.
I wasn't sure about including the M906 and M350 commands, I only included because the gcode dictionary says
M584 must come earlier in config.g than any M350 and M906 commands.
But it makes sense they're not needed as already declared originally in order.
Thanks again Ian!
-
Independent control of single Z axis motor in multi-Z setup
Hi,
From looking around, I don't believe it's possible for a user to control a single Z motor when you have multiple independent motors (i.e. in this setup https://docs.duet3d.com/User_manual/Connecting_hardware/Z_probe_auto_levelling).
Though obviously the firmware can control the motors independently after a G32 command (after it completes, it will adjust each motor a different amount) - so maybe there is a way already?
Every now and then, due to user error, physical manipulation etc the Z motors can become massively misaligned - more than "true bed levelling" can fix.
I was wondering if the following macro was a viable solution, or would cause problems?
I.e.: remap Z axis to a single motor, I've included M906 and M350 because the dictionary says these must come after M584 (is this necessary? my config.g has already loaded these on initial boot, and the values aren't changing), move the single motor, then reset the config back to what it was.
M584 Z3 M906 Z1500 M350 Z32 G91 G1 F600 Z1 M584 Z3:4:5 M906 Z1500 M350 Z32
I would have 6 of these macros, singling out each motor and having an up and down for each. I would use them to grossly level the bed, then use G32 to finish fine tuning.
I just want to make sure changing the motor assignment on the fly won't cause problems/damage the board? Or, if there is a better solution?
Thanks
-
Shield_gnd
Hi,
I have duet 3 6HC, and I've just noticed the shield_gnd pin.
I can't find any documentation on this (on the hardware document page - you can see the holes on picture, but it's not listed under the pins), or elsewhere on duet3d.
I presume this is for the usual purpose of reducing interference (or as a gbd point from shields in wires?)
I was wondering what the recommended connection is for this?
I have a AC-DC power supply; do I connect it to GND on the DC output side? Do I connect it Earth on the AC input side? Something else?
Thanks
-
does duetpi support firstrun.sh?
As per title, firstrun.sh doesn't seem to execute on duetpi (I've been using latest image 2024 04 19 duetpi - full not lite, and I've tried 32 and 64 bit versions)
It will get edited to change the directories as appropriate (from /boot to /boot/firmware), but nothing included in the files seems to execute, and the file does not self delete.
Is this intended behaviour or is something going wrong?
I've attempted to add test echo's to a test file just see if anything in it gets run, and those aren't produced either.
-
RE: duetpi will not run on usb ssd - raspbian will
@chrishamm would it be possible to add to the next duetpi build something that disables the udev automount in favour of just using duetpi exclusive version?
I've been trying to find a (ideally simple) way to disable udev automount from the boot partition, i.e. using firstrun.sh or cmdline.txt, I've been unable to (which doesn't mean it doesn't exist, I'm no expert). But since this seems to be a duetpi conflict, perhaps a change in the build is warranted?
Though I understand this is not a big problem, considering I seem to be the first person to report it... Just a suggestion.
-
RE: duetpi will not run on usb ssd - raspbian will
@chrishamm I ran rm /etc/udev/rules.d/99-usb-automount.rules and that seems to have done the trick! Thanks @chrishamm
you mentioned I could "disable that feature" or edit the udev rule (rm ..)
how would i disable that feature? and which method would you recommend?
Is it possible to do this on the boot partition prior to first boot?
-
RE: duetpi will not run on usb ssd - raspbian will
also tried setting fsck.mode=skip, nil effect
-
RE: duetpi will not run on usb ssd - raspbian will
@chrishamm i forgot to mention i tried disabling apparmor, didn't help
but i have reflashed the ssd and edited cmdline to remove apparmor, quiet, and splash, and re-did first boot, reboot, enter to pass energency mode, and exported journal
this file contains the entire 25000 lines of journalctl
have a look at line 608
-
duetpi will not run on usb ssd - raspbian will
I've been running duet for years off an SD card on my raspberry pi connected to my 6HC
For fun i thought I'd try running from an SSD (in an enclosure to usb)
I cannot get duetpi to work (image 2024 04 19 full 32bit) - this is a fresh flash with NIL changes (not even adding wpa supplicant/sh)
it seems to pause substantially with message "systemd-rfkill.service" while the blue duetpi logo is displayedthen it goes into emergency mode with: (i have to type this from a photo, so not exact, but you get the gist)
nm1: controller never released inhibit bit (we can ignore this - this is because no SD card in slot) You are in emergency mode. After logging in type jounalctl -xb to view system logs, systemctl reboot to reboot, systemctl default or exit to boot into default mode cannot open access to console, the root account is locked. see sulog man page for more details press enter to continue
pressing enter it'll say
reloading system manager configuration starting default.target
it'll then boot to desktop
duet doesn't work properly, the web page loads, but it cant connect to the board, and in journalctl logs there's errors for duet startingthe desktop works, and I can SSH in, but it'll enter emergency mode as above on every reboot
Please note that if I use raspberry pi os (in rpi imager) it boots fine, there's no pause on systemd-rfkill.service, it boots quickly and without issue (though also of course without duet)
Googling the problems some people have suggested is a problem with UAS (my ssd adapter is jmicron), however adding quicks to cmdline.txt doesn't fix it (and rasp pi OS boots fine without this change)
Another suggestion was that fsck was timing out as the drive is large, i edited fstab to disable fsck on my boot drive, no difference (and rasp pi OS boots fine, fsck doesn't time out)
I've tried raspberrypi imager, balena, and 2 usb enclosures, and using a USB 2 port instead of USB 3, nothing helps
output of journalctl : https://pastebin.com/UDZtvrzC
any ideas?
EDIT: i updated bootloader to run from USB of course
-
What types of input does the interface webcam support?
Hiya,
What input does the interface support for the webcam?
JPEG, MJPEG, TCP/UDP sockets, HTTP5, HSL, ffmpeg etc etc?This is to facilitate setting up the appropriate Picamera2 server.
Cheers
(the answer to this should probably be placed in https://docs.duet3d.com/en/User_manual/Reference/DWC_webcam)
-
Help choosing a more appropriate stepper
Hello all,
Could I please trouble you for assistance choosing a better stepper motor for my extruder. Please forgive the wall of text; trying to include everything I've tested and learnt.
I've tried several motors below, and they all work well enough, but they have limitations.
My extrusion speed becomes limited (I believe) by hitting the speed limit of the steppers - a factor of using the remote direct extruder with 40:1 reduction. What I observe is that I can print reasonably fast, but during especially quick accel/jerk moves, the motors stall.
They stall @ the motor, there is no filament grinding, there is no nozzle blockage or other impedance to torque. (This is backed up by the fact that I can remove the load (just disconnect the flexible shaft), and if I run the same tests, it stalls at exact same points.)
During testing/printing, I primarily have to greatly limit the jerk setting to the point that it slows down the entire print. It's definitely jerk that is the limiting factor, not general accel, max speed, current, or anything else I can find.
If I increase the jerk, sections of a model that print fast, but with low jerk, print well, but parts where there is high jerk the motor stalls and there's no extrusion. During on the fly adjustment, there is huge changes to overall print speed as I increase the jerk.
Jerk: limited (in actual real use) to 40mm/min (even at this value, it still occasionally stalls, but it's already slowing prints down a lot). I can print reasonably reliably with this value. Any higher and it'll stall as described. Jerk Policy (love the phrasing) is set to 1.
Extruder acceleration: I've found I can set to anything, doesn't matter if 200, 2000, 20000... 2,000,000 (I've literally set it to 2 million) it doesn't cause the extruder to stall, or have any noticeable effect at all - I assume that the jerk is the limiting factor before accel comes into play?
Max speed: same as accel, I can set to anything (again, I tried 2 mil)
Current; I use as max ~80% of rated as standard, but I've also tried lowering the current of all 3 steppers I've tried, and it had no significant improvement. I even tried increasing to overcurrent just to try, nil effect.HW; Duet 3 6HC @ 24V, flex3drive G5 extruder (40:1 reduction)
Motors I've tried:
SparkFun ROB-10846 https://www.digikey.com.au/en/products/detail/sparkfun-electronics/ROB-10846/5318748 (0.9°, torque 68oz-in, inductance reportedly 2.88mH, current 1.7A, rotor inertia unknown)
E3D MT-1701HSM140AE (0.9°, torque 18oz-in, inductance 2.0, current 1.4A, rotor inertia 30g.cm2)
E3D MT-1703HSM168RE (0.9°, torque 48oz-in, inductance 3.6, current 1.68A, rotor inertia 54gcm2)
https://wiki.e3d-online.com/images/c/c4/Motor-Datasheet-All.pdfWhat I've learnt looking at:
https://flex3drive.com/support/assembly/motors/
https://duet3d.dozuki.com/Wiki/Choosing_and_connecting_stepper_motors
https://duet3d.dozuki.com/Wiki/Choosing_an_extruder_driveSo, what I understand from above...
... Things that should improve speed:
use 24V - already am
Lower the current (to reduce back EMF and will have limited benefit) - tried this, didn't make much difference
Does micro-stepping affect speed?... Qualities to look for in a stepper motor:
1.8° over 0.9°
low inductance - Duet states generally aim <4mH, flex3drive say "ideally... below 10mH"
low rotor inertia - don't know what constitutes a "low" value though?
rated torque - don't know???
rated current - don't know???I currently haven't tried a 1.8° stepper (well, I did try a super cheap knockoff type motor, but I have absolutely no specs on it, so I'm ignoring it)
I know that I'm going to need a 1.8° stepper, but I don't really know what constitutes a "low" inductance, or a "low" rotor inertia, and I don't really know what sort of torque or current rating I should look for, since they don't really seem to affect speed? Well, torque drops off as speed increases, so I assume you still need a decent amount of torque, because at the higher speeds I'm after, the torque will be significantly reduced...
Is the change from 0.9 to 1.8° going to have such a big effect on what I'm trying to achieve that I'm overthinking the other specs?
This is a list of digikey's bipolar 1.8° steppers https://www.digikey.com.au/en/products/filter/stepper-motors/179?s=N4IgjCBcoGwOwFYqgMZQGYEMA2BnApgDQgD2UA2iAMxgCcc9IAusQA4AuUIAyuwE4BLAHYBzEAF9iAJhkAWZCDSQseIqQogpABi3M2nSCAAiJAK4AjbPgnEAtFIVL%2BptWUiUkTcZJAwFAgBMuWzAtCH0uEGJ2AE9Wa0NMXDRvIA
I know I need to try a 1.8°, but if I'm going to buy one, I might as well optimise other specs too. If someone could recommend a stepper or what to look for (or some other way to improve performance), I would be very grateful!
Many thanks,
Jon -
RE: Another weighing filament holder
I managed to fix this
It was an apparmor problem preventing the running of python scripts
Setting apparmor to complain mode allowed the python script to run and the plugin works fine
Though after a reboot it goes back to "partially started" - the script isn't running. Manually clicking stop and then start on the plugin allows it to run again
(see also https://forum.duet3d.com/topic/26504/apparmor-prevents-plugins-with-python-scripts-running) -
Apparmor prevents plugins with python scripts running
Hello,
2 issues, both of which may be addressed with 3.4 beta's, I'm unsure
Both issues related to installed and running a plugin with a python script; specifically filament load weighing (https://forum.duet3d.com/topic/25419/another-weighing-filament-holder)
This is in relation to duet3 w/ SBC-
apparmor prevents python scripts from running
apparmor is installed, and runs properly, but I have to set it to complain mode (sudo aa-complain /etc/apparmor.d/*) for it to run the python script (on plugins page, goes from 'partially
started' to 'started')
The only thing that appears in syslog is "Dec 23 08:34:34 duet3 kernel: [ 417.399578] audit: type=1400 audit(1640219674.657:13): apparmor="DENIED" operation="exec"
profile="/opt/dsf/plugins/FilamentLoadCell/**" name="/usr/bin/python3.7" pid=1537 comm="filament_load_c" requested_mask="x" denied_mask="x" fsuid=996 ouid=0" -
restarting the pi also prevents the plugin loading properly, it restarts as 'partially started'. Stopping the plugin and clicking start again fixes this. There is no error in syslog. (same as this
https://forum.duet3d.com/topic/25834/dwc-dsf-plugins-remain-partially-started-after-restart)
Cheers,
J -
-
RE: Another weighing filament holder
Hi @achrn thanks for all your work on this
I've set this up, and I've got the helper script running, calibrated, and accurately outputing my filament weight!
It's fantastic! I'm also impressed at how accurate it is (c.f. my kitchen scales only 5g off)My issue is that I can't get the plugin to work. It's installed ok.
Manually clicking start gives "partially started"
The JS component executes, "(no weight reading yet)" appears next to machine name, and I can see get requests for "http://192.168.1.4/machine/filament-load-cell/reading" but they all 404greping python scripts shows that weigh_filament_endpoint.py isn't running
I can run weigh_filament_endpoint.py manually from a terminal, and it runs correctly, and outputs the correct weight that i got from the helper script
So it appears that the "plugin" isn't starting the script? Should it? have I missed something here?
-
RE: Which G or M codes can be edited on the fly (while printing)?
Thanks both of you.
That's what I thought, but wanted to check.
If it's alright, I'll add a little comment to the wiki, since the above is not reflected in it. -
Which G or M codes can be edited on the fly (while printing)?
Hi all,
Simple question really, which settings can and cannot be edited on the fly?
Particularly interested in settings you would normally put in 0:/sys/config.g
Can I change things that make sense for tuning during a print like M566 Jerk, M201 acceleration, or M203 max speed?
What about things that don't make sense to change during a print, like M569 drive mapping? I cannot think of a reason why on earth you would want to, but I tried to find a list of things that can and cannot be changed on the fly, and couldn't, so I figure the creation of an exhaustive list that can then go on the gcode wiki (https://duet3d.dozuki.com/Wiki/Gcode) would be great. Unless someone can already point me to a list?
Cheers all!
-
Stepper current - per phase and M906 setting
Hi,
I'm confused about stepper currents and M906
Using a Duet 3 6HC
I have these steppers: https://dlnmh9ip6v2uc.cloudfront.net/datasheets/Robotics/42BYGHM809.PDF
which are rated at 1.7A/per phaseWhen you look here: https://duet3d.dozuki.com/Wiki/Choosing_and_connecting_stepper_motors#Section_Rated_current
It says "Rated current
This is the maximum current you may pass through both windings at the same time. "After lots of googling, I'm just more confused. There's so many disparate answers everywhere.
I don't understand if this means I should set M906 to 1.7A or 3.4A --- it seems if it 1.7A per phase, and the max current is thru both windings, then 2 windings by 1.7A each = 3.4A?
(both of these would be multiplied by 80%, but for sake of brevity, just listed 100% values)Using the 1.7A value as max, I get skipping in some situations on the extruder. I'm just looking at amps as one workaround amongst the usual actions you take to address skipping.
-
RE: Duet3 6HC + load cell + amp
@rjenkinsgb Thanks mate, very kind, but I'm not in UK
One of your colonies... -
RE: Duet3 6HC + load cell + amp
@achrn thanks, they're excellent
however they both use the pi as the processor
I was wondering if it's possible to connect directly to the duet
I may need to end up using the pi, but I'd prefer to use the duet if possible. I should've been more explicit in my question, apologies!