Impressive! I guess most people don't even realise what a great achievement it is to get a balancing robot to operate in such a smooth way, or have it stand still like yours does.
@@ReMRC I can imagine, it would probably take a bit of time to crack the formula, maybe ChatGPT can help, but lately for the type of code I’ve been trying to make it’s not been doing what I asked it to do… but yeah, have you heard of “single wing planes ✈️ “? They invented this idea where it’s only one wing that controls the steering, thing is to turn when the wing is at high speed the pilot had to manually calculate how to turn on the fly, so it’s a similar concept, you can turn good, but the geometry of it needs to be programmed
Hello, in this project to which pin of Arduino nano is connected to bluetooth model, & is the bluetooth connection code is written in your main program? 0:01
thanks for providing good project, im wondering 1. what buzzer do in your circuit diagram? whats the condition of buzzer acts? 2. whats the difference singal A pin and signal B pin in 24h motor?
Are you asking because you want to use an esp32cam for video or because that's just the hardware you have? Nano's are dirt cheap so unless you want to completely rewrite the code there's just no benefit. Best wishes
Hello sir, we are currently working on a self balancing two axis version for a university course, however we are having a lot of issues getting something stable. Because we couldn't find Nidec motors, we are using brushless sensored motors and ESC made for RC cars and a PID controller, and it seems impossible to tune even with techniques we found on the internet. Today I noticed that everyone is using controllers with kHz frequencies in terms of output rate, but our setup is capped because of a 50Hz PWM input signal to the ESC's , but I don't know if that's the issue. Could you advise us on how to solve the issue ? Is it possible to get in contact? Thank you very much, we got inspired from your videos.
i love your project it is perfect. i have a question witch motor use all 8 pins in the schematic the back will motor or the motor for the reaction will thank you
Hello, I wanted to reach out to express my admiration for your project - it's truly impressive! As I'm working on a similar project myself, I stumbled upon yours. After delving into your code, I have a few questions that I'm hoping you can help me with. Firstly, I noticed that your regulator operates every 10 milliseconds, is that correct? If so, it raises the question of whether the Nidec 24H motor must respond even faster than this 10 ms interval, am I correct in assuming that? So where did you find data about this motor?
Congrats for the project! It's some most impresseve arduino projects, with i have seen. I have a question, did now the green board below the arduino nano? I cant find this in web.
The Bluetooth module works through the same serial port. So, USB and Bluetooth cannot work at the same time. Use USB only for code upload. Set balancing point and use remote control via Bluetooth only.
Can't find what motor you have used. Nidec 24H doesnt yield any results. Is it a stepper motor or some other sort of motor? Could you please help? What is special about this motor? It is not available where I live so I will have to find something equivalent
These motors have a controller inside. This greatly simplifies the whole construction. Of course, a different BLDC motor could be used, but then an additional controller would be needed and the program would need to be changed.
Dear ReM-RC, would you please give some details of why Nidec 24H motors are the best for reaction wheels? I'm working on a project with reaction wheel and I'm in the process of choosing the motor. Thank you.
thank you for your answer. Sorry for my bad understanding. Could you please atualize the drawing on GIT? I'm still on doubt about how to make the connections. The BIKE I made is not working at all for me. Wich bluetooth are u using ? And wich bluetooth on BAUD RATE ? Could You add the photo of the app that you're usinig? tks.
hey! Thanks for your answer. Now I know where to put the mpu-6050. Could you tell me which motor you connected the encoder to? Did you connected it in the rear wheel motor?
Hi, how can I start the calibration procedure, when I am sending c+ from serial monitor, I couldn't start the calibration procedure, please need your suggestion!
@@ReMRC the file of the Nidec that I can import into Fritzing for the Breadboard and PCB design (just like your PCB image ). I tried searching for it for days but it did not come to anywhere
@@ReMRC Thank you for responding. But when I tilt the robot at any angle between -90 and 90 degrees, after a few seconds "robot_angle" drops to 0. That causes the robot's balance position to change continuously, causing the robot to fall.
@@ReMRC A few days ago I calibrated and the robot was able to balance, then I disassembled the MPU sensor to beautify the power line. But when assembled, the robot cannot balance. I tried to calibrate it but to no avail. I recorded the entire process and uploaded it to google drive. I hope you can take a look and help me find a solution.
Hi, I'm experiencing an issue with my MPU where the angle measurements behave unexpectedly. When the device tilts towards the left, the angle progressively changes from -180 to -170 degrees and so on. However, when tilting to the right, the angle suddenly jumps to 180 degrees and then decreases to 170 and so on. Does anyone know what might be causing this behavior?
The easiest way would be to try any mpu6050 data reading example. Will it work? My guess is that it won't. Maybe there is something wrong with the connection?
@@ReMRC I see. Sorry I mean which control algorithm use? LQR or PID? and the coefficients of the above controllers are find from the mathematical model?
I am having a hard time finding the balancing point, placed the gyro as you placed with omni wheel self balancing bike but couldn't find the proper gains. Any suggestions.
CONGRATS FOR YOUR PROJECT!!! I WOULD LIKE TO KNOW WHICH ONE IS THE APP YOU'RE USING TO CONTROL THE BIKE? COULD YOU SHARE THE ARCHEVE( AIA, APK ) ? COULD YOU SHARE MORE PHOTOS OF THE PCB ASSEMBLY? I WOULD LIKE TO SEE THE POSITION OF THE MPU6050 ASSEMBLY, PLEASE. SORRY FOR ALL THESE QUESTIONS, I'M TRYING TO MAKE THE SAME PROJECT AS YOU. BUT I CAN'T MAKE IT WORK. THANK YOU SO MUCH !
Control by Joy BT Commander. App can be easily found on the Internet. Where the MPU6050 is located can be seen here ua-cam.com/video/-fPYXWaVcOw/v-deo.html
@@ReMRC I use LQR. I have a problem with the flywheel response, can you please suggest the DC RPM and encoder pulse count? Where I live, Nidec 24H motors are not popular. Could a 200RPM geared motor with 64 pulse encoder be suitable? Could you give some suggestions?
@@minhsuoihai948 Where I live, there is no Nidec 24H at all. But that doesn't stop me from buying them anywhere else. You can use geared motor, but Nidec is much better for this.
I am doing this project. I want to ask, after opening serial monitor it told me to calibrate balancing point. But when i type c+ nothing happended. I didnot connected bluetooth controller. Is that wrong? Pls help me
Yes, two lines need to be changed: Tuning(); //readControlParameters(); Uncomment Tunning() function and comment readControlParameters(). After calibration, return everything as before. readControlParameters() is required for remote control. However, the balance point must be set via Bluetooth only.
@@ReMRC I can see only this code is related to LQR algorithm: int pwm = constrain(K1 * robot_angle + K2 * gyroXfilt + K3 * motor_speed + K4 * motor_pos, -255, 255); Change this code to PID form and redefine K1 to K4 then it's will be fine? Or anything else I have to do?
Hello, I am trying to do your project, but even though I made all the connections, the circuit does not work. Even the motors do not work in the motor-test codes. Arduino gives me this error.(avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x91 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x91 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x91 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x91 avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x91)
This error has nothing to do with my project. You need to learn how to connect to Arduino first. Try the led_blink example. Once it's up and running, you'll be able to upload my project as well.
Impressive! I guess most people don't even realise what a great achievement it is to get a balancing robot to operate in such a smooth way, or have it stand still like yours does.
1:29 because you need to program the turn to allow the bike to tilt into the turn. basically get the gyro to coordinate with the steering.
Yes... But try to implement it. This is a difficult task...
@@ReMRC I can imagine, it would probably take a bit of time to crack the formula, maybe ChatGPT can help, but lately for the type of code I’ve been trying to make it’s not been doing what I asked it to do… but yeah, have you heard of “single wing planes ✈️ “? They invented this idea where it’s only one wing that controls the steering, thing is to turn when the wing is at high speed the pilot had to manually calculate how to turn on the fly, so it’s a similar concept, you can turn good, but the geometry of it needs to be programmed
now I remember why I subscribed this channel years ago
I'd love to see a full scale prototype of this (might need a guard for the omni wheel lol). Someone needs to give Colin Furze a call
Hello, in this project to which pin of Arduino nano is connected to bluetooth model, & is the bluetooth connection code is written in your main program? 0:01
Bro thanks for this amazing movie. Really appreciate your hardwork 👏👏👏
What's the bearing size for this?
How did you tune K values for LQR? Could you make a video tutorial for that? Thank you.
If you're doing this project, you don't need to tune K values.
If you want to learn, I don't have any videos about this.
thanks for providing good project,
im wondering
1. what buzzer do in your circuit diagram?
whats the condition of buzzer acts?
2. whats the difference singal A pin and signal B pin in 24h motor?
1. Any active buzzer.
2. You need to read how incremental encoders work.
Is this lego wheel?
I guess esp32 can be used instead of arduino nano, what should be changed according to this change?
Yes, of course. Program will need to be rewritten. But it doesn't make any sense, it won't get any better.
Are you asking because you want to use an esp32cam for video or because that's just the hardware you have? Nano's are dirt cheap so unless you want to completely rewrite the code there's just no benefit. Best wishes
Can i get the circuit diagram please?
Thanks for sharing, that helps me alot
This wheel must be in every motor cycle
ummm? why?
if you cant balance... keep off them. easy.
Can you please provide Nidec bldc motor used purchase link.
Motor name pls and front wheel buying link
Hello sir, we are currently working on a self balancing two axis version for a university course, however we are having a lot of issues getting something stable.
Because we couldn't find Nidec motors, we are using brushless sensored motors and ESC made for RC cars and a PID controller, and it seems impossible to tune even with techniques we found on the internet. Today I noticed that everyone is using controllers with kHz frequencies in terms of output rate, but our setup is capped because of a 50Hz PWM input signal to the ESC's , but I don't know if that's the issue.
Could you advise us on how to solve the issue ? Is it possible to get in contact?
Thank you very much, we got inspired from your videos.
I don't know if it's a good idea to use such motors... But many ESC's allow higher frequency (you can try 100 Hz).
bro can i have your ig i need your help knowing about pid
Could u share the Code Please , im interested for my school project
you are the best! 😃👍
Hello, I'm a student interested in your project. Could you tell me how you connected the line? Did you connect it with the line in the Arduino kit?
What does "the line" mean?
@ReMRC jumper wire
Que porcentaje de energía usa el giroscopio del total ?
as usual, excellent!!
i love your project it is perfect. i have a question witch motor use all 8 pins in the schematic the back will motor or the motor for the reaction will thank you
Reaction wheel.
Can you show me how to connect bluetooth?
Thanks for sharing this project
Are you supposed to merge all the code together?
Hello, I wanted to reach out to express my admiration for your project - it's truly impressive! As I'm working on a similar project myself, I stumbled upon yours. After delving into your code, I have a few questions that I'm hoping you can help me with. Firstly, I noticed that your regulator operates every 10 milliseconds, is that correct? If so, it raises the question of whether the Nidec 24H motor must respond even faster than this 10 ms interval, am I correct in assuming that? So where did you find data about this motor?
Yes, 10 ms. I didn't need any additional data about motor. Only pinout.
Congrats for the project! It's some most impresseve arduino projects, with i have seen. I have a question, did now the green board below the arduino nano? I cant find this in web.
You mean Double-Side Prototype PCB Tinned 30x70mm?
Is there any suggestion connecting the HC-05 bluetooth module, as I have installed the bluetooth module, I am not able to send signal to Arduino nano.
The Bluetooth module works through the same serial port. So, USB and Bluetooth cannot work at the same time. Use USB only for code upload. Set balancing point and use remote control via Bluetooth only.
How hard would it be to scale this up to a rideable bike?
A rideable bike would be difficult to print. :)
Hello,
Your work is beautiful. Thank you. In how many steps or pulse does the Nidec 24h motor complete one full revolution?
It's a BLDC motor, not a stepper.
@ReMRC 你好,小车制作好之后其中的K1~K4还需要重新调整吗?
Can I ask if you are using one battery to power both the Arduino nano and the motor or are you using two batteries to power them separately?
One battery.
Can't find what motor you have used. Nidec 24H doesnt yield any results. Is it a stepper motor or some other sort of motor? Could you please help? What is special about this motor? It is not available where I live so I will have to find something equivalent
These motors have a controller inside. This greatly simplifies the whole construction. Of course, a different BLDC motor could be used, but then an additional controller would be needed and the program would need to be changed.
Can i buy it ? Please fast respon
Dear ReM-RC, would you please give some details of why Nidec 24H motors are the best for reaction wheels? I'm working on a project with reaction wheel and I'm in the process of choosing the motor. Thank you.
Nidec has a controller inside. So, easy to control. But it's BLDC. Cheap.
thank you for your answer. Sorry for my bad understanding. Could you please atualize the drawing on GIT? I'm still on doubt about how to make the connections. The BIKE I made is not working at all for me. Wich bluetooth are u using ? And wich bluetooth on BAUD RATE ?
Could You add the photo of the app that you're usinig? tks.
You can use any bluetooth module you know how to connect.
joy-bt-commander.fileplanet.com/apk
hey! Thanks for your answer.
Now I know where to put the mpu-6050.
Could you tell me which motor you connected the encoder to? Did you connected it in the rear wheel motor?
Of course reaction wheel. Previous I built bike with omni wheel, and later replace omni wheel to reaction wheel.
Awesome!
베어링사이즈가 얼마나되나요?
Hi, how can I start the calibration procedure, when I am sending c+ from serial monitor, I couldn't start the calibration procedure, please need your suggestion!
Yes, the remote control uses the same serial port. Change the code:
Tuning();
//readControlParameters();
Hello, May I ask what type of battery connector is it? Is it JST or something else? And what battery voltage did you select?
T PLUG. But I only use this one because I have them. 3S1P always means 11.1V.
Thanks for your help!@@ReMRC
Awesome! Btw, Could I get the model file for the Nidec 24H ? I actually need this for my project.
What do you mean by "model file"?
@@ReMRC the file of the Nidec that I can import into Fritzing for the Breadboard and PCB design (just like your PCB image ). I tried searching for it for days but it did not come to anywhere
@@ReMRC btw, could you let me know which module you use for remote control and type of the controller ?
@@hiitschauhiep5338 Hc-05
@@ReMRCwhich type of joystick did you use ?
All Nidec 24H motors on the market are 12-24V in can found, will an 11.1V LiPo battery make it work? thank you
Yes, it works...
@@ReMRC thank you
I can't find nidec 24H motors, can tou tell me about motor that would work or what should be my criteria for selecting a motor. Thank tou
You can find nidec 24H on ebay and aliexpress.
Which material is used for 3d printing
PLA
Nice project , great! Im building the same project of yours but is there any alternate option for nidec motor? Coz its not available in our country
This no, but otherwise it is possible to use other motors. ua-cam.com/video/UzjqdoTVhOU/v-deo.html
can you tell me the step by step process i can't really understand
What process?
Hi ReM-RC, I'm having problem with MPU6050, when i change any angle of the robot, "robot_angle" immediately decreases to zero. Is that correct or not?
0 must be at the balancing point. robot_angle must display an angle in degrees -90 to +90.
@@ReMRC Thank you for responding. But when I tilt the robot at any angle between -90 and 90 degrees, after a few seconds "robot_angle" drops to 0. That causes the robot's balance position to change continuously, causing the robot to fall.
@@nguyenquocanh5207 Strange. Send me a video of how you do the calibration and what happens when you try to balance. Maybe I can help.
@@ReMRC A few days ago I calibrated and the robot was able to balance, then I disassembled the MPU sensor to beautify the power line. But when assembled, the robot cannot balance. I tried to calibrate it but to no avail. I recorded the entire process and uploaded it to google drive. I hope you can take a look and help me find a solution.
@@nguyenquocanh5207 Ok. My email you can find in "About".
Hi, I'm experiencing an issue with my MPU where the angle measurements behave unexpectedly. When the device tilts towards the left, the angle progressively changes from -180 to -170 degrees and so on. However, when tilting to the right, the angle suddenly jumps to 180 degrees and then decreases to 170 and so on. Does anyone know what might be causing this behavior?
The easiest way would be to try any mpu6050 data reading example. Will it work? My guess is that it won't. Maybe there is something wrong with the connection?
How many m4 nuts for the rear wheel?
I don't remember, but you can easily count by watching the video.
Which controlling technique use in this project?
Reaction wheel - mass movement in the required direction.
@@ReMRC I see. Sorry I mean which control algorithm use? LQR or PID?
and the coefficients of the above controllers are find from the mathematical model?
@@enhadiyaadiya7035 Sorry. LQR. I did it without a mathematical model.
brother i want to know about lqr and pid i am doing omini wheel project so can you give me your ig
I am having a hard time finding the balancing point, placed the gyro as you placed with omni wheel self balancing bike but couldn't find the proper gains. Any suggestions.
Try the motors test first! And you don't need to change the controller gains!
During Motor test is every think seems ok but only the encoder checking fails and shows speed to be -53 @@ReMRC
@@shaiyektaslim1201 Sorry, my mistake. I swapped encoder pins. Need to change in the code:
#define ENC_1 3
#define ENC_2 2
can i have your ig because i want to know what controller are you using and some information on lqr and pid
@@vakaladhiran9061 ig? Instagram? Yes, ReM-RC.
I watched the video and imitated it The motor rotates and stops. Is there a solution in this case? Is there a way to find out the problem?
Maybe I can help. Try motor test code and send me to the email video with serial output.
CONGRATS FOR YOUR PROJECT!!! I WOULD LIKE TO KNOW WHICH ONE IS THE APP YOU'RE USING TO CONTROL THE BIKE?
COULD YOU SHARE THE ARCHEVE( AIA, APK ) ?
COULD YOU SHARE MORE PHOTOS OF THE PCB ASSEMBLY?
I WOULD LIKE TO SEE THE POSITION OF THE MPU6050 ASSEMBLY, PLEASE.
SORRY FOR ALL THESE QUESTIONS, I'M TRYING TO MAKE THE SAME PROJECT AS YOU. BUT I CAN'T MAKE IT WORK.
THANK YOU SO MUCH !
Control by Joy BT Commander. App can be easily found on the Internet. Where the MPU6050 is located can be seen here ua-cam.com/video/-fPYXWaVcOw/v-deo.html
Are you use Controller lqr or pid ? Or...
LQR, but can also be done with PID.
@@ReMRC I use LQR. I have a problem with the flywheel response, can you please suggest the DC RPM and encoder pulse count? Where I live, Nidec 24H motors are not popular.
Could a 200RPM geared motor with 64 pulse encoder be suitable?
Could you give some suggestions?
@@minhsuoihai948 Where I live, there is no Nidec 24H at all. But that doesn't stop me from buying them anywhere else. You can use geared motor, but Nidec is much better for this.
Can u explain how to evaluate the K matrix?
Just experience.
Excellent 👏👏👏❤❤
I want to put gyro on a rc boat. Can i contact you please ?
My e-mail you can find in "About".
Can you teach me how to write code ?
I am from vietnam
No, sorry.
I am doing this project. I want to ask, after opening serial monitor it told me to calibrate balancing point. But when i type c+ nothing happended. I didnot connected bluetooth controller. Is that wrong? Pls help me
Yes, two lines need to be changed:
Tuning();
//readControlParameters();
Uncomment Tunning() function and comment readControlParameters(). After calibration, return everything as before. readControlParameters() is required for remote control. However, the balance point must be set via Bluetooth only.
@@ReMRC do you have any ideas of replacing LQR by PID control? I need your help.
@@aurora2621 It is not difficult. But you will have to do it yourself...
@@ReMRC I can see only this code is related to LQR algorithm: int pwm = constrain(K1 * robot_angle + K2 * gyroXfilt + K3 * motor_speed + K4 * motor_pos, -255, 255);
Change this code to PID form and redefine K1 to K4 then it's will be fine? Or anything else I have to do?
@@ReMRC I was really tried but gived up
Total cost of making
I do not know. I take one apart, I make another out of it. I never buy parts specifically for one project because I don't know what I will need. :)
Hello sir . What is k1 k2 k3 k4 in code . can you tell me please.
Controller gains.
Thank you sir. But how can we find controller gains?
@@ivesokreaksa1003 I'm just tuning it until it starts working fine. I've done them so much that it's easy for me.
And show circuit diagram please
github.
Please make with DC motor
It is possible, but it is more complicated and the result would be worse.
wowo
Hello, I am trying to do your project, but even though I made all the connections, the circuit does not work. Even the motors do not work in the motor-test codes. Arduino gives me this error.(avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x91
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x91
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x91
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x91
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x91)
This error has nothing to do with my project. You need to learn how to connect to Arduino first. Try the led_blink example. Once it's up and running, you'll be able to upload my project as well.