Author Topic: Help with large servo please  (Read 3510 times)

0 Members and 1 Guest are viewing this topic.

Offline viorelTopic starter

  • Contributor
  • Posts: 33
  • Country: au
Help with large servo please
« on: November 09, 2019, 05:46:16 am »
Hi everybody, thank you for having me.

I've come here in despair. Here's the problem. I have bought one of these:

https://i.ebayimg.com/images/g/~JMAAOSwPVFcObXr/s-l640.jpg

This is for a little simple project. Worked fine when arrived, now it just moves side to side without stopping as soon as I power it up, even if not connected to a receiver.

How did it happen I hear you ask.

Well, I had to make another casing and in the process I took off the motor wires and reconnected them the wrong way around. I corrected my mistake after I first tried it and that is when the problem appeared. When tested with the wires crossed, the motor moved slowly at first for half a turn (the output shaft, that is) and then stopped dead. Upon inspection I found the mistake.

Some description of the circuit (keep in mind I am at best a dilettante).

Here's a picture of the top side of the board:

https://www.hobbyporter.com/u_file/1812/photo/36c3a9090f.jpg

I had to bridge the VR pads in the bottom left for I am using a digital remote control.

The motor is just a run of the mill DC motor. It has some bidirectional diodes on the terminals to cut EMF spikes and is driven by a bridge with four N channel Hexfets (Infineon LR2705). These seem to test fine (in circuit; I don't really want to pull them out for fear of further trouble, but I did order a bunch of new ones from RS Components). Now the test is not that reliable, I could only test the Drain-Source resistance which seems suitably high and the S-D diode, which shows about .5V. Not sure if I can test anything else in circuit.

The position sensor in this servo seems to be some sort of magnetic sensor (doesn't use a VR). Now if I take the board out and away from the bottom of the output shaft, which has a magnet stuck to it, the motor just keeps going around.

The two adjusting controls/VRs (blue, bottom in the picture) still seem to do their job, in that they adjust the travel and response speed, and I know that because shortening the travel makes the servo move quicker because it gets quicker to the end of travel (again, keep in mind I have no receiver connected so there is no signal) and so does the response speed. Connecting it to a receiver doesn't make any difference.

The only difference is when I have the servo connected to a receiver and I apply a command for the other channel (I use a two channel radio and I have another "normal" servo connected to the other channel) and move it to its max travel and hold it there the big servo stops doing anything, which I take it is a sign the voltage drops (the other servo drains a lot of current).

Also, when I apply power the first time, it takes say one-two seconds before the defected servo starts doing its thing. Could be a capacitor charging?

All these tests are done with a good NiCD at 14.4V (the large servo has a 5V out for the receiver). At 7.2V, the servo doesn't move (needs at least 12V).

Ideas?
« Last Edit: November 09, 2019, 10:13:58 am by viorel »
 

Offline shakalnokturn

  • Super Contributor
  • ***
  • Posts: 2234
  • Country: fr
Re: Help with large servo please
« Reply #1 on: November 09, 2019, 10:43:47 am »
I'd be checking mechanical alignment between output shaft and position sensor, the sensor may have been moved past it's limit.
I don't see why just swapping motor polarity would damage the control PCB in this setup.
 
The following users thanked this post: Psi

Offline viorelTopic starter

  • Contributor
  • Posts: 33
  • Country: au
Re: Help with large servo please
« Reply #2 on: November 09, 2019, 12:06:17 pm »
I have no idea either, those motors don't really have a + or minus but I thought maybe the controller imposed some such by its design and some component needs to be protected by connecting the wires to the motor this way. That said, the way control bridges work, the motor will definitely see negative potential on its plus and viceversa when travelling either way. Given it's just a simple brushed jobbie.

And you are right, the position of the output shaft must have changed when I took apart the servo, but I don't understand what the "aligned position" would be. The magnet on the back of the output shaft is one of those cheap disc magnets which points one of its poles out towards the sensor at all times, the other pole is, err, up the shaft I suppose? Not sure how it works, but I would guess the magnetic field around the magnet circumference is entirely symmetric? That would definitely make sense from a manufacturing point of view. I mean just imagine on the assembly line churning these things out by the thousands, who has time to align every single one of them?

And by the way, there is no mark on any of the gears, or the magnet itself to suggest some alignment.

Oh, by the way, if I remove the gears altogether the motor just spins.

But the question is, why does it spin with no PWM signal (i.e. when the receiver is not connected)? Is it maybe looking for its "home"/rest position? I will try a normal servo, power it up disconnected from the receiver (Rx) see what it does. In my few decades of R/C I never tried this, come to think of it. You may be right, logic would suggest that in absence of a signal it will just go to its rest position (if it were out).

Well, I'll give it a shot and report back.
 

Offline viorelTopic starter

  • Contributor
  • Posts: 33
  • Country: au
Re: Help with large servo please
« Reply #3 on: November 09, 2019, 01:33:15 pm »
Well, if there wasn't anything toast before, now there is.

I managed to blow up one (at least) of the mosfets. The power wire negative came into contact with the motor terminals by accident whilst I was testing and let out the smoke in one of the fets. Funny thing is, the servo behaves the same. Which makes me think they are all toast in some inconspicuous way.

Back up a bit.

So I found the servo stops if I find the rest position. By the way, I found the way they probably did it at the factory. just remove one of the gears in the train and with power applied, slowly turn the output shaft/gear. The motor will come to a stop at the neutral position. Turn the shaft further and the motor starts spinning the other way until you bring the shaft in the neutral position by hand.

But. Once connected to the receiver, didn't take any notice of my commands.

I guess this points to a problem with the PWM control of the servo. It doesn't get the pulses from my command. I have checked the receiver even though I knew it was good, I have checked the wires, all good. I guess something is interrupting the chain further down.

One thing I know now is the Rx command doesn't get through.

I'll replace the blown fet or maybe all of them just to be sure. Meanwhile, I will start digging down the signal path see what's goin' on. Out with the scope.

But first I will have to identify the signal path. No real hope anyone might have a schematic for this servo?

I might come back here and ask about the ICs I find after I manage to read their names. They're bloody small things for these old eyes.

And one more thing. Someone was in there before me. They replaced the adjusting VRs for response speed and travel, it is obvious because the soldering is clearly hand made not machine.
 

Offline viorelTopic starter

  • Contributor
  • Posts: 33
  • Country: au
Re: Help with large servo please
« Reply #4 on: November 10, 2019, 09:50:16 am »
Right.

So I have hopefully identified all the ICs in circuit. On the top (the part seen in the picture above we have

ST 7B495 8S003F3P6 which is the microcontroller

CX1117 5.0 8209T which is he 5V regulator

ST 78M12 CK1CV824 which is the 12V regulator

On the bottom we have

two IR 2104S 709P (fet drivers)

AS5600 (magnetic sensor)

LM358 (high gain dual opamp)

LM3930 (power regulator, not sure what voltage).

One question I have here. The 2104S drivers come as inverting and non inverting and it is not clear how to differentiate the two from labels. Which one do I need, I wonder?

Right now I suspect the fets and the drivers (the internets say the fets take out the drivers with them when they fail and corroborated with the fact that my servo doesn't care about the receiver signal/commands, I would say that's on the money).
 

Offline beanflying

  • Super Contributor
  • ***
  • Posts: 7402
  • Country: au
  • Toys so very many Toys.
Re: Help with large servo please
« Reply #5 on: November 10, 2019, 10:50:15 am »
I have one of those or a cousin of yours. I decided to go with an actuator on the job I got it for so it is sitting in a box. My gut says the position sensor is at fault so look at the magnet and where it is compared to the sensor.

Maybe adjust your center and travel pots to a mid point and retest. Also double check your source signal is between 1-2mS/

Happy to pull mine out tomorrow and split the case and take some measurements if it helps.
Coffee, Food, R/C and electronics nerd in no particular order. Also CNC wannabe, 3D printer and Laser Cutter Junkie and just don't mention my TEA addiction....
 

Offline viorelTopic starter

  • Contributor
  • Posts: 33
  • Country: au
Re: Help with large servo please
« Reply #6 on: November 10, 2019, 12:20:32 pm »
Oh, thank you. Hopefully this won't be necessary.

I need to deal with the mosfets first, though I imagine the signal path could be checked before the mosfets arrive.

I am however more and more inclined to believe it is the mosfets and their drivers. This would explain why the servo doesn't listen to the radio. Also, if you read one of my previous posts, I have found the zero position (rest) of the output shaft in relation to the magnetic sensor, so I would say that one works. If it doesn't work properly, we'll deal with it later.

I'll report back after I have the fets and drivers replaced, so it will be a few days. Not sure which drivers to order though so I might order both kinds (see previous post - inverting-non inverting). I'll do some more digging see what the heck that means, I have a suspicion it may mean they drive on the up/down slope of the pulse or something? We'll see. They're not that dear to break the bank.
 

Offline viorelTopic starter

  • Contributor
  • Posts: 33
  • Country: au
Re: Help with large servo please
« Reply #7 on: November 15, 2019, 04:14:40 am »
Well, the mosfets are in and I have the same behaviour as before replacing them.

I can "help" the servo find its neural point by removing one of the gears and turning the shaft by hand but once there I have no response to any command. If the shaft is off the neutral position, the motor starts spinning. Moving the shaft either way reverses the motor spin as expected.

I suspect then the drivers are faulty, assuming the drivers have no input in the shaft return to neutral.

If the drivers do have some input into that (which makes more sense) then it's something else to do with the signal processing. I hope it's not the processor, because that is pre-programmed and I have no idea how to do that.

I've ordered the drivers but will pull the scope out and start looking at the signal path.

If anyone has better ideas, please share.
 

Offline shakalnokturn

  • Super Contributor
  • ***
  • Posts: 2234
  • Country: fr
Re: Help with large servo please
« Reply #8 on: November 15, 2019, 08:06:17 am »
I'm not sure I'm reading you correctly. Drivers as in MOSFET drivers?
If the motor kicks back in either direction when you move it off neutral position by hand, I'd expect that the drivers are fine.
If the control board cant find it's neutral position by itself maybe the microcontroller just shuts off the command input because it is programmed to not operate when the position sensing has failed.

This still feels like an "out of sync" situation. Do you have any photos of the mechanical/sensor setup?
How does the servo detect end of run? Current sense resistors?
 

Offline viorelTopic starter

  • Contributor
  • Posts: 33
  • Country: au
Re: Help with large servo please
« Reply #9 on: November 15, 2019, 09:38:15 am »
Yes, mosfet drivers.

I think you are right, but was clinging to the hope that it was the drivers.

Don't have any pictures, but the sensor is a chip, I mentioned it earlier, AS5600 magnetic rotary sensor, see here:

https://ams.com/as5600

The output shaft protrudes through inside the casing and has a little permanent magnet disc of the same diameter as the shaft glued on its end and comes close above the sensor. If you move the board away, the sensor doesn't "feel" it anymore and the motor just keep spinning.

The servo does finding its travel endpoint, it just does not stop there. It reverses and goes all the way back and forth like that. If I align it by hand, it stays there but doesn't move on command. This is all with no input from me. If I power it up not connected to the receiver, it just goes back and forth like that. Now that I aligned it, it does nothing.

Also, the travel and speed adjustments still work. I can see it rotating further/less if I increase/decrease travel and faster/slower if I play with the response speed, it just doesn't stop keeps going back and forth. But like I said, now that I found the rest point, it does nothing.
 

Offline StillTrying

  • Super Contributor
  • ***
  • Posts: 2867
  • Country: se
  • Country: Broken Britain
Re: Help with large servo please
« Reply #10 on: November 15, 2019, 12:55:13 pm »
There doesn't seem a lot on the signal input.

Is the "Input signal selection" set to the type of signal you're supplying, either 2.5V analogue input, or 1.5ms wide PWM to hold a center position.
Of course you could enable the analogue input and connect a pot to the 0V-VR-5V just for testing.

• Mode selection (VR): not short-circuit pulse signal PWM 1-2MS input, short-circuit is analogue voltage signal input 0-5V; default
• Analog control mode (5V-VR-GND): The angle input signal is analogue, and the potentiometer can be used to control the motor output shaft angular position.
• Digital Control Mode (PW-5V-GND): The input signal is a digital square wave signal with a pulse width of 1ms to 2ms.


https://www.hobbyporter.com/hobby-porter-super-500-high-torque-metal-robot-servo-12-to-24v-500kg-uav-education-industrial-motor_p1121.html
« Last Edit: November 15, 2019, 01:13:40 pm by StillTrying »
.  That took much longer than I thought it would.
 

Offline viorelTopic starter

  • Contributor
  • Posts: 33
  • Country: au
Re: Help with large servo please
« Reply #11 on: November 15, 2019, 04:16:59 pm »
Good question, that. Reading that description (which I only skimmed when I got the servo because the servo has a page of instructions with it) I found the instructions are exactly the other way around re the signal type selection. I bridged the mode input contacts as per the instructions I received with the servo because I have a digital radio. Now I see they shouldn't be bridged.

That said, it worked fine when first tested with the bridged contacts and it didn't work before I bridged them. Who the hell knows what's goin' on?!

I'll break the bridge and try again, but even if it works, fucked if I understand anything.

Well done to ask this question.
 

Offline StillTrying

  • Super Contributor
  • ***
  • Posts: 2867
  • Country: se
  • Country: Broken Britain
Re: Help with large servo please
« Reply #12 on: November 15, 2019, 05:28:29 pm »
Don't you have anyway to limit the max current of the 14V a bit to reduce the chances of  :-BROKE.

"because I have a digital radio."

As long as the receiver is outputting ~3Vpp ~1.5ms wide ~50Hz pulses it shouldn't make any difference. Some TX/RX can output the 1.5ms PWM pulses at up to 300Hz, but I can't see the repetition rate for that board mentioned.

"Who the hell knows what's goin' on?!"

:)

Unless you're 100% sure you're feeding it good clean 3Vpp 1.5ms 50Hz pulses, I'd try to get the 0-5V analogue input working with a pot.

... and of course the motor power and signal grounds have to be correct.
« Last Edit: November 15, 2019, 05:36:23 pm by StillTrying »
.  That took much longer than I thought it would.
 

Offline viorelTopic starter

  • Contributor
  • Posts: 33
  • Country: au
Re: Help with large servo please
« Reply #13 on: November 15, 2019, 06:29:00 pm »
Nope, I can not limit the current.

I am not sure what frequency my pulses have, it's a pretty sophisticated radio, perhaps I should try a crappier one.

Here it is:

https://www.kopropo.co.jp/en/supports/view/144

Now, what  found was that

1. my instructioons are in chinese.

2. the instructions I followed (found on the interwebs) are wrong in regards to the VR/PWM bridge (PWM should be open)

3. the instructions on the page you linked are wrong as well (at least in regards to which end of the travel and speed adjustment is max and which is min, at least for my servo)

The text and the diagram in the page you linked are confusing to say the least. Looks like they did the translation with an online translator and they contradict each other. There is a lot of redundant information that only confuses matters further.

Status

I can now control the servo, but it does not return to neutral by itself. Once I give a command, it keeps going that way, doesn't have any stop point (goes 180 deg and starts hunting back-forth around that point very quickly).

I need to stop it by giving it an opposing command and sneaking up on the neutral position with small corrections. If I overshoot, it goes all the way to the max and starts twitching (as above).

Also, the travel adjustment doesn't seem to work. This throws some doubt about the mode selection so I am not sure anymore, which is 360 degrees and which is normal mode (servo - limited travel/return). It seems to do this regardless of whether I bridge the link or not on the board. The only difference is that with the gap bridged it keeps going round so I take it that part is correct in the instructions. The diagram is exactly the opposite (come to think of it, I have a feeling the functions are not exactly the same for analog and digital inputs)

No way I can use a VR instead of the magnetic sensor. They have different boards, I don't even know why they left all other options/choices on the board as if you could. Probably to confuse you even further.

In brief, it looks like the servo should work but I guess the travel doesn't feed back (and the travel adjusting VR doesn't seem to be doing anything, I'll check it). The instructions say in normal servo mode max travel is 150deg (I take it either side of neutral) for a total of 300 deg range. Mine goes beyond that, it simply doesn't stop until at 180 deg starts twitching. Either the position sensor is cactus or the travel adjust VR is doing something dodgy. If the sensor is cactus, it must retain some function because in neutral (motor at rest) it does start the motor as soon as I pull the output shaft away from the board (I just pull it up out of the gearbox - I have it open now for tests - without turning any of the gears), so it must retain some functionality. The fact that the motor starts twitching/hunting (quickly spinning back and forth) at 180 deg kinda tells me the magnetic sensor is still functional in that respect as well otherwise how would the motor know to change spinning direction? So the sensor probably detects the position and the software tells it, you went too far go back and then again the other way and so on. It's just not finding the neutral position there, it is too sensitive around neutral.

Okay, I'll check the travel limit VR and see what's goin' on.
 

Offline StillTrying

  • Super Contributor
  • ***
  • Posts: 2867
  • Country: se
  • Country: Broken Britain
Re: Help with large servo please
« Reply #14 on: November 15, 2019, 06:38:05 pm »
"No way I can use a VR instead of the magnetic sensor."

 :-// It's instead of the PWM position signal ? Or I'm confused by trying to see how the board works just from its photo. :)

"I can now control the servo, but it does not return to neutral by itself. Once I give a command, it keeps going that way, doesn't have any stop point (goes 180 deg and starts hunting back-forth around that point very quickly)."

I've not read every word. Are you sure the motor direction (or the sensor) is correct to give negative feedback to the positioning.

edit:
There does appear to be some speed/response settings on page 19 of the TX/RX pdf. It's as clear as mud, doesn't actually say it speeds up the PWM rate.

"Check the setting mode of the main unit if it is suitable for the receiver and the servo before use. It will cause the model to run out of control when using it by the combination that doesn't correspond."
« Last Edit: November 15, 2019, 08:10:00 pm by StillTrying »
.  That took much longer than I thought it would.
 

Offline viorelTopic starter

  • Contributor
  • Posts: 33
  • Country: au
Re: Help with large servo please
« Reply #15 on: November 16, 2019, 03:28:44 am »
I mean there is no physical space on the board to remove the magnetic sensor and put a VR connected to the output shaft. Connecting it in circuit would be another problem above my pay grade, but I would happily blunder my way through that if it looked like I had a chance in hell.


I think you hit another nail on the head with the direction of movement. Yesterday night (late) I was trying to test the servo every which way I could and realised that the motor does not spin the output shaft in the direction it is going to find the endpoint.

Let me explain.

When you move the stick say left, the servo (output shaft) should turn around left, go as far as you command and stop. Well, what I did was to again take a gear out of the g'box, turn the steering wheel all the way and watch what happened. The servo motor starts spinning when you apply command, so I spun the output by hand in the corresponding direction (I followed which way the gears rotate) trying to find how far it goes before the motor stops at travel endpoint. Well, there isn't an endpoint! I could spin the output 180 degrees to the point where it starts getting confused and twitches. However, if I spun the output the other way to what the gears would do, I found the endpoint! So I found the point where the motor stopped by itself as if it had reached the travel endpoint requested by my command. And this is consistent both ways. Flippin' 'eck!

I then started wondering if the motor had been wired correctly and checked the polarities indicated on the board and motor can end. And yes, everything is as per instructions. I even checked the motor can (there is a small PCB soldered on the motor terminals directly with filter capacitors and bidirectional diodes so I looked at the tabs bent over to close the can on the outside, the negative one has a locating slot for the plastic endcap/brush carrier indexing, see endbell picture in the link below), thinking maybe they put the motor the wrong way around, and no, it's all correct.

https://www.foneacc-motion.com/Uploads/5baaf0c411964.jpg

Red dot marks +, check out the tabs near the negative and no tabs near the positive; that is what I could see on mine without taking the little PCB off its terminals.

So right now my thinking is, if I reverse motor polarity, it should spin the way that will send the output shaft the correct way around to find the travel endpoint. Considering this was my first "mistake" I am a little bit reluctant to do it again so bear with me while I build up the courage to try.

Not sure what can happen, but from experience with brushed motors, they have a little bit of timing added, that's why they are "polarised". Otherwise, I don't see any problem, reversing the motor wires that come off the board would only expose to reverse polarity the bidirectional diodes and the filtering capacitors (spike filtering). None of that matters, there should be no problem. The only difference is, if the motor does indeed have some timing added, it will spin in reverse slower than forward. Which it would have done anyway when connected as per the polarity indicated on the PCB.

If the motor doesn't have any timing (which is what I suspect, given I didn't notice any difference in its speed when cocking about with it), then the only consequence of reversing the polarity of the wires is that it will spin backwards to what the designer wanted. Which is apparently what I need!

I'll report back.

May the force be with me.
« Last Edit: November 16, 2019, 03:39:22 am by viorel »
 

Offline viorelTopic starter

  • Contributor
  • Posts: 33
  • Country: au
Re: Help with large servo please
« Reply #16 on: November 16, 2019, 04:43:38 am »
Well, it works.

It does show different speeds (so I take it the motor does have a little bit of timing) and it doesn't seem to travel equally left and right, but I'll take it for now.

Not the end of the process, I still have to put it in the car (it is a little electric car for toddlers) and see if it works to steer under load but thank you everybody for your input.

I have powered it until now out of two 7.2 NiCd packs (connected in series) which are known good packs capable of quite some grunt, but I still think the voltage might be on the low side for the motor to have full power/speed. The car has two SLA 12V batteries in series. Not as powerful (in terms of max amps) as my NiCds but they have the voltage. We'll see.
 

Offline StillTrying

  • Super Contributor
  • ***
  • Posts: 2867
  • Country: se
  • Country: Broken Britain
Re: Help with large servo please
« Reply #17 on: November 16, 2019, 12:01:07 pm »
Never mind the motor running to the (soft?) end stops :), have you got it to follow the TX position proportionally in each direction from the neutral position.

"I still have to put it in the car (it is a little electric car for toddlers)"

Rugrats are less stressed if you let them do the driving themselves.


« Last Edit: November 16, 2019, 12:13:04 pm by StillTrying »
.  That took much longer than I thought it would.
 

Offline viorelTopic starter

  • Contributor
  • Posts: 33
  • Country: au
Re: Help with large servo please
« Reply #18 on: November 16, 2019, 12:24:45 pm »
Yes, the servo does respond proportionally.

He'll get there, but right now he doesn't get it, he's just one and a half. My other son had a pedal car I built from scratch and it was enough to cause havoc but he was three.
 
The following users thanked this post: StillTrying


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf