Asked — Edited
Resolved Resolved by Steve G!

Controller Ar-1202Mg Servo With ARC

Hello,

PLEASE describe to me exactly how to control an AR-1202MG servo using an EZ-B v4 wifi controller.

AS of now, when I plug in the servo to D0 and use the vertical servo control, the servo does not move and an LED quickly blinks. I can feel the servo and I know it is receiving power. Sometimes the EZ-B resets itself and I have to reconnect.

https://www.bananarobotics.com/shop/PowerHD-AR-1202MG-Standard-Analog-High-Torque-Robot-Servo-60g

Please advise on what to do.

Sincerely,

Dave Lawrence david.lawrence1234@gmail.com


ARC Pro

Upgrade to ARC Pro

Become a Synthiam ARC Pro subscriber to unleash the power of easy and powerful robot programming

#1  

David, After you added the vertical servo in ARC, did you set the Min. and Max settings? Do other servos work?

PRO
Belgium
#2  

also D0 is horizontal servo

United Kingdom
#3  

A few things to check.

What is the voltage of the battery your using in the EZ-B? Is it adequate to run the servo without giving it to much or not enough power? The specs say the servo runs on 4.8 to 6 volts.

Also does the servo move when you change its values in the vertical servo configuration screen (small gear icon)? The min and max values will be set to 90 as default, so changing minimum to under 90 and maximum over 90 by click and dragging your mouse over one of the numbers, you should hopefully get some movement.

Have you selected the correct port in the servo config screen to what your servo is connected to?

Is the servo lead connected to the EZ-B digit port the right way, i.e brown lead to black/ground pin, red lead to middle pin, yellow lead to white/signal pin?

And if all else fails, try another port and try it again.

Hope some of this helps and report back if you still have no luck. :)

PRO
Synthiam
#4  

the tutorial section has all the information you will need. Here is a direct link to the tutorial for moving a servo: https://synthiam.com/Tutorials/Lesson/49?courseId=4

When you load ARC, there is a window that explains how to press the ? (Question mark) next to the X (close) on every control. Pressing the ? (question mark) will load the help for that control. The help for that control is here: https://synthiam.com/Tutorials/Help.aspx?id=13

The help for that control lists a tutorial to move a servo.

Here is the window that shows what button to press for help on controls. Hope that helps in the future!

User-inserted image

#5  

First off, the ez-b shouldn't reset itself. there's something wrong there with your power supply.

Second, make sure you have the servo plugged in the right way.(gnd closest to centre)

Third, make sure you set ex-builder to the right port and to proper min and max values.

#6  

If the led on your ezb is blinking your servo will never move no matter what settings you adjust... A blinking blue or green led means you are not connected to ARC.... As mentioned, you also need a good battery ... Lipo or niMh batteries, not alkaline.... Check out this tutorial Connecting to your EZB4

#7  

OK well so far I have been able to reduce the voltage going to the servo down to 6Vdc. Now the EZ-B does not reset constantly.

I am still not able to move the servo using either the vertical OR horizontal controls.

I believe what is happening is that this servo requires a different pulse width than the one supplied by D0 inherently. I am going to attempt to change the source code to modify the pulse width.

Dave

#8  

Do you have another servo to test.... Does it work with anything else you might have like a radio control or arduino?

Also are your servo controls set for 1 min and 180 max or are they still set at 90 min and 90 max?

United Kingdom
#9  

Pleased to hear you managed to sort out the reset issue. I was going to ask if you confirmed your EZ-B was connected to you computer/network, as Richard said, a flashing LED would mean it wasn't connected.

Also once you have confirmed a connection and the servo is still not moving, have you tried using another digital port?

One last thing, you say you have managed to reduce the voltage down to 6VDC. What power source are you using (battery/adapter, voltage ect)?

#10  

I need access to the code on the EZB-V4 hardware. Not the ARC application running on my PC. I need the code running on the internal micro on the device itself.

ATTN: DJSURES

I require access to the code running on my EZB-v4 robot controller.

I want to change your servo controller pulse period. I am sure that the pulse width changes to drive the servo are ok. What I think is happening is that your servo controls are set for only one type of servo. What I am using is different and would require a different pulse period.

What are the options to modify the hardware code running on the EZB?

Dave

Dave

PRO
Canada
#11  

Sorry Dave, there are no options to modify the code inside the ez-b hardware.

You can however send your own pulse width signals using the sendSerial() function on each Digital pin.

If you could find the pulse widths needed for this servo and share them with the community we could definitely help you out to generate the signals needed through software.

Truth be told though, ARC sends out servo pulses that are extremely common for a large amount of servos in the industry, I'm thinking you might have something else going on. Are you actually connected to the ez-b through the ARC software? Can you verify this by using the "ez-b info" control (under "Add controls" -> "General") and seeing the numbers change.

United Kingdom
#12  

You shouldn't need to play around with the hardware source code. Most if not all servos should work with the EZ-B as far as I'm aware. Besides, I don't think the source code is available anyway.

The reason I ask about your power source is because you said you have now have 6 volts going to your servo, which makes me think before dropping the voltage, you may have put more juice through the EZ-B and in to the servo than the servo could take, and possibly damaged it now which is why it's not moving.

#13  

@David... Dude, first of all is the servo confirmed working?... If it is dead you are kind of wasting your time.... Anyway, I still think you are barking up the wrong tree with the servo pulse issue... It should work unless the servo or the ezb is defective or you are not using the ezb/servo correctly....

  1. Is your ezb working with other controls?
  2. Do you have a regular sero to test?
  3. Have you tested the servo that you are trying to get working?
  4. Is the servo control set for 1 min and 180 max (not 90/90)
  5. Do you have it plugged in correctly to the ezb board?
#14  

"You can however send your own pulse width signals using the sendSerial() function on each Digital pin."

This is an interesting option I will be looking into.

Please do not respond with anymore simple solutions to difficult problems.

Dave

#15  

Well since your obviously smarter than me, here's another simple solution for your difficult problem... Have you read the specifications for the servo? It's a standard servo compatible with standard systems... below is a quote from your link from your first post... pay attention to the line in bold...

Quote:

The PowerHD AR-1202MG is a strong high torque analog servo with metal gears that has been designed especially for robots.

This robot actuator servo provides more than 180 oz-in of torque and has copper gears for extra strength. It is designed for building robotic joints with 180 degrees of movement.

This robot servo has a standard universal JR type connector and is fully compatible with standard servo hardware and software.

Documentation

Think about it... If it did have a unique servo pulse sequence to drive it, how would it work with standard RC controllers (radios), arduinos and other systems that use a standardized servo control pulses?

#16  

You still haven't answered the question about what your power source is. That was not an idle or simple question, but one that may directly relate to the issue. The EZ-B resetting when trying to move a servo is a classic example of insufficient amp power source. The rated amps matching the draw of the servos is often not sufficient due to the "inrush current" required by servos on startup. See post 24 of this thread: https://synthiam.com/Community/Questions/5724&page=3 or search for inrush current to see other descriptions of it. Particularly any post by @Jeremie

Alan

PRO
Canada
#17  

@david

No solutions are too simple here in the ezrobot forums.

Take it from experience, it's often the littlest things that can get cha.

Looking at this problem from another standpoint, we have 2 users here in the forums with PowerHD servo experience @robotMaker and @charleybot Maybe you can send them a message. If the servos worked with the EZ-Bv3 they will work with the v4 as well.

#18  

The company that imports them and/or makes them is selling the servos on ebay... I messaged them this morning to find out more details on using them... When and if they get back to me then we'll know for sure....

#19  

@Dave... Just in case you are still paying attention to this thread... I finally got a reply from the seller on eBay of these servos and just as I suspected he confirmed that they are just regular analog servos. They can be controlled like any other hobby servos via an arduino, radio or ezb....

Cheers Richard

#20  

Hello,

To answer your questions.

  1. I Have modified the power to only supply 6V to the servo, after the digital port.
  2. I have tried both vertical and horizontal controls and have changed the min max settings on both the D0 and D1 ports.
  3. I have modified an unused servo, for the 6 volts, and tried using it on D0-D5. Also with no movement.
  4. I am sure I am connecting to the EZ-B because other controls work properly. I can play an audio file or check the settings.

I understand the seller of this item has told us they are standard servos and should work just as any other servo. I believe this is true.

So I guess I am wondering........what else could it be that is preventing this servo from moving?

Dave

#21  

David... Have you considered maybe the servo is not working?... Is there anyway to test it using a remote control RC radio or an arduino?

#22  

I sure hope not. So far I have tried 2 of the 9 servos I have bought. Both the 2 I have tried do not work.

I hope I did not get a whole batch of baddies......

Dave

#23  

Sorry David... Then the servo is probably good... It should work. I am not sure what else to suggest....?

#24  

David,

See post #17. I don't think you have answered the question about your power supply. Your symptoms really sound like high in-rush current required by the servos and a power supply unable to handle that (the resetting of the EZ-B is classic for that).

Alan

United Kingdom
#25  

Well apart from the power supply you used which hasn't been answered, so far it looks like you have done everything right so no worries there. All I can suggest is try all of the remaining servos you have, and if none of them work then send them back for a refund if the option is available. As unlikely as it seems, it is possible and you could be right that you may have a bad bunch. :(

Quote:

OK well so far I have been able to reduce the voltage going to the servo down to 6Vdc. Now the EZ-B does not reset constantly.

You mention this in post #8. Can I ask, what voltage was you using before you dropped it to 6v?

As well as the heavy duty available from EZ-Robot which from my experience are very reliable, I have supplied two links to similar torque 6v servos to what you have which will do the job with the EZ-B.

www.amazon.com/gp/aw/d/B00RCATIAE/ref=mp_s_a_1_1?qid=1422478012&sr=8-1

www.amazon.com/gp/aw/s/ref=is_box_toys-and-games?k=Foxnovo+4pcs+TowerPro+MG945+12KG+High+Torque+Metal+Gear+Servos+for+RC+Boat+%2FCar+%2FHelicopter

United Kingdom
#26  

David, one thing I forgot to ask in my post above, can you post a photo of the the set up you have, with the servo connected to the EZ-B and connected power supplies? It might help to have a look just to confirm the connection are correct.

#27  

@Steve G that's a really good idea... Perhaps a video of what David is doing might be even better...

#28  

I was able to take the servos to a hobby shop. They checked out OK when connected to an RC car.

Power supply was at 8.2V before I dropped it to 6V. I have removed the wall adapter I was using and am now running the system solely on a 7.4V Lipo.

Right now I am using a 7.4V 2800 mAh Lipo battery connected to the EZ-B. FT009

Voltage at PWR pin of D0 [middle red] : 7.9V

Voltage at voltage divider going to servo : 5.88V

I would prefer to not buy new servos for this project if at all possible.

Still no movement.

Dave

#29  

Save your project file you have been using for testing to this thread. I want to see the servo settings directly. I think we are missing something simple.

Alan

United Kingdom
#31  

Well after looking at you servo project, apart from an ARC version update that is needed, there's nothing immediately evident that is wrong as it is such a basic file.

I am almost out of ideas myself and there's only a couple more things I can add to what I have already suggested so far.

  1. Maybe, just maybe you have managed to find a servo that is not compatable with the EZ-B/builder, although I do find this highly unlikely, I wouldn't count it out at this stage.

  2. Maybe it could be something to do with the power devider you have in place. There is one thing you can try now you're using a 7.4v LiPo battery, leave the devider out of the equation and plug one of the servos directly in to the board. Yes there is a bit of a voltage variation, but I refer you to this thread from post #23 onwards explaining that this should be ok to do. If you are willing to try this then open up a scrip control and copy/paste the following script. This script asumed the servo is connected to port D0.


Servo(D0,90)
Slee(500)
Servo(D0,1)
Sleep(1000)
Servo(D0,180)
Servospeed(D0,1)
Sleep(1000)
Servo(D0,1)
Servospeed(D0,2)
Sleep(2000)
Servo(D0,180)
Servospeed(D0,3)
Sleep(3000)
Servo(D0,1)
Servospeed(D0,4)
Sleep(4000)
Servo(D0,180)
Servospeed(D0,5)
Sleep(5000)
Servo(D0,1)
Servospeed(D0,6)
Sleep(6000)
Servo(D0,180)
Servospeed(D0,7)
Sleep(7000)
Servo(D0,1)
Servospeed(D0,8)
Sleep(8000)
Servo(D0,180)
Servospeed(D0,9)
Sleep(9000)
Servo(D0,1)
Servospeed(D0,10)
Sleep(10000)

This will run through every servo speed option with the relevant pauses in between. It would be intresting to run this just to see if the servo moves of tries to move at any of these speeds.

So, apart from seeing I picture or, as Richard mentioned, a quick video of your set up, I'm not really able to help you much further as this is all I have to offer for now, as I am out of ideas too. Good luck.

#32  

I don't know a lot about voltage dividers but although yours is producing a voltage of 5.88 or so (which is good), are sure your servos are getting enough power (amps) through it?

#33  

I agree with Steve, try an initialization script, but there is nothing intrinsically wrong with the project (I was hoping for a simple mistake like incorrectly set min and max position settings). It works fine with my servos.

Only other thought would be to see if you could send one of your servos to @Jeremie for testing. He might be able to tell why it is not responding to the EZ-B.

Alan

#34  

I am tempted to buy one off of eBay... because this puzzle is really bugging me.... The servos should work....

#35  

I am wondering if maybe it is a bad EZ-B and not a servo problem at all.

I think we asked, but have you tried other ports on the EZ-B? One of my EZ-B's has a bad port.

Have you tried other devices on the EZ-B and do they work?

Alan

United Kingdom
#36  

@Alan.

Yes David did mention that he has used different ports, but to no avail.

Quote:

2. I have tried both vertical and horizontal controls and have changed the min max settings on both the D0 and D1 ports. 3. I have modified an unused servo, for the 6 volts, and tried using it on D0-D5. Also with no movement.

I must admit this one is bugging me too (although probably not as much as its bugging David I'm sure). confused

#37  

@Alan... that could be... I have an ezb4 that I dropped a screw driver on and now 3 ports will not drive servos, but they will drive an led.... I wonder if David can get a hold of another brand of servo to test on his ezb?

PRO
Canada
#38  

Like @RR I am very curious about the voltage divider David mentioned he had. If it's resistor based it could be severely limiting the current being applied to the servo.

United Kingdom
#39  

@Jeremie.

That's what I was wondering myself when I mentioned it in post #32, and suggested to connect the servo directly to the EZ-B. I'm not familiar with voltage deviders myself, but it sounds like something similar to a regulator, and I know there can be regulator issues if using the wrong amp output with a servo (I.e, not enough power feeding the servo).

#40  

@Steve... I agree, scrap the divider plug the servos directly into the ezb... They should be able to handle the lipos 7.4v no problem....

#41  

Hello,

Well I must say, that is probably the only thing I have not tried yet.

No voltage divider and running off LiPo only. I must say I am skeptical but I will try it anyway.

I still believe this is a problem with synching the pulses the D0 is supplying to the servo signal line.

I mean most manufacturers supply some kind of data sheet that details the wave forms needed to drive devices. I have not seen anything from these guys nor have I seen anything from ezrobot detailing the pulse widths and frequency. I would like to think that all manufacturers would hold themselves to a standard format making things easier.

Dave

#42  

Eureka.....

Servo is now moving with only using the 7.4V Lipo battery and no voltage divider.

I was hoping to be able to run the EZ-B and servos using an AC-DC adapter while doing test/development for this project. That is why I was running everything initially at 8.2 Volts. Which as we can see is too much for our servos causing a reset on the EZ-B.

Also, we know that current limiting the servos via voltage divider on the red power line is not advisable for proper movement.

Also, we know that changing the code on the EZ-B hardware is not an option. Not that I would really want to if I didn't have to.

I am happy now with this purchase and I am sure there will be other issues that come up. We can handle that as need be.

Thank you all for helping me resolve this [now seemingly] trivial issue.

Sincerely,

Dave

United Kingdom
#44  

That's great to hear David. Sometimes the simplest solutions can be overlooked.

In regards to bench testing, with the right mains power adapter supplying enough amps, I believe it is possible and some members of the community have done just this. Perhaps Someone who has done this could chime in and mention what adapter power specs they are using.

Anyway, I'm pleased your up and running. :)

#45  

Talk about an easy solution... Servos need power.... ;)

Minimum bench power supply should be 20Amps in my opinion... Power supplies differ from batteries... You have to buy a power supply with a high enough amp output to overcome the start up "inrush" of current required to get servos first moving.....

#46  

As Richard said, it wasn't the voltage of the power supply, but the amps. EZ-B can take way more than 8.2 volts (servos might not) but you need much higher than the rated amps when the servos start moving.

Alan

PRO
Canada
#47  

Glad you got it figured out David! And also wanted to echo a thanks to you gentlemen in the forum as well!