I have been using the AttoPilot 90A sensor on my 3DR quad copter, from the start. It works, even though AC firmware requires some software lines to define calibration ratios (I looking forward to that to be set in the Mission Planner configuration).
Anyway, a few days ago I read a post from Arnt-Inge about AttoPilot sensor noise was interfering with sonar signal. That got me thinking about how the Atto-sensor is installed, and I started to worry about if the black ground wire in the Atto-sensor signal cable might act as a parasitic shunt to the main battery ground lead. Simply put, the motor current and other power consumers on the copter should have their current returning via the battery pack cable, not via the tiny Atto-sensor ground wire (and the APM board cirquit).
This evening I set up a test to find out whether the Atto-sensor three wire signal cable, black ground wire, acts as a parasitic shunt or not. I simply cut the black wire and connected a low impedance digital current meter.
Test turned out positive. At rest there is a 30mA current from the APM board to the sensor ground.
At full motor power it mesures 450mA. Half of an ampere. Hmm.
For me this is slightly disturbing. Having parasitic current like this in low level signal cables is simply dirty, even though I am not sure what significant implications it has.
I would like to know what you hardware guys have to say about this, please??
(this issue was also posted in the hardware issue forum, but that is a bit too narrow, since it is meant to be a tech support forum of the DIY store, sorry)
I wonder if this has anything to do with the random lack of gyro stability when I plug in the battery when the AttoPilot sensor is already attached to the APM board? I find if I have the AttoPilot sensor disconnected when I connect the battery the APM board initialises correctly and is stable, otherwise I randomly get barely any attitude stabilisation. After that I connect the AttoPilot sensor and all is OK, including alt-hold (2.1alpha). I did end up shielding all three wires to the sonar with the shield only connected at the APM ground end. Bit hard to see how a current could be present between the ground pin on the APM and the ground pin on the AttoPilot board when both are connected to the ground of the battery.
I put a ferrite on the atto cable, the noise was more or less gone that way. This can be read in all baro if I remember right. I will not do more before I get apm2, hope the program is quite stable when it arrives.
Tomas, looking at the circuit diagram, it seems the battery negative, or to be precise, the ground wire, merely passes through the board for convenience.
If you have that huge current flowing in the signal ground, I respectfully suggest that you have a wiring problem.
Measure the VOLTAGE over the battery ground wire, from battery itself, to each connection point, right up to the PDB.
Use a needle to stick through insulation.
Your description implies you have a large voltage drop along the ground wire.
And that is really going to mess up the readings from your sensor.
Richard - I would say it is pretty much a standard AttoPilot sensor setup, as described in the ACM wikis on this website.
And I think it is mainly a DC "problem", though most likely with a small AC component (from ESC motor drive, when motors running). But Arnt-Inge claims that a ferrite choke on the AttoSensor cable solved his noise problem, so that would indicate that in his case there actually was a significant AC component too.
Actually I don´t even know if this issue is a problem, but it might be, in some way, for instance like A-I implied. Anyhow, the presence of that current in a sensor cable is not sound to me. It is half baked circuit design.
But let this be clear, this is not so much about my specific setup. It is a general and predictable consequence of applying a second connection line (the sensor cable black ground) from the APM board directly to a point near the minus pole of the battery. So if you are using the AttoPilot current sensor, then you have this parasitic current too. More or less.
Factors that proportionally influence the amount of parasitic current is mainly the resistance in cables from PDB (Power Distribution Board) to battery, resistance in the PDB itself, and the conductance of ground circuit from PDB via APM board and AttoSensor cable to the ground point at the sensor itself. In short, the "problem" gets worse if the AC battery connection cable is too thin, and if the PDB board has too little cross section area of it´s printed copper.
The solution I can think of is radical:
There should be no ground-to-ground connection between Atto-sensor and APM. The Atto-sensor ground should be routed into a high impedance analog input and the voltage difference between it and the current / voltage sensor outputs should be measured. This would occupy one or two more analog inputs but it would be clean.
Suggest new hardware design
Even more radical and better would be a new PDB design that would integrate current and voltage sensing features, tailored for the ArduCopter. It should be considered to use Hall effect sensor for current sensing to avoid the voltage drop over the shunt resistor.
Frankly I think power monitoring in the AC is being treated astonishingly as a not so important issue;
Maybe you think I am whining. Not so. More like this: The ArduPilot/ Arducopter system is very sophisticated in many ways. And cool. In this fantastic technical framework, let us not ignore the need to monitor the status of the electrical drive line. After all, if it fails - down we go.
Have you done my suggested tests :-)
Sorry for not responding appropriately.
Anyhow -yes. Not now, but before, when I was on to the poor climb performance of my stock quad (now performance is good after having replaced crap propellers with carbon reinforced ones. Cable resistance was not the issue).
Here are the values measured at that time, and nothing has changed, except for the props :)
Tell me what you think. Does it look abnormal in any way?
By the way, it would be so interesting if some other AttoPilot sensor users would do the same simple measurent as I did, and report their findings here. It is very simple and non destructive (well, you will have to sacrifice a servo extension lead, but if you can bear with that):
No, that isn't what I meant.
Stick a needle into the battery ground wire, second needle just in front of the first connector.
Move second needle to after connector, measure.
Move second needle to just in front of whatever is next, measure, this way, all the way to the PDB.
From what you describe, you have a bad joint on your ground line.
This would be about the only way to find it.
Gustav, thanks for your helping efforts. But what you are suggesting is basically what I did in that link I provided to another thread. See, I do not have any joints on the negative battery connectors way to the PDB! It is going unbroken from battery connector to (good) solder joint at PDB. On the way it is soldered (but not cut) to the Atto sensor. And I HAVE already measured total voltage drop from battery connector to PBD at 29A, and it was 0,104 V. Follows (ohms law) that the internal resistence of the negative connection wire is 3,6 milliOhm, that confirms I have a good connection rather than a bad one. And I don´t have a HUGE current in the sensor ground, it´s like 0,45A at full motor power. And I am not saying it is a problem. My sensor readings (current, voltage, sonar) are ok, so I am not trying to solve a sensor problem. (But Arnt-Inges posting indicated that he experienced a noise problem, most likely caused by ESC noise having its way through the very same ground wire. A ferrite choke solved his problem).
The point I am trying to make is the following: The purpose of the three part output leads from from AttoPilot voltage and current sensor is to deliver low level voltages (representing battery voltage and battery current) to the APM analog inputs. The black ground wire is supposed to be the ground reference for the two signals representing current and voltage. Its purpose is not to act as a complimentary return line from PDB to battery negative connector. But it inevitably does this as soon as it is there. Not only for me. For everybody hooking up the AttoPilot sensor three wires to the APM board. The amount of current follows proportional to the inverse of the internal resistance of the respective wire.
The only way to completely avoid this "parasitic" current with the design at hand would be to leave the black ground line open. Haven´t tried that. Might work. But it might screw up battery voltage measurement as a function of current (due to voltage drop).
Ok, sorry if I made a lot of fuzz about a minor issue. I am just saying there is room for improvement. And we all want it to work perfect, don´t we?
I see you have already put a lot of thought into the problem.
But with all due respect, if you have 450mA flowing in the ground wire of the sensor at full power, there IS a problem.
Even if it only going to give you false readings on the APM.
As for noise, looking at the circuit, there should not be any.
It is a fairly low impedance DC circuit.
But since the sensor references it's ground, AT the PCB, and the APM references its ground at, well, it's ground input, and these two grounds change their voltage relationship to one another, as the current changes, there is almost no way to get accurate readings.
According to the website, the sensor is scaled for 3V3 circuits/A2D's.
So even something like a 100mV drop, is going to affect the accuracy badly
Leaving the sensor ground disconnected will screw you around just as much.
The best way out of this, is to mount the sensor as close to the PDB as possible.
Well Gustav, maybe you are right. But I did not notice any adverse effect on the current / voltage reading. Admitted, I did not check up on the curves. It seemed to work fairly well, once calibrated.
But anyhow, 450 mA sensor ground current at full rpm is not sound. And actually it might have been the double. Because when I did the measurement I inserted a servo extension lead, thereby approximately doubling the resistance of the sensor ground lead. Then I measured 450mA. So when running without the extension lead it would be reasonable to assume like 900mA at full power...
Now then, since I was tearing the quad apart anyway, to install APM2 board, I did exactly what you suggested. I moved the sensor as close as possible (4cm) to the PDB, and I used AWG12 wires (before, the battery leads were AWG16).
Tomorrow, if weather permits, I look forward to do premiere flight with APM2.
Finally, to anybody following this thread, again: All of you using the AttoPilot current sensor will experience this ground lead current (with or without side effects). The longer and thinner leads between PDB and sensor, the greater the ground lead current. And very soon I will stop nagging about this ;)
If you want to be able to adjust the voltage and current scaling parameters via the MP check the description and attachment to Arducopter issue 313. The reference to the pin numbers for APM2 won't apply, but the use of adjustable parameters rather than #define statements should. You won't be able to use the nice dialog box in the MP for the adjustments, but the two scaling parameters will be exposed so you can adjust them without recompiling.
As suggested elsewhere in these forums I have been using the GPS hdop field to transfer motor current, and reading it on an Ardustation. I noticed that while I can measure reasonably linear scalings of current on the Attopilot sensor, starting from 0, when I connect a voltmeter to the Attopilot sensor pins, I see a deadband at the bottom 0.5A or so in the values read by the APM and transferred to the Ardustation. I was wondering what was going on, any maybe it is this grounding issue that is causing it. I will take a closer look at this.
The current draw has been included in the MAVLink 1.0 packet defintions, so the hdop patch won't be necessary in the future.