nut has bearing ( thus increased weight ), material is 40hrc, tool wear appears sooner, etc
also, after the nut makes contact with the screw, it requires more than 30 degrees to tight it ( the bearing leads to increased angle ); on another threaded assembly, after the nut_without_bearing & screw make contact, tightening occurs in less than 1mm ( perhaps other tolerances, etc )
i writed a soubroutine, that allows stepped acceleration and deceleration ( if you wish, pls check this link for a video of what it delivers : https://we.tl/vsR9q2uC7m )
i noticed that i can use less steps when accelerating, because the holder inertia is lower then the M spindle, while, when breaking, the opposite occurs; thus if i acc and decc at same rate, then decelartion will be bumpier, because the axle of the liveholder will kick into the M spindle; also, at the live holders with 2 axles, this phenomen is greater, because there is a small play between those 2 axles
available syntaxes for both OMACC and OMDEC :Code:M110 safe position T NOEX V1 = 2200 ( rpm ) ( * ) CALL OMACC LV01 = V1 LV02 = 100 LV03 = 1000 ( it will go : 0 1000 1100 1200 ... 2000 2100 rpm ) SB=V1 G00 M63 ( final rpm is executed here, toghether with rapid+M63 ) G04 F0.3 CALL OMDEC LV01 = V1 LV02 = 100 LV03 = 1000 ( it will go rpm : 2100 2000 ... 1100 1000 ) G136 M12 ( stop is executed here )
... CALL OM**C LV01 = rpm LV02 = rpm_step LV03 = threshold_rpm
...... or
... CALL OM**C LV01 = rpm ( if LV02 & LV03 are missing, then the soubroutine will load default values )
kindly
the soubroutine :
Code:OMACC ( acceleration for M axis ) ( LV01 = rpm LV02 = rpm_step LV03 = rpm_threshold ) ( LV02 & LV03 may not be specified ) IF LV02 NJUMP1 ( NFALSE ) NOEX LV02 = 450 ( defaults loaded ) NJUMP1 NOEX IF LV03 NJUMP2 ( NFALSE ) NOEX LV03 = 1000 ( defaults loaded ) NJUMP2 NOEX NOEX LV04 = 0 ( create variable ) CALL OMHLP SB = LV03 M13 NOEX LV00 = 0 NHERE NOEX LV00 = LV00 + 1 SB = LV03 + LV04 * LV00 M13 IF [ LV00 LT LV02 - 1 ] NHERE RTS ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ) OMDEC ( decceleration ... ) IF LV02 NJUMP1 ( NFALSE ) NOEX LV02 = 450 ( defaults loaded ) NJUMP1 NOEX IF LV03 NJUMP2 ( NFALSE ) NOEX LV03 = 1000 ( defaults loaded ) NJUMP2 NOEX NOEX LV04 = 0 ( create variable ) CALL OMHLP NOEX LV00 = 0 NHERE NOEX LV00 = LV00 + 1 SB = LV01 - LV04 * LV00 IF [ LV00 LT LV02 ] NHERE RTS ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ) OMHLP IF [ LV01 GT LV03 ] NJUMP NLOOP M0 GOTO NLOOP NJUMP NOEX NOEX LV02 = [ LV01 - LV03 ] / LV02 ( nr of steps : real ) NOEX LV02 = DROUND [ LV02 ] ( ... ... ... : real with 3 decimals ) NOEX LV02 = FUP [ LV02 ] ( ... ... ... : integer ) NOEX LV04 = [ LV01 - LV03 ] / LV02 RTS ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . )