Welcome to Synthiam!

Program robots using technologies created by industry experts. ARC is our free-to-use robot programming software that makes features like vision recognition, navigation, and artificial intelligence easy.

Get Started
Asked — Edited

Motor/ Servo Help

Hello All,

I am currently using the EZB4 for my 54 biped robot. The robot weighs 13 pounds. And I need help picking out the correct type of motors.

The EZ-B motors won’t cut it for I need motors with torque of at least 60 kg.cm.
I would like to use servo motors since they have built in potiometers and I can know their position. However I am having trouble finding high torque servos in my price range. (Any thing less than $60.)

I considered using dc motors and rigging up some potiometers or buying dc motors with built in quadrature encoders. But I am not sure how to use these inputs with EZ-B.

does anyone know of cheap 60kg.cm servos I can use. (Or about $20-$30, 30kg.cm servos) 

or can anybody body help me figure out how to use potiometers or quadrature encoders with EZ-B.

i am a high schooler learning to do this by themself, and a beginner. Thanks for reading. I hope you can help. Thanks.

ARC Pro

Upgrade to ARC Pro

Experience early access to the latest features and updates. You'll have everything that is needed to unleash your robot's potential.

AI Support Bot
Related Content
Synthiam
Based on your post activity, we found some content that may be interesting to you. Explore these other tutorials and community conversations.
#1  
Does anyone know how to use a potentiometer for dc motor positioning with EZB?

or does anyone know if I can use encoders to know the position of dc motors and how I would do so with EZB

thankd
PRO
Synthiam
#2  
Use the sabertooth motor controller combined with a kangaroo. 

Or

Use an hbridge connected to the motor wires of a servo PCB. You can create a giant servo from the guts of a small servo
PRO
Canada
#3  
Hello @Robotist_in_training,

I'd recommend looking into what the inMoov community doing. They also remove the Pots from their servos for a few different applications.

Some inMoov builders use the TS-80 servo which I believe is analog and will generate a lot of noise. You may want to look into digital servos. 

Here's a discussion about different large form factor RC servo motors for the inMoov: https://groups.google.com/forum/#!topic/inmoov/FW3tZmAdfBs
#4  
@robotist_in_training
Yes The Inmoov Robot uses quite a few large servos with the pot removed the wires extended and the pin removed on the main gear so the servo does not stop but is controlled by  the pot which is located on the limb or body. the strength is from gearing. which means there is a reduction in speed. With your
robot, speed may be an issue.  some members use this kind of servo.  usually from china see picture.
User-inserted image
#5  
@nallycat
thanks everyon for the help.
Nallycat if I use the servos you recommend can I still control position?
#6  
@Robotist_in_Training
I assume you can they are just a Servo.  but I would suggest you do more research, maybe someone that uses this type of servo could respond.
PRO
USA
#7  
...that would be me. I've have several of these types of servos and they work great with the EZB. It takes a little longer than a second to move the full travel. Noise level is less than a hobby servo. And super strong lifting power for some of their larger KG servo/motors. Only issue I see with these is their physical size and fitting them into a project.
#8  
@fxrtst 

Thanks for the comment I’ve been out of town and haven’t had a chance to check to forums till now. Just verifying I can control the position on the fee tech motors?
PRO
USA
#9   — Edited
Looking closely at these they might be a dc motor with an h bridge. The ones I’ve got,  have different control boards from a company called wingxing. They operate with standard servo pwm. They make 3 different versions going all the way up to 380kg/cm!

User-inserted image
#10  
Ok. I need motors that can be controlled by position opposed to speed/direction. 
With a humanoid robot I need to know the exact position of everything.

Ive just done some reading on h bridges and my understanding is that they control the motor by direction. Is that so?

if it is I don’t think those servos would work for me

thanks again for the help
PRO
USA
#11   — Edited
I understand. But with PWM you will know where position 90 or 180 degrees would be as an example. They will always be in the same place everytime you do a move. You instruct motor/servo to move to position 34, it moves there as fast as the motor can get it there. But position 34 will always be in the same location. 

If you are unsure it will be what you need, buy one and test it.

And to be clear the picture above motor, works exactly as a servo like the EZ Robots products come with.
#12   — Edited
Forgive me if this has already been covered. For DC motors, If you need position and speed control at all times then you need to add a device that will give you feedback as to what is exactly happening with the motor shaft. Encoders or pots will give you feedback. You can position them at the center of movement either on the joint moving or on the shaft of the motor. The motor shaft is the best option if you can find a way to mount it. 

If using a pot you can attach it directly to the EZB ADC ports and measure the voltage change as the pot moves. There is no need to home a pot because you always get a reading as to where the pot is by reading the voltage. I've done this and the scripting wasn't too hard to figure out. Just write a script that reads the voltage on the ADC port, set your PWM for speed, have ARC watch the Voltage level on the ADC port and stop the motor when it reached the position that corresponds to the voltage on the pot.  Ramping up speed was simple using PWM percent commands in a script increasing slightly from 0 to the speed you want. but getting it to ramp down was near impossible. There may be anb Example Project by Rich in the EZ Cloud. 

I like using encoders but the EZB can't natively read one and send the information back to ARC. For that you will need a motor controller like a Sabertooth with a Kangaroo attached or a Roboclaw. You can attach these to the EZB's serial port and send simple serial commands to these controllers and let them handle all the work. With encoders you will have to home each one before you can use the robot. Sending a moning command to the controller will tell the comptroller to find the end and center points and move the motor to one of these. ARC needs to know where the encoder is sitting and it's endpoints before it can send any useful commands.

If I'm correct I think there was just a ARC upgrade that will let it watch rotary encoders buy you may still need another device. Sorry, I'm not up to speed on this one and may be wrong.

Encoders can be found in all sizes and some DC motors already have them attached. If you notice the pictures the guys attached above have a little stub od motor shaft sticking out the back end of the motor. This is where you can attach a small encoder if you can find a way to screw it of glue it down securely. I don't know what you motor requirements are for power and speed but ServoCity has a nice selection of DC motors that already have encoders attached to the rear of the motor. I have one a couple of these in my robot and thee work wonderfully. I use a Sabertooth with a Kangaroo attached and send simple serial commands through EZB's serial port to control the motor. 

Here's a motor with encoder at ServoCity that just may work for you: https://www.servocity.com/38-rpm-premium-planetary-gear-motor-w-encoder
Here's a link to servoCity's motor page: ServoCity DC Motors
Here's a link to Dimension Engineering where you can find the Sabertooth and Roo: https://www.dimensionengineering.com/

If you are using a servo you can remove it's pot and locate in on the robot's joint. Or you could also just leave the pot in the servo and tap off it from there. DJ mentions tapping off the servo's internal control board. You could get ACD voltage readings through the ADC ports of EZB from a servo these ways and write scripts like I mentioned above. 

Hope this helped. Have fun.