Solved Can't run 15000 mm per min
-
My board is Duet3 6HC. The attached photo is my config.g . Z axis can run 15000 mm/min and doesn’t lose step when my RRF version is 3.1.1. Recently I have upgraded the RRF firmware from 3.1.1 to 3.4. My config.g is same. Z axis will stop suddenly and lose step when it run full speed (G0). It looks like over limitation and self- protection. What happen? How do I set my config.g ?
-
@Jimmykc Please send
M569 P0.2
to show how the Z axis is configured. Also M122.Ian
-
-
@droftarts Servo driver is controlled by Duet's step signal. I use servo driver scope to monitor Duet's speed. My 3000 rpm is 15000mm/ min . The RRF 3.4 will stop when the speed close to 1500RPM.
RRF3.1-15000 mm/min
RRF3.4-15000mm/min -
@Jimmykc please share your config.g.g file and a link to the manual for the servo drive.
-
@dc42 said in Can't run 15000 mm per min:
link to the manual for the servo drive
servo driver link :
https://filecenter.deltaww.com/Products/download/06/060201/Manual/DELTA_IA-ASD_ASDA-B3_UM_EN_20210201.pdf -
@dc42 Sorry, I write wrong RRF version, but I have to use RRF 3.3+ because RRF3.4 RRF is not available my DWC. I list M122.
m122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.3+ (2022-10-06 15:05:17) running on Duet 3 MB6HC v0.6 or 1.0 (standalone mode)
Board ID: 08DJM-956L2-G43S4-6JKDA-3SN6T-1V6YH
Used output buffers: 3 of 40 (28 max)
=== RTOS ===
Static ram: 150424
Dynamic ram: 97284 of which 332 recycled
Never used RAM 103296, free system stack 171 words
Tasks: NETWORK(ready,26.6%,195) ETHERNET(notifyWait,0.0%,109) HEAT(delaying,0.0%,326) Move(notifyWait,0.0%,256) CanReceiv(notifyWait,0.0%,753) CanSender(notifyWait,0.0%,373) CanClock(delaying,0.0%,340) TMC(notifyWait,8.5%,60) MAIN(running,64.7%,1166) IDLE(ready,0.0%,29), total 100.0%
Owned mutexes:
=== Platform ===
Last reset 01:10:49 ago, cause: software
Last software reset at 2022-10-18 14:09, reason: User, GCodes spinning, available RAM 103296, slot 2
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00432000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x00
Step timer max interval 130
MCU temperature: min 41.4, current 41.9, max 43.8
Supply voltage: min 24.0, current 24.1, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
12V rail voltage: min 12.1, current 12.1, max 12.2, under voltage events: 0
Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/24/24, gc cycles 0
Driver 0: position 0, standstill, reads 27939, writes 18 timeouts 0, SG min/max 0/0
Driver 1: position 0, standstill, reads 27939, writes 18 timeouts 0, SG min/max 0/0
Driver 2: position -30, standstill, reads 27934, writes 23 timeouts 0, SG min/max 0/1023
Driver 3: position 0, standstill, reads 27941, writes 16 timeouts 0, SG min/max 0/0
Driver 4: position 0, standstill, reads 27934, writes 24 timeouts 0, SG min/max 0/1023
Driver 5: position 0, standstill, reads 27944, writes 14 timeouts 0, SG min/max 0/0
Date/time: 2022-10-18 16:17:58
Slowest loop: 14.01ms; fastest: 0.05ms
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 25.0MBytes/sec
SD card longest read time 2.4ms, write time 2.7ms, max retries 0
=== Move ===
DMs created 125, maxWait 21975ms, bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves 3, completed moves 3, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 1], CDDA state -1
=== AuxDDARing ===
Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters = 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
=== GCodes ===
Segments left: 0
Movement lock held by null
HTTP is idle in state(s) 0
Telnet is idle in state(s) 0
File is idle in state(s) 0
USB is idle in state(s) 0
Aux is idle in state(s) 0
Trigger is idle in state(s) 0
Queue is idle in state(s) 0
LCD is idle in state(s) 0
SBC is idle in state(s) 0
Daemon is idle in state(s) 0
Aux2 is idle in state(s) 0
Autopause is idle in state(s) 0
Code queue is empty.
=== CAN ===
Messages queued 38273, received 68084, lost 0, longest wait 1ms for reply type 6042, peak Tx sync delay 477, free buffers 49 (min 48), ts 21247/21246/0
Tx timeouts 0,0,0,0,0,0
=== Network ===
Slowest loop: 12.85ms; fastest: 0.02ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions
HTTP sessions: 1 of 8- Ethernet -
State: active
Error counts: 0 0 1 0 0
Socket states: 5 2 2 2 2 0 0 0
- Ethernet -
-
@Jimmykc thanks for providing config.g.
I presume you have tapped into the step and direction signals for driver 2. The most obvious thing I see is that you have not specified any T parameters in the M569 command for the Z axis (or any other axis). This means that the step pulse width and pulse interval are only guaranteed to be long enough for the internal TMC5160 drivers. Code changes between firmware versions may have made the pulse width shorter than before.
Your Z steps/mm is only 200 so the step rate needed to achieve 15000mm/min is (15000/60) * 200 = 50kHz which is not particularly high.
Try adding T1:1:1:1 to that M569 command.
-
@dc42 You are right. I fix my issue. Thank you so much.
-
undefined dc42 marked this topic as a question
-
undefined dc42 has marked this topic as solved