Using current sensing with a servo motor to measure force

Go To Last Post
17 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm going to be building a servo motor-driven two-finger gripper for a robot whose gripping force I need to measure.  I'm thinking of using AVR-based current sensing on the servo to measure the force.  Of course, I'd use an appropriate peripheral (like a current shunt monitor) to do the heavy lifting.  Just thought I'd see if anyone here has tried something like this before and might have some tips.  Thanks.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I designed a self tying shoe for a shoe company. Motor pulled laces until wanted force was achieved. Small micro used. Current sense circuit with small motor and gear box. Worked well. So I would say it will work just fine and dandy.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Sounds like a reasonable idea.

 

Your servo will draw a pretty good current without any load, and the current to load relationship might be pretty noisy.

The largest known prime number: 282589933-1

It's easy to stop breaking the 10th commandment! Break the 8th instead. 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

That sounds slick, jaydhall. Very Back-To-The-Futureish, but that may have been the point. ;-) Any chance you can post your current sense schematic, or a part list?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yeah, Torby, that's what I'm wondering about. I'll have to do some tests once I've constrained the hardware a little more. That's also why I was hoping to find someone who's done this before.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am unable to post the schematic but it was a simple current monitor with filter in F/W.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm in the middle of designing a current sense circuit for servos, and I'm having quite good luck at it.  I'm using some pretty nice components ( Maxim MAX44251 op-amp for the low-side and a 0.05 ohm sense resistor  ).  With a standard RC servo, it does a decent job of measuring from about 30mA up to 1.5A ( The maximum I've tested it to, at this point ).  The response is quite linear ( against the current ) and it corresponds well to servo force, so you shouldn't have any real troubles with mapping from one to another.  It does require some filtering though, as the PWM update shows up on the current signal, so there's noise at around 50 Hz.  I'm filtering it with an RC low-pass with a corner frequency of about 17 Hz and then filtering a bit more in software.  Clean as a whistle when it's done though.

 

Martin Jay McKee

As with most things in engineering, the answer is an unabashed, "It depends."

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for the detailed reply, Martin.  Any chance you could post a schematic?  How did you come to choose the MAX44251?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'll post the schematic of the device I'm working on below, but it would likely be more confusing than helpful.  What it basically consists of is a low-side current sense resistor and an op-amp in a non-inverting configuration.  I ended up using the '44251 because I needed a zero-offset type op-amp for another project, and ( since I was doing the current sense board anyhow, I decided that it would be a nice way to characterize the '44251 and check that it was suitable for the other project.  Lots of other op-amps would be suitable, but you do have to watch out for the minimum current range.  As the current goes down, the op-amp has to sense closer and closer to ground -- that's where my 30mA minimum current came from ( linearity went out the window below that ).  The new version ( shown below ) actually uses a negative supply to remove that limitation.  It's absolutely overkill for sensing the current through an RC servo, but it became an exercise in designing for error reduction more than anything.

As mentioned above, this version of the design uses dual supplies.  The board also has some bulk capacitance on the servo power rail.  The current sensing is composed of: the sense resistor ( bottom left ), an RC low-pass filter, the non-inverting amplifier ( with a gain of 16.8 ), another low-pass filter ( with a corner frequency of 16Hz ) and an output buffer ( mostly because I had already decided to use the dual amplifier package ( which I needed for my other project ).  The result is a beautiful signal, but, as I said before, it's really overkill.  The input RC filter could be removed ( and the capacitor in the amplifier feedback path ).  Even the output filter could be removed ( though I like to have a bit of actual hardware filtering ).  I chose the output filter frequency as being greater than 10 Hz ( the minimum I wanted ), and as much less than 50 Hz ( the servo update rate ) as I could get easily without adding too much to my bill-of-materials.  I typically sample at 100 - 1000 Hz even so, and filter in software.

 

Martin Jay McKee

As with most things in engineering, the answer is an unabashed, "It depends."

Last Edited: Thu. Dec 31, 2015 - 08:15 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Nicely documented Martin.

 

L101 has no value indicated.

 

Cheers,

 

Ross

 

Ross McKenzie ValuSoft Melbourne Australia

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks loads, Martin.  Happy New Year.

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Martin, this looks interesting for me.

Can you identify the value for L101 and do you have a PCB layout as source code or Gerbers to share?

 

New to this forum, I can't see how to send a private message 

PaulT49

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0


PaulT49 wrote:
New to this forum, I can't see how to send a private message 
Up in the top right you should see something like this:

 

 

Click the envelope to get to the bit where you can send PMs

 

Do note however that you are replying to a 4 year old thread so there's no guarantee that everyone who took part is still around.

 

Moderator.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

There’s most likely newer, easier and better ways to do the same thing. For current sense, you might look at the TI ina199 and there’s a similar device that has the adc in it. Offerings from Microchip might be the pac1932/3/4.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks, plenty of alternatives.

Martin has left avr-freaks but i think I have traced him so contacted direct.

 

If he can supply gerbers, that will be a quick way for me to prove proof of concept and follow up with a more modern design.

PaulT49

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

 

Here is current sensor I used in a solar controller, uses a soic8 current sensor chip, so very simple circuit.

Uses a ACS723LLCTR-10AU 10amp sensor, this sensor comes in different current ranges. 

 

Jim

 

 

 

 

Click Link: Get Free Stock: Retire early! PM for strategy

share.robinhood.com/jamesc3274
get $5 free gold/silver https://www.onegold.com/join/713...

 

 

 

 

Last Edited: Tue. Jul 2, 2019 - 12:58 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

or Gerbers to share?

Welcome to the Forum.

 

Everybody approaches projects a little bit differently, but...

 

I'd think a simple 3 chip circuit could be built up on a bread board in less than an hour, and then you could tinker with the circuit, its values, etc., and see the circuit response on an O'scope, (even a cheap Toy O'scope), and a DMM, etc.

 

You'd have real-world info on how the circuit works, and your servo's performance, in one afternoon.

That would be far faster than ordering chips, boards, waiting for stuff to come in, and not being able to easily change stuff.

 

JC