@joergs5 I plotted the square about right. How to Calibration from this process step? There are spaces in the part of the pen. I will fix them and do drawing again.
square.gcode
G90
G1 X0 Y150
G1 X0 Y200
G1 X50 Y200
G1 X50 Y150
G1 X0 Y150
@joergs5 I plotted the square about right. How to Calibration from this process step? There are spaces in the part of the pen. I will fix them and do drawing again.
square.gcode
G90
G1 X0 Y150
G1 X0 Y200
G1 X50 Y200
G1 X50 Y150
G1 X0 Y150
@mrehorstdmd @dc42 Thank you for your help. I solved the problem by increasing the current through the driver. I will replace the belt based on your advice. I'm putting the wrench there for luck.
@mrehorstdmd
It worked very nicely on Mach3 cnc software. I don't think there is a problem with drivers either. Printer printing area is 1.5mx1m.
From which value will I start the current values?
Hello there,
I built a large corexy printer. I used Nema 34 for x, y and z axes. I used LeadShine M880 drivers. Movement in the x and y axes is excellent. But there is constant shaking in the Z axis and I can move it up by hand. I used 4 ballscrews and 4 nema 34 in the Z axis. How do you think I can solve this problem?
config.g
; Configuration file for Duet WiFi (firmware version 2.03)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.2.3 on Tue Apr 06 2021 20:07:03 GMT+0300 (DoÄŸu Avrupa Yaz Saati)
; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"SAN-ART" ; set printer name
M669 K1 ; select CoreXY mode
; Network
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet
; Drives
M569 P5 R1 T2.5:2.5:5:5 S1 ; physical drive 5 goes forwards (X)
M569 P6 R1 T2.5:2.5:5:5 S1 ; physical drive 6 goes forwards (Y)
M569 P7 R1 T2.5:2.5:2.5:2.5 S1 ; physical drive 8 goes forwards (Z)
M569 P3 S0 ; physical drive 3 goes forwards
M584 X5 Y6 Z7 E3 ; set drive mapping
;M569 P0 S1 ; physical drive 0 goes forwards
;M569 P1 S1 ; physical drive 1 goes forwards
;M569 P2 S1 ; physical drive 2 goes forwards
;M584 X0 Y1 Z2 E3 ; set drive mapping
M350 X256 Y256 Z16 E16 I1 ; configure microstepping with interpolation
M92 X14.00 Y14.00 Z357.00 E420.00 ; set steps per mm
M566 X8000.00 Y8000.00 Z60.00 E1000.00 ; set maximum instantaneous speed changes (mm/min)
M203 X8000.00 Y8000.00 Z500.00 E1000.00 ; set maximum speeds (mm/min)
M201 X2000.00 Y2000.00 Z500.00 E1000.00 ; set accelerations (mm/s^2)
M906 X1800 Y1800 Z800 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 X900 Y900 Z1000 S0 ; set axis maxima
; Endstops
M574 X1 Y1 Z1 S1 ; set active high endstops
; Z-Probe
M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
M557 X15:215 Y15:195 S20 ; define mesh grid
; Heaters
M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
M305 P0 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M305 P1 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 1
M143 H1 S280 ; set temperature limit for heater 1 to 280C
; Fans
M106 P0 S0 I0 F500 H-1 ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P1 S1 I0 F500 H1 T45 ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
; Tools
M563 P0 D0 H1 F0 ; 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 settings are not defined
@joergs5 said in Five bar Parallel SCARA print area problem:
The imperfection is IMHO due to reasons like swinging arms, hinge backlash (play which has negative results if you change direction) and similar reasons.
Yes, I will include the bearing on the hinges. The friction will be on the bearing.
The somewhat wobbly line will be due to the resistance of the pen on the surface, a kind of slip stick effect. A felt-tip pen on foil will probably work better, or using fine grained paper.
I want to place hotend. I want to fix it with 3D prints.
0,0 is not accessible due to singularity (distal arms are in opposite, straight line), this is not solvable. You can change offset by setting the X and Y coordinates of the actuators to other values (eg instead of X -95,95 set to 5,195), but this doesn't help, the singularity remains (is then at X100,Y0). Singularity are unprintable areas.
So how are we going to escape this singularity? How do we create a square or circle printing area?
one hint I wanted to add: when you approach singularity areas, you will often experience that the stepper has more work to do. This may lead to lost steps, you may hear the sound of it. Result is, the firmware and actual position of the steppers doesn't fit any more. You must run homing again to set the positions right then. Lost steps often result in layer shifts, but in case of Scara the algorithm will be at the wrong place and the result wrong additionally.
Is it logical to use the closed loop stepper? I took my printer to the office. I will review the codes you are writing. I will try to add things.
@joergs5 Nice development. X and Y axis No access to points 0. How do I do offset?
@joergs5 I have changed the way you say. I have achieved the square shape after changing the direction of the arms. I guess codes don't have hard trouble. It remains to arrange the print area.
@joergs5 I plotted the square about right. How to Calibration from this process step? There are spaces in the part of the pen. I will fix them and do drawing again.
square.gcode
G90
G1 X0 Y150
G1 X0 Y200
G1 X50 Y200
G1 X50 Y150
G1 X0 Y150
config.g
M669 K9 L1 X-95:93 Y0:0 P126:133 D210:213:0:0 B51:90 A15:165:0:360:0:360 C-80:260:-80:260
debug
G28
MotorStepsToCartesian => thetaL:220.74=MotorPosX:204064.00/StepsPermmX:924.44
MotorStepsToCartesian => thetaR:220.74=MotorPosY:83200.00/StepsPermmY:924.44
getForwad => getIntersec(distalL:210.00,distalR:213.00,xL:-190.46,yL:-82.23,xR:93.00,yR:133.00)
getIntersec firstRadius: 210.00 secondRadius: 213.00 firstX: -190.46 firstY: -82.23 secondX: 93.00 secondY: 133.00
getTurn => turn:-40677.33 = (x2:-119.27 - x1:-190.46) * (y3:133.00 - y1:-82.23) - (y2:115.33 - y1:-82.23) * (x3:93.00 - x1:-190.46)
getTurn => turn:40677.32 = (x2:18.96 - x1:-190.46) * (y3:133.00 - y1:-82.23) - (y2:-66.72 - y1:-82.23) * (x3:93.00 - x1:-190.46)
getTurn => turn:-13005.09 = (x2:-190.46 - x1:-95.00) * (y3:115.33 - y1:0.00) - (y2:-82.23 - y1:0.00) * (x3:-119.27 - x1:-95.00)
getTurn => turn:28231.32 = (x2:93.00 - x1:93.00) * (y3:115.33 - y1:0.00) - (y2:133.00 - y1:0.00) * (x3:-119.27 - x1:93.00)
getForwad => workmode:1 turnLeft:-13005.09 turnRight:28231.32
MotorStepsToCartesian => MachinePosX:nan MachinePosY:nan XYZ_AXES:3 numVisibleAxes:3
MotorStepsToCartesian => thetaL:51.00=MotorPosX:47147.00/StepsPermmX:924.44
MotorStepsToCartesian => thetaR:51.00=MotorPosY:83200.00/StepsPermmY:924.44
getForwad => getIntersec(distalL:210.00,distalR:213.00,xL:-15.71,yL:97.92,xR:93.00,yR:133.00)
getIntersec firstRadius: 210.00 secondRadius: 213.00 firstX: -15.71 firstY: 97.92 secondX: 93.00 secondY: 133.00
getTurn => turn:-23253.28 = (x2:-29.16 - x1:-15.71) * (y3:133.00 - y1:97.92) - (y2:307.49 - y1:97.92) * (x3:93.00 - x1:-15.71)
getTurn => turn:23253.28 = (x2:95.88 - x1:-15.71) * (y3:133.00 - y1:97.92) - (y2:-79.98 - y1:97.92) * (x3:93.00 - x1:-15.71)
getTurn => turn:17934.62 = (x2:-15.71 - x1:-95.00) * (y3:307.49 - y1:0.00) - (y2:97.92 - y1:0.00) * (x3:-29.16 - x1:-95.00)
getTurn => turn:16246.89 = (x2:93.00 - x1:93.00) * (y3:307.49 - y1:0.00) - (y2:133.00 - y1:0.00) * (x3:-29.16 - x1:93.00)
getForwad => workmode:1 turnLeft:17934.62 turnRight:16246.89
MotorStepsToCartesian => MachinePosX:-29.16 MachinePosY:307.49 XYZ_AXES:3 numVisibleAxes:3
MotorStepsToCartesian => thetaL:51.00=MotorPosX:47147.00/StepsPermmX:924.44
MotorStepsToCartesian => thetaR:51.00=MotorPosY:83200.00/StepsPermmY:924.44
getForwad => getIntersec(distalL:210.00,distalR:213.00,xL:-15.71,yL:97.92,xR:93.00,yR:133.00)
getIntersec firstRadius: 210.00 secondRadius: 213.00 firstX: -15.71 firstY: 97.92 secondX: 93.00 secondY: 133.00
getTurn => turn:-23253.28 = (x2:-29.16 - x1:-15.71) * (y3:133.00 - y1:97.92) - (y2:307.49 - y1:97.92) * (x3:93.00 - x1:-15.71)
getTurn => turn:23253.28 = (x2:95.88 - x1:-15.71) * (y3:133.00 - y1:97.92) - (y2:-79.98 - y1:97.92) * (x3:93.00 - x1:-15.71)
getTurn => turn:17934.62 = (x2:-15.71 - x1:-95.00) * (y3:307.49 - y1:0.00) - (y2:97.92 - y1:0.00) * (x3:-29.16 - x1:-95.00)
getTurn => turn:16246.89 = (x2:93.00 - x1:93.00) * (y3:307.49 - y1:0.00) - (y2:133.00 - y1:0.00) * (x3:-29.16 - x1:93.00)
getForwad => workmode:1 turnLeft:17934.62 turnRight:16246.89
MotorStepsToCartesian => MachinePosX:-29.16 MachinePosY:307.49 XYZ_AXES:3 numVisibleAxes:3
MotorStepsToCartesian => thetaL:49.00=MotorPosX:45298.00/StepsPermmX:924.44
MotorStepsToCartesian => thetaR:49.00=MotorPosY:81351.00/StepsPermmY:924.44
getForwad => getIntersec(distalL:210.00,distalR:213.00,xL:-12.34,yL:95.09,xR:97.64,yR:132.92)
getIntersec firstRadius: 210.00 secondRadius: 213.00 firstX: -12.34 firstY: 95.09 secondX: 97.64 secondY: 132.92
getTurn => turn:-23641.96 = (x2:-28.62 - x1:-12.34) * (y3:132.92 - y1:95.09) - (y2:304.46 - y1:95.09) * (x3:97.64 - x1:-12.34)
getTurn => turn:23641.95 = (x2:103.61 - x1:-12.34) * (y3:132.92 - y1:95.09) - (y2:-80.00 - y1:95.09) * (x3:97.64 - x1:-12.34)
getTurn => turn:18855.43 = (x2:-12.34 - x1:-95.00) * (y3:304.46 - y1:0.00) - (y2:95.09 - y1:0.00) * (x3:-28.62 - x1:-95.00)
getTurn => turn:17578.94 = (x2:97.64 - x1:93.00) * (y3:304.46 - y1:0.00) - (y2:132.92 - y1:0.00) * (x3:-28.62 - x1:93.00)
getForwad => workmode:1 turnLeft:18855.43 turnRight:17578.94
MotorStepsToCartesian => MachinePosX:-28.62 MachinePosY:304.46 XYZ_AXES:3 numVisibleAxes:3
MotorStepsToCartesian => thetaL:51.00=MotorPosX:47147.00/StepsPermmX:924.44
MotorStepsToCartesian => thetaR:51.00=MotorPosY:81351.00/StepsPermmY:924.44
getForwad => getIntersec(distalL:210.00,distalR:213.00,xL:-15.71,yL:97.92,xR:97.64,yR:132.92)
getIntersec firstRadius: 210.00 secondRadius: 213.00 firstX: -15.71 firstY: 97.92 secondX: 97.64 secondY: 132.92
getTurn => turn:-24075.32 = (x2:-24.02 - x1:-15.71) * (y3:132.92 - y1:97.92) - (y2:307.76 - y1:97.92) * (x3:97.64 - x1:-15.71)
getTurn => turn:24075.33 = (x2:95.73 - x1:-15.71) * (y3:132.92 - y1:97.92) - (y2:-80.07 - y1:97.92) * (x3:97.64 - x1:-15.71)
getTurn => turn:17452.44 = (x2:-15.71 - x1:-95.00) * (y3:307.76 - y1:0.00) - (y2:97.92 - y1:0.00) * (x3:-24.02 - x1:-95.00)
getTurn => turn:16982.36 = (x2:97.64 - x1:93.00) * (y3:307.76 - y1:0.00) - (y2:132.92 - y1:0.00) * (x3:-24.02 - x1:93.00)
getForwad => workmode:1 turnLeft:17452.44 turnRight:16982.36
MotorStepsToCartesian => MachinePosX:-24.02 MachinePosY:307.76 XYZ_AXES:3 numVisibleAxes:3
MotorStepsToCartesian => thetaL:51.00=MotorPosX:47147.00/StepsPermmX:924.44
MotorStepsToCartesian => thetaR:51.00=MotorPosY:83200.00/StepsPermmY:924.44
getForwad => getIntersec(distalL:210.00,distalR:213.00,xL:-15.71,yL:97.92,xR:93.00,yR:133.00)
getIntersec firstRadius: 210.00 secondRadius: 213.00 firstX: -15.71 firstY: 97.92 secondX: 93.00 secondY: 133.00
getTurn => turn:-23253.28 = (x2:-29.16 - x1:-15.71) * (y3:133.00 - y1:97.92) - (y2:307.49 - y1:97.92) * (x3:93.00 - x1:-15.71)
getTurn => turn:23253.28 = (x2:95.88 - x1:-15.71) * (y3:133.00 - y1:97.92) - (y2:-79.98 - y1:97.92) * (x3:93.00 - x1:-15.71)
getTurn => turn:17934.62 = (x2:-15.71 - x1:-95.00) * (y3:307.49 - y1:0.00) - (y2:97.92 - y1:0.00) * (x3:-29.16 - x1:-95.00)
getTurn => turn:16246.89 = (x2:93.00 - x1:93.00) * (y3:307.49 - y1:0.00) - (y2:133.00 - y1:0.00) * (x3:-29.16 - x1:93.00)
getForwad => workmode:1 turnLeft:17934.62 turnRight:16246.89
MotorStepsToCartesian => MachinePosX:-29.16 MachinePosY:307.49 XYZ_AXES:3 numVisibleAxes:3
constraintsOK => cachedInvalid:0 cachedX0:0.00 cachedY0:0.00
getInverse => not cantilevered proximalL:126.00 distalL:210.00 xOrigL:-95.00 yOrigL:0.00 x_0:-29.16 y_0:307.49
getIntersec firstRadius: 126.00 secondRadius: 210.00 firstX: -95.00 firstY: 0.00 secondX: -29.16 secondY: 307.49
getTurn => turn:-17934.62 = (x2:-127.24 - x1:-95.00) * (y3:307.49 - y1:0.00) - (y2:121.80 - y1:0.00) * (x3:-29.16 - x1:-95.00)
getTurn => turn:17934.62 = (x2:-15.71 - x1:-95.00) * (y3:307.49 - y1:0.00) - (y2:97.92 - y1:0.00) * (x3:-29.16 - x1:-95.00)
getTheta => workmode: 1 thetaA:104.83 thetaB:51.00 proxturnA:-17934.62 proxturnB:-17934.62
getTheta => use: 2 x2: -15.71 y2: 97.92 thetaB: 51.00 x1: -127.24 y1: 121.80 thetaA: 104.83
getInverse => not cantilevered proximalR:133.00 distalR:213.00 xOrigR:93.00 yOrigR:0.00 x_0:-29.16 y_0:307.49
getIntersec firstRadius: 133.00 secondRadius: 213.00 firstX: 93.00 firstY: 0.00 secondX: -29.16 secondY: 307.49
getTurn => turn:-16246.89 = (x2:1.73 - x1:93.00) * (y3:307.49 - y1:0.00) - (y2:96.74 - y1:0.00) * (x3:-29.16 - x1:93.00)
getTurn => turn:16246.89 = (x2:93.00 - x1:93.00) * (y3:307.49 - y1:0.00) - (y2:133.00 - y1:0.00) * (x3:-29.16 - x1:93.00)
getTheta => workmode: 1 thetaA:133.33 thetaB:90.00 proxturnA:-16246.89 proxturnB:-16246.89
getTheta => use: 2 x2: 93.00 y2: 133.00 thetaB: 90.00 x1: 1.73 y1: 96.74 thetaA: 133.33
getInverse => value thetaL:51.00
getInverse => value thetaR:90.00
getInverse => cachedInvalid 0 cachedX0:-29.16 cachedY0:307.49 cachedX1:-29.16 cachedY1:307.49
getInverse => cachedXL:-15.71 cachedYL:97.92 cachedXR:93.00 cachedYR:133.00 cachedThetaR:90.00 cachedXR:93.00
getInverse => cachedYR:133.00 cachedThetaL:51.00 cachedXL:-15.71 cachedYL:97.92
getInverse => cachedInvalid:0 x_0:-29.16 y_0:307.49 xL:-15.71 yL:97.92 thetaL:51.00 xR:93.00 yR:133.00 thetaR:90.00 x1:-29.16 y1:307.49
constraintsOK => cachedInvalid:0 actuatorAngleLMin:-80.00<0 && thetaL:51.00>actuatorAngleLMax:260.00
constraintsOK => cachedInvalid:0 thetaL:51.00 < actuatorAngleLMin:-80.00 || thetaL:51.00 > actuatorAngleLMax:260.00 return false
constraintsOK => cachedInvalid:0 actuatorAngleRMin:-80.00<0 && thetaR:90.00>actuatorAngleRMax:260.00
constraintsOK => cachedInvalid:0 thetaR:90.00 < actuatorAngleRMin:-80.00 || thetaR:90.00 > actuatorAngleRMax:260.00 return false
getAngle => x1:-15.71 y1:97.92 x2:-29.16 y2:307.49 x3:93.00 y3:133.00
getAngle => angle:31.32 = angle2:305.00 - angle1:273.67
constraintsOK => achedInvalid:0 headAngle:31.32 < headAngleMin:15.00 || headAngle:31.32 > headAngleMax:165.00 isnan(headAngle):0 return false
getAngle => x1:-95.00 y1:0.00 x2:-15.71 y2:97.92 x3:-29.16 y3:307.49
getAngle => angle:222.67 = 360 + angle2:93.67 - angle1:231.00
constraintsOK => cachedInvalid:0 angleProxDistL:222.67 < proxDistLAngleMin:0.00 || angleProxDistL:222.67 > proxDistLAngleMax:360.00 isnan(angleProxDistL):0 return false
getAngle => x1:93.00 y1:0.00 x2:93.00 y2:133.00 x3:-29.16 y3:307.49
getAngle => angle:215.00 = 360 + angle2:125.00 - angle1:270.00
constraintsOK => cachedInvalid:0 angleProxDistR:215.00 < proxDistRAngleMin:0.00 || angleProxDistR:215.00 > proxDistRAngleMax:360.00 isnan(angleProxDistR):0 return false
constraintsOK => cachedInvalid:0 cachedX0:-29.16 cachedY0:307.49
CartesianToMotorSteps => motorPosX = cachedThetaL:51.00 * stespPermm[X_AXIS]924.44
motorPosY = cachedThetaR:90.00 * stepsPermm[Y_AXIS]924.44
CartesianToMotorSteps => machinePos[0]:-29.16 machinePos[1]:307.49 motorPosX:0.00 motorPosY:924.44
CartesianToMotorSteps => XYZ_AXES:3 numVisibleAxes:3
constraintsOK => cachedInvalid:0 cachedX0:-29.16 cachedY0:307.49
CartesianToMotorSteps => motorPosX = cachedThetaL:51.00 * stespPermm[X_AXIS]924.44
motorPosY = cachedThetaR:90.00 * stepsPermm[Y_AXIS]924.44
CartesianToMotorSteps => machinePos[0]:-29.16 machinePos[1]:307.49 motorPosX:0.00 motorPosY:924.44
CartesianToMotorSteps => XYZ_AXES:3 numVisibleAxes:3ok
WiFi module is connected to access point Utku, IP address 192.168.1.12
M114
X:-29.157 Y:307.490 Z:0.000 E:0.000 E0:0.0 Count 47147 83200 0 Machine -29.157 307.490 0.000 Bed comp 0.000
ok
G90 G1 H2 Y90 F200
ok
G90 G1 H2 X90 F200
MotorStepsToCartesian => thetaL:90.00=MotorPosX:83200.00/StepsPermmX:924.44
MotorStepsToCartesian => thetaR:90.00=MotorPosY:83200.00/StepsPermmY:924.44
getForwad => getIntersec(distalL:210.00,distalR:213.00,xL:-95.00,yL:126.00,xR:93.00,yR:133.00)
getIntersec firstRadius: 210.00 secondRadius: 213.00 firstX: -95.00 firstY: 126.00 secondX: 93.00 secondY: 133.00
getTurn => turn:-35633.12 = (x2:-11.42 - x1:-95.00) * (y3:133.00 - y1:126.00) - (y2:318.65 - y1:126.00) * (x3:93.00 - x1:-95.00)
getTurn => turn:35633.12 = (x2:2.68 - x1:-95.00) * (y3:133.00 - y1:126.00) - (y2:-59.90 - y1:126.00) * (x3:93.00 - x1:-95.00)
getTurn => turn:-10531.36 = (x2:-95.00 - x1:-95.00) * (y3:318.65 - y1:0.00) - (y2:126.00 - y1:0.00) * (x3:-11.42 - x1:-95.00)
getTurn => turn:13887.57 = (x2:93.00 - x1:93.00) * (y3:318.65 - y1:0.00) - (y2:133.00 - y1:0.00) * (x3:-11.42 - x1:93.00)
getForwad => workmode:1 turnLeft:-10531.36 turnRight:13887.57
MotorStepsToCartesian => MachinePosX:nan MachinePosY:nan XYZ_AXES:3 numVisibleAxes:3ok
MotorStepsToCartesian => thetaL:90.00=MotorPosX:83200.00/StepsPermmX:924.44
MotorStepsToCartesian => thetaR:90.00=MotorPosY:83200.00/StepsPermmY:924.44
getForwad => getIntersec(distalL:210.00,distalR:213.00,xL:-95.00,yL:126.00,xR:93.00,yR:133.00)
getIntersec firstRadius: 210.00 secondRadius: 213.00 firstX: -95.00 firstY: 126.00 secondX: 93.00 secondY: 133.00
getTurn => turn:-35633.12 = (x2:-11.42 - x1:-95.00) * (y3:133.00 - y1:126.00) - (y2:318.65 - y1:126.00) * (x3:93.00 - x1:-95.00)
getTurn => turn:35633.12 = (x2:2.68 - x1:-95.00) * (y3:133.00 - y1:126.00) - (y2:-59.90 - y1:126.00) * (x3:93.00 - x1:-95.00)
getTurn => turn:-10531.36 = (x2:-95.00 - x1:-95.00) * (y3:318.65 - y1:0.00) - (y2:126.00 - y1:0.00) * (x3:-11.42 - x1:-95.00)
getTurn => turn:13887.57 = (x2:93.00 - x1:93.00) * (y3:318.65 - y1:0.00) - (y2:133.00 - y1:0.00) * (x3:-11.42 - x1:93.00)
getForwad => workmode:1 turnLeft:-10531.36 turnRight:13887.57
MotorStepsToCartesian => MachinePosX:nan MachinePosY:nan XYZ_AXES:3 numVisibleAxes:3
Unfortunately something has not changed. Still in an unknown area.
@joergs5 said in Five bar Parallel SCARA print area problem:
@rutku I thought about merging work modes. This is difficult, because while changing the mode, the position of the hotend changes and during the change and rotations, time is lost. So it must be while not printing and should probably be placed in the slicer, not the firmware. If the firmware decides, it will break the print process at places one doesn't wish.
It doesn't matter. I will think of something in the future. My priority is the work of the 3d printer. After working, I will understand better the codes you wrote.
@joergs5 said in Five bar Parallel SCARA print area problem:
I concentrate on code verification, i.e. whether the code is correct for work mode 1 for your test scenario (later for the other modes too), and improve the existing code like I describe in the other thread.
Yes, I'm looking forward to the result. My 11 month old baby started breaking my 3d printer. I can only debug on my small laptop. My eyes are dying. Tomorrow I will take my 3d printer to my office. I'm going to review your actions on the big monitor in my office. My eyes will be relieved. Have a nice day...