J4 calibration
After many month, I finally started to commission my AR4. Tested the encoders, verified the correct rotations of the joints and confirmed limit switches are working. I now calibrate each joint separately. For J4 I ran into an issue though. It does find the limit switch, and then confirms the position but when it should go back to 0, it tries to do a full rotation in the opposite directions. It hits the limit switch but overshoots and I need to stop it manually to prevent it damaging the wires.
To confirm it works, I did run the limit switch test program and jogged it manually into the limit switch. It works just fine.
Any advise? Many thanks!
Here is a video of what happens:
https://drive.google.com/file/d/1gJK9E4nBfEftO5PBMnxYvOeK-n0Osnq-/view?usp=drivesdk
Using the latest exe v6.1.
can you confirm J4 jogs in the correct directions per the manual page 371, then also double check that one of the direction settings on the kinematics tab didnt get inadvertently changed - check the default MK3 settings button.
Thank you. The jog directions appear all to be correct. I reinstalled the the software on the Teensy and used the default settings from the kinematic tab. When I did this it the first time, J4 calibrated correctly (with the 0 position overshot). I then retried the J1 and it went in the incorrect jog direction for calibration (turned -). Power everything off, started again and J1, J2 and J3 calibrated correctly, J4 is back to it's incorrect operation (finds the limit switch but then rotates more than 360 degree over the limit switch (as in the video). All very odd, not sure where to go from here ...
The next thing to check is that you have 3.3v at each of the drives opto terminals. Please use a meter and make sure each drive has a solid 3.3v at each terminal. The drives can exhibit erratic behavior when the 3.3v is not delivered to all drives. Its surprising but the drives will in some cases still function and move without the 3.3v signal.
Thanks for this. Just checked the Voltage using the diagram from the manual. There is indeed no 3.3V signal on these pins. Most appear 3.6V and J4 appears both to be on + Guess I'll need to check the cables :s
I'll report back... in the mean time, maybe worth adding the limit switch signal to the calibration procedure too? I doubt it should be permitted for the rotating axis (J4 and possibly J6) to overshoot the limit switch if something goes wrong?!
Afraid I could not find the issue and any further advise is much welcome!
Checked the cables to J4, they are all good. Double checked wiring against the manual:
Motor(orig) -> Board (changed)
Red -> Brown -> 5V
Black -> Brown/White -> GND
Brown -> Blue/White
Blue - Blue
The Blue and Blue/White cables are wired into terminals 21 and 22 of the Teensy but depending on cable used, I get either 0V or fluctuating between 2.8V - 3.2V.
For the other joints, the Teensy terminals read:
J1: 14/15 -> 3.6V
J2: 16/17 -> 3.6V
J3: 18/19 -> 3.6V
J4: 21/21 ->as above
J5: 22/23 -> 0V
J6: 24/25 -> 3.5V
Also tried to run the Teensy directly with a micro-USB to eliminate any issues with the Keystone Jack but to no avail. Used a number of OEM USB-C or micro-USB cables to make sure it is not these.
To ensure the Teensy works correctly, took this off the breakout module and measured the pins. The Voltages are as they should be at 3.3V for each pin measured against GND.
All joints can be jogged without issues... but no idea what is going on with these encoders and would much appreciate another hint what to try next!
Is it correct that the pins switch from all + to GND depending on the encoder positions? Getting 3.6V on all now. Either 3.6 of any connector14-24 to ground or between the pairs of the terminals... the encoders all register just fine when running the test program.
J4 calibrated well now, the issue moved to J1 and J5... I'm genuinely confused...
Not sure if this is a permanent solution, but what helped is to set large calibration offsets. The robot now auto-calibrates correctly. The values probably will need some refinement still but they are about correct...
I also used the AR4-MK2 Default for J4 Step/deg of 49.77 rather than the 99.555 of the MK3 default. No idea if a larger offset would have the same effect?!
Whether or not the 3.6V is a real value or a result of my old multimetre, I cannot tell.
Anyhow, it appears to work now. I'll try again tomorrow and if the problem returns will update here.
This calibration does seem to work (even today ;). Robot is recalibrated using the same offsets... BUT the teaching of coordinates does not work. Using the "teach new position" in the main control and then try to run the saved program makes the robot move slightly but then merely shows an error "Collision or Motor Error - see log". None of the joints hit a limit switch, all can be jogged manually still. Used the default AR4-MK3 values with the amendments above. Any suggestion how to get this running properly?
I am cautiously optimistic it has been resolved! :)
The issue is most likley that as a good user, I used the latest software update 6.1 on the Teensy and as the exe BUT the build is from December 2024 and I have not noticed the release notes for the 6.1 upgrade stating:
"Driver DIP switch update required – When upgrading to version 6.1, please update your motor driver DIP switch settings. Refer to the latest robot build manual (version 1.6), page 230 for the new settings. For users running earlier software versions, the previous DIP settings are still included on page 231 for reference."
Done that and the calibrations work reasonably and teaching positions ran also without issues. I did not "dare" to measure the voltage on the encoders yet and just happy it appears to be working ;)
Frank G I'm sorry I didnt get a chance to reply to your earlier comments yesterday, I'm glad its working - keep me posted if you have any other issues.
I also had this problem. Updating the dip switches fixed it.
I also had the same problem with J4 collisions. It was fixed after I update to software and firmware 6.6