I have long struggled with this concept and seeing FPV views of issues and corrections did not help that much. By 11 minutes in to this video, I understand this far better! I am a visual learner and the bar and 2 motors is a brilliant way to describe PID control. Thank you so much for this video!!!
Great video! Please also limit the I-controller separately. Not only the total PID controller. This will prevent the extreme overcompensation at the end of the video (16:00). In your code the I-controller can increment way to much. You can find an example in the YMFC-AL code.
I would really want to understand about proportional navigation law, and you must be the perfect person in both explaining, designing, and making it!! Yet ANOTHER AWESOME VID DAMN!!
Woooooooow you saved my life ! I am making this exact project (for school, for exam especially) and I was having trouble with the PID but thanks to you, all is pretty clear now ! Thanks so much ! Greatings from France !
It works !!! :D Thanks so much ! But can I have a little bit of help please ? Because I tried with your values (3.55, 0.003, 2.25) and it works (lucky huh ? :p), but how to tune those values more precisely for my project ?
For a perfect PID you coudl use a lot of math. Check this link: iamechatronics.com/notes/general-engineering/466-quantitative-pid-tuning-procedures Basically you should put the bar to oscillate. Once it oscillates you should measure the amplitude (in this case in degrees) and the period. Using this values you could get the real PID values. But once you adn the second axis everything changes so you should make a 4 axis balance for that. It gets quite difficult using the formulas thats why I do it by hand (testing and testing till is ok).
wow first time i see someone makes his own flight controller. I am very interested in control aplications. Good job, waiting to see the finished project.
electronoobs, you are the absolute LEGEND. you make things incredibly intuitive and simple. i love how you teach. i can only strive to be as good as you one day. you're very inspirational! you are truly among the best teachers i've ever seen in my life.
Hello Can you please tell me How to connect all four motors to it and do wee need calibrate ESCs and then do we need to load code for ESC and MPU seperately in the same ARDUINO.
@@ELECTRONOOBS hi , i just want to know how can i calulate number of 360 degree rotations completed by MPU6050 using arduino . it would be nice if u help me
Thanks for these excellent tutorials and projects ELECTRONOOBS they are extremely well explained, documented and very thorough. A brilliant body of work.
Normally PID is called in a interrupt routine and must to use volatile variable. Elapsed time change every scan of program but it seems works. Good job.
Hello Can you please tell me How to connect all four motors to it and do wee need calibrate ESCs and then do we need to load code for ESC and MPU seperately in the same ARDUINO.
can you let me call you " Great Mentor". seem s I don't need to go to school to learn, you fill it. thank you so much. and I am happy that you get the 100k milestone.
Amazing video! Thank you very much! I'm surprised by how the PID algorithm works. An alternative solution would be to look at the Quadcopter as a damped harmonic oscillator. By measuring the mass and length of the bar with the motors you can calculate the constants for the oscillator in order to be critically damped, so that it goes to the desired position as fast as possible. Also your formula for calculating the angle from the IMU data is quite effective for its simplicity. For just a little more accuracy you can add what's called "delta integration" for getting the angle from the gyro. Instead of angle=rv_new*time the formula would look like angle=1/2*(rv_new+rv_previous)*time. Combining gyro and accelerometer data with a high- and low-pass filter like you did seems to be the ideal solution. I tested the Kalman filter as an alternative, but it does not work better in this case and it is also more complicated. Finally, I have a question to you: How often per second can an arduino read the sensor data? In my experiments with a Raspberry Pi 2 and I2C it is limited to about 400, but the sensor supports up to 1000 read per second.
Thanks for all!. Well, depends of the module i2c comunication. And yes, the MPU6050 is limited at 400kHz Fast Mode I2C for communicating with all registers, which is quite fast and also for the SPI in case of the MPU6000 20MHz SPI serial interface for reading sensor and interrupt register.
@Electronoobs Nice vid. Well explained, although a little more theory might be welcome to some. Tip: the gyro's are actually already derivative values of the angle. There is no real absolute angular measurement. So the gyro values in degrees per second can be sent straight to Kd whereas the acceleration measurements (without any gyro component) can be fed to Kp and (after integration) to Ki. That should keep you slightly more in control. You may also add a derivative of the accelerometer to Kd but I doubt whether that will really help - it may actually make things worse. Please try and let me know (if you did) whether you see any difference for better or worse. Thanx. :-)
We love this channel and it was one of the reasons to start our own. We are a very new channel and will bring content on control theory, linear systems and systems identification. Keep inspiring people, thank you very much!
Hello Can you please tell me How to connect all four motors to it and do wee need calibrate ESCs and then do we need to load code for ESC and MPU seperately in the same ARDUINO.
PID (Proportional-Integral-Derivative) control helps maintain consistent RPM (revolutions per minute) across motors to prevent imbalance. Suppose motor 1 on the right side is spinning 40 RPM faster than motor 2 on the left side, despite both receiving the same power. This difference is an error that can lead to instability. To correct it, the PID controller continuously calculates adjustments to the power supply of each motor to reduce the RPM difference. The PID control system works by calculating an 'error' (the difference between desired and actual RPM) and applying corrections in real-time to bring both motors to the same speed. This technique helps keep the system balanced and stable.
Greetings, I would like to bring your attention to an important point regarding the motor configuration in a quadcopter. When connecting two opposite motors, they should rotate in the same direction, either clockwise or counterclockwise. However, I noticed that you have set one to rotate clockwise and the other counterclockwise. I understand that you are testing with only two motors, but in a quadcopter, any two opposite motors should rotate in the same direction to ensure proper balance. Thank you for your understanding, and I wish you the best of luck with your testing.
hi, may i know what the difference between pid_p, pid_i, pid_d and kp, ki, kd in the code? Are you tuning kp, ki and kd only? The calculation for pid_p, pid_i and pid_d, the output is pwm signal with unit us? If yes, how to convert the error in degree unit to pwm? So the motor speed is control by input the pwm signal?
What makes the integral action is to add a pole to the system and causes oscillations or at worst becomes unstable. The PD controller is good for DC motors.
The sensor data are degrees per second then in controller it acts on the estimation of the state variables in this case the angles: pitch, roll and yaw. You can use two PID controllers or their variants. Connected in cascade one acts on the posture and the other confirms if it is fit to take off. If you are good at control theory you can use a fuzzy controller
set_point=Serial.parseFloat(); system1=get_Euler(0); Pid(set_point,system1,0.94,.06,.07,100); e=get_PID(0); e1=get_PID(1); //Serial.print("el er es : "); Serial.println(e); //Serial.print("la der es : "); Serial.println(e1); if(e0){ // salida=aumentar pertenencia(Matriz_A2,e); a[8]=P(0); //Serial.print("pertenencia en error : "); //Serial.println(a[8]); pertenencia(Matriz_B2,e1); //Serial.print("pertenencia de la derivada del error : "); b[8]=P(0); //Serial.println(b[8]); a1[8]=t_norma(a[8],b[8],1);// el minimo de los conjuntos difusos //Serial.print("el minimo de los conjuntos : "); //Serial.println(a1[8]); b1[8]=defuzzy(a1[8],Matriz_C2,4 ); // calcucla el valor real //Serial.print("area : "); Serial.println(b1[8]); } }
Thank you so much , i'm suffering a problem of oscillatory behaviour cause the motors to be turned off, i'm using: 5 Amp ,30V power supply, amp knob turned to the max limit and the voltage regulated to be 12v and the same type of motors , but the system turn on motor and the other off and vice versa , with an ocillatory behaviour . is there any advice to diagnose this problem.
Excellent video, thanks a lot for sharing. I'm trying to implement using 1 motor only, obviously I've modified the code but the motor just beeps without starting. I can run the motor no problem with the esc calibration code. Anyway I'll keep trying!
very good explanation. I am facing one problem, I wish to make a RC V22 osprey, the plane has two profiles one is hovering as a bi-copter and forward movement as a plane, If i wish to use the multiwii what will be the settings? Do the the plane need two Mpu 6050 for hovering as a bicopter and one as a plane? Thank you.
hello i am using mpu6050 i get a problem wich is when i upload code for reading pitch ,roll and yaw at begining and zero degrees i get 0 degrees for each one thats great!! when i rotate the module i get variation in value but the problem it wont return to 0 degrees please can any one help me
Great video,, but what about the motors electrical characteristics ? for example, how did you know that this is the best voltage to run the motors at ? whats the maximum and minimum voltages to be mapped by the PID computer function ? I may have missed something but I'm curious for an answer ...
The main function ‘u’ is dependant on the time - t and the proportional and differential function too are functions of time. I don’t understand why the function which will be integrated is a function of torque where the variable ‘tau’ isn’t mentioned anywhere in the main function ‘u’.. I believe its a mistake?
Are you using the absolute value of the error because of the zero angle set point or it has to do with the whole PID tuning method?I mean the whole concept is to have the same behavior no matter what the set point is right?
I'm confused now normally PID controller can't control systems withe multiple inputs , so are using two PID controller one for each motors, or somehow you manege to control both motors by only one PID Controller
Almost everyting explained perfectly, for making it up by yourself :D The only thing I have problems with is the maths behind it. Would be stunning if you could take the time in resarching and explaining it :D
Hi there. Thank you! There is not much math in to this tutorial. The only formula i'be esed is the Euler formula to obtain the angle using acceleration data. More of the math is explained on my webpage here: www.electronoobs.com/eng_robotica_tut6_1.php Then the only time I've used a formula is to apply the complementary filter which is 98% Gyro data and 2% Acc data. The rest is just sum or subtract of PID value. Keep up!
Hello !great vidéo ^^ just a question : i ve donne everything as you did and i send tje code into the arduino and plug in the battery but nothing ( the motors make a bip bip) what i missed ?
Hello A greeting from you ...At this year I have the 2212 930KV motor , my question is you ever used the ardupilot mission planner software to set up the PID in the multirotor ?...I dont used the arduino board but I used the crius aio pro controller to set up the PID in my motor ...What values did you obtain in your test...would the result be the same if the mission planner software was used?
Hello Can you please tell me How to connect all four motors to it and do wee need calibrate ESCs and then do we need to load code for ESC and MPU seperately in the same ARDUINO.
Awesome video, My group is about to work on a project like this.I would like ask if this PID algorithm would be still able to balance platform even though a weight is applied to one side of the bar. thanks
Sir , I'm doing a project on self balancing bicycle by using mpu6050 and with the help of gyroscope can I use your code to turn gyroscope with required angle .
Hello, thanks for your videos and all your work, I have a question about a signal of the mpu6050 in the montage with esc and brushless motot, the signal was good (the angle) but just the motor take on the mpu signal will be bad? ! I didn t understand why, I hope find some help and thanks for the second way
I know this video was released 4years ago. I am a newbie on microcontroller, so I went through the code and i had got an question. Shouldn't we have to divide PID(Output) by 2, before adding/subtracting from throttle of both motors??? Therefore this will lead into zero error quickly???
I've built and wired this exactly as you have it, and uploaded your code, but when I power the ESCs at startup the props spin once and then stop. Why won't the motors spin up?
Nice ! Finally someone who use Arduino for more than an LED brightness variator... Great Engineering 😊
Il vient de me sauver mon TIPE pour les concours d'école d'ingé ! :D
Then you should follow @upir
I have long struggled with this concept and seeing FPV views of issues and corrections did not help that much. By 11 minutes in to this video, I understand this far better! I am a visual learner and the bar and 2 motors is a brilliant way to describe PID control. Thank you so much for this video!!!
Great video! Please also limit the I-controller separately. Not only the total PID controller. This will prevent the extreme overcompensation at the end of the video (16:00). In your code the I-controller can increment way to much. You can find an example in the YMFC-AL code.
Thank you very much. I'll improve the code!
I would really want to understand about proportional navigation law, and you must be the perfect person in both explaining, designing, and making it!!
Yet ANOTHER AWESOME VID DAMN!!
Woooooooow you saved my life ! I am making this exact project (for school, for exam especially) and I was having trouble with the PID but thanks to you, all is pretty clear now !
Thanks so much !
Greatings from France !
Aymeric thanks, I'm glad you say that!
It works !!! :D Thanks so much !
But can I have a little bit of help please ? Because I tried with your values (3.55, 0.003, 2.25) and it works (lucky huh ? :p), but how to tune those values more precisely for my project ?
For a perfect PID you coudl use a lot of math. Check this link: iamechatronics.com/notes/general-engineering/466-quantitative-pid-tuning-procedures
Basically you should put the bar to oscillate. Once it oscillates you should measure the amplitude (in this case in degrees) and the period. Using this values you could get the real PID values. But once you adn the second axis everything changes so you should make a 4 axis balance for that. It gets quite difficult using the formulas thats why I do it by hand (testing and testing till is ok).
You can use Ziegler-Nichols PID method as well. You only need to calculate oscillation frequency and then get the constants from a table quickly.
And here I am 5 Years later doing the same school project...
wow first time i see someone makes his own flight controller. I am very interested in control aplications. Good job, waiting to see the finished project.
I don't think anyone is like electronicnoob while explaining stuff his the best
Boss..!! I was working on reading angles from MPU for 2 weeks!! your code did it so properly for me!! thanks!!
Wizards and magicians have nothing on you. Wow! You are such a great teacher.
electronoobs, you are the absolute LEGEND. you make things incredibly intuitive and simple. i love how you teach. i can only strive to be as good as you one day. you're very inspirational! you are truly among the best teachers i've ever seen in my life.
One of the best Demonstration's OVER PID TUNING . (THANKS A LOT )💗
In my opinion, it is the best video to learn ao to do a drone program with arduino. And we can learn how drone works.
Bro this tutorial is hillariously good, I love it! Have been searching the whole web for something like this. Thank you so much!!!
You are awesome! Awesome! You are helping many DIY enthusiast. Great job. Keep servicing. We owe you a lot.
Thank you!
Hello Can you please tell me How to connect all four motors to it and do wee need calibrate ESCs and then do we need to load code for ESC and MPU seperately in the same ARDUINO.
@@ELECTRONOOBS
hi , i just want to know how can i calulate number of 360 degree rotations completed by MPU6050 using arduino . it would be nice if u help me
Thank you for the effort on your series of videos - they are an excellent balance of theory and implementation! I very much enjoy them!
Love your mountng with rubberband during initial test and build
Thanks for these excellent tutorials and projects ELECTRONOOBS they are extremely well explained, documented and very thorough. A brilliant body of work.
Thanks a lot! The way you explain and the depth of your explanation are just great! Keep it up!
That's the video I had been searching for
Nice ! At last someone who use Arduino for more than an LED brightness variator... Great Engineering 😊
Normally PID is called in a interrupt routine and must to use volatile variable. Elapsed time change every scan of program but it seems works. Good job.
One of the best declaration videos i've ever seen on TH-cam!
Great work! Thank you.
Hello Can you please tell me How to connect all four motors to it and do wee need calibrate ESCs and then do we need to load code for ESC and MPU seperately in the same ARDUINO.
this is amazing. it really improved my understanding for control systems engineering.
can you let me call you " Great Mentor". seem s I don't need to go to school to learn, you fill it. thank you so much. and I am happy that you get the 100k milestone.
Amazing video! Thank you very much! I'm surprised by how the PID algorithm works. An alternative solution would be to look at the Quadcopter as a damped harmonic oscillator. By measuring the mass and length of the bar with the motors you can calculate the constants for the oscillator in order to be critically damped, so that it goes to the desired position as fast as possible. Also your formula for calculating the angle from the IMU data is quite effective for its simplicity. For just a little more accuracy you can add what's called "delta integration" for getting the angle from the gyro. Instead of angle=rv_new*time the formula would look like angle=1/2*(rv_new+rv_previous)*time. Combining gyro and accelerometer data with a high- and low-pass filter like you did seems to be the ideal solution. I tested the Kalman filter as an alternative, but it does not work better in this case and it is also more complicated. Finally, I have a question to you: How often per second can an arduino read the sensor data? In my experiments with a Raspberry Pi 2 and I2C it is limited to about 400, but the sensor supports up to 1000 read per second.
Thanks for all!. Well, depends of the module i2c comunication. And yes, the MPU6050 is limited at 400kHz Fast Mode I2C for communicating with all registers, which is quite fast and also for the SPI in case of the MPU6000 20MHz SPI serial interface for reading sensor and interrupt register.
Fantastic video, I like your way of explaining things:)! keep up the good work
Best part is PID tuning.
I really like it.
nice nice nice THANK YOU Believe me or not there is no teacher like you sir.
I really like your awesome & helpful & great Channel.
Thank you very much, I'm so glad you say that!
Well done colegue! Keep it up !
@Electronoobs Nice vid. Well explained, although a little more theory might be welcome to some.
Tip: the gyro's are actually already derivative values of the angle. There is no real absolute angular measurement. So the gyro values in degrees per second can be sent straight to Kd whereas the acceleration measurements (without any gyro component) can be fed to Kp and (after integration) to Ki. That should keep you slightly more in control. You may also add a derivative of the accelerometer to Kd but I doubt whether that will really help - it may actually make things worse.
Please try and let me know (if you did) whether you see any difference for better or worse. Thanx. :-)
Great tutorial about PID control!!
Just amazing ! Wonderful ! So much fun to watch
Very high level of explanation. Helped a lot. Thanks
We love this channel and it was one of the reasons to start our own. We are a very new channel and will bring content on control theory, linear systems and systems identification. Keep inspiring people, thank you very much!
you made this so well!!!! are all your videos this good??
you are such a good Engineering
Thanks! I used your system to make my robot ride in a straight line. Before it went to one direction because the motors are bad quality.
Hello Can you please tell me How to connect all four motors to it and do wee need calibrate ESCs and then do we need to load code for ESC and MPU seperately in the same ARDUINO.
PID (Proportional-Integral-Derivative) control helps maintain consistent RPM (revolutions per minute) across motors to prevent imbalance. Suppose motor 1 on the right side is spinning 40 RPM faster than motor 2 on the left side, despite both receiving the same power. This difference is an error that can lead to instability. To correct it, the PID controller continuously calculates adjustments to the power supply of each motor to reduce the RPM difference.
The PID control system works by calculating an 'error' (the difference between desired and actual RPM) and applying corrections in real-time to bring both motors to the same speed. This technique helps keep the system balanced and stable.
Greetings,
I would like to bring your attention to an important point regarding the motor configuration in a quadcopter. When connecting two opposite motors, they should rotate in the same direction, either clockwise or counterclockwise.
However, I noticed that you have set one to rotate clockwise and the other counterclockwise. I understand that you are testing with only two motors, but in a quadcopter, any two opposite motors should rotate in the same direction to ensure proper balance.
Thank you for your understanding, and I wish you the best of luck with your testing.
Two words: Great video!!
This is amazing! Great explanation! THANK YOU!
Is there any way to calculate the best constant values for Kp, Ki, and Kd please ??
Thanks for this very helpful video by the way !
This is amazing. Great explanation.
Luv your channel......!!!!😘😘
You deserve a million subscribers!!!!!!!
hi, may i know what the difference between pid_p, pid_i, pid_d and kp, ki, kd in the code? Are you tuning kp, ki and kd only?
The calculation for pid_p, pid_i and pid_d, the output is pwm signal with unit us? If yes, how to convert the error in degree unit to pwm?
So the motor speed is control by input the pwm signal?
great video and thumbs up for the well commentated code!
wow u r amazing teacher in TH-cam thank u very much
thx a lot for explaining in an understandable way that PID control :)
Hi if I use a normal motor driver instead of ESC isnt still possible to control with PID?
Yes.
I love this..you are genius 😍😍😍😍
this is great video and it was very helpfull.tanks electronoobs
Awesome project
I have a idea you can tune the PID controller automaticly(auto tuning) to diterminate the the best angle
how?
Excellent Job i like your project good luck
Great tutorial... Can you please make tutorial on GPS RTH and GPS hold . I don't find any tutorial on it ..
What makes the integral action is to add a pole to the system and causes oscillations or at worst becomes unstable. The PD controller is good for DC motors.
You're right. PD should be better for this case!
I coefficient very important for leveling.
Have you coded antiwindup of I controller?
The sensor data are degrees per second then in controller it acts on the estimation of the state variables in this case the angles: pitch, roll and yaw.
You can use two PID controllers or their variants.
Connected in cascade one acts on the posture and the other confirms if it is fit to take off.
If you are good at control theory you can use a fuzzy controller
set_point=Serial.parseFloat();
system1=get_Euler(0);
Pid(set_point,system1,0.94,.06,.07,100);
e=get_PID(0);
e1=get_PID(1);
//Serial.print("el er es : ");
Serial.println(e);
//Serial.print("la der es : ");
Serial.println(e1);
if(e0){
// salida=aumentar
pertenencia(Matriz_A2,e);
a[8]=P(0);
//Serial.print("pertenencia en error : ");
//Serial.println(a[8]);
pertenencia(Matriz_B2,e1);
//Serial.print("pertenencia de la derivada del error : ");
b[8]=P(0);
//Serial.println(b[8]);
a1[8]=t_norma(a[8],b[8],1);// el minimo de los conjuntos difusos
//Serial.print("el minimo de los conjuntos : ");
//Serial.println(a1[8]);
b1[8]=defuzzy(a1[8],Matriz_C2,4 ); // calcucla el valor real
//Serial.print("area : ");
Serial.println(b1[8]);
}
}
How do you find the transfer function ?
Great video! Thank you for providing these for FREE! :)
Thank you so much , i'm suffering a problem of oscillatory behaviour cause the motors to be turned off, i'm using: 5 Amp ,30V power supply, amp knob turned to the max limit and the voltage regulated to be 12v and the same type of motors , but the system turn on motor and the other off and vice versa , with an ocillatory behaviour .
is there any advice to diagnose this problem.
Is this possible to balance it using a single bldc motor ?
Excellent video, thanks a lot for sharing. I'm trying to implement using 1 motor only, obviously I've modified the code but the motor just beeps without starting. I can run the motor no problem with the esc calibration code. Anyway I'll keep trying!
very good explanation. I am facing one problem, I wish to make a RC V22 osprey, the plane has two profiles one is hovering as a bi-copter and forward movement as a plane, If i wish to use the multiwii what will be the settings? Do the the plane need two Mpu 6050 for hovering as a bicopter and one as a plane? Thank you.
hello
i am using mpu6050
i get a problem wich is when i upload code for reading pitch ,roll and yaw
at begining and zero degrees i get 0 degrees for each one thats great!! when i rotate the module i get variation
in value but the problem it wont return to 0 degrees please can any one help me
You are genius❤️🔥
Well done, man!
How I can use this for a two DC motors with a L293D? You can help me please! Diagram Circuit
use ESC for control. l293D does not control how much current is sent to motors.
Great video,,
but what about the motors electrical characteristics ? for example, how did you know that this is the best voltage to run the motors at ? whats the maximum and minimum voltages to be mapped by the PID computer function ? I may have missed something but I'm curious for an answer ...
you rock man :D thanks for sharing your knowledge. you are inspiring. keep it up
sir i tried ur for but i didnt understand on based the gain i have to take to balace the seesaw
can u explain me?
The main function ‘u’ is dependant on the time - t and the proportional and differential function too are functions of time. I don’t understand why the function which will be integrated is a function of torque where the variable ‘tau’ isn’t mentioned anywhere in the main function ‘u’.. I believe its a mistake?
this was very interisting, I am making my own drone and i want to whrite my code myself
Thank you for such detailed explanation. :)
Are you using the absolute value of the error because of the zero angle set point or it has to do with the whole PID tuning method?I mean the whole concept is to have the same behavior no matter what the set point is right?
Very good video and links, this is huge help. Thank You!
You can consider to use a Anii Windup block to compensate Integral part.
I'm confused now normally PID controller can't control systems withe multiple inputs , so are using two PID controller one for each motors, or somehow you manege to control both motors by only one PID Controller
What did you use for sensing the real angle? Tilt sensor?
Almost everyting explained perfectly, for making it up by yourself :D
The only thing I have problems with is the maths behind it. Would be stunning if you could take the time in resarching and explaining it :D
Hi there. Thank you!
There is not much math in to this tutorial. The only formula i'be esed is the Euler formula to obtain the angle using acceleration data. More of the math is explained on my webpage here: www.electronoobs.com/eng_robotica_tut6_1.php
Then the only time I've used a formula is to apply the complementary filter which is 98% Gyro data and 2% Acc data. The rest is just sum or subtract of PID value.
Keep up!
Very nicely explained!!!
thx for the video :P one question where u write the speed of the motors (if stabilized and gyro does not ask for correction) thx alot
А можно сделать стабилизацию регулировки напряжения с помощью пид регулятора ?
Awesome explanation
Nicee, does a brush dc motor can mess with mpu6050 readings? Please help i working on my project
hey can I use this concept (metal bar with motor) for my test but use a other frame for my drone?
Hi I want to do this project for my university and do not know much, and what should I start and what to learn to build?
How do you come to a value of the p, i and d?
Hello !great vidéo ^^ just a question : i ve donne everything as you did and i send tje code into the arduino and plug in the battery but nothing ( the motors make a bip bip) what i missed ?
Hello A greeting from you ...At this year I have the 2212 930KV motor , my question is you ever used the ardupilot mission planner software to set up the PID in the multirotor ?...I dont used the arduino board but I used the crius aio pro controller to set up the PID in my motor ...What values did you obtain in your test...would the result be the same if the mission planner software was used?
Hello Can you please tell me How to connect all four motors to it and do wee need calibrate ESCs and then do we need to load code for ESC and MPU seperately in the same ARDUINO.
Awesome video, My group is about to work on a project like this.I would like ask if this PID algorithm would be still able to balance platform even though a weight is applied to one side of the bar. thanks
Yes, it would be the same. That's the thind about PID, it should control the bar even with different weight on the sides.
Hello friend, have you tried mathematically modeling the bi-rotor balance?
In the case develop the mathematical plant in time and in Laplace?
Sir , I'm doing a project on self balancing bicycle by using mpu6050 and with the help of gyroscope can I use your code to turn gyroscope with required angle .
This is great information, a very helpful video. Thanks
💕looking for more abut PID💕
Hello, thanks for your videos and all your work, I have a question about a signal of the mpu6050 in the montage with esc and brushless motot, the signal was good (the angle) but just the motor take on the mpu signal will be bad? ! I didn t understand why, I hope find some help and thanks for the second way
What do you use to power it when the test? Thanks !
I know this video was released 4years ago. I am a newbie on microcontroller, so I went through the code and i had got an question.
Shouldn't we have to divide PID(Output) by 2, before adding/subtracting from throttle of both motors??? Therefore this will lead into zero error quickly???
Good morning, discuss the annoyance, could you guide me on how to do the PID code for Tiva C using Code Composer Studio? please
I've built and wired this exactly as you have it, and uploaded your code, but when I power the ESCs at startup the props spin once and then stop. Why won't the motors spin up?
Richie Rauscher i have same problem?
Did you solve? İ think we need calibrate esc but how?
you didn't include the mpu library how you read data from that?