Is it possible to build a self balancing robot using modern FC F3/F4

Started by kishorParida, June 19, 2018, 02:43:22 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

kishorParida

I have seen people using MultiWii flight controllers to balance a robot in two wheels. I have an idea of using parts of a racing drone to build it.

1 motor brushless
1 esc
1 flight controller
and 1 receiver
I hope flight controller's gyro and accelerometer PID tuning can get this work.

I really don't want to use Arduino.

Balakrishna Reddy

1. It is not impossible with F3/F4 flight controllers if you can program them all by your self. Most of the libraries are existing in betaflight or cleanflight to handle receiver input, accel/gyro and different filters. You can build/design the top most layer/application to use those peripherals.
2. It is not recommended to use brushless motor ESC combo as they very agile. Their torque is low and RPM is high. You can better choose a motor driver to which you can send signal to move forward or backward.

Why are you restraining to use Arduino BTW? In that case you can use bare atmega328p or STM32F103xxxx MCUs.

kishorParida

In my mind the fc gonna tilt either forward or backward assume it drone tilting forward or backward in a self-level mode.

Now how about using north-east motor and south-east motor of drone as left and right tiers of a robot. I think accelerometer will compensate to balance it.

Imagine you are handling a long stick in your finger.


The only show stopper I see is how accelerometer will reverse the direction of motor when fc tilts backward.

Balakrishna Reddy

The FC will not stop motors even if the balance is reached because if it stops then quad falls from sky. This is where you need to tweak the code to stop signalling motors controllers.
FC is not a PnP device for balancing robot. If someone wanted to make one out of it then probably they need to tweak source code so as to suit your application.
For example even though betaflight and cleanflight are flight control s/fs they are still different pieces of codes, similarly you have to do some tweaks for balancing robot.

Next important thing is it doesn't work with off the shelf BLDC motors. Balancing algorithms work better if it knows how much the motor is rotating(RPM).

accel will not reverse the motor direction it the program that will reverse depending on the accel/gyro angles/values.


saikat

Yes it's possible

Use the fc in aircraft mode where the control is for servos.


AL HAM SHARI

I think stepper motors will work quite well for your venture.
A Dozen Scratch Built Models , 
VT-Speedster Pro
55' UAV Wing
Model  Rocketry

swapnilnimbalkar


kishorParida

accel will not reverse the motor direction it the program that will reverse depending on the accel/gyro angles/values.
Quote from: Balakrishna Reddy on June 19, 2018, 04:38:22 PM
The FC will not stop motors even if the balance is reached because if it stops then quad falls from sky. This is where you need to tweak the code to stop signalling motors controllers.
FC is not a PnP device for balancing robot. If someone wanted to make one out of it then probably they need to tweak source code so as to suit your application.
For example even though betaflight and cleanflight are flight control s/fs they are still different pieces of codes, similarly you have to do some tweaks for balancing robot.

Next important thing is it doesn't work with off the shelf BLDC motors. Balancing algorithms work better if it knows how much the motor is rotating(RPM).

accel will not reverse the motor direction it the program that will reverse depending on the accel/gyro angles/values.

accel will not reverse the motor direction it the program that will reverse depending on the accel/gyro angles/values : In a drone it only changes motor speed not reverse. Can you tell me how can it reverse the motor direction?, accele reversing motor direction indirectly I meant. Actually its the esc that will do the job directly. But fc will have to give the appropriate pwm signal.
And I will use servo coreless motor for this. As @swapnil said

kishorParida