Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. Jasperg
    • Profile
    • Following 0
    • Followers 0
    • Topics 6
    • Posts 24
    • Best 1
    • Controversial 0
    • Groups 0

    Jasperg

    @Jasperg

    1
    Reputation
    2
    Profile views
    24
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Jasperg Unfollow Follow

    Best posts made by Jasperg

    • rotational axis seem to be acting like linear axis

      Hi all,

      I am trying to understand if I am using rotational axis correctly.
      As I understand it, when moving from point 1 to point 2 (blue line) in the drawing below linear axis calculate the X and Y contribution to that move and scale each to the correct amount. But when if I was moving along red line the distance traveled is less.
      This means moving 2 axis at one time will result in the each individual axis running slower than if I was running each on its own.

      G0 X2 Y2 f80000
      

      will result in each axis moving slower than

      G0 X2 f80000
      

      null (1).png

      But if I use rotational axis they do not impact on each other in the same way. So in the example below if I rotate A 90 or both A and B 90 both they will run at the same speed?
      null (2).png

      But when I set up the axis below, they seem to behave like linear axis, as in moving 2 axis at one time by the same amount results in slower movement for both of them, even though from the reference it looks like A,B,C are all treated as rotational axis

      M584 A0:2:5:7  B1:3:6:8    
      M584 C4:9 
      

      I have also tried

      M584 A0:2:5:7  B1:3:6:8    
      M584 C4:9 R1
      

      and

      M584 A0:2:5:7  R1
      M584 B1:3:6:8  R1  
      M584 C4:9  R1
      

      and

      M584 X0:2:5:7  R1
      M584 Y1:3:6:8  R1  
      M584 Z4:9  R1
      

      my complete config file looks like this at the moment

      ; Configuration file for Duet WiFi (firmware version 3.3)
      ; executed by the firmware on start-up
      ;
      ; for feeder 01-01-2023
      
      ; General preferences
      G90                                                            ; send absolute coordinates...
      M83                                                            ; ...but relative extruder moves
      M550 P"chip-chop"                                              ; set printer name 
      
      ; Network
      M552 S1                                                        ; enable network
      M586 P0 S1                                                     ; enable HTTP
      M586 P1 S0                                                     ; disable FTP
      M586 P2 S0                                                     ; disable Telnet
      
      ; Drives
      M569 P0 S0                                                     ; physical drive 0 goes backwards 
      M569 P1 S0                                                     ; physical drive 1 goes backwards 
      M569 P2 S0                                                     ; physical drive 2 goes backwards 
      M569 P3 S0                                                     ; physical drive 3 goes backwards 
      M569 P4 S0                                                     ; physical drive 4 goes backwards 
      
      M569 P5 S1                                                     ; physical drive 5 goes forwards
      M569 P6 S6                                                     ; physical drive 6 goes forwards
      M569 P7 S1                                                     ; physical drive 7 goes forwards
      M569 P8 S1                                                     ; physical drive 8 goes forwards
      M569 P9 S9                                                     ; physical drive 9 goes forwards
      
      
      
      M584 A0:2:5:7  B1:3:6:8                                         ; set drive mapping 
      M584 C4:9 R1 	 ;  
      
      M350 C16 A16 B16   I1 ; E6:6:6                                              ; configure microstepping with interpolation
      
      M92 C40.00 A40.00 B40.00                  ; set steps per mm
      M566 C180.00 A180.00 B180.00               ; set maximum instantaneous speed changes (mm/min)
      M203 C350000.00 A350000.00 B350000.00     ; set maximum speeds (mm/min)
      M201 C34000.00 A34000.00 B34000.00        ; set accelerations (mm/s^2)
      M906 C1800 A1800 B1800  I10   ; set motor currents (mA) and motor idle factor in per cent
      M84 S1                                    ; Set idle timeout
      
      ; RepRapFirmware applies the M204 accelerations to the move as a whole, and also applies the limits set by M201 to each axis and extruder
        
      ; Axis Limits
      M208 C-10000	A-10000	B-10000		S1    ; set axis minima
      M208 C10000	A10000	B10000			S0    ; set axis maxima
      
      
      ; Heaters
      M140 H-1                                                       ; disable heated bed (overrides default heater mapping)
      
      
      

      so when running

      G92  A0 B0 C0           ;reset cutter motor position to 0
      G0 C4000 B4000 f80000
      G92  A0 B0 C0
      
      G0 A4000 C4000 f80000
      G92  A0 B0 C0
      
      G0 A4000 f80000
      G92  A0 B0 C0
      

      I was expecting that moving C and B or A and C would result in a move that is the same speed as just moving A, but it dose not

      I think I am missing something? Although I cannot see what!

      Any help is much appreciated!

      posted in General Discussion
      Jaspergundefined
      Jasperg

    Latest posts made by Jasperg

    • RE: Can anyone using rotational axis help me?

      @dc42 OK great thanks! I must have made an error, I'll try again.

      posted in Using Duet Controllers
      Jaspergundefined
      Jasperg
    • RE: Can anyone using rotational axis help me?

      @dc42 I have read the documentation you linked. The scenario I have is similar to A:

      "A. For motion involving one or more of the X, Y, and Z axes (with or without simultaneous rotational axis motion), the feed rate means length units per minute along the programmed XYZ path, as if the rotational axes were not moving."

      But I was hoping to have 2 or more rotational axes, with feed rate calculation based on a solo linear axis. From what I am reading it seems there is not a clear definition for what happens when more than one rotational axes is running at the same time as some linear axes. I had assumed any additional rotational axis would all be calculated independently to finish rotation at the end of the linear movement. But in my testing it seems that with 2 or more rotational axes moving with a linear axis they all start to be calculated as the square root of the sum of squares of all moving axes. Is this correct? Thanks!

      posted in Using Duet Controllers
      Jaspergundefined
      Jasperg
    • Can anyone using rotational axis help me?

      I am completely stuck. I have been trying on and off for months to work out how to control multiple rotational axes on a machine I am prototyping.

      In this post https://forum.duet3d.com/topic/30981 I asked about it before, but I have still not got any further.

      In another post I am reading a reference to what I think I am doing. They say;

      "I'm assuming the rotation rate is applied to the axis with the greatest travel?"
      https://forum.duet3d.com/post/216949

      But in all my tests no matter what I do, whether I use rotational or not, the travel speed of each axis seems to be the calculated as if I was calculating the speed needed for the square root of the sum of the of the square of the distance moved by all the moving axis, which I think is the correct calculation for a linear axis.

      I have so far been reversing the calculation by setting the feed rate to the square root of the sum of the squares of all axes I am moving. This works, But when they are moving difference distances this is very time consuming and hard to keep track of.

      I would Ideally like each axis speed to just scale as a % of the axis with the longest travel, which is what I expected from the rotational axis.

      I think I have tried every combination of using the predefined rotational axis, adding R1 adding S1 to the M584, but it seems to make no difference.

      Am I missing the point of a rotational axis completely? The only thing I can think of that is quite abnormal is that I have a rotational axis that uses 4 motors. Would this be an issue? I have not tested this yet as it only just occurred to me while writing this. But I feel like if this was the issue it would be an unintentional bug in the firmware. If no one has any better Ideas I’ll have to take my machine apart to test this possibility.

      Thanks for any help!

      posted in Using Duet Controllers
      Jaspergundefined
      Jasperg
    • RE: rotational axis seem to be acting like linear axis

      @JoergS5 Thanks so much for your advice! I'll read over this more, these posts look like they will help me get my head around it better

      posted in General Discussion
      Jaspergundefined
      Jasperg
    • RE: rotational axis seem to be acting like linear axis

      I realised I never mentioned what firmwhere or hardwhere I am using

      M115
      FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 3.4.1 ELECTRONICS: Duet WiFi 1.02 or later + DueX5v0.11 FIRMWARE_DATE: 2022-06-01 21:05:38
      
      posted in General Discussion
      Jaspergundefined
      Jasperg
    • RE: rotational axis seem to be acting like linear axis

      @JoergS5 do you know what (r)(c) mean in the out put form the Console below?

      if I type M584 into the terminal I get

      Driver assignments: X2:7 Y3:8 Z4:9 (r)(c)V0:5 (r)(c)W1:6, 5 axes visible
      

      while my drive mapping is like this

      M584 V0:5  R1 S1           ; set drive mapping
      M584 W1:6  R1 S1           
      
      M584 X2:7  R1 S1
      M584 Y3:8  R1 S1
      
      M584 Z4:9  R1 S1
      

      then I get

      Driver assignments: X2:7 Y3:8 Z4:9 (c)V0:5 (c)W1:6, 5 axes visible
      

      with drive mapping like this

      
      M584 V0:5 R1          ; set drive mapping 
      M584 W1:6 R1 
      M584 X2:7 R1 
      M584 Y3:8 R1 
      M584 Z4:9 R1
      

      and I get

      Driver assignments: X2:7 Y3:8 Z4:9 (r)V0:5 (r)W1:6, 5 axes visible
      

      with mapping like this

      M584 V0:5  S1
      M584 W1:6  S1
      M584 X2:7  S1
      M584 Y3:8  S1
      M584 Z4:9  S1      ; set drive mapping
      

      I am still trying anything I can to understand what is going on. I am beginning to think there is a bug in the source code that means rotational axis are not working I assuming the (r) and (c) are something to do with rotational and linear axis, but no matter what I do it dose not seem to effect the speed of axis movement.

      posted in General Discussion
      Jaspergundefined
      Jasperg
    • RE: rotational axis seem to be acting like linear axis

      Hi @JoergS5 ,

      Thanks for the advice, but I am not sure it is a speed limit that is causing it... as I am able to get AB to run at the same speed as A alone, but only by scaling up the feed rate when running them both at once, which will be OK as a workaround for what I am doing. But makes it harder to trouble shoot. I will have a look at the kinematics setting you mentioned though, but ideally I would like each axis to be calculated individually.

      Do you know am I correct that in theory that rotation axis do not influence each others speed calculation other than scaling them to finish at the same time?

      posted in General Discussion
      Jaspergundefined
      Jasperg
    • rotational axis seem to be acting like linear axis

      Hi all,

      I am trying to understand if I am using rotational axis correctly.
      As I understand it, when moving from point 1 to point 2 (blue line) in the drawing below linear axis calculate the X and Y contribution to that move and scale each to the correct amount. But when if I was moving along red line the distance traveled is less.
      This means moving 2 axis at one time will result in the each individual axis running slower than if I was running each on its own.

      G0 X2 Y2 f80000
      

      will result in each axis moving slower than

      G0 X2 f80000
      

      null (1).png

      But if I use rotational axis they do not impact on each other in the same way. So in the example below if I rotate A 90 or both A and B 90 both they will run at the same speed?
      null (2).png

      But when I set up the axis below, they seem to behave like linear axis, as in moving 2 axis at one time by the same amount results in slower movement for both of them, even though from the reference it looks like A,B,C are all treated as rotational axis

      M584 A0:2:5:7  B1:3:6:8    
      M584 C4:9 
      

      I have also tried

      M584 A0:2:5:7  B1:3:6:8    
      M584 C4:9 R1
      

      and

      M584 A0:2:5:7  R1
      M584 B1:3:6:8  R1  
      M584 C4:9  R1
      

      and

      M584 X0:2:5:7  R1
      M584 Y1:3:6:8  R1  
      M584 Z4:9  R1
      

      my complete config file looks like this at the moment

      ; Configuration file for Duet WiFi (firmware version 3.3)
      ; executed by the firmware on start-up
      ;
      ; for feeder 01-01-2023
      
      ; General preferences
      G90                                                            ; send absolute coordinates...
      M83                                                            ; ...but relative extruder moves
      M550 P"chip-chop"                                              ; set printer name 
      
      ; Network
      M552 S1                                                        ; enable network
      M586 P0 S1                                                     ; enable HTTP
      M586 P1 S0                                                     ; disable FTP
      M586 P2 S0                                                     ; disable Telnet
      
      ; Drives
      M569 P0 S0                                                     ; physical drive 0 goes backwards 
      M569 P1 S0                                                     ; physical drive 1 goes backwards 
      M569 P2 S0                                                     ; physical drive 2 goes backwards 
      M569 P3 S0                                                     ; physical drive 3 goes backwards 
      M569 P4 S0                                                     ; physical drive 4 goes backwards 
      
      M569 P5 S1                                                     ; physical drive 5 goes forwards
      M569 P6 S6                                                     ; physical drive 6 goes forwards
      M569 P7 S1                                                     ; physical drive 7 goes forwards
      M569 P8 S1                                                     ; physical drive 8 goes forwards
      M569 P9 S9                                                     ; physical drive 9 goes forwards
      
      
      
      M584 A0:2:5:7  B1:3:6:8                                         ; set drive mapping 
      M584 C4:9 R1 	 ;  
      
      M350 C16 A16 B16   I1 ; E6:6:6                                              ; configure microstepping with interpolation
      
      M92 C40.00 A40.00 B40.00                  ; set steps per mm
      M566 C180.00 A180.00 B180.00               ; set maximum instantaneous speed changes (mm/min)
      M203 C350000.00 A350000.00 B350000.00     ; set maximum speeds (mm/min)
      M201 C34000.00 A34000.00 B34000.00        ; set accelerations (mm/s^2)
      M906 C1800 A1800 B1800  I10   ; set motor currents (mA) and motor idle factor in per cent
      M84 S1                                    ; Set idle timeout
      
      ; RepRapFirmware applies the M204 accelerations to the move as a whole, and also applies the limits set by M201 to each axis and extruder
        
      ; Axis Limits
      M208 C-10000	A-10000	B-10000		S1    ; set axis minima
      M208 C10000	A10000	B10000			S0    ; set axis maxima
      
      
      ; Heaters
      M140 H-1                                                       ; disable heated bed (overrides default heater mapping)
      
      
      

      so when running

      G92  A0 B0 C0           ;reset cutter motor position to 0
      G0 C4000 B4000 f80000
      G92  A0 B0 C0
      
      G0 A4000 C4000 f80000
      G92  A0 B0 C0
      
      G0 A4000 f80000
      G92  A0 B0 C0
      

      I was expecting that moving C and B or A and C would result in a move that is the same speed as just moving A, but it dose not

      I think I am missing something? Although I cannot see what!

      Any help is much appreciated!

      posted in General Discussion
      Jaspergundefined
      Jasperg
    • RE: x and y axis speed limit?

      @dc42 what I did is set the length of the move to 180 and put a very high rate. With what i think are exactly the same settings on each axis. Then gradually up the acceleration that I set in the config file on each new test, originally I was doing this to test at what point the motor stalls, as I wanted to see how effective using 2 motors driving the same belt was at increasing power and speed but at one point the x and y axis stop accelerating any faster, yet the z will continue to do so. I can't find anything that is set any differently between each axis at the moment.

      posted in Tuning and tweaking
      Jaspergundefined
      Jasperg
    • RE: x and y axis speed limit?

      I have updated the config to have M350 16 micro stepping and M566 180 maximum instantaneous speed change. but did not see any difference.

      ; Configuration file for Duet WiFi (firmware version 3.3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.3.10 on Sat Jul 02 2022 12:58:01 GMT+0800 (Singapore Standard Time)
      
      ; General preferences
      G90                                                            ; send absolute coordinates...
      M83                                                            ; ...but relative extruder moves
      M550 P"chip chop"                                              ; set printer name
      
      ; Network
      M552 S1                                                        ; enable network
      M586 P0 S1                                                     ; enable HTTP
      M586 P1 S0                                                     ; disable FTP
      M586 P2 S0                                                     ; disable Telnet
      
      ; Drives
      M569 P0 S1                                                     ; physical drive 0 goes forwards
      M569 P1 S1                                                     ; physical drive 1 goes forwards
      M569 P2 S1                                                     ; physical drive 2 goes forwards
      M569 P3 S1                                                     ; physical drive 3 goes forwards
      M569 P4 S1                                                     ; physical drive 4 goes forwards
      M569 P5 S1                                                     ; physical drive 5 goes forwards
      M569 P6 S1                                                     ; physical drive 6 goes forwards
      
      M584 X0:4 Y1:5  Z2:3                                                 ; set drive mapping E3:4:5 
      M584 U6 
      M350 X16 Y16 Z16 U16 I1 ; E6:6:6                                              ; configure microstepping with interpolation
      M92 X40.00 Y40.00 Z40.00 U40.00 ;E40.00:40.00:40.00                       ; set steps per mm
      M566 X180.00 Y180.00 Z180.00 U180.00 ;E3.00:3.00:3.00                             ; set maximum instantaneous speed changes (mm/min)
      M203 X350000.00 Y350000.00 Z350000.00 U350000.00 ;E350000.00:350000.00:350000.00   ; set maximum speeds (mm/min)
      M201 X34000.00 Y34000.00 Z34000.00 U34000.00 ;E29000.00:29000.00:29000.00       ; set accelerations (mm/s^2)
      M906 X1800 Y1800 Z1800 U1800 I10 ;E1800:1800:1800 I0.1                     ; set motor currents (mA) and motor idle factor in per cent
      M84 S5                                                                    ; Set idle timeout
      
      ; RepRapFirmware applies the M204 accelerations to the move as a whole, and also applies the limits set by M201 to each axis and extruder
        
      ; Axis Limits
      M208 X0 Y0 Z0 U-5000 S1                                               ; set axis minima
      M208 X180 Y180 Z180 U 5000 S0                                         ; set axis maxima
      
      ; Endstops
      M574 X1 S1 P"xstop"                                            ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
      M574 Y1 S1 P"ystop"                                            ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop
      M574 Z1 S1 P"zstop"                                            ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin zstop
      
      ; Z-Probe
      ;M558 P0 H0 F120 T4800                                          ; disable Z probe but set dive height, probe speed and travel speed
      ;M557 X0:0 Y0:0 S20                                             ; define mesh grid
      
      ; Heaters
      M140 H-1                                                       ; disable heated bed (overrides default heater mapping)
      
      ; Fans
      
      ; Tools
      
      ; Custom settings are not defined
      
      
      
      posted in Tuning and tweaking
      Jaspergundefined
      Jasperg