Hello all!
I just started to work at a new employer and we have a real fun project. It involves a drone which is run by a tethered power supply. We ordered a special tethering system from a supplier. The drone will be carrying a payload.
I am currently reading myself into the source code from the PX4 Autopilot to see, how I can modifiy this to fit my needs.
The system we ordered already has a built in emergency switch to a small battery. Now I need to detect the switch from the tethered power supply to the battery that I can tell the drone to automatically land.
Some technical details we are using in this project:
Controller: Pixhawk 6X
Tethered power supply: 23.5 ± 1.5 VDC / Max 2400 W
Tether length: 80 m
Communication over tether: ETH max 200 Mbit
Recommended emergecy battery: 6S 12Ah
The goal of the system is it, to rise up to 80 meters and stay in this position. While the drone stands still, the payload can do it’s work.
The whole system should be as easy to use as possible with various emergency shutoff/land features.
If you have any input I’d be glad to receive it, I only just started to read myself into the source code and it is a lot. Any help for this project is appreciated.
The Pixhawk 6X has two power ports, so you could use one power module on each to connect to the two power sources. Then you will have to implement your failsafe logic somewhere to trigger a mode change when one is low/disconnected. My guess would be that you can change the low battery checks in commander.
May I know where is the built-in emergency switch to a small battery located?
one approach when I was working on a Hydrogen fuel cell stack, I propose to the team to mimic only the power (low ampere) to the flight controller by dropping it to a specific voltage to trigger the low voltage failsafe landing. Not sure is it helpful.
Hey Jai!
The switch is implemented on the air unit. The company has two XT90 connectors on the module, one female, one male. One is to connect the battery to and the other is supplying either the power from the tether or the battery.
As this is a completly custom thing we ordered, they are also giving us the option to add an output IO to signal when the air unit is running of the tether or battery.
Hey Julian!
Thanks so much for the help on that part! I already have written my first code which needs to be tested with the real hardware first.
Sadly I haven’t gotten my work PC to compile the project so my own linux machine will do the compiling and it works like a charm!
I am now looking into using one of the available outputs on the Pixhawk 6x to shut off the payload as well. Our payload needs to be remotely controlable, this includes a shutoff. If you have any help on that, it is highly appreciated! Thanks again for your help! I’ll try to keep you all up to date as much as possible!
I hope you’re doing well. I wanted to ask if you’ve made any firmware modifications, specifically in terms of the control? I’m assuming some changes might be required due to the tethered system.
Heyo @iftahnaf,
So far the only change i have implemented is a small change in the batteryChecks.
This has been quite a process to get this system built and ready and I am now in the final phase of actually testing it. As in, I yet have to see the drone in the air.
I will update this when I get the chance to get the drone in the air. As for now, I am looking for a power plug on the outside of my workplace capable of delivering 230V/16A. ^^
So. We had our first flight with the complete system acting on the drone.
First few positives: From what we were able to see, no major modifications need to be done on the source code (control side).
There will be a modification for the battery check (Two sources, one primary (tether) and secondary (backup battery). So yeah.
But we found out something that you can look out for:
The RCCB, which we connected on the tether voltage, should be really only on the tether. Our system has a couple of things which supply control circuits (Raspberry Pi, ODrive, and other micro controllers).
Make sure that those are before the RCCB.
On the serious end, when we activated the torque control of the tether (Automatic retraction with constant torque) We noticed an oscillation building up. The drone started swinging from one side to the other. And getting worse and worse. At one point we had to push the emergency stop. Those oscilations got worse as shorter the lenght of the tether was.
We asume that this is due how the cable is attached to the drone. I will try to make a better mounting option for the drone, which doesn’t move and pull as a lever on the drone.
As for now we will keep on working on the system. I now have the task to fix the issues mentioned above.
Cheers!
Hi @Mohamed_Youness
Sorry for just now getting back to you. It has been a process to get everything going.
Software used
We conducted our first few tests, and due to a software bug in PX4, we switched to ArduPilot. I think it is still possible to work with PX4 but our controller just won’t activate the USB after the update to 1.14.0.
I need to figure out why this is exactly. (There is a link to ethernet/serial connection but nothing confirmed)
I have written a bit of code to make it work with PX4, so that it goes into emergency land once the tether power supply fails and the emergency battery is supplying current.
We found that ArduPilot is better suited for setting up with a dual power supply right out of the box, with different settings for each channel. So it is a bit better suited for drones powered over a tether.
Drone
As of now, we have the issue that our drone may not be enough to lift our intended payload. It tips over at take-off and crashes immediately. As in, the drone just falls over.
Tethering System
The tethering system we are using now, is working perfectly.
If you are interested check out ValoFly from Germany. Their system is easy to use.
Our own build system is done similar to the one of ValoFly. It is based on a VICOR BCM Bus Converter. Such as the BCM6123TD1E2663T0R.
For communication we used a PLC chip from YAMAR the DCB1M.
If you have any specific question, please let me know.
So, we have done a few tests with the entire system.
A few key notes:
Oscillation build up with the tether under tension. Our solution was it to keep the tether hanging freely. With the drone in Hold-Mode, no oscillation build up.
The oscillations can be seen here quite clearly: https://review.px4.io/plot_app?log=09236287-9915-457a-b37f-85e61e9ab19b