|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
|||
|
|||
|
Our team at the last second has encountered a catastrophic issue with our robot that we don't know how to fix. When driving, the voltage drops to unacceptably low levels, regardless of what battery we use. It has happened to us before on a completely different robot and motor controllers, and we were not able to isolate the issue then either. I will list as much information as I know about the problem.
The voltage drop only occurs when using the driving motors, and it occurs regardless of how charged a battery is and how new a battery it is. The team has checked the terminals to the motor controllers, motors, and battery and have found no issues with the wiring. The drivetrain is a tank drive tank tread configuration. One cim motor drives each tread. The cim motor is geared down using a CIMple box. I do not know the gear ratio as of yet. I have been told that the CIMple boxes and cim motors should not be a problem as the robot has run fine before without voltage drops using the same motors and gearboxes. Each cim motor is powered by a VEX Victor, both which are wired as according to wpilib. The team is not using the CAN interface. Driving forwards and backwards drops the voltage from 12ish to about 9, and turning the robot (driving either side in the opposite direction) drops the voltage from 12 to 6 on average. The team also uses a unique motor controller class that is included below. Our main coder was not available so we were not able to figure out if it was a code problem. Code:
package edu.wpi.first.wpilibj.templates;
import edu.wpi.first.wpilibj.Jaguar;
public class SafeJaguar{
private final Jaguar jag;
private final UpdateThread updater;
public SafeJaguar(int port){
jag=new Jaguar(port);
updater=new UpdateThread(this,jag);
}
public void set(double targetSpeed){
updater.targetSpeed=targetSpeed;
}
public void setDirect(double targetSpeed){
updater.targetSpeed=targetSpeed;
updater.speed=targetSpeed;
jag.set(targetSpeed);
}
public void setPIDRate(int millis){
updater.pidRate=millis;
}
}
class UpdateThread extends Thread{
long time;
int pidRate;
double speed,targetSpeed;
SafeJaguar safejag;
Jaguar jag;
boolean active;
public UpdateThread(SafeJaguar s, Jaguar j){
super();
pidRate=100;
time=System.currentTimeMillis();
speed=0;
targetSpeed=0;
safejag=s;
jag=j;
start();
}
public void run(){
active=true;
while(active){
long dt=System.currentTimeMillis()-time; //dt = difference in time
time=System.currentTimeMillis();
if(speed!=targetSpeed){
double amt=(double)dt/(double)pidRate;
if(speed<targetSpeed){
speed+=amt;
if(speed>targetSpeed)speed=targetSpeed;
}
if(speed>targetSpeed){
speed-=amt;
if(speed<targetSpeed)speed=targetSpeed;
}
jag.set(speed);
}
try {
sleep(10);
} catch (InterruptedException ex) {
//ex.printStackTrace();
}
}
}
}
|
|
#2
|
||||
|
||||
|
Re: Severe voltage drop
I'm on mobile at the moment, so I can't plug your numbers (assuming an unmodified CIMple box)into JVN's Design Calculator, but in general tank tread + turning = high current draw. Seeing as you're only using what appears to be 2 CIMs to drive your entire robot, I'm inclined to say that's the problem.
|
|
#3
|
||||
|
||||
|
Re: Severe voltage drop
A picture of your setup would be helpful. Is the tread system something custom, of the AndyMark Rhino Treads?
I would also measure current draw going to each CIM. Do this with the treads off the ground, while driving straight, and while turning. The idea here is to get some hard numbers to compare in order to isolate the problem. Doing it with the robot up on blocks is important, because that will tell you if the issue is with actually driving (for example, scrub friction while turning) or if it is some sort of mechanical binding in the drive train. How are your treads tensioned? With the robot turned off and it up on blocks, can you rotate them by hand? |
|
#4
|
||||
|
||||
|
Re: Severe voltage drop
Cimple boxes are only one stage reduction. Tread drives are energy hogs. I expect you are geared too high. But if it was working before on carpet then I would look for other issues as well. Measuring the current as Jon suggested is a good start. Inspect your drive line and be sure you do not have any broken bearing or wheels.
|
|
#5
|
|||||
|
|||||
|
Re: Severe voltage drop
It is entirely possible you have either killed a motor or a speed controller. Listen for a clicking sound from you robot. That is one of the breakers tripping. It should give you a good indication of what branch is at fault. Another method is pull all breakers feeding the drive. Then put them in one at a time. You will likely find one that is causing the voltage condition. Also check that someone has not made a wiring change on one of the motors. It is entirely possible to have shorted a controller output if wiring changes were made. It is also possible for something to be locking up the transmission. Check that the key has not slipped out of the pinion gear.
Last edited by Al Skierkiewicz : 24-03-2016 at 14:40. |
|
#6
|
|||
|
|||
|
Re: Severe voltage drop
Thank you for the feedback, I have forwarded your comments to the build team. We switched out all motor controllers and individually tested them one per side to see if any of them were tripping breakers, with no avail.
Here are three pictures of the CIMple box coupling itself: http://imgur.com/a/jj0OB Something to note is that the build team tells me that there is a two stage reduction gear ratio inside the CIMple box itself. We don't have a multi meter at the moment to get readings, we will take readings once at the competition. We're still encountering issues with voltage drop even with all Safejaguar classes replaced with normal motor controller classes. |
|
#7
|
|||||
|
|||||
|
Re: Severe voltage drop
Quote:
|
|
#8
|
|||||
|
|||||
|
Re: Severe voltage drop
OK,
Here is a test, get the tracks off the floor. put something under the robot to keep the tracks from contacting anything. Then try to drive. If you do not get the same brownout condition, then your robot is telling you that the motors are in stall condition when they are on the floor. Turns will make matters even worse. If the robot acts the same with the tracks off the floor, you have another issue. We need to see pics inside the robot to get a better idea. |
|
#9
|
|||
|
|||
|
Re: Severe voltage drop
Thank you again for the feedback. Our team will regain access to the robot in approximately 3 hours, so we will not be able to test anything until then. After speaking with the mentors and administrators, they came to the conclusion that based upon previous tests the gearboxes are mostly to blame. The robot used to run with toughbox minis, but was switched to CIMple boxes to reduce height. The mentor I spoke to previously thought I was talking about the toughbox minis when I asked about the gearboxes. Hopefully the issue will be solved by the time competition begins. Thanks again for the help.
-Tigerbytes |
|
#10
|
||||
|
||||
|
Re: Severe voltage drop
Quote:
|
|
#11
|
||||
|
||||
|
Re: Severe voltage drop
Note - numbers probably aren't perfect because I don't think JVN's design calculator can "do" tank treads. But I like to imagine the numbers are roughly accurate enough.
In case anyone was wondering, (with the assumptions that those pullies are 4" tall and the tread has a similar COF to Blue Nitrile), your drivetrain had a free-speed of 19.93ft/s and a "pushing" current draw per motor of 265.15 Amps. Just a smidge higher than a normal draw...Okay, a lot higher than a normal draw. If you do as Mr. Stratis suggested and add in a 2:1 ratio somewhere, it drops your free-speed to a respectable 9.97ft/s and a pushing draw of 133.93 Amps, or half of what you were at previously. Adding a 3:1 ratio somewhere gives a free speed of 6.64ft/s and a pushing draw of 90.19 Amps. A much more "normal" pushing draw. |
|
#12
|
||||
|
||||
|
Re: Severe voltage drop
Quote:
Looking at the amount of space you have, you should be able to fit a http://www.andymark.com/product-p/am-tbmicrooptions.htm enabling you to get the necessary reduction, and still have the clearance(in fact they are more compact than the CIMple box). In regards to accomplishing the reduction outside the gearbox, your drive belt seems to have quite a lot of slack in it anyway. The easiest fix would be to just use #35 chain. Change the pulley on the output shaft for a small hex bore sprocket say 12 or 15 tooth and a change the pulley on the the drive wheel with a larger one say 30t( check that the sprocket is smaller with chain then the wheel diameter), some spacers can then be used to make up for the decreased width of the sprocket vs pulley Here are a couple or resources, which should assist you in fixing your problem and prevent similar problems in the future. http://www.wcproducts.net/how-to-belts/ http://www.chiefdelphi.com/media/papers/3188? Last edited by pilleya : 25-03-2016 at 07:42. |
|
#13
|
|||||
|
|||||
|
Re: Severe voltage drop
If all of your connections are sound, I'm with Frank as to problem #1 - two CIMs through CIMple boxes does not give you much drive force, especially with tank treads.
Looking at your code, I also noticed that you declared one jaguar motor controller but say you are using two Victors. I'm not sure what is supposed to happen with one jaguar. Also, the sleep(10) inside the while(active) loop means that you are only executing the loop once every 10 milliseconds unless you catch an exception. I'm not sure what you're trying to do, but this probably doesn't do it. If I read it correctly, the jaguar will get a small speed value the first pass through, then ten ms later jump considerably towards if not right to the targetSpeed. The 10 ms sleep mostly undoes what appears to be an attempt to slowly ramp up the voltage. Edit: Quote:
Last edited by GeeTwo : 24-03-2016 at 16:22. Reason: ms, not seconds |
|
#14
|
|||||
|
|||||
|
Re: Severe voltage drop
From the photo, it could be that your track width is too narrow. 6 volts when turning is ridiculous, but 9 when driving forward/backward when the battery starts at 12 isn't too strange.
However, if the battery is 12.0 volts when not moving, it's actually starting to get a little low. A fresh battery should be closer to 13 volts. |
|
#15
|
||||
|
||||
|
Re: Severe voltage drop
First off, how are you connecting your PWM? Is it a splitter cable, or two separate signals coming from the Rio? If it is two separate signals, make sure both of them are being driven, and try using the standard motor controller classes.
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|