Trying to use Arduino Nano Sense to track position of moving crane arm

Hi all,

I would like to stick a Nano sense on the side of a small crane arm and be able to track it's position (incline and rotation only, no extension) and report the values over BT back to another module that could output the values on a display.

I haven't found any projects online exactly like this, but does anyone know of any sketches or projects where I could get started? Preferably something similar where someone is tracking a robotic arm / crane arm / some articulated arm thing with the accelerometers and gyro sensors? I'm having a hard time finding anything!

Thanks!

What does "small crane" tell? Reach, tons?

Looks something like that. I don't know the exact specs on the jib crane but basically I am looking to see if is in inclined or rotated... so I was thinking of putting a sense on the side of the arm and use the IMU to track the incline and rotation if possible...

What’s “Nano Sense”? If you mean a sensor, I’d think that rotary encoders are what you want to use. An IMU can be used for inclination but not for rotation.

DrDiettrich:
What's "Nano Sense"? If you mean a sensor, I'd think that rotary encoders are what you want to use. An IMU can be used for inclination but not for rotation.

This little guy here:

https://store.arduino.cc/usa/nano-33-ble-sense

Has a 9 axis inertial sensor:

I saw "angular rate" and thought perhaps it could be used to detect rotation

I was hoping to avoid using something like an encoder as I didn't want to mess with the existing equipment too much.

I saw “angular rate” and thought perhaps it could be used to detect rotation

That does detect rotation and nothing else. No beginning position or ending position. Only how fast the angle is changing.

Paul

Paul_KD7HB:
I saw "angular rate" and thought perhaps it could be used to detect rotation

That does detect rotation and nothing else. No beginning position or ending position. Only how fast the angle is changing.

Paul

Hmm.. so assuming I knew the start position and tracked the rate of change over time, I could potentially do some math to figure out the position if my recollection of equations of motion isn't too rusty.. but there would probably be a large amount of error?

The IMU detects speed of rotation, that must be integrated to give relative rotation. Even a small offset of the speed channel will fake permanent rotation. Inclination instead can be calculated from the gravity impact on the various axes, resulting in a stable absolute inclination angle.

Sounds good… found a few more topics on this and it would seem that the absolute position is better left to something like this:

$35 to save me from hair loss and a month of fruitless tinkering.

The same considerations apply to each IMU, angle measurement by gyroscope is unreliable. Magnetometers are very susceptible to iron and magnetic fields nearby. Better use a rotary encoder for rotation.

The accelerometer could be used to accurately measure the stationary tilt angles of the arm, as described in How_to_Use_a_Three-Axis_Accelerometer_for_Tilt_Sensing-DFRobot.

I think you will find the output of the other sensors useless for orientation in that environment, with a lot of iron moving slowly around.