|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
|||||
|
|||||
|
A clamp-on meter would be the ideal case if you were just out to determine what current was being drawn. However, if you were out to monitor the current load on your battery so that you could either scale back the motor command in software to aviod tripping the breaker, or feed back the current draw to the driver so he can keep that in mind as he's trying to win a shoving match, you would need something like what I posted.
The resisitors I recommended range from 1 to ten milliOhms. That's on par with the resistance of the wire carrying the current to the battery, it's just measured precisely. It is also much less than the battery's internal resistance, so much so as to be irrelevant in a robot's overall circuit. Now, that's not to say that there aren't ways that one could do this wrong. Please get help if you don't know what you're doing, and test your circuit before connecting it to any competition hardware. |
|
#2
|
||||||
|
||||||
|
An ME sticks his oar in again...
When I suggested that teams infer battery current, my real point is that there is no reason to put a so-called shut resistor in line with main battery feed because there IS a resistor in series with the battery already... ...it is called the internal resistance of the battery! In fact, that is how simple battery models work -- they simply put an ideal battery and an internal resistance value in series as the model of the battery. To first order, it is a pretty fair approximation.
The trick is that battery resistance is not completely fixed, it varies from battery to battery and (I am guessing) from a fully charged battery to a less fully charged battery. My proposal was just to get a fix on what that internal resistance was by putting another resistor across the battery leads (say a stalled motor) and then using the internal battery voltage measurement on the RC to infer the internal battery resistance. Knowing that resistance, it is not that hard to then watch battery voltage and infer what current is going through the battery. Now, that is a lot of words and ideas, but in the end, I am not really recommending that anyone measure battery current because I think it is a red herring. From my experience designing power hogging robots, I do not think very many teams will have trouble tripping the 60 Amp fuse. AND (more importantly) those few that do will not be likely to have the cleverness to make the current monitoring circuit work, yet alone do something intelligent with it once they HAVE a working current signal. It is not a simple matter to go from current measurement to how soon will my breaker trip. Yes, you can easily just clip current to 60 Amps but that using sledgehammer to kill a gnat. Getting closer to the edge of tripping but NOT tripping is tricky business involving keeping track of current usage over time and estimating how hot the breaker is at this moment based on that current history. The problem is made even trickier when you start to realize that you should limit current not to what will trip the breaker in the next few seconds but before the match is over. Now you are really into the crystal ball realm. My bottom line, finish your robot early. Give your drivers time to practice. If you see that it is possible to trip the breaker, try to engineer your way out of it by changing ratios for example. Failing that, have your drivers LEARN the edge of the cliff. With time, they will be better current monitors than anything you could code in Pbasic. Just one man's opinion. Joe J. |
|
#3
|
|||||
|
|||||
|
The Doctor is in.
Joe, you're absolutely right.
What's happened here is that we have a solution in search of a problem. The nifty new circuit board that we're allowed to use is a great hammer, but determining the current load on the battery might not be the best nail for it. Is measuring current through the custom circuit board possible, legal, and safe? Yes to all three. Is it useful or recommended for those not sure of what they're doing? Probably not. My team (118) will probably end up with a current measuring circuit board, and I'll keep y'all posted with what we end up doing, and how well it works. Kris |
|
#4
|
||||
|
||||
|
Quote:
The problem is that of common mode voltage of the inputs. The circuit you have shows the 741 sensing close to it's power rails, and I am pretty sure it is NOT capable of that. I'm also not sure, but it looks as though you have it powered off of a 2nd battery, which might make it worst if it's voltage is below that of the 12v robot battery. We have actually built a circuit to measure motor currents, and it looks like it is working. We do have one little secret, which I will NOT devulge at this point...,and you have to trust me, I'm sure that others will be doing the same....but I don't want to "crow" about it until I get it in it's final form and working. (which is always a challange) I will post a PDF of the schematic when it is finally all up and working. Anyways, I like your difference amplifier circuit with minor change. -Quentin |
|
#5
|
|||
|
|||
|
Measuring DC current: I would consider using either a Anisotropic Magnetoresistive (AMR), Giant Magnetoresistive (GMR) or Hall effect sensor, all of which they sell in the DigiKey catalog. They measure field strength and are non-contact.
|
|
#6
|
|||
|
|||
|
Current Measurement
The easiest on-board current measuring system is a PCB trace in series with the power to the Victor.
1.5oz copper clad PCB has a resistance of approximately 0.7milliohms per square. 1.5oz copper is the weight of the copper you get from a custom circuit board from AP Circuits (www.apc.com). To measure the current, you measure the voltage drop across the copper trace. TI sells the INA169 through digikey. This chip is designed to provide a ground referenced voltage (0-x volts) from a voltage across a current sensing resistor. Gain is controlled by a single resistor. Example: With a 1" wide by 5" long patch of 1.5 oz copper, the final resistance is 3.5milliohms. In order to see overcurrent conditions lets set 100A=5v output. This requires a gain resistor for the INA169 of about 14Kohm. The little breakers open around 30Amps or when we measure 1v out of the INA169. For those of you concerned about power/voltage loses, we measured 125mV @ 30A across the copper I described above. This equates to 3watts of power. This is approximately the same loss as 5" of the 10awg wire. If you are really concerned, use 8awg wire instead of 10awg and keep the wire lengths as short as possible. The smaller the wire, the shorter the length. Our custom circuit box includes two of the current shunts described above on one circuit board. A second circuit board is stacked above the shunts. The second board includes the INA169's, a PIC16F877, a 4 channel digital to analog converter to send analog commands to the robot controller. A connector for the Gyro (We scale and filter the gyro data before sending it to the robot controller) Connectors for the optical sensors, and 8 digital outputs to the digital inputs on the robot controller for digital commands. All of our high speed control code runs in the PIC16F877 (100x faster than robot controller) and commands are passed through the digital and analog inputs. |
|
#7
|
|||||
|
|||||
|
All of this is great discussion but here is something to think about...
From wire tables, #10 wire is 1.015 ohms/1000' or .001015 ohms per foot. Ohms Law suggests 100 amps through .001015 ohms=.1015 volts. With a little amplification this is a useful voltage. What's more, the impedance is very low and will generally not be susceptable to noise. In looking at the op-amp circuit earlier in the post, I expect that the battery is used to supply a negative power supply to the op-amp. I would recommend a dual 9v battery bi-polar supply in that application to insure a zero volt output when there is zero current flowing. As many of you who are working on current monitoring are aware, the current feeding a speed controller is pulsed, the same as the current being delivered to the motor. Therefore even after you sense and amplify, some other method of determining or scaling needs to be done in order to have a useable signal. We are currently working on a multi-channel current monitor circuit and will have details as soon as we get to a fully functional design. Good Luck All |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| How to access other Digital inputs on OI? | DougHogg | Electrical | 2 | 12-03-2003 13:57 |
| Robot Controller Digital Input | crazycliffy | Electrical | 11 | 16-02-2003 04:28 |
| Digital inputs, bandwith, errors? | Micah Brodsky | Programming | 7 | 20-01-2003 16:08 |
| Analog vs Digital inputs? | f22flyboy | Programming | 8 | 08-11-2002 22:18 |
| Serious Controller Ideas | archiver | 1999 | 28 | 23-06-2002 23:01 |