Germany
Asked

Relative Servo Error On Connect

Hello...

... I had the mistake for a long time and was looking for it:

Many of my servos moved uncontrollably when connecting! (different lengths, different random movements)

At some point I noticed that the error occurs with all servos that are connected as "relative servo"!

If I delete the relative servos and control them individually (horizontal servo, for example), the error no longer occurs!

I also started a new project for testing, the error also occurs there.

Anyone have an idea? Since I have a lot of movements for my robot where the motors have to move in opposite directions, I now have a problem.

I can program and then call each position individually but that would be a lot of extra work ...


Related Hardware EZ-B v4

ARC Pro

Upgrade to ARC Pro

ARC Pro is your passport to a world of endless possibilities in robot programming, waiting for you to explore.

PRO
Synthiam
#1  

I’ll take a peak at the relative servo.

Did you know that every servo control can specify more than one servo? Including reversing servos. Take a look here and see if that helps in the meantime: https://synthiam.com/Docs/Programming/Servo-Controls

PRO
Germany
#2   — Edited

Yes, thanks, I know that every servo control has a multi servo function, but unfortunately I cannot call it from a script and I need that.

If there is no long-term solution, I can write a small script for every position that contains the servo positions, and then call the small script from the main script.

But that would mean a lot of work with 10 servos and would be very confusing.

All other singel Servos works fine (no randrom movements on connect)

PRO
Synthiam
#3  

I'll take a look at it - stay tuned :)

PRO
Germany
#4  

No Problem... I upload a Video how it looks when i connect:

https://youtu.be/HICIsW5o9Rc

maybe it helps. Maybe the mistake is mine, but I just don't know where.

PRO
Germany
#5   — Edited

ok i was able to isolate the error. I deleted all servos from my project and wrote a small script. This should simulate a relative servo.

The script works. If I connect without the script working there is no error.

When I start the script and connect all the motors go crazy like in the video.

Although I deleted all servo controls from the project as I said.

This is the script:

:start

############# Flabs Hoch Runter v1 ########################### $SERVO_V1 = GetServo(V1) Servo( D8, $SERVO_V1 ) Servo( D10, $SERVO_V1 )

############# augen rechts links v5  ########################### $SERVO_V5 = GetServo(V5) Servo( D4, $SERVO_V5 ) Servo( D14, $SERVO_V5 )

goto (start)

The error seems to occur as soon as I use viritual ports.

I was hoping to work around the error if I didn't add a "Relative Servo" but wrote my own script that do the same... Now I am at a loss...

PRO
Synthiam
#6   — Edited

Try this build from the beta channel: https://synthiam.com/Products/ARC/Releases/ARC-Beta-2020-05-15-00-19498

I made some fixes to the relative servo

PRO
Germany
#7   — Edited

Much better! Now the problem only occurs when I use a relative servo move from a script. And only the first time. After that I can also end the connection and reconnect, the error does not occur. Only when I disconnect and reconnect the EZ-B from the power and then control a relative servo with a script - then the error occurs again.

I always start and end the connection with all servos in the same position. If I only control the relative servos by hand everything works.

As I said, only the first time a script is started after the EZ-B has no power, the error occurs once.

wouldn't be that bad either, but I could break components if the servos don't move synchronously.

PRO
Synthiam
#8  

I can’t seem to reproduce the situation you’re experiencing. Can you create a basic project and post it in your response?

PRO
Germany
#9   — Edited

Yes, I can, but it takes a moment. Yesterday I put everything back together and when I controlled one of the "relative servos" (by hand and not immediately after the restart) the error occurred again and damaged different parts. Among other things, one of the original EZ-B HDD motors :-/

When I have fixed everything, I will try to reproduce the problem again in a clean project.

Thank you in advance for trying so hard.

PRO
Germany
#10   — Edited

number5_test.EZB

ok i am one step further. I am now pretty sure that the problem does not come from the "relative servos". Could now produce the error in a script that does not use "relative servos". I still attached the clean project. I also filmed it again.

https://youtu.be/cQr_SNGxgeE

Any ideas what kind of hardware problem could trigger something like that? Broken motor? Problems with the voltage? (I'm using a 9V power bank) Wrong wiring?

it looks like the error is occurring in certain motor movements. You can see it quite well in the video.