Delta Printer Duet 3 Mini 5+ with 3 1HCL V1.0a
-
Hello Good morning,
I have assembled a Delta printer. I installed 3 17HS15-1504D-E1K 17HS15-1504D-E1K.pdf stepper motors with 1000 PPR optical encoders from Stepperonline.I connected EA+ and EB+ to the 1HCL V1.0a board using A_Input and B_Input, along with 5V and GND. (I believe this is correct, based on what I read in the wiki.)
I have configured everything else correctly.However, I keep getting the following error:
"Error in start-up file macro line 27: No encoder specified for closed loop drive mode."I initially had firmware version 3.5.4, then updated to 3.6.0 beta 4, but the issue remains the same.
I have read and re-read the entire wiki, but it still doesn’t work.
My Config:g :
code_text ```; Configuration file for RepRapFirmware on Duet 3 Mini 5+ WiFi ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.5.10 on Sat Mar 01 2025 16:51:15 GMT+0100 (Ora standard dell’Europa centrale) ; General G90 ; absolute coordinates M83 ; relative extruder moves M550 P"Delta Star 3.1" ; set hostname ; Accessories M575 P1 S0 B57600 ; configure PanelDue support ; Network M552 S1 ; configure WiFi adapter M586 P0 S1 ; configure HTTP ; Kinematics M665 L360 R205.609 B150 H595.5 ; set delta radius, diagonal rod length, printable radius and homed height M208 Z0 S1 ; set minimum Z M666 X0 Y0 Z0 A0 B0 ; endstop adjustments and XY tilt, can be determined using auto calibration as well ; Wait a moment for the CAN expansion boards to become available G4 S2 ; Smart Drivers M569 P50.0 S0 D4 ; driver 50.0 goes forwards (X axis) M569.1 P50.0 T2 C2500 S200 R100 I0 D0 E4:6 ; driver 50.0 has a quadrature encoder with 5 CPS M569 P51.0 S0 D4 ; driver 51.0 goes forwards (Z axis) M569.1 P51.0 T2 C2500 S200 R100 I0 D0 E4:6 ; driver 51.0 has a quadrature encoder with 5 CPS M569 P52.0 S0 D4 ; driver 52.0 goes forwards (Y axis) M569.1 P52.0 T2 C2500 S200 R100 I0 D0 E4:6 ; driver 52.0 has a quadrature encoder with 5 CPS M569 P0.3 S1 D2; driver 0.3 goes forwards (extruder 0) ; Axes M584 X50.0 Y52.0 Z51.0 ; set axis mapping M350 X32 Y32 Z32 I0 ; configure microstepping with interpolation M906 X1000 Y1000 Z1000 ; set axis driver currents M92 X160 Y160 Z160 ; configure steps per mm M566 X360 Y360 Z360 ; set maximum instantaneous speed changes (mm/min) M203 X30000 Y30000 Z30000 ; set maximum speeds (mm/min) M201 X10000 Y10000 Z10000 ; set accelerations (mm/s^2) ; Motor Idle Current Reduction M906 I30 ; set motor current idle factor M84 S30 ; set motor current idle timeout ; Endstops M574 X2 P"50.io0.in" S1 ; configure X axis endstop M574 Y2 P"52.io0.in" S1 ; configure Y axis endstop M574 Z2 P"51.io0.in" S1 ; configure Z axis endstop ; Extruders M584 E0.3 ; set extruder mapping M350 E64 I0 ; configure microstepping without interpolation M906 E750 ; set extruder driver currents M92 E1618.18 ; configure steps per mm M566 E900 ; set maximum instantaneous speed changes (mm/min) M203 E30000 ; set maximum speeds (mm/min) M201 E10000 ; set accelerations (mm/s^2) ; Probes M558 K0 P8 C"io3.in+io3.out" H5 F1200 T6000 ; configure unfiltered digital probe via slot #0 M558 H30 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved G31 P500 X0 Y0 Z-0.1 ; set Z probe trigger value, offset and trigger height ; Mesh Bed Compensation M557 R150 S20:20 ; define grid for mesh bed compensation ; Sensors M308 S0 P"temp0" Y"thermistor" A"Heated Bed" T100000 B4725 C7.06e-8 ; configure sensor #0 M308 S1 P"temp1" Y"thermistor" A"Nozzle" T100000 B4725 C7.06e-8 ; configure sensor #1 ; Heaters M950 H0 C"out0" T0 ; create heater #0 M143 H0 P0 T0 C0 S110 A0 ; configure heater monitor #0 for heater #0 M307 H0 R2.43 D5.5 E1.35 K0.56 B0 ; configure model of heater #0 M950 H1 C"out1" T1 ; create heater #1 M143 H1 P0 T1 C0 S320 A0 ; configure heater monitor #0 for heater #1 M307 H1 R2.43 D5.5 E1.35 K0.56 B0 ; configure model of heater #1 ; Heated beds M140 P0 H0 ; configure heated bed #0 ; Fans M950 F0 C"out5" ; create fan #0 M106 P0 S0 L0 X1 B0.1 ; configure fan #0 M950 F1 C"out6" ; create fan #1 M106 P1 S0 B0.1 H1 T45 ; configure fan #1 ; Tools M563 P0 S"Smart Effector" D0 H1 F1 ; create tool #0 M568 P0 R0 S0 ; set initial tool #0 active and standby temperatures to 0C ; Miscellaneous T0 ; select first tool ; Custom settings M593 P"zvd" F40.5 ; use ZVD input shaping to cancel ringing at 40.5Hz ;M575 P1 S1 B57600 M572 D0 S0.048 ; Nozzle presure M501
M122 B50
code_text ```M122 B50 Diagnostics for board 50: Duet EXP1HCL rev 1.0a or earlier firmware version 3.6.0-beta.4 (2025-02-10 20:09:59) Bootloader ID: SAME5x bootloader version 2.11 (2024-08-09) All averaging filters OK Never used RAM 81292, free system stack 158 words Tasks: Move(3,nWait 7,0.0%,146) CLSend(3,nWait 6,0.0%,126) TMC(2,nWait 6,37.3%,337) HEAT(2,nWait 6,0.0%,115) CanAsync(5,nWait 4,0.0%,66) CanRecv(3,nWait 1,0.0%,45) CanClock(5,nWait 1,0.0%,63) MAIN(1,running,61.9%,383) IDLE(0,ready,0.0%,29) AIN(2,nWait 2,0.8%,255), total 100.0% Owned mutexes: Last reset 00:55:43 ago, cause: software Last software reset data not available Moves scheduled 9, hiccups 0 (0.00/0.00ms), segs 3, step errors 0 (types 0x0), maxLate 0 maxPrep 16, ebfmin 0.00 max 0.00 Phase step loop runtime (us): min=0, max=88, frequency (Hz): min=0, max=37500 Peak sync jitter -12/12, peak Rx sync delay 186, resyncs 0/0, next timer interrupt due in 29 ticks, enabled, next step interrupt due in 1842656022 ticks, disabled VIN voltage: min 24.5, current 24.5, max 24.5 V12 voltage: min 12.1, current 12.2, max 12.2 MCU temperature: min 33.2C, current 36.4C, maDriver 0: pos 8004, 160.0 steps/mm, standstill, SG min 0, mspos 476, reads 42274, writes 19 timeouts 0 Last sensors broadcast 0x00000000 found 0 203 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 28780, send timeouts 0, received 29241, lost 0, ignored 0, errs 0, boc 0, free buffers 38, min 38, error reg 0 dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 292, adv 36298/37106 Closed loop driver 0 mode: open loop, pre-error threshold: 4.00, error threshold: 6.00, encoder type rotaryQuadrature, position -5002 Encoder reverse polarity: no, raw count 60534 Accelerometer: none I2C bus errors 12, naks 0, contentions 0, other errors
EDIT:
I have solved the "No encoder specified for closed loop drive mode" error.
M569 must be placed after M569.1.
Strange, because the RRF Config Tool places M569 first, but that way it doesn't work. -
EA+ and EB+? Those are from the stepper encoder to the Mini? What inputs?
What about EA- and EB-?
Frederick
-
@fcwilt said in Delta Printer Duet 3 Mini 5+ with 3 1HCL V1.0a:
EA+ and EB+? Those are from the stepper encoder to the Mini? What inputs?
What about EA- and EB-?
Frederick
EA+ and EB+ come from the motor and are connected to the 1HCL driver. The Mini has nothing to do with it. Each motor has its own 1HCL driver.
However, since the 1HCL 1.0a version only has A_input, B_input, and N_input for the encoder, I assume I have connected them correctly.
Only the 1HCL 2.0 version has A+ B+ A- B- inputs.
-
I haven't figured out the source of the error BUT the specs for the encoder show it to be differential - the HCL v1.0a board doesn't appear to support differential.
Was that covered in the documentation you read?
The entries in your config.g mostly look correct but it's been a while since I configured a closed loop setup.
In the M569.1 you have C2500 - where did you get that value?
Frederick
-
@fcwilt I have solved the "No encoder specified for closed loop drive mode" error.
M569 must be placed after M569.1.
Strange, because the RRF Config Tool places M569 first, but that way it doesn't work. -
@flopo76 one for @chrishamm to fix with the config tool
-
Ok, all motors are working. To perform calibration at machine startup or after a reset, I did this as suggested in the wiki:
; homedelta.g ; Homing per una stampante Delta con Duet 3 + 1HCL M569 P50.0 D0 ; Motore torre X in open loop M569 P51.0 D0 ; Motore torre Y in open loop M569 P52.0 D0 ; Motore torre Z in open loop G91 ; Imposta il movimento relativo G1 H2 Z5 F6000 ; Alza il carrello leggermente per sicurezza G1 H1 X500 Y500 Z500 F3000 ; Muovi velocemente fino agli endstop G1 H2 X-5 Y-5 Z-5 F600 ; Rimuovi la pressione dagli endstop G1 H1 X10 Y10 Z10 F600 ; Rifai homing con precisione G90 ; Torna al movimento assoluto G1 X0 Y0 Z300 F3000 ; Sposta la testina in una posizione sicura M400 ; Attendi che il movimento finisca G4 P200 ; Pausa per stabilizzazione motori M569 P50.0 D4 ; Passa il motore torre X in closed loop M569 P51.0 D4 ; Passa il motore torre Y in closed loop M569 P52.0 D4 ; Passa il motore torre Z in closed loop M569.6 P50.0 V1 ; Calibrazione closed-loop per X M569.6 P51.0 V1 ; Calibrazione closed-loop per Y M569.6 P52.0 V1 ; Calibrazione closed-loop per Z G1 X0 Y0 Z0 F3000 ; Torna all'origine
I believe this is correct.