Take off with just one propeller!
This 7.4 inch drone flies with only one propeller and is controlled by 4 air vanes!
Single rotor, "singlecopter", selfmade drone with air vanes for position control as a full remake of the Ball-Drone Project
To make the experience fit your profile, pick a username and tell us what interests you.
We found and based on your interests.
This 7.4 inch drone flies with only one propeller and is controlled by 4 air vanes!
This project represents my submission for the Hackaday Prize 2021!
Now in the 3rd iteration stage, the ball drone has not only become safer and more efficient, it now also supports more features and potential areas of application.
This design is unique, scalable and the area of application is unimaginably large! From toys to a measuring drone for fine dust to light and signal drones in the event of an accident.
Compared to the MK II, the newly designed housing virtually eliminates touching moving parts and also increases the efficiency of the system. This is not a racing drone, but everything else!
Come on and follow me with the latest implementation!
There are now a number of great videos on youtube about the ball drone! Here are a few of them:
For everyone else whose links don't appear here, feel free to write them in the comments!
Whoop! Proud to have made it into Make Magazine (US)! https://makezine.com/
I am very pleased about the good response, there are already some nice replicas on YouTube!
Betaflight has evolved over the past few years - new features are constantly being added to further improve the flight behavior of racing drones.
To put it bluntly, turn everything off and stick to the basics!
This is of course a bit of an exaggeration, but many of Betaflight's advanced controller functions are not needed and even make the drone's flight behavior unstable. The reason for this is relatively simple. With "normal" 4x drones, each of the rotors can intervene directly in the system. However, the ball drone requires a minimal amount of thrust in order to exert effective forces on the system through the air guide flaps. PID control of the vanes is required, based solely on the position information from the accelerometer and gyroscope. In order to generate this location information, Betaflight also offers a number of setting options, in particular for signal processing (filters), which I would like to investigate in more detail in the future.
The test flights that I have carried out so far worked best with the displayed settings:
Note the high percentage of P compared to a classic x-220 racer. The drone will be more stable with a good part of the D component and a small I component.
I would also like to point out the angle limitation: Here the risk of a possible tip over of the drone can be reduced by setting an angle limitation.
In the future I would like to look at BF's black box logging and hopefully be able to derive important information about the PID setting from it.
PS: I look forward to your comments and messages!
Contrary to the previous ball drone, I now wanted to use a flight controller and software that is virtually freely accessible to everyone. There are a lot of open source projects, but Betaflight is currently the standard for racing drones, there are many tutorials and resources on the internet what makes me not to explain betaflight again. But how do you get from a racing quad to a single-rotor drone? Here's how:
Basically you need a motor and four servos to control your single-rotor copter. Most flight controls have four motors and some of them have some servo outputs as well. What I did is remapping the Betaflight servo controls to the "standard" four motor outputs. Now a connection for the motor is needed. Via the configuration of the flight controller I used, I was able to see at which connections timers are available. You often read about using the LED_strip port for a motor, but I wanted to use the LED_strip port and decided to remap the PPM input as a motor output. What resource remapping is and how to is shown for e.g. in this video.
The CLI commands I used:
resource MOTOR 1 NONE
resource MOTOR 2 NONE
resource MOTOR 3 NONE
resource MOTOR 4 NONE
resource PPM1 NONE
resource SERVO 1 A03
resource SERVO 2 B01
resource SERVO 3 B00
resource SERVO 4 A02
resource MOTOR 1 C09
save
Next, the flight controller must be made to send the correct signals to the servos and the motor ... For this, adjustments must be made in the so-called mixer. Select "Custom Airplane" under the configuration tab.
Handle this via the command line:
# smix script for singlecopter on MambaF405_MK2 (by Benjamin Prescher)
mixer CUSTOMAIRPLANE
# load a standard motor mix
mmix reset
mmix load airplane # Motor1 as ESC output
#mmix 0 1.000 0.000 0.000 0.000
# smix
smix reset
smix 0 3 0 100 0 0 100 0
smix 1 2 0 -100 0 0 100 0
smix 2 4 1 100 0 0 100 0
smix 3 5 1 -100 0 0 100 0
smix 4 3 2 50 0 0 100 0
smix 5 2 2 50 0 0 100 0
smix 6 4 2 50 0 0 100 0
smix 7 5 2 50 0 0 100 0
save
If you want to find out more about what is actually happening here, take a look at these links:
https://github.com/martinbudden/betaflight/blob/master/docs/Mixer.md
As you can see in the picture of mixer config, I have set a relatively low PID loop rate. The servos that control the copter can usually be operated with a servo_pwm_rate of max. ~ 333Hz (there are also servos that can certainly handle more). I have set my servo_pwm_rate to 250Hz, which corresponds to a quarter of the PID loop rate. As far as I understand the algorithms in betaflight, there is no point in setting the PID rate artificially high if the command for the actuators can only be updated a fraction of it anyway. For the PIDs (more on this later in another log) I use strong P values. The servos with the vanes then tend to jitter. Betaflight has a great feature to solve the problem, this is called a servo low pass filter:
Handle this via the command line:
set servo_lowpass_hz = 20
set servo_pwm_rate = 250
save
If you have already set up the drone, connected everything and also implemented the configuration, then your drone should behave as follows:
A personal note on Betaflight:
Betaflight is just one option I used to get your drone in the air. All of the above steps can be done (not tested) using iNav as well, and I heard Ardupilot should do the job too!
I attached the ESC and receiver on the bottom side with cable ties (there are also the notches in the holder). A standard buzzer will fit into the round of the bat. holder.
All the parts are now available on thingiverse!
I printed the drone from PLA, but would use PETG in the future because of its strength. The construction is designed for a layer height of 0.2mm and a nozzle diameter of 0.4mm. Support is not required. Happy printing!
In the end, The Ball Drone (MK I) had a lot of components and was correspondingly heavy. The current version shows itself with significantly fewer components, which can also be printed easily and usually without support material ...
In the previous project The Ball-Drone Project I was faced with the challenge of building a slightly different drone. Now I don't really come from the field of flight dynamics and still had to learn a lot. In principle, the first ball drone flew. Correct maneuvering was nevertheless not possible, however, as the drone tended to "tip over". I was unable to get the problem under control by making adjustments to the flight controls. I found a very good video Drone Pendulum Fallacy by Tom Stanton that shows the subject of center of gravity of drones clearly. The leverage of the wings in relation to the center of gravity was insufficient to safely control the drone. So I threw the whole concept overboard and tried again.
Some good information about single-rotor drones: ArduPilot
I attached the ESC and receiver on the bottom side with cable ties (there are also the notches in the holder). A standard buzzer will fit into the round of the battery holder.
Create an account to leave a comment. Already have an account? Log In.
First flight test and I didn't break it :)
https://www.youtube.com/watch?v=ZTP3gONypgM
The only thing is that I have to correct the movement of the yaw with the sticks a lot otherwise it turns on itself. Otherwise I am very satisfied with the result.
Thanks again for have shared this project!
This has generated a LOT of interest on the Betaflight Official Facebook group :-)
Haven't thought of facebook and betaflight ^^ Credits are warm welcome - thanks! Would be nice to see a betaflight single copter add-on?! Thinking of something like this before?
Hi, this project it's amazing and I would try to build one for myself. It's so beautiful to have one :)
There is a guide or something with all the steps I have to follow or reading here I am able to proceed with the build? For the radio setup the channel are the same as a normal FPV drone?
Thanks a lot for sharing this project!
I did ok with the instructions here, if you have built drones before you should be OK.
Just get started & let us know how you get on :-)
On my build the servos jitter like crazy... need to have a look at PWM rate I guess...
I never ran servos on a quad fc before, only direct from Rx.
Also I stripped one while testing so using the spare I luckily thought of getting.
A couple of them don't sit "straight"... the horn only fits on the output shaft in set position either side of where it needs to be, because of the splines... not sure how to fix that.
Low pass on the servo might be usefull as explained in the logs! Hope to see your drone up in the air soon ;)
I already have the low pass set up as per blog...
EDIT: Solved the servo jitter!
It was because I am using analogue not digital servos... set servo_pwm_rate=50 & not servos are super quiet & smooth.
Now I just have to sort the non-centred thing.
Hi, this is a great project! My build is progressing well, I will be adding FPV and want to put the camera on a tilting mechanism.
For this I will have another servo... I am not sure what I can now wire that to, I asked on Betaflight Official FB group but nobody can help.
I am using the same FC as you, but I am not sure what resource I can remap for SERVO 5...
When I have finished this I want to see how small I can build one... with 16x16 FC & maybe 3" prop, 1.7g servos
Hi Chris! If you do not want to use LEDs on your drone you should still be able to use the pin for a servo (not tested). I hope we see a picture of a smaller drone version! Best Ben!
Oh I am definitely using LED strip for LEDs, hence the question.
Also, you mention daisychaining the LEDs, I was planning on doing that, at the top of each strip... but did you then take +5v & GND for servo power from the pads at the bottom of the LED strips?
This is great video documentation and enriches the course! Thanks a lot for this.
Hi! I am trying to repeat your project with my own adjustments on other details. Please, do you have a wiring diagram of all the parts? I do not understand where the receiver and esc of the motor are connected.
Thanks!
Hi Sergey. The wiring depends mainly on your flight controller. I don't know which one you are using. Wiring diagrams for various flight controllers can usually be found on the Internet. I didn't create a diagram myself. Thanks for asking!
Hi Benjamin! Thank you for your quick response! I think i understand your scheme. The output of the receiver goes to SBUS, and the output to ESC with PPM. Right?
Hey Sergey. Since the request for a schematic has already come in several times, I'll likely submit it later. First again: Receiver -> SBUS / IBUS. The servos are attached to motor 1 to motor 4, respectively. What is behind this is also listed again in the project log "resource mapping". The wiring of your flight controller should be clear? https://www.rctech.de/media/catalog/product/optimized/d/b/db289e85b895ee26ac1444721c4f5dd1/5020_1779x1221.jpg
Hi Benjamin! With your help, I figured out the connection. I'm using a MAMBA F405 mini MK2 controller. I hope to provide a photo or video of my design soon)
Perfect! I am glad to hear that! I'm looking forward to videos or something similar!
Hi excellent project I'm building it myself for work we work with drone acoustic technology and this would be exciting to see how it would perform. Do you have schematic for wiring, vit confusing with servo and which is connected to what motor port
Since the request for a schematic has already come in several times, I'll likely submit it later. Thanks for asking! Is there a link to your work and the "acoustic thing"? Sounds interessting ;)
Hi! Very nice Project!
I'd like to make one but I'm new to the RC world.
I've searched for the STORM TL2306 but I can't find it, can you provide an alternative?
With your setup, how's the flight time?
Thanks a lot!
A "Racerstar 2306 BR2306S" should work fine for e.g. Many comparable models can be found on the market. The speed and the diameter (affects the torque) should be similar.
I have printed the files, assembled the frame, centered and installed the servos, mounted motor & prop, and getting ready to install some LEDs and the ESC. Still waiting on my Flight Controller to arrive. Is the buzzer the front or back of the drone? Any chance you could describe or post a picture of the servo motor order? Trying to figure out which servo/motor signal wire goes to which servo and corresponds to which signal wire on the flight controller, so when my FC shows up I can make the final connections. Does E1 on the FC go to the back servo or the right servo? Also do I solder a wire to the 'T' pad on the ESC? Guessing that is the ESC telemetry.... Thanks for any help you can provide on clarifying the connections/wiring. Can't wait to fly this Ball-Drone!
Hi Brian!
Q: Is the buzzer the front or back of the drone?
A: Orientation depends on how you position your flight controller on the frame. In most cases there is an arrow on the PCB silkscreen which defines "front". The alignment could certainly also be changed in the Betaflight configurator.
Q: Does E1 on the FC go to the back servo or the right servo?
A: The servos can be attached to the FC in any order. The assignment can be adjusted via "CLI Commands" and resource mapping. In the end, the drone must show the following behavior: transmitter roll right makes forward and back fins move right; transmitter pitch forward causes left and right fins to move forward; transmitter yaw right causes forward fin to move left, right fin to move forward, back fin to move right, left fin to move back.
Q: Also do I solder a wire to the 'T' pad on the ESC?
A: Yes, this seems to be the ESC telemetry. This is not needed but gives some extra features in betaflight.
Hope this helps! Check out some betaflight videos on youtube and have a look at the videos I linked in some projekt logs! Best - Benjamin
This is fantastic! Awesome work!! Do you have any videos of it flying beyond the animated gif? I’m off to start printing the frame.
Hi. I don't have any more videos. I've already thought about YouTube, but I'm not there yet. ;)
This is awesome! All I want to know is: How loud is it, and can it be disguised as Skeets (Booster Gold's sidekick)?
You can of course hear the drone clearly. Unfortunately I cannot offer a dB measurement or something similar. As for the design: a lot is possible here, as long as the center of gratity is right!
nice work! This mean in near future in betaflight mixer dropdown menu I will see "flying ball"? I might give it a try this winter. I am into fpv drone so might try to do FPV with it. Will have to try PETG or ABS since PLA won't last when I tune this in the basement. Keep it up!!
Oh, if this project could / would actually have an impact on BF - that would of course make me proud. Maybe I should really look into it and propose the drone / settings.
Do you think PP could support the weight?
I'm asking because PP it's indistructable.
Printing one in PETG at the moment. Ordered some stuff and can't wait to see it fly. I am all in to Single and Coax copter. See here my flying stick: https://youtu.be/W8ynR-MvQH4
Nice! I'm looking forward to the pictures! (E.g. via a "make" on thingiverse)
Hey! Thanks for the "make" on thingiverse. https://www.thingiverse.com/make:862583 Looks pretty nice in transparent. I have now ordered new PETG (black) myself, as I have broken my PLA build several times during tests ...
Very interesting project, really looking forward to seeing how it progresses. Why didn't you keep the custom flight controller from Mk1? Betaflight compatibility?
Betaflight / iNav compatibility is the point. I was looking for a way to make the project accessible to many. Because BF is already widespread and there are various controllers for it. Illustrated updates on this are coming soon!
What forbid the body to contra-rotate to the rotor?
The center of mass is likely above the propeller, isn't it harder to stabilize this way?
The control system adjusts the air flaps so that the counter-torque is generated and the drone does not turn. Between the center of gravity and the effective force of the air flaps there is about 10cm and offers sufficient "leverage". I am convinced that this is an essential point for optimization. Should someone have the skills and be able to calculate the optimal point depending on the air flow, a message is very welcome!
I'm in the process of ordering the parts to build this. Have you thought about using Arducopter?
Hello Leonard and thank you for your inquiry. I haven't looked at Ardupilot yet. So far I've built my own controller and only recently worked intensively with Betaflight and iNav.
This project looks awesome! quick question, how did you modify beta flight in order to support this new kind of drone? are their prebuilt versions or did you write a algorithm?
I will be presenting the modifications to Betaflight in the coming days. Some changes to the system are necessary, but everything can be done in the "normal" way.
Become a member to follow this project and never miss any updates
https://youtu.be/YdvwP_g6c2M