ARC Pro

Upgrade to ARC Pro

Your robot can be more than a simple automated machine with the power of ARC Pro!

PRO
Synthiam
#1   — Edited

ARC will support any servo range (PWM or Serial).

PWM Servo The 270 degrees are divided amongst the PWM signal that is sent by an EZB controller.

Serial Servo If the servo is a serial protocol, the respective robot skill will have an option for it.

*Note: This is not a feature request and being moved to a question.

PRO
USA
#2  

Please explain in more detail your response so I can better understand your answer. The servo is not a serial servo, just a standard 270 degree servo. How do I get exactly 270 steps (degrees) from the set limit of 1-180 in the software?

PRO
Synthiam
#3   — Edited

You will NOT ever get 270-degree steps in a 270-degree servo. You will get 180 steps, totaling 270 degrees in a 270-degree servo. So each position in ARC or Arduino would equal 1.5 degrees in the servo. There is actually no such thing as a PWM servo degree - that doesn't exist. ARC (or Arduino, etc.) uses an arbitrary value of 1-180 to provide theoretically 180 degrees because most popular PWM servos happen to have 180 degrees output shaft rotation limits.

The software servo position is arbitrary to any servo, PWM, or serial. Take for instance a dynamixel servo, which will have a range between 0- 4096. There are 4096 positions, not 4096 degrees.

In reference to this 270-degree servo, which is PWM, the servo accepts the same pulse width as the popular 180-degree hobby servos. The difference with a 270-degree servo is that the ARC or Arduino, etc. position value of 180 will be 270 degrees. There is no command for a PWM servo that says "go to XXX degrees". The servo looks at the width of the signal pulse and moves respectively to the amount of rotation it is allowed.

The only difference between the PWM servos that you're used to is the number of rotations on the output shaft is connected to a multiple rotation potentiometer internally.

Here's how a servo works, which is actually quite interesting. It uses PWM pulses to instruct a position. Check this out:  https://synthiam.com/Support/Advanced-Fundamentals/servo-motor

PRO
Synthiam
#4  

Also, i think the best way for you to understand is to not use the words "Degrees" and "Steps" together.

The servo has absolutely no idea what a "Degree" is. It only knows what a position is. And a 270-degree servo uses the same input PWM range as a 180-degree servo.

Get one and hook it up to see what I'm explaining - you're a very visual person and seeing it would be helpful to ya.

PRO
USA
#6   — Edited

Ok. What is the working frequency for a servo in ARC? i.e 1-180?  This servo is : PWM 500-2500us

PRO
Synthiam
#7   — Edited

There is no working frequency (i.e. pulse width) for a servo in ARC. ARC sends an arbitrary position value to an EZB controller, and the EZB controller sends a pulse. Again, the numbers 1-180 in ARC or Arduino or anything is more-so coincidental that hobby PWM servos are 180-degree output shafts. The 180 position value was influenced by the 180-degree output shaft of a standard 180-degree servo, but that's about it.

The pulse width of an EZB microcontroller is handled within the microcontroller.

ARC sends a position, and the microcontroller sends the pulse.

The question would be "What is the pulse width range of an ___________ EZB". Unfortunately, the answer to that question is much larger and would require you to google a bit. Different libraries for different controllers all have different PWM ranges.

Here's a great link about how a servo works. In the link, there are details about the EZ-Robot EZ-B v4 controller and its range, which is the same as some Arduino hardware and other servo controllers: https://synthiam.com/Support/Advanced-Fundamentals/servo-motor

If you're wanting exactly 270 individual steps that each equal 1 degree, then I'd recommend using a servo controller that has an adjustable PWM range. I believe a good one would be the SSC-32: https://synthiam.com/Support/Skills/Servo/SSC-32-Servo-Controller?id=16180

The SSC-32 has an adjustable range from what I recall.

PRO
USA
#8   — Edited

Great info and links. Thank you. I have a SSC-32 I'll look deeper into it!

FYI servo city sells a cool little servo travel tuner, that lays inline and is adjustable (within the hard limit)