Annin Robotics Community

  • Kertu@kertu· 25 viewsin General Discussion

    Low-Frequency Interference Caused by Ground Loops

    Hello everyone. I am using a stepper motor with an encoder (https://www.oyostepper.com/category-36-b0-Stepper-Motor-w-Encoder.html). To improve noise immunity, I connected the shield of the encoder signal cable to the ground at both the encoder end and the driver end. However, this has caused occasional extra pulse counts during low-speed operation, leading to slight, jittery fluctuations in the coordinates displayed on the CNC screen.

    Using an oscilloscope to examine the A/B signals, I observed low-frequency interference—around 50 Hz—superimposed on the waveforms.

    According to the technical documentation I've consulted, grounding both ends creates a "ground loop." The potential difference between the two ground points causes a circulating current to flow through the shield, which then couples into the signal lines.

    The interference disappeared after I switched to a single-ended ground connection. I would like to ask: should the encoder cable shield be grounded at one end or both ends? And if it should be grounded at only one end, which side is preferable—the encoder side or the driver side?

    Thank you.

    oyostepper.com

    www.oyostepper.com/category-36-b0-Stepper-Motor-w-Encoder.html

  • Phumlani@phumlani· 62 viewsin General Discussion

    make J5 and J6 move together on a custom robot while keeping the kinematics accurate

    Hi Chris, Hi everyone

    I am currently designing a robot that has bevel gear for j6, the issue is that the bevel gear creates a differential relationship between the joint angles (j5 and j6). When j5 moves, j6 will move also.

    Can you please help with a modified code Chris. How difficult it is to modify the Arduino IDE code?

    Thanks.

    Loading comments…

  • Oğuz Coşkun@oguz· 56 viewsin General Discussion

    Can the current AR4 handle a 2.7 kg workpiece for slow machine tending?

    Hi everyone,

    We are evaluating the current AR4 for a broaching machine tending application and would appreciate advice from Chris and anyone with experience using the robot with heavier payloads.

    Our workpiece specifications are:

    • Outer diameter: 82 mm
    • Inner diameter: 72 mm
    • Length: 285 mm
    • Weight: 2.7 kg
    • Approximate working area: 500 mm

    We will also need a gripper, so the total payload at the robot flange will of course be higher than 2.7 kg. We intend to keep the gripper as light as reasonably possible.

    Speed is not important for this application. The robot can move slowly and we can use low acceleration. Repeatability, reliability and long-term operation are much more important to us than cycle time.

    Before we start modifying the design, we would like to understand what you would recommend for the current AR4 design.

    In particular:

    • Is this application realistic for the current AR4?
    • What total payload would you consider reasonable for this type of slow operation?
    • Which joints or components would become the limiting factors with a 2.7 kg workpiece plus gripper?
    • Would you recommend any changes to the motors, gearboxes, belts, bearings, shafts or wrist assembly?
    • Has anyone tested a similar payload repeatedly over a large number of cycles?
    • Is there anything about the robot position or working envelope that we should consider when designing the cell?

    We are seriously considering building the robot for this application, and we are also planning to purchase the STEP/SolidWorks CAD files so that we can review and, if necessary, modify the mechanical parts for our use case.

    We are able to manufacture or modify mechanical parts if necessary, so we are also interested in any modifications that would make this application more reliable.

    Thank you for any guidance or real-world experience.

    Loading comments…

  • Jacob Painter@jacobpainter· 48 views

    Teensy input/output voltage compatibility w/ encoder and driver

    I'm an ME student working on developing a 6 axis arm as my senior design project, and the AR4 has been an amazing source of inspiration. My team wants to use similar steppers and drivers as well as the teensy 4.1, however we noticed what seems to be an issue when looking at specs.

    The encoder that comes with the steppers used in the AR4 says it outputs 5V high on the stepperonline product page, which to my understanding could damage the teensy since it's designed for 3.3V input. Also, the stepper driver user manual says it accepts 4-5V high input, whereas the teensy again uses 3.3V. The AR4 instructions and wiring schematic seem to show that these inputs and outputs are directly connected.

    To the best of my knowledge this system shouldn't work, but clearly the AR4 does work using these parts. I was wondering if I'm missing something in the AR4 wiring/the hardware specs/my general electrical understanding, or if the parts can just handle a greater voltage range than what they're rated for, or if there's something else entirely going on?

    Many thanks

    Jacob

    Loading comments…

  • Paolo Gagge@gagge· 50 views

    PaMiLoCELL #06: Shaft, Key & Fastener Assembly

    During the AR4-MK5 assembly and MK4 → MK5 upgrade, one of the most useful lessons came from something apparently simple: fitting a keyed shaft.

    For those unfamiliar with robot mechanics, J1 and J2 are the first two robot joints. J1 rotates the robot around its base; J2 is the shoulder joint that raises and lowers the arm.

    During J2 assembly, the 14 mm gearbox shaft with parallel key would not enter its mating hub correctly.

    The first instinct could be to apply more force. Instead, the problem became a practical troubleshooting exercise:

    Where is the interference actually coming from?

    The checks included shaft diameter, key height, keyway alignment, possible burrs and the overall shaft-plus-key dimension measured with a caliper.

    The key was first pressed fully into its seat using a bench vise with protective tape. When a small residual interference remained, the key was carefully filed in very small increments, repeatedly checking the fit.

    Only in this kind of exceptional situation, once the geometry and alignment are verified, a soft rubber mallet can help progressively seat the gearbox assembly, never striking the shaft or key directly.

    Another important lesson came from the AR4 instructions: fully inserted does not mean eliminating every visible gap. When J2 is correctly installed, about 2 mm remains between the gearbox shoulder and the J2 tension ring.

    The same reasoning applies to bolts and nuts. Fasteners should clamp correctly aligned components, not pull misaligned parts into position. Threads should be started by hand and tightened progressively, using an alternating sequence when several bolts clamp the same flange.

    The MK4 → MK5 upgrade also reinforced the importance of understanding all locking points, set screws and mounting fasteners before applying extraction or assembly force.

    Where specified, threadlocker must also be selected correctly: the AR4 instructions recommend low-strength threadlocker for screws 4 mm and larger, but not for 3 mm and smaller screws.

    A future PaMiLoCELL upgrade will introduce torque wrenches, allowing critical fasteners to be tightened with controlled and repeatable torque rather than relying only on manual feel.

    The workflow I take from this experience is:

    inspect → measure → understand → correct → align → seat → tighten

    Precision assembly is not about applying more force. It is about understanding dimensions, alignment, contact surfaces, interference and clamping forces.

    #PaMiLoCELL #PaMiLoLAB #Robotics #MechanicalEngineering #RobotAssembly #AR4MK5 #PrecisionAssembly #Fasteners #TorqueControl

    Loading comments…

  • Stefan Asmus@stefanasmus· 56 viewsin General Discussion

    AR4 Mk 1 Dynamic Compensation

    Hi Chris,

    I've been developing the Teensy 4.1 firmware further and am currently working on a dynamics observer, with the longer-term goal of dynamic/gravity compensation.

    I've already implemented numerical Jacobian/singularity monitoring and am now looking to populate a rigid-body dynamics model of the AR4 Mk1. Do you have any of the following mechanical/dynamic parameters available from the AR4 CAD or original design calculations?

    For each moving link / joint assembly J1–J6:

    • Mass of each link/assembly (kg)
    • Centre of mass location for each link (XYZ), and which coordinate frame the COM is referenced to
    • Moment/inertia tensor about the link COM: Ixx, Iyy, Izz and, if available, Ixy, Ixz, Iyz
    • Confirmation of the link coordinate frames used for those values

    For the drivetrain:

    • Gear reduction for J1–J6
    • Any belt/pulley reductions in addition to the gearbox reduction
    • Motor rotor inertia for each motor, if known
    • Gearbox/output inertia or reflected inertia, if available
    • Approximate gearbox efficiency for each joint, if known
    • Any known static/Coulomb friction or viscous-friction values

    For the kinematic model:

    • The definitive AR4 DH parameters / link geometry used by the controller
    • Confirmation of joint-axis directions/sign conventions
    • Any mechanical zero offsets that aren't represented directly in the DH table

    For the wrist/tool:

    • Mass and COM of the standard J6/flange assembly
    • Rated/default payload
    • Payload COM assumptions used when the AR4 was designed
    • Any maximum joint torque figures or calculated torque requirements for J1–J6

    I'm particularly interested in whether you already have a mass-properties export from the CAD. If you have the original CAD assemblies with materials assigned, even a table/export of mass, COM and inertia tensor for each moving assembly would be ideal.

    I'm initially running the dynamics as an observer only, calculating gravity, inertial and Coriolis/centrifugal loading without changing motion, so I can validate the model against encoder following error before implementing any active compensation.

    Cheers,

    Stefan

    Loading comments…