The Airspeed Sensor is mounted to a air data probe on the tip of the wing. The Pixhawk is mounted in the fuselage of a biplane. In order to transmit the voltage, I spliced the I2C cable to make homemade extensions. Continuity is constant across the circuit, but when I look at mission planner, I get a static number for airspeed. I’ve tested with another unmodified I2C directly connected to the sensor, and that gets me readings.
I haven’t seen any breaks in the wire. The voltage goes through, but no value is read by the Pixhawk. What could be causing this problem?
Sounds like a long cable. On I2C bus you need to be extremely careful on cable capasitances, lenghts, shielding as I2C is a bit sensitive. Long cables are not generally advised. Having amplifiers along the way will help on cable issues.
So most likely your problem is that your cable generates too much interference and thatcway data is not flowing correctly
Is there a way to counter the capacitance? They say for a I2C port I could use a amplifier to introduce additional current to the I2C wiring to counteract the capacitance. However I’m worried that the boosted current might cause damage to the Pixhawk. Am I just being paranoid, or should I be worried?
Also, long I2C cables, which really are not recommended as Jani says, should have a full twist every 2 cm.
I think i have the same problem, long cable, over 16 inches long to clear the prop and reach the autopilot. I took a voltage reading and it is 4.73V. If that is enough voltage then I take it noise on the line is causing my airspeed to be stuck at 7mph?
Can you please point me to an article on how to amplify the signal? I can not shorten the length. TY!
If it is a PX4 airspeed sensor , see this issue.
Basically its is a 5v sensor on a 3v I2C bus and so the “High” logic voltages are not quite enough. Sometimes it works and sometimes not
You can try using this in the cable to fix this problem as suggested in the link
@Chad_Frazer The cable length sounds OK. I have used a 400 mm cable. Some suggest a max cable length of 1 m, but that is with the level converter or a 3.3v sensor.
EDIT. This is somewhat messy, since the Pixhawk uses a 3.3V i2c bus and a 5V supply. With the I2C level converter breakout board you need to supply 3.3v to the Pixhawk side Vref Pin and for that you will need a 3.3 volt voltage regulator such as
https://www.sparkfun.com/products/526. Feed the VIn from the Pixhawk 5v and Vout to the Vref1 (or Vref2) pin on the level converter, and GND to GND to GND obviously