Hello, I calibrated the pressure sensor. It appears in the widgets section, but I can’t see it in the Mavlink inspector. What can I do? I’ve attached my parameter list and photos. Any help would be appreciated.
Only the first two sensors are there, ms5837 is not visible
Hi @mmustafasasi -
Welcome to the forums!
It does indeed look like your Bar30 is recognized ok, and is even reporting depth. You’ve configured the QGround Control instrument panel to show depth - many may times! You can click the pencil icon to edit and remove the duplicates, but the 0.1m shown is likely correct - does this increase as you submerge your ROV deeper?
Yes, the value is increasing, but it is not visible in the mavlink inspector. I will retrieve this data with pymavlink, but since I don’t know which variable it is assigned to, I can’t adjust the depth accordingly in my code
There are 2 barometers in the Pixhawk Orange Cube, only they are visible, the additional sensor installed on the controller is not visible.
My English is written with bad translation, excuse me.
I believe the water depth barometer pressures in this case will show up in SCALED_PRESSURE2, although[1] you should be able to use AHRS2.altitude to get the autopilot’s filtered depth estimate directly.
As a result, the depth is displayed in the Cockpit interface.
In the Cockpit interface, there are 2 parameters available for temperature readings that are not related to the IMU: SCALED_PRESSURE/temperature and SCALED_PRESSURE2/temperature.
However, when I select these parameters, they show the temperature of my flight controller’s internal sensors: 62 and 48 degrees Celsius.
This CUBE Black controller is for testing; maybe it’s not entirely suitable for our purposes? If so, could you advise which flight controller is currently the most relevant?
Updating to the latest stable BlueOS would be good - that’s version 1.4.2 currently.
Your issue may be related to the Cube Black you’re using - the Navigator is generally the most relevant to BlueOS and Ardusub, as that’s the standard configuration of the BlueROV2. Using it will also allow you to use Lua scripts for additional control and automation!
With that said, I believe your configuration may be incorrect - did you try loading default parameters perhaps?
In my log files, the water temperature is under Baro(1), with internal temperature Baro(0).
Thanks for the reply! Yeah, I know the Navigator is top-tier, but I was thinking of a Pixhawk-style board.
So on the temperature issue: SCALED_PRESSURE/temperature shows 64°C, and SCALED_PRESSURE2/temperature shows 48°C. Pretty sure those are the internal controller temps.
The physical baro sensor is actually at room temp (~23°C). I tested it directly with the Arduino library and it was fine.
I should note, the baro info wasn’t even showing up until I tweaked some parameters from their default values.
There are two internal baro/temp sensors on the cube black, so that’s likely bumping the temp info from the Bar30 out. Can you share a .BIN log from the vehicle? You’ll need to arm it for a bit in order for this to generate, and then download from the Autopilot Logs page in BlueOS.
You can also go to the vehicle setup page and verify that the Bar30 is detected properly….
I also have a feeling that the data from the flight controller’s internal sensors is overwriting the temperature data from my external pressure sensor.
My question is: is there a way to work around this, perhaps through the flight controller settings? I’ve attached the data.
I’ve moved your post to this thread, because I believe it’s on the same topic.
Thanks for digging into this, and providing some extra information about your setup and what you’re experiencing
It won’t be overwriting it - data from separate sensors get sent via separate messages (or at least using separate IDs). Given you have two internal pressure sensors, the data for your external pressure sensor should be sent as SCALED_PRESSURE3. That should happen automatically, as part of the same stream group as the other sensors, but that’s not appearing in the tlog you shared (despite the screenshot showing that the sensor is being detected as connected to the flight controller). It’s possible there’s an issue with your sensor that’s preventing that[1], or a bug in the firmware.
The MAVLink protocol only has support for 3 pressure sensor outputs at the moment, and no direct support for independent temperature sensors[2], so it’s useful for that data to be available somewhere. That being said, it should definitely be possible to pass through the pressure and temperature values of the third sensor, especially when a Celsius sensor isn’t detected, so not being able to is a bug, which I’ve created this potential fix for.
The DataFlash (.bin) log Tony asked for could help to determine whether the sensor’s temperature output is working, although it likely is if the depth estimates are accurate (since they involve temperature compensation). ↩︎
Adding a message for this should be possible, it’s just time consuming, and was presumably considered unnecessary hassle when the functionality/support was originally being added. ↩︎
I don’t have the equipment on hand to test this. Would you be able to see if SCALED_PRESSURE3 messages appear with your pressure sensor data, if you flash on this firmware?