Skip to content

Alexey-Kamenev/ball_drone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ball drone assembly notes

Based on this project with very slight modifications.

Parts

Note: you only need one receiver from the list below, depending on your transmitter. See details here or here.

Name Comments Price $
3D printed parts Had to modify a bit (rotate / slice) to be able to print on Prusa i3 MK2 -
Flight controller Mamba MK2 F405 Banggood - was out of stock 27.55
RC receiver Flysky FS-A8S For FlySky (AFHDS 2A) transmitters 11.99
RC receiver FrSky R-XSR For FrSky (ACCST) transmitters (e.g. Taranis) 25.59
ESC T-motor F35A 3-6S BLHeli_32 Alternative: DYS BL30A Mini 30A BLHeli OPTO 22
Motors Racerstar Racing Edition 2306 - 9.60
Propeller FCMODEL 6045 6 Inch 3-Blade - 3.49
Servos 4X Emax ES9051 Digital Mini Servo - 16.99
Battery Tattu 11.1V 1300mAh 75C 3S - 18.99
M3 hardware kit Nylon instead of metal 14.99
Servo extension cables Needed as an extension to connect servos to FC 5.99
XT60 male connector -

Assembly

Follow the instructions on Hack-A-Day or Make Magazine, Vol. 76.

Servo calibration

To center the servos you can use provided Arduino sketch. Here is the respective wiring:

Arduino Servo Wiring

RC Receiver binding

Binding RC transmitter and receiver can sometimes be tricky. Most importantly, make sure that protocols, AFHDS or ACCST, of transmitter and receiver match.

In my case, I have Taranis X9D transmitter and FrSky R-XSR receiver. My firmware configuration is:

  • OpenTX 2.3.11. How to update.
  • Pre 2.x version of firmware both in Taranis XJT internal module and R-XSR receiver (ACCST D16).
    • It is important that these versions match, otherwise transmitter and receiver will not bind.
    • How to update receiver firmware, or another tutorial.
    • XJT firmware
    • If you decide to use version 2.x, then corresponding matching versions need to be flashed both in transmitter XJT module and receiver.

Configuring Betaflight

Resource Remapping

First you need to remap servos to 4 standard motor outputs and our motor output to PPM. Open CLI tab in Betaflight and run the following:

resource MOTOR 1 NONE
resource MOTOR 2 NONE
resource MOTOR 3 NONE
resource MOTOR 4 NONE

resource PPM 1 NONE

resource SERVO 1 A03
resource SERVO 2 B01
resource SERVO 3 B00
resource SERVO 4 A02

resource MOTOR 1 C09

save
# resource MOTOR 1 C09

NOTE: C09 already assigned to ESCSERIAL.

Resource is set to C09

Mixer

# 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

Servos config

  1. In Configuration tab, set PID loop frequency under System Configuration section to 1KHz.
  2. Update servo LPF:
    set servo_lowpass_hz = 20
    set servo_pwm_rate = 250
    save
    

Final check

Do not forget to check propeller rotation! Re-solder the wires (swap any 2 ESC-motor wires) if needed.

About

Single-rotor drone

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages