EthanSparky
Full Title: EZ-B Robot Controller Treats 7.4 Volt Supply As Too Low For Operation, Uncontrollably Restarts When Servos Under Strain
Hello! I am the other half of the duo working on the robot featured in this question. Our robot is basically a scaled-up JD with wheels rather than legs.
Our new question isn't very much specific to our robot, but it's one we've only been experiencing very recently -- our EZ Robot Controller restarts during times of great servo stress (like calibration & performing arm motions) and it relays the dreaded "my battery is low" message even when we are positive that it is receiving a constant supply of 7.4 volts, which should be exactly what the Controller requires. To our knowledge this message is only relayed when power supply drops below 6.6v, which subsequently causes the Controller to shut off.
Here is a layout of the power inputs we've tried and the components which cause strain on the power:
Attempted Supply Inputs 6 AA battery holder (came with the developer kit) - though this did do the trick last week, our Controller will no longer accept it. Regardless of whether we plug 6, 5, or 4 NEW batteries into the holder, the Controller always relays "my battery is low" after a few seconds of robot action before shutting itself down. Voltmeter measurements from the barrel head of the power connector which plugs into the Controller tell us that the AA batteries are supplying voltage ranging from 8.4 to 7.1 depending on their number and charge, which are much too high for the Controller to relay the low battery message. Also, it is preferable that our solution not include batteries which need to be swapped out every hour or so -- we prefer power plugs.
7.4v wall socket power plug (recommended by DJ Sures) - for a few sessions, the Controller would work with this indefinitely, never relaying the low battery message, though the Controller would uncontrollably restart quite often whenever we had all of the arm servos firing at once (during calibration & while performing most JD Auto Position actions). Now, this power plug acts just like the battery holder, relaying the message after mere seconds of use. Voltmeter measurements from the barrel connector here give us a constant 7.4v supplied, which also does not warrant said low battery message.
Power Straining Components The only components connected to the Controller which may be straining its power supply are as follows: 7, eventually 9 Hi-Tec (HS-5685MH) servos which are rated to operate on a range of 4.8v-7.4v. Some of these rotate against a high force of torque whenever performing arm movements. The developer kit camera which of course is built to function with the EZ Robot Controller. JD's I2C components (JD's head is plugged in to our Controller because we couldn't seem to connect to ARC without it).
So the crux of our problem is that somehow the Controller is interpreting a signal of 7.4v as below 6.6v and that our components have only recently started causing the Controller to force restart (assumed do to power issues) despite there being no recent changes in the power straining components and multiple attempts at varied supply inputs.
Any help would be greatly appreciated!
In ARC, add the EZ-B v4 Info controll and see what it shows for the input voltage while running your devices. This will let you know what the V4 is seeing.
Servos draw a lot of current. Current is Amps and if you draw more amps then your power source can provide, you will brown out. It is for this reason that LIPO batteries are the best source of power. Most power supplies and definately the AA batteries will not be able to provide the current necessary when moving multiple servos. When a servo starts moving, there is an inrush of current which is normally higher than what the servo is rated for.
Lipo batteries are normally about 25C meaning that if the batter is say a 1300 mah battery, it can supply 25 times that current or 32.5 amps which will be able to handle the inrush of current to the servos.
Sounds like you are running out of amperage. I don't know what "Recommended by DJ Sures" means. Can you show the specs of the power adapter?
Power supplies come in two flavors: Linear and Switching. The linear power supply is always garbage and usually only ships with cordless phones and alarm clocks. The switching power supplies are those used for laptops, computers, televisions, and heavy duty electronics. For a robot such as JD, we use a 30 Amp ATX Power supply.
The fact is, the EZ-B is doing everything 100% as it's meant to be - it's telling you there is a low voltage & it's restarting on low voltage. This is a tell-tail sign that your project needs higher amperage.
The 6 AA battery holder will not provide enough current (amperage) for more than 4 heavy duty servos and 2 continuous rotation servos. To be specific, the 6 AA battery holder will provide power to the number of servos included in the developer kit - no more.
If you wish to power more than the servos included in the developer kit, use a LiPo Robot Battery 7.4v 1300mAh and LiPo Battery Balancer Charger.
Also, be sure to check your wiring for shorts.
Thanks for the quick and detailed replies! Our mentor read your posts and agreed with both of you; our tested power sources did not provide enough current. This caused voltage to spike down during periods of high current draw (all servos firing), which explains the low battery message and the brownouts. Even though the voltage always recovers back to 6.6-7.4v, the low battery message continues until we disconnect from the Controller, though reconnecting quickly allows us to pick back up where we left off. Our understanding is that the Controller assumes that its power source will never rise in voltage after falling and thus shuts down regardless of the voltage recovery.
We resolved the voltage drop temporarily today by hooking up the EZ-B Controller to a 7.2V NiMH battery (www.vexrobotics.com/276-1491.html), which has a capacity of 3000mAh. With this battery, we have yet to get a brownout and only get the low battery message after long periods of use (even then, the message is resolved by resetting the connection). Our mentor recommended against using a LiPo battery because they are prone to swelling and we are unsure about the severity of our voltage drops.
In the long term, we will be routing our power supply around the Controller with a servo power distribution board (servos are still controlled by PWMs from the Controller, but their power is supplied by a separate source). That way, any voltage drops will only effect the servos and will not disrupt the function of the Controller. Do either of you see any flaws in this plan?
Oh, and I misinterpreted our mentor about the 7.4v power plug -- he found it in a thread in which DJ Sures recommended certain specs for a power adapter (voltage rating, current capacity, etc), and another user suggested the plug because it fit the exact criteria you laid out.
Powering the servos from a separate source is a good thing. The v4 can handle it if enough amps are available as you have seen, but I like running servo power directly from the power source. What you are proposing will work well from a power perspective.
Edit Well, I thought about this some more. DJ will have to answer this one. It might be that the servos require a common ground with the v4. It seems like I remember reading that somewhere. I am using a common ground for all of my components but am bypassing the v4 for power to 12 of my 28 servos. There are 4 v4's that are supplying power to the other 16 servos. 2 of the v4's have 4 giant servos attached , 1 has 2 giant servos attached, and 1 has 3 micro, 2 giant and 1 large servo attached. The v4 could drive 24 of these servos if given enough current and if these were not to draw more than 20 amps at one time.
My current Power source can provide 28 amps. If I were to move all of these servos at one time, I would brown out. The way I will be handling this is to either get a 12v 70ah lipo, add another battery in parallel or only move a limited number of servos at a time. I like the first option the best but it is also the most expensive.
Thanks, DJ Sures and d.cochran!
Your responses have helped us resolve the problem and we'll look into whether or not our servos need a common ground with the EZ-B Controller. Thanks for taking the time out to help us.
You absolutely require a common ground. control will be unreliable at best without it.
Alan
Thanks, Alan! You've all been great helps to our project.
Great to see you figured it out. In fact, you had all signs of the problem when you wrote the first post. The great thing about electronics is that it's very simple... It's literally logic. Meaning that if something doesn't work, there's only one fix. If you don't have enough power, the fix is more power - within the limits of the hardware.
Keep in mind that there is a data sheet for the ezb which specifies the max amount of current. The specifications are on peak and sustained current - not combine the two values.
To expand on previous responses of common ground... Yes, you always require a common ground between connected devices. There is no such thing as a device which does not need a common ground. All devices which connect via electrical signals need a common ground. This is because the common ground is used as a reference to understand what voltage the signal is. Without a common ground, there is no voltage reference.
The only time that you would not need a common ground is if the device is receiving/transmitting through non conductive mediums, such as fiber optics or radio frequency - in those incidents, timing synchronization is used and embedded within the transmission. Signal reference would be non electrical and therefore not requiring a common ground.
I know this topic has been done to death, but I am getting the dreaded "my battery is low" message with a 40amp 7.4v regulated power supply whilst moving one servo. I can only assume this is because the servo is under too much strain. It can't be voltage or exceeding 40 amps, surely. Any ideas?
What kind of servo are we talking about here? Large?
Just a standard EZ robot HDD 19kg servo. The arm is weighty but not overly.
https://www.ez-robot.com/Shop/AccessoriesDetails.aspx?prevCat=9&productNumber=7
I can lift the arm for 2 secs no problem. More than 2 secs and I get the error message.
This is the power supply: https://www.alliedelec.com/product/tdk-lambda/sws300a7r5/70564409/
Alright, that supply can definitely handle more than a full robots worth of servos, never mind just one. Check what the voltage is measuring coming off of that supply. It may be adjusted too close to the 7V threshold for a low battery warning. There’s a potentiometer on most supplies like that which can trim the voltage.
I did adjust the pot when I first set up the power supply so that my multimeter read 7.4v. But I will adjust it slightly and see if it eliminates the low power message.
You can also adjust the voltage threshold via software in the connection skill: https://synthiam.com/Support/Skills/General/Connection?id=16041
After some testing using my power supply, I noted that when moving the arms, the voltage drops momentarily well below 7v. Using the pot I can increase the voltage to 9 or more volts, but I am loathed to do this. Can the EZB handle 9v+ without damaging servos or other peripherals? I am thinking a regulator of some sort is required to ensure the voltage stays at 7.4v. I thought this power supply was doing that but readings suggest otherwise. What do you think?
Something like... https://www.mrpositive.co.nz/dc-dc-7-4v-44-4v-20amp-step-down-voltage-regulator-sbec/
The EZ-Robot servos are only rated up to 8.4V. You could try a regulator with it. That’s very weird that a 40A supply would dip so much.
I think before you add regulators you need to take a look at that power supply. If it is rated at 40A and the voltage drops that much when you activate a single servo there is most likely a problem with the power supply.
What are you powering the step down with? I doubt it’s the servo. If the step down is rated for 20 amps, the supply must have close to as much or A TON of voltage (watts law).
so the whole picture is missing. You’ll have to describe the setup.
what is the actual power source?
those wires of the step down can no way handle 20 amps. What wires are you using?
pics or anything will be useful
As mentioned above my power supply is: https://www.alliedelec.com/product/tdk-lambda/sws300a7r5/70564409/ It runs off the mains. I did some voltage reading tests using the EZ robot LIPO battery. When moving the robot's arms I see the voltage dropping to 6.3v and it would go even lower as the battery starts to drain. Trying to add a voltage regulator to my power supply is getting a bit messy. So my conclusion is that the servos are working too hard and I need to keep my movements short and brief. You can see from my robot image that the arms are heavier than a typical JD humanoid, even though they are fibreglass and as light as I could make them. The robot will sit on a stand with the legs hanging loose, so those servos work OK to move the legs back and forth. Without a stand (or harness) the robot would of course fall over. The stand has its own servos with wheels so it moves as the legs move.
If that’s the case, I’m surprised the servos didn’t burn out and release smoke with that much of a voltage dip at that many amps. Very lucky!
are they HDD servos or hd?
think you might look into a new servo geared joint mechanism - or stronger servos. I’d lean toward the gear joint. Something like how the inmoov joints work. But a 3D printer would be necessary
I am using all HDD servos bar two which are HD. I do have a couple of stronger servos I might try for the arms. Hopefully that will lessen the voltage drop enough.