Questions about servos

Hello everyone:
I'm an Arduino newbie teacher who wants to make a robotic arm project with pupils. In order to accomplish that I need to use some servos, and although I have read a lot of articles and information on the topic I still have some doubts:

  • Can I use digital servos with Arduino? I have practised with the examples and I manage to control an analog servo without problems but I know digital servos use a faster pulse signal and I do not know if I can connect them to the board and if I need to change the code.
  • Can I use higher voltage servos? In case I need more power for the arm I would need to use servos working at 6 or 7 V, instead of 5. Can I use the ground and 5 V pins from Arduino board and use an external higher voltage pin from a different source?
  • I'll use a servo for the grip but I do not know how to handle when the grip grabs objects, i.e., if I close it I'll have to move the servo to the 'closed' position, but if there is an object it will not reach that position and the servo will drive more current from the power line and probably it will suffer higher stress. Am I correct? If it is true, how could I stop the servo when the object is already grabbed?

Thank you in advance for your help.
Rafael

Digital servos should work with an analog driver setup, but not the other way. The digital update time is much faster (up to 400/sec rather than 30/sec), and the analog types will not function at that update speed.

The control input at 5v should function fine on higher voltage servos. Just keep those control and power wires separate!

The "grab" function will be up to you. Pressure sensitive resistors on the "fingers" would be helpful in controlling the pressure applied to the grabbed object. Or you could use a current sensor circuit on the servo power supply to determine power applied to the servo. When the servo stalls, the current will rise pretty fast.

-if the digial servo is made for use with standard RC equipment, then the arduino servo library probably can control it. Note hat digial servos ofen require a $$$ programmer to change the rotation limits if they are not what you desire.

  • as the arduino board cannot supply the current to operate most servos, you will need to use an external power supply. Usually his can be what ever voltage is recommended for the servo (the servo ground and arduino grounds need to be conneced). Analog servos work much better when supplied ~6v than ~5v.

-There are various gripper force detection setups (force resistors, limit switches, etc.), so you need to study up on what would work for you. Look at the commercial hobby servo arms and the many different servo arm designs on youtube to get some construction ideas.

Thank you for your help.

From what you say, digital servos are OK for Arduino, but if I use the code in the servo example:
myservo.write(val);
is the performance affected for the lower update rate?

Regarding the grip, I have seen many designs in Internet and they use servo for the open/close function. The problem I foresee is the one I explained: when grabbing objects the servo may drain a high intensity. Do you think it would be acceptablefor the system? Because setting up finger detector or similar would be too complex for my pupils.

Regards
Rafael

From what you say, digital servos are OK for Arduino, but if I use the code in the servo example: myservo.write(val); is the performance affected for the lower update rate?

The difference in update rates is for the H-bridge internal to the servo, not the servo control updates.

Regarding the grip, I have seen many designs in Internet and they use servo for the open/close function. The problem I foresee is the one I explained: when grabbing objects the servo may drain a high intensity. Do you think it would be acceptablefor the system? Because setting up finger detector or similar would be too complex for my pupils.

Without the gripper closed detection, the servo may be ok, may overheat, or with the very small servos, the internal gears may strip. Might be a good project for you and the students to research and develop a way to detect when the gripper has closed on an object or a method to limit the stress on the gripper servo.

zoomkat is correct. If you do not limit the power applied to the servo, it will burn up or strip the gears.

The simplest pressure limit I have used is a contact switch with a spring. Adjust the spring size to apply the correct pressure to the gripped object when the contact switch is closed as the spring is compressed.

Ok for the digital servo. I'm also a R/C hobbyist and some helis use a digital servo for the tail control, attached to a gyro, which has a switch to select either analog or digital servo, and if you select it the wrong one you could damage the servo or the gyro. And I thought it was the same for this situation.
Again with the grip, I understand that I should do something to prevent the servo damage. Do you know of any shield that I could use to power the servo and at the same time control the intensity that it drains so when it is too high I could stop it?

Thank you
Rafael

@SurferTim: where do those 400 Hz and 30Hz figures come from?
The PPM rate into the servo is 50Hz, whether analogue or digital.

@AWOL: Datasheets. I use 30 updates/sec whether analog or digital. I have always found the the limiting factor is the number of servos. It takes at least 2ms to update each servo. Roughly 1000us min, 1500us median, 2000us max. The difference is the time required between updates. Digital servos seem to be able to take updates quicker. I have not tested that.

AWOL:
@SurferTim: where do those 400 Hz and 30Hz figures come from?
The PPM rate into the servo is 50Hz, whether analogue or digital.

The difference appears to be the PWM internal to the servo that is driving the internal H-bridge and is independent of the PPM control signal. It is said that the higher PWM controlling the H-bridges in the digital servos helps them hold position better (but could just be speculation).

@SurferTim.
Links to data sheets showing 30Hz updates, please.
It's been 50Hz for at least the 30 or so years I've been using what used to be called digi-prop R/C systems.

AWOL:
@SurferTim.
Links to data sheets showing 30Hz updates, please.
It's been 50Hz for at least the 30 or so years I've been using what used to be called digi-prop R/C systems.

You can use what you use. I will use what I use. :slight_smile:

Like I said, I know 30 updates/sec works. I know that some digital systems will not use analog servos.

I have nothing left to add.

30 Hz is fine, if you're comfortable with reduced torque.

I lied! I have one more thing to say: Quick to criticize, slow to help.

Criticise?
No, I only corrected, to stem the spread of disinformation.
That's helpful, in my book.

I lied!

About the datasheets?

That is correct. I lied about that.
I lied about my knowledge of the ethernet shield.
I lied about my knowledge of the C programming language.
I lied about everything.

Good enough?

Actually, I don't care what you think...

The below has some info, but as well could be driven by speculation. An O-scope and a torque measuring setup is probably needed to verify the suspect facts.