ArduPilot on Voxl2
-
@Andrew-Tridgell @Eric-Katzfey I wanted to ask again about the current roadmap regarding Arduplane and the IO board for PWM.
Best regards
Tom -
@TomP We are still shooting for the end of this year. I would like to know what external peripherals you would like to support though. I'm guessing GPS, magnetometer, RC, a PWM based motor ESC, and some servos for flight surface control? Also an airspeed sensor? A distance sensor? What kind of RC are you expecting to use? There are some I/O limitations with VOXL 2 so want to make sure that what you want to build can be supported by what we are putting together.
-
@Eric-Katzfey We use GPS, compass and the IO board for a PWM-controlled ESC and two servos. We also need two more PWM channels for gimbal control. That's it.
We do not use an RC. The control is purely via MAVLink. Joystick inputs are made via the MAVLink command MANUAL_CONTROL. Data is transmitted via the mobile network.
-
@TomP I have updated the documentation at https://docs.modalai.com/voxl-ardupilot/. The VOXL 2 IO board with up to 4 PWM outputs is now supported and has been tested on a quadcopter with 4 PWM ESCs. You should be able to use this for arduplane now. We are putting together our own fixed wing test platform and hope to begin testing soon.
-
@Eric-Katzfey I will need to add the support for up to 8 PWM outputs on VOXL 2 IO board. Right now it only supports 4. You should be able to do test flights without the gimbal with 4 PWM outputs.
-
@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.