Z Calibration – LIDAR only measures a maximum of 120mm
I’m struggling with the Z Calibration. If I open Calibration/Calibrate Z then a message “Adjust Z in actual position(200.0) and press enter key. Firstly the maximum range of the LIDAR only appears to be 120mm. I am assuming this is from the LIDAR sensor itself down to the table top (is this correct?). I know the LIDAR will measure up to 2m or thereabouts so I don’t understand why this is limited to 120mm. This sort of makes the “Adjust Z in Actual position (200.0) somewhat non-sensical.
Can you please explain the Z calibration in more detail please.
Also, on the stepper drivers, (I fitted A2988 Black) there is a current limit adjustment. Any thoughts on if this should be set to a minimum which whilst ensuring the steppers move would also ensure that they “skip” steps as opposed to making the belt slip which would probably happen if I adjust the current limit to the stepper motor nominal current.
And whilst I’m on, can you please explain what is actually happening during the X-Y Auto Calibration. One arm rotates and reaches an an end stop (belt slips or stepper stalls and skips steps ) and then the other arm and it’s corresponding stepper does the same. Without limit switches I can’t quite get my head around how this calibrates X & Y. I am aware that some stepper drivers can you use the current limit as an end stop indication, though I don’t think this is a feature on A2988’s.
The message “Adjust Z in actual position(200.0)” means that once the arm has been reached the X,Y position 200,0 you will need to adjust the Z (distance from the “floor”) and then proceed to the next point.
The calibration process needs 3 points (Far, middle point and close to the base). I will post a video of the process as soon as we get it.
Stepper motor drivers.
You mean 4988? (not 2988)
During the calibration process, the arm moves “looking” for physical resistance. Once the arm is blocked, it will start to miss steps but that works as a spatial reference for the arm. The same goes for the forearm. Missing steps is a “trick” used by the first generations of 3D printers to know where the carriages were.
This idea works as long as you set your arm completely straight pointing right as indicated here:
Then, after turning the Pybot ON, the calibration process will kick in and rotate the arm to its right until it finds the Z platform.
You can disable that option or modify the number of steps the arm is moving in the file: Robot.ini lines:
For MOTOR 1:
for (int cal = 0; cal < 1000; cal++)
REG_PORT_OUTSET0 = PORT_PA15; // STEP Motor1
REG_PORT_OUTCLR0 = PORT_PA15; // STEP Motor1
FOR MOTOR 2:
for (int cal = 0; cal < 1600; cal++)
REG_PORT_OUTSET0 = PORT_PA21; // STEP Motor2
REG_PORT_OUTCLR0 = PORT_PA21; // STEP Motor2
OK, it didn’t help that one of my 4988 drivers was defective so I was unable to move the z stepper. But now I can I still don’t get it.
I open up the calibration page and then “Activate Vision Mode to Calibrate”. At this point the the arm which was at it’s maximum height, moves down approximately half way, the position on the screen shows X, Y, 0.8 ( the graphic on the right hand side shows 80mm as the distance between the table top and the top of the carriage stepper motors.
What do I do now? Do I don’t have any control that enables me to move anything. So once again “Adjust Z in actual position (200.00) and press enter” is meaningless.
I believe the Z calibration is to put the robot at the 200 point straight out from the robot, and set the gripper to Z=0. Then hit enter. This is what I did and it seemed to work. The next step is 150,0 and it finds that.
NOTE: we finished our build 1 hour ago and we are still figuring this out! I’m not sure the LIDAR has been used yet.
In a way and not entirely to my satisfaction. I have discovered that on starting and before the robot is activated, actual position of the robot needs to represent the GUI. So put the GUI into Traject. Motion and Zero the arm, it should be pointing out straight, and ensure the height is zero as indicated on the RHS of the GUI. Without power on the robot move the Z axis so the Gripper touches the table top. When you plug in the power jack ,the robot zeros the arms, opens and closes the gripper and rotates the wrist. Now Activate Robot. It’s movements will follow the commands through the GUI. Because there’s no homing limit switch on the Z axis, the software doesn’t know where the arm is on start up, so the zeroing procedure needs to be carried out if there are obvious differences between the GUI and the actual arm position.
I still have yet to figure out, or make any real sense, of what is supposed to be happening during the Z Calibration when you go through the Calibration button on the GUI. If anybody can help me understand this I would be very grateful. The actual function and purpose of the LIDAR is also a bit of a mystery.