@Phaedrux I have a silicone sock on the nozzle, it is a hemera, with the volcano and an e3d high precision heater cartridge. I have two cooling fans wich are just 5010 blowers, which i tired turning down for the tuning but it did not do anything. I ordered a new heater cartridge, so that may fix this, otherwise it is probably a faulty toolboard which i will need to get replaced
Posts made by ryanrocksforever
-
RE: Heater fault with no error when preheating extruder
-
RE: Heater fault with no error when preheating extruder
@phaedrux I am using M303 T0 S220 P1 F0.5 A23 I have tried different variations with the S parameter, and with the PWM, if I set the Pwm to 0.75 or any number other than 1 the tuning will get stuck and just fail.
-
Heater fault with no error when preheating extruder
I have a duet toolboard 1.2 brand new from matterhackers, thats connected to a 12v hemera running the high precision heater cartridge and a volcano hotend. Ever since I got the board it has not been able to heat up properly. On the last toolboard that I had everything worked fine until something on the board broke and caused the heater to be on all of the time. When preheating the extruder to 210 c the extruder gets up to about 40 c from 24 c ambient, and goes fault without any error message. when doing diagnostics before and after, no errors appear. I can incrementally heat up the hotend by increasing the heat target by 10-20c, but this is not ideal. When trying to tune the hotend using the autotune function, it reaches temperature fine, and after gives the error Auto tune of heater 1 failed due to bad curve fit (1.069 K=0.260:0.101 D=8.8) No matter what I do, deleting prexisting settings for the heatre or changing the temp target, it will not work.
here is my config.g
; Configuration file for Duet 3 Mini 5+ (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Sun Jan 30 2022 08:57:25 GMT-0800 (Pacific Standard Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves ;M550 P"RyansPrinter" ; set printer name M669 K1 ; select CoreXY mode ; Wait a moment for the CAN expansion boards to start G4 S2 ; Network ;M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0.0 S1 ; physical drive 0.0 goes forwards M569 P0.1 S1 ; physical drive 0.1 goes forwards M569 P0.2 S1 ; physical drive 0.2 goes forwards M569 P0.3 S1 ; physical drive 0.3 goes forwards M569 P0.4 S1 ; physical drive 0.4 goes forwards M569 P0.5 S1 T0:2:0:0 ; physical drive 0.4 goes forwards same M569 P0.6 S1 T0:2:0:0 ; physical drive 0.4 goes forwards Odrive recoomendeded timing M569 P121.0 S0 ; physical drive 0.4 goes forwards M584 X0.6 Y0.5 Z0.2:0.4:0.1 E121.0 ; set drive mapping 3 z motors ;M584 X0 Y1 E4; three Z motors connected to driver outputs 2, 5 and 6 M671 X510:-10:510 Y450:250:50 S4 ; leadscrews at rear right, left middle and front right M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation remove X16 Y16 M92 X105.57 Y105.57 Z1200 E409.00 ; set steps per mm M566 X1800.00 Y1800.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X75000 Y75000 Z180.00 E1200.00 ; set maximum speeds (mm/min) M201 X12000 Y12000 Z20.00 E250.00 ; set accelerations (mm/s^2) M906 X800 Y800 Z1500 E800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X470 Y480 Z500 S0 ; set axis maxima ; Endstops M574 X1 S1 P"io1.in" ; configure switch-type (e.g. microswitch) endstop for high end on X via pin io0.in M574 Y2 S1 P"!io0.in" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin io1.in M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Z-Probe ;M558 P8 C"^121.io0.in" H10 F120 T6000 ; set Z probe type to switch and the dive height + speeds ;G31 P500 X0 Y0 Z0.95 ; set Z probe trigger value, offset and trigger height M557 X15:470 Y15:480 S40 ; define mesh grid ; Z-Probe M558 P8 C"121.io2.in" H3 F1000 T6000 A20 S0.005 ; PINDA set Z probe type to switch and the dive height + speeds ;M308 S2 P"121.temp1" A"PINDA" Y"thermistor" T100000 B3950 G31 P500 X5 Y-3 Z1 ; set Z probe trigger value, offset and trigger height ;M557 X20:485 Y41:360 P7 ; define mesh grid ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M307 H0 B0 R0.210 C247.5 D2.42 S1.00 V12.1 ;M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit ;M307 H0 S1.00 A350 R2.429 C140 D5.5 B1 ; 2-19-22 auto tuning params using bang- BANG mode ;Heater 0 model: heating rate 2.429, cooling time constant 140.0, dead time 5.50, max PWM 1.00, calibration voltage 0.0, mode bang-bang M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"121.temp0" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin 121.temp0 M950 H1 C"121.out0" T1 ; create nozzle heater output on 121.out0 and map it to sensor 1 M307 H1 R1.069 K0.260:0.101 D8.8 E1.35 S1.00 B0 V12.4 ; R=1.069 K=0.260:0.101 D=8.8 M143 H1 S280 ; set temperature limit for heater 1 to 280C ; Fans M950 F0 C"out5" Q500 ; create fan 0 on pin out3 and set its frequency M106 P0 S0 H-1 C"Board Fan" ; set fan 0 value. Thermostatic control is turned off M950 F1 C"121.out1" Q250 ; create cooling fan 1 on pin toolboard out1 and set its frequency M106 P1 S0 H-1 B1 C"Part Cooling Fan" ; set fan 1 value. Thermostatic control is turned off M950 F2 C"121.out2" Q500 ; create fan 2 on pin 121.out1 and set its frequency M106 P2 S1 H1 T45 ; set fan 2 value. Thermostatic control is turned on ; Tools M563 P0 D0 H1 F1 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Custom setting s are not defined M955 P121.0 I54 ; specify orientation of accelerometer on Toolboard 1LC with CAN address 121 M593 P"zvd" F27.2 ; use ZVD input shaping to cancel ringing at 40.5Hz
-
RE: Step Rate abominably low causing layer shifts.
@dc42 I consulted with the odrive developers, and they said that the step pulse interval was 2 microseconds, and all other values could be zero, So my values now are T0:2:0:0 I tested this witha couple of test prints, and it seems to be working good now.
-
RE: Step Rate abominably low causing layer shifts.
@t3p3tony Ok thank you for clarifying. Would there be anyway to wire the encoders in parralel from the odrive to the duet. The Duet supports some encoders, but I am unsure weather the ones on the odrive would work. Particularly the CUI AMT10E2-V which has 20480 cpr
-
RE: Step Rate abominably low causing layer shifts.
@droftarts After doing some digging through the reprap firmware, and hangprinter files, I found that all can commands for the odrive are implemented. This leads me to believe that the Odrive and the duet can communicate through can, and that is what is being used in hangprinters. All commands for the odrive are implemented in files such as the hangprinter kinamatics file, CANinterface, and other files. With all the commands, and methods for communication with odrive implemented, how hard would it be to implement odrive support into closed loop commands for cartesian printers. Specifically the
CanInterface::StartClosedLoopDataCollection
function. Instead of using encoders connected to expansion boards, could have a conditional that uses
HangprinterKinematics::ReadODrive3Encoder
to retrieve the encoder position.
I am sure that I am vastly underestimating the work required to implement this though.I could possibly work on this and contribute code, what would the procces for becoming a contributer to RRF be?
-
RE: Step Rate abominably low causing layer shifts.
@droftarts I did some more tests with prints at 45 degrees, as to isolate the movement of the motors, as this is a core xy setup. I found that when doing tests with motor 0 no shifting occured. When I tested motor 1, layer shifting occured at speeds higher than 200 mm/s, particularar with travel moves. While testing Motor 0 I got print speeds up to 200mm/s with no shifting and accuracy. I think that the problem may be with step loss in the cable or a loose connection. WIth the hangprinter, How do they connect encoder signals from the odrive to the duet? They run can lines through all external drivers to the duet. I thought that can and can-fd were not compatible, but can-fd can read can signals. Is the odrive sending encoder data to the duet and just not recieving anything back?
-
RE: Step Rate abominably low causing layer shifts.
heres the config.g for the hangprinter
; Communication and general G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Kinematics G4 S1 ; Wait 1 second because expansion boards might not be ready to receive CAN signal yet. M584 X40.0 Y41.0 Z42.0 U43.0 P4 ; map ABCD-axes to CAN addresses, and set four visible axes. Please excuse that ABCD motors are called XYZU here. M584 E0:1:2:3:4:5 ; Regard all built in stepper drivers as extruder drives M669 K6 ; "This is a Hangprinter" M669 P2000.0 ; Printable radius (unused by Hangprinters for now) M669 S430 T0.1 ; Segments per second and min segment length ; Output of auto calibration script for Hangprinter M669 A0.0:-1610.98:-131.53 B1314.22:1268.14:-121.28 C-1415.73:707.61:-121.82 D-0.00:0.01:2299.83 M666 Q0.128181 R75.546:75.659:76.128:75.192 ; Explanation: ; ; M669 defines the positions of the anchors, expressed as X:Y:Z distances between a line's pivot points, when the machine is homed. ; ; M666 sets Q=spool buildup, R=spool radii (incl buildup, when homed) M208 Z2000.00 ; set maximum Z somewhere below D anchor. See M669 ... D<number> M208 S1 Z-10.0 ; set minimum Z ; The following values must also be in the auto calibration script for Hangprinter (if you plan to use it) M666 U2:2:2:4 ; Mechanical advantages on ABCD M666 O1:1:1:1 ; Number of lines per spool M666 L20:20:20:20 ; Motor gear teeth of ABCD axes M666 H255:255:255:255 ; Spool gear teeth of ABCD axes ; Flex compensation M666 W1.0 ; Mover weighs 1 kg. Set to 0 to disable flex compensation. M666 S20000.0 ; Spring constant (rough approximation) for Garda 1.1 mm line (unit N/m). ; The real value is somewhere between 20k and 100k. ; Lower value gives more flex compensation. M666 I0.0:0.0:0.0:0.0 ; Min planned force in four directions (unit N). ; This is a safety limit. Should affect only exceptional/wrong moves, ; for example moves outside of the reachable volume. M666 X70.0:70.0:70.0:70.0 ; Max planned force in four directions (unit N) ; This is a safety limit. Will affect moves close to ; the limits of the reachable volume. M666 T10.0 ; Desired target force (unit N). ; The flex compensation algorithm aims for at least ; this amount of fource in the ABC line directions at all times. ; It can be thought of as a minimum pre-tension value. ; It's recommended to set it around 10 times higher ; than your W (mover weight in kg) value. ; Guy wire lengths. Needed for flex compenation. ; Guy wires go between spool and final line roller. ; If your spools are all mounted on the D-anchor, on the ceiling plate, then you're all good, ; and you don't need to configure M666 Y values explicitly. ; If your spools are not all on the D-anchor then you must measure guy wire ; lengths and set them here. ; If your spools are all mounted on their respective anchors, so that you have no guy wires, ; then you should configure zeroed guy wire lengths M666 Y0.0:0.0:0.0:0.0. ;M666 Y-1.0:-1.0:-1.0:-1.0 ; Torque constants. These are required for reading motor forces from ODrives ; They are the same values as is configured in the ODrives themselves (8.27/330 for motors in the standard HP4 BOM) ;M666 C0.025061:0.025061:0.025061:0.025061 ; Uncomment M564 S0 if you don't want G0/G1 moves to be be limited to a software defined volume ; M564 S0 ; Drives M666 J25:25:25:25 ; Full steps per ABCD motor revolution (match with ODrives...) M569 P0 S1 ; Drive 0 goes forwards M569 P1 S1 ; Drive 1 goes forwards M569 P2 S1 ; Drive 2 goes forwards M569 P3 S1 ; Drive 3 goes forwards M569 P4 S1 ; Drive 4 goes forwards M569 P5 S1 ; Drive 5 goes forwards ;; Warning: On a Hangprinter, ABCD motor directions shouldn't be changed, at least not ;; via this config.g file. ;; They are duplicated and hard coded into the firmware ;; to make ODrive's torque mode go the right way. ;; Please connect BLDC wires, from left to right, looking at the board ;; from the front, so that ODrive silk screen is readable from left to right: ;; |---------------------------------------------------------------| ;; |DC | ;; |- ODrive | ;; |+ | ;; | AUX | ;; |--||---||---||------------------------------------||---||---||-| ;; || || || || || || ;; ALT 1: Black, Red, Blue Black, Red, Blue ;; ALT 2: Yellow, Black, Red Yellow, Black, Red M569 P40.0 S1 ; Drive 40.0 (A) goes forwards M569 P41.0 S1 ; Drive 41.0 (B) goes forwards M569 P42.0 S0 ; Drive 42.0 (C) goes backwards M569 P43.0 S0 ; Drive 43.0 (D) goes backwards ; Speeds and accelerations M201 X10000 Y10000 Z10000 U10000 E1000 ; Max accelerations (mm/s^2) M203 X36000 Y36000 Z36000 E3600 ; Max speeds (mm/min) M204 P2000 T4000 ; Accelerations while printing and for travel moves M566 X240 Y240 Z1200 E1200 ; Maximum instant speed changes mm/minute ; Currents M906 E1400 I60 ; Set motor currents (mA) and increase idle current to 60% ; Endstops M574 X0 Y0 Z0 ; set endstop configuration (no endstops) ; Thermistors and heaters M308 S1 P"temp0" Y"thermistor" T100000 B3950 ; Configure sensor 1 as thermistor on temp1 M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for nozzle heater and set PWM limit M307 H1 A1271.9 C432.5 D8.2 V24 ; Set heater parameters (for Super Volcano 80W. You probably want to tune this yourself with M303.) M143 H1 S280 ; set temp limit for nozzle heater to 280C M570 S180 ; Hot end may be a little slow to heat up so allow it 180 seconds ; Fans M950 F1 C"out7" M106 P1 X255 T45 H1 ; Enable Fan 1 thermostatic mode for sensor or heater 1 at 45 degrees M950 F0 C"out8" ; Defines a part cooling fan ; Find "temp0" and "out7" pins in the wiring diagram: ; https://duet3d.dozuki.com/Wiki/Duet_3_Mainboard_6HC_Wiring_Diagram ; Bltouch ; If you have a bltouch, see ; https://duet3d.dozuki.com/Wiki/Connecting_a_Z_probe#Section_BLTouch ; for how to install it ; Some of the commands below here might be different for you ; (eg if you don't have a Duet3 board, don't use the io7 headers, or have your bltouch mounted differently than me) M950 S0 C"io7.out" M558 P9 C"io7.in" H5 F120 T6000 G31 X15 Y27 Z8 P25 ; Measure these values in your own setup. ; These affect how you create and your mesh/grid bed compensation heightmap.csv values ; M557 X-200.001:200 Y-277.001:277 S80 ; Define a A2 sized grid with 1 cm margin... ; M376 H20 ; Taper the mesh bed compensation over 20 mm of z-height ; G29 S1 ; Load the default heightmap.csv and enable grid compensation ; Tool definitions M563 P0 D0 H1 ; Tool number 0, with extruder drive 0 uses heater 1 and no fan G10 P0 S0 R0 ; Set initial tool 0 active at standby temperature 0 ; Miscellaneous M92 E415 ; Set extruder steps per mm M911 S10 R11 P"M913 X0 Y0 Z0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss T0 ; Select tool 0
In the config.g all M569 commands have no augmented timing.
One thing that I found that was interesting was; Drives M666 J25:25:25:25 ; Full steps per ABCD motor revolution (match with ODrives...)
I do not know what this line of code affects. In the gcode dictionary it is defined as "Set delta endstop adjustment", and I see no mention of a J parameter.
In the odrive configuration for the hangprinter
#odrv0.axis1.controller.config.steps_per_circular_range = 400 # 25*16
Is the default steps per circular range
I Guess that It may have something to do with the kinematics of the hangprinter and steps per turn of the spool.My current microstepping and steps/mm are
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X53.05 Y53.05 Z1200 E409.00 ; set steps per mm
In the hangprinter I see no mention of microstepping Could that be a problem
I did some further testing with the movement of the printer.
when running this macro to test the y axisG0 F29000 G0 X250 Y40 G0 X250 Y400 G0 X250 Y40 G0 X250 Y400 G0 X250 Y40 G0 X250 Y400 G0 X250 Y40 G0 X250 Y400 G0 X250 Y40 G0 X250 Y400 G0 X250 Y40 G0 X250 Y400 G0 X250 Y40 G0 X250 Y400 G0 X250 Y40
It works perfectly and reaches a topspeed of 483 mm/s reported by DWC
EDIT
heres some more data with speed tests.
As you can see there is no difference in the steps recieved when going up to 483 mm/sEdit here’s a photo of a print
![alt text]( image url) -
RE: Step Rate abominably low causing layer shifts.
@droftarts My firmware version is 3.4.0. After @jay_s_uk mentioned the M569 command I looked it up in the gcode dictionary, which led me to the max achievable step rate spreadsheet, which I had previously looked at. I also noticed the settings for The 1XD expansion, for a 600 kHz step rate which was T0:0:0, I implemented this with the hopes that it would improve the step rates for the external drivers of a Duet 3 mini 5+. I tested the Printer again, and it was no longer failing on the duets side. Now I am experiencing motor spinouts around 500 mm/s. This printer is very big and heavy, so I did not expect for that much higher. I also plan to use the printer as a CNC mill in the future. Would you know of any information on the expansion 1HCL for closed loop systems, I would be interested in parallel wiring the encoders from my motors to the duet, so I could achieve a true closed loop system. After test prints, a benchy boat, I noticed that the printer is still shifting, I intend to do more test prints, particularly ones that I can look at more to identify layer shifts. One interesting thing that I found is that when I run a movement test macro with z movement included, the top speed goes way down, and caps at 240 mm/s compared to upwards of 400 mm/s otherwise. I believe that this is being reflected in prints, by when a travel move occurs, i have mine set at 300 mm/s, the printer loses a couple steps, resulting in small layer shifts, and a gradual change in accuracy. Why? I think it is because too much bandwidth is taken up. But what do I know.
Here is an image i compiled of tests from 10k mm/min, 20k mm/min, and 25k mm/min. Y axis is steps, X is time
regarding the vez3d video, I watched it, and He uses a Klipper system to coontrol his odrive, and he does not experience layer shifts. I have a toolboard connected to a hemera on the toolhead, so it is not possible for me to switch to Klipper.
-
RE: Step Rate abominably low causing layer shifts.
@fcwilt The odrive provides a graph of incoming steps, and through testing at different speeds, and therfore steps/second, I determined that at higher speeds, not as many steps were coming in as their should have been for the same amount of movement. I have not tried making the steps/mm to be a whole value yet, I am unsure whether that would make a difference.
-
RE: Step Rate abominably low causing layer shifts.
@fcwilt I have a odrive v 3.6 that runs brushless motors with encoders, as of right now I have 150kv motors, and 20480 cpr encoders. I believe that the Odrive has a max step rate of at least 250Khz. As of right now I have it at 1024 steps per circular range, which is 1024 steps/ rotation
-
Step Rate abominably low causing layer shifts.
I am using a Duet 3 mini 5+, with 3 z steps connected to drivers 0,1,2. and the two external drivers connected to an odrive running my X and Y motors. as of right now my steps/mm command is
M92 X53.05 Y53.05 Z1200 E409.00 ; set steps per mm
I have the external drivers connected through a shielded cable connecting to both of the pins.
The duet 3 mini's reported step rate is 250Khz on slightly older firmware. Prints running at lower speeds such as a benchy boat come out fine. When I run a print with travel moves at about 300mm/s, gradual layer shifts occur between travel moves resulting in a slanted part. I have determined tis to be the fault of the duet and not the odrive, because when increasing steps/mm on the duet and increasing my steps/rotation on the odrive, it is always the duet that causes layer shifts. I get 31,800 steps/ sec for just the X and Y axis when moving, does this exceed the 250Khz rated step rate? Another thing to not e is that When I run G0 rapid movements with just the X and Y axis at 300mm/s or faster, I experience no step loss. When adding Z movements to the test commands, the printer slows down significantly to about 200mm/s top speed. Is there anything that could be done to remedy this problem, or would I be better off buying a mainboard 6hc, or maybe trying to use Klipper? -
RE: Wifi stopped working and duet wifi getting super hot!
Is there any fix to this, I am having the same problem too. And also is there any documentation on how to set up a new sd card if the other one got corrupted. Also when this happened to me there was a little bit of smoke coming out from around the sd card. I assume thats what fried my sd card.