ArduPilot on Voxl2
-
@TomP The update to support all 8 PWM outputs from the IO board is now in mainline. You can get it in the latest build posted here: https://firmware.ardupilot.org/Copter/latest/QURT/
-
Hi,
How can I configure the battery monitor for ArduPlane on the VOXL2-Mini?
Which value do I have to enter for BATT_MONITOR and which values for BATT_I2C_ADDR and BAT_I2C_BUS?The "VOXL 2 Mini Power" transmits the current and voltage measurement data via I2C.
Best regards,
Tom -
@TomP It should just scan the available I2C ports and automatically detect the VOXL 2 mini power module if it has been connected. Is it not detecting it?
-
@Eric-Katzfey No, this is not detected. The configuration does not seem to be correct either. The parameter list mentions "Analog Voltage and Current" and corresponding pins.
Here is a screenshot:
-
Hi,
There is another problem. The PWM board does not output PWMs. I have also measured this with an oscilloscope. According to SERVO_OUTPUT_RAW, however, the FC should output PWM values.
Do I have to set another parameter in Arduplane so that the VOXL 2 I/O Expander Board is controlled correctly?
I use the VOXL2-Mini J19 connector: GND, pin 7, pin 8 and VREG_3P3V_RC for the power supply.
Here is my setup:
-
@TomP Okay, yes, sorry, you need to set BATT_MONITOR to 21 for INA2xx and need to set BATT_I2C_BUS to 1 for that power monitor to come up. I'll investigate the PWM issue.
-
@Eric-Katzfey The battery monitor works. Thank you very much! I'm sure the PWM will also work and then it's off to the test flight.
-
@TomP What are the settings of all the SERVO(x)_ params?
-
@TomP If you set the SERVO(x)_FUNCTION parameters according to this: https://ardupilot.org/plane/docs/servo-functions.html#overview do you get any PWM output?
-
@Eric-Katzfey Here are my settings (no PWM output):
SERVO1_FUNCTION,4
SERVO1_MAX,1900
SERVO1_MIN,1100
SERVO1_REVERSED,0
SERVO1_TRIM,1500
SERVO2_FUNCTION,19
SERVO2_MAX,1900
SERVO2_MIN,1100
SERVO2_REVERSED,0
SERVO2_TRIM,1500
SERVO3_FUNCTION,70
SERVO3_MAX,1900
SERVO3_MIN,1100
SERVO3_REVERSED,0
SERVO3_TRIM,1100
SERVO4_FUNCTION,21
SERVO4_MAX,1900
SERVO4_MIN,1100
SERVO4_REVERSED,0
SERVO4_TRIM,1500
SERVO5_FUNCTION,0
SERVO5_MAX,1900
SERVO5_MIN,1100
SERVO5_REVERSED,0
SERVO5_TRIM,1500
SERVO6_FUNCTION,0
SERVO6_MAX,1900
SERVO6_MIN,1100
SERVO6_REVERSED,0
SERVO6_TRIM,1500
SERVO7_FUNCTION,0
SERVO7_MAX,1900
SERVO7_MIN,1100
SERVO7_REVERSED,0
SERVO7_TRIM,1500
SERVO8_FUNCTION,0
SERVO8_MAX,1900
SERVO8_MIN,1100
SERVO8_REVERSED,0
SERVO8_TRIM,1500 -
@TomP Hmm, that looks correct. On my test setup running ArduPlane with those values I see output values being sent to the M0065 board. I'm wondering if there is a connectivity issue between the VOXL 2 mini and the IO board.
-
@TomP Can you tell me how you have connected the UART pins on M0065 to the UART pins on VOXL 2 mini? Like the actual pin numbers that are connected?
-
@Eric-Katzfey I can rule out connection problems. I checked the contacts on the VOXL2-Mini and the IO board with a continuity tester. Everything is well connected.
I know that with ardupilot you can at least control the servos without arming. Is this perhaps implemented differently here? Then I would have to calibrate the sensors etc. to test this.
-
@Eric-Katzfey Here is the pin configuration (J19 on VOXL2-Mini to J4 on IO Board):
VOXL2-Mini-----IO Board
9-----------------1
8-----------------3
7-----------------2
6-----------------4(I mistyped the table at the beginning. I have corrected the typo.)
-
@TomP Yep, that all looks fine. Shoot. I may need to send you a new package with extra debug information to help debug this since by default there really isn't much we can see.
-
@TomP Can you stop ardupilot and then run this command on VOXL 2 mini?
voxl-2-io detect
-
@Eric-Katzfey said in ArduPilot on Voxl2:
Yep, that all looks fine. Shoot. I may need to send you a new package with extra debug information to help debug this since by default there really isn't much we can see.
What do you mean by that?
"a new package with extra debug information" -
@TomP A new voxl-ardupilot package with debug information added. But we may not need that. Try
voxl-2-io detect
and then if that is successful then tryvoxl-2-io scan
-
@Eric-Katzfey said in ArduPilot on Voxl2:
@TomP A new voxl-ardupilot package with debug information added. But we may not need that. Try
voxl-2-io detect
and then if that is successful then tryvoxl-2-io scan
voxl2-mini:~$ voxl-2-io detect
enabling bridge
bridge enabled
[INFO] Detected VOXL2 IO on default port (2).ESC detected: ModalAi I/O Expander (M0065)
disabling bridge
bridge disabled
voxl2-mini:~$ voxl-2-io scan
enabling bridge
bridge enabled
Successfully pinged VOXL2 IO on default port (2).
INFO: VOXL2 IO Information:Board : version 35 : ModalAi I/O Expander (M0065) UID : 0x8108322152518882066BFF54 Firmware : version 1, hash 6b5ec459 Bootloader : version 0, hash 5ba5857f
disabling bridge
bridge disabled -
@TomP Okay, I think that firmware needs to be upgraded. Can you try voxl-2-io and choose upgrade_firmware?