YMFC-32 | Part 4 | a DIY 32-bit STM32 and Arduino based quadcopter flight controller

Поділитися
Вставка
  • Опубліковано 10 січ 2018
  • In this video I explain how balance the propellers and how to test and prepare the YMFC-32 quadcopter for the first flight.
    The YMFC-32 is a 32-bit follow-up flight controller of the 8-bit YMFC-AL. The processor speed is also a major difference.... 72MHz vs 16MHz! This will make it possible to further develop the code in the future.
    The YMFC-32 is not a high level flight controller. Its purpose is to give others a head start to develop their own 32-bit flight controller. This with the easy to use and familiar Arduino IDE.
    The YMFC-32 project page:
    www.brokking.net/ymfc-32_main....
    Setting up the Arduino IDE for uploading programs to the STM32:
    • Getting started with t...
    The YMFC-32 quadcopter playlist:
    • YMFC-32 | a DIY 32-bit...
    Video about the quadcopter PID controller and PID tuning:
    • YMFC-3D part 5 - Quadc...
    The small indoor quadcopter:
    www.dx.com/p/jjrc-h36-2-4ghz-4...
  • Наука та технологія

КОМЕНТАРІ • 221

  • @BernhardHofmann
    @BernhardHofmann 6 років тому +23

    Your contribution to demystifying all of the technology involved in these quadcopters is second to none. Your patient and calm explanation of all the aspects of how things work has been educational and entertaining for me to watch over the months I've followed you. Thank you so much for the time you've given to this and the knowledge you've passed on so willingly. 👍

    • @sandideas5993
      @sandideas5993 4 роки тому

      Perfectly saying,agreed with you....

  • @AlvaroPandolphousa
    @AlvaroPandolphousa 6 років тому +3

    I did it!!
    Thank you Mr Brokking
    I did all testes and the quadcopter is working as expected
    Now I will wait for a good weather (Boston-MA-USA)
    and test outside.
    I am very happy with this project
    Thank you again

  • @alexdeo9336
    @alexdeo9336 2 роки тому +1

    Hey Joop, 4 years later and your excellent videos has provided me great insight into building my own quadcopter for my own University's project with my personal geofence algorithm added. Many many thanks on these excellent videos!

    • @peaceseeker5737
      @peaceseeker5737 Рік тому

      Any solution??. I got hardwire compiling error .

  • @cbnation1
    @cbnation1 3 роки тому

    Thank you for all the time you took to document your build, both here and on your website. I followed all the steps and tonight I did my first flight with my own quadcopter. There is a huge smile on my face now.
    Groetjes uit België

    • @peaceseeker5737
      @peaceseeker5737 Рік тому

      Any solution??. I got hardwire compiling error .

    • @peaceseeker5737
      @peaceseeker5737 Рік тому

      Any solution??. I got hardwire compiling error .

  • @bartvanderhaagen986
    @bartvanderhaagen986 2 роки тому

    WAUW Joop! Ik kwam voor IMU en STM32 informatie op dit filmpje. Dank je wel, mooie uitleg, pratchtige code en wat een spectaculair ding is dat zeg...

  • @ELECTRONOOBS
    @ELECTRONOOBS 6 років тому +18

    4 months without video? What happened???? Keep up good work!

    • @Joop_Brokking
      @Joop_Brokking  6 років тому +4

      Thanks for asking. I'm currently very busy with my work. And, I'm still working on the YMFC-32 :-) I'm almost up to the point where I can start making videos as the YMFC-32 needs to hold it's GPS position first.
      In short: I will be back with more videos!
      I see that your channel is really growing as it should :-)

    • @ELECTRONOOBS
      @ELECTRONOOBS 6 років тому +3

      Busy with work, that's a good sign. And I'm glad to hear that you'll be back soon. I enjoy your videos very much. And yes, my channel is growing good, thank you. Have a very nice day!

    • @yuzhang3243
      @yuzhang3243 6 років тому +1

      Hi Electronoobs, I watch your channel too. like your videos. :)

    • @blurginouliz
      @blurginouliz 6 років тому

      Mr. Joop, please help me, I have a question about arduino interrupts and I can't seem to find the answer anywhere, and I hope you can answer it for me. I'm working on a school project where I use two 2400 pulse per rotation encoders simultaneously. I'm using both channels of each encoder, so there are two interrupts for each encoder. When using only one encoder, there is no problem, because despite there being two interrupt pins in action, one for each channel, they never trigger together because of how the encoder works. But when I start working with both encoders at the same time, there will inevitably be times where the arduino will be running an interrupt routine from one of the encoders, and in the middle of that ISR, a pulse from the other encoder will happen. When that happens, does it simply miss the pulse and not count it, or does it execute both simultaneously and not skip a pulse?
      Is there a way to guarantee that it will not skip a pulse, or is one arduino incapable of dealing with 2 encoders at the same time?
      Thanks in advance! Love the vids!

    • @1997gokul
      @1997gokul 5 років тому +1

      @@Joop_Brokking Sir, The program for ymfc 32 is missing in your site,please upload it since i'm done with the hardware waiting for the program.

  • @olajideoyekunle9044
    @olajideoyekunle9044 6 років тому

    Always enjoyed your videos. Very concise and full of useful and relevant information.

  • @ivosmidt8255
    @ivosmidt8255 6 років тому +1

    Thank you for my first quadcopter. Everything works great!

    • @Joop_Brokking
      @Joop_Brokking  6 років тому +1

      That is great to hear and thanks for sharing.

  • @mahan3377
    @mahan3377 6 років тому +11

    Man you are the best 💙

  • @NikolayAgopyan
    @NikolayAgopyan 6 років тому

    Thank you for another interesting and educational episode of this series!
    Would it be possible to show a similar series on how to build a 3-axis brushless gimbal controller, I suspect it would be something similar?

  • @yuzhang3243
    @yuzhang3243 6 років тому +1

    Hi Joop, like your videos. I bought your listed the parts for the quadcopter and waiting for arrival. Hopefully I could follow your videos and putting them together.

  • @evilgenius4004
    @evilgenius4004 6 років тому +1

    Great heardwork by a great personality. Keep up! Will do something together in future for sure. Good luck!

  • @sarasu5614
    @sarasu5614 3 роки тому

    One of the best explainer ...❤️

  • @robertparenton7470
    @robertparenton7470 Рік тому

    Thank You, Joop! From Frisco, TX.

  • @freeelectron8261
    @freeelectron8261 5 років тому

    Great work JB!

  • @robsmit932
    @robsmit932 6 років тому

    Beste Joop Brokking,
    DE STM32 flight controller werkt perfect. Enige lastige bijkomstigheid was het instellen van de channels in % op de FlySky FS transmitter, om via de seriële monitor verder te kunnen geraken in het testprogramma (throttle input te hoog) . Dankzij het testprogramma kon dit uiteindelijk gefinetuned worden. Weer een fantastisch project. Dankjewel voor het delen van die kennis. Subliem.
    PS mijn vliegkunsten zijn nog steeds waardeloos. Een quadrocoptertje aangeschaft om te oefenen. :)

    • @Joop_Brokking
      @Joop_Brokking  6 років тому +1

      Goed om te horen Rob. Ik werk op dit moment aan een volledig autonome YMFC-32. Dit is inclusief druksensor, kompas en GPS.
      Hierdoor heb je :
      - altitude hold
      - head-lock
      - gps hold
      Ik ben nog druk bezig maar het vordert best aardig.

    • @robsmit932
      @robsmit932 6 років тому

      Joop Brokking geweldig! Schema al weer door genomen, inclusief de video. Weer een duidelijk, fantastisch project om op te verheugen.

  • @mensahgideon3780
    @mensahgideon3780 5 місяців тому

    I finally got this working. I had to swap the pwm read in this project with the ppm read in ymfc 32 GPS . My arduino based pwm receiver was having some spikes meaning the timing was somehow out of sync. I also edited the pid out by toning it down with a fraction. The reason I did this was because the drone was too responsive and violent.
    For the pid tuning, I put I to 0.00, introduced D in yaw and reduced the Ps.

  • @shubhamshukla167
    @shubhamshukla167 6 років тому

    awesome sir
    ...i'll try this soon....and thank you for doing this

  • @cloudcamdrones
    @cloudcamdrones 6 років тому

    ''Uhuuuu'' Thats Great!!!!!! Good job man!!!

  • @spotdoit6047
    @spotdoit6047 6 років тому

    Joop brooking u r really great..

  • @murshedulhasan699
    @murshedulhasan699 6 років тому +1

    Hi. I have been following your channel for last few months. You are doing just awesome. Your style of sharing knowledge and explanation of critical technical parts in a very simple and understandable way is just awesome. I have built YMFC-AL and facing a little problem. When I start the quad, the front part leaves the ground immediately but the rear part remains on the ground. I have followed your instructions very carefully but could not able to overcome this problem. Thank you.

    • @peaceseeker5737
      @peaceseeker5737 Рік тому

      Any solution??. I got hardwire compiling error .

  • @furkantut7885
    @furkantut7885 5 років тому +1

    Hi , thank your for this project. You just uploaded the autonomus code only can you share this code you used in this video which is doesnt have gps and compass parts.

  • @kozikrafal
    @kozikrafal 6 років тому

    Nice video!

  • @MrRonychakraborty
    @MrRonychakraborty 6 років тому +1

    Hello Joop,
    I have successfully tested MARG(Mahony madgwick algorithm) with STM32 400Hz. Calculation is pretty Faster then Arduino Mega. The IMU was Mpu6050 + HMC5883l. Next i will try to use it as a replacement of Complimentary filter. However i will upload the Video and source code soon.

  • @bradlymcnell9466
    @bradlymcnell9466 6 років тому

    Hello Joop!!
    Your videos were really useful, learned a lot from you, Thank you !!
    I m really interested in learning, how a GPS module works in a quadcopter for its position hold.
    Can you please make a video of implementing a GPS module in your arduino quadcopter.That might be really helpful for me.

  • @jmc_fpv
    @jmc_fpv 5 років тому +1

    Done!! thanks sir!!

  • @hendmei7066
    @hendmei7066 2 роки тому

    hello, can you do it for the aircraft and specifically for the FSi A6B receiver!?

  • @MR_GOLD_LINVENTEUR_237
    @MR_GOLD_LINVENTEUR_237 2 роки тому

    Please help me joop I have this drone my self crach after 2minute of fly due to instable Voltage read in my quad please how to do

  • @JoseRomero-wb3be
    @JoseRomero-wb3be 4 роки тому

    @joop brokking When balancing the props what is a good max vibration value to shoot for? I am able to get 3 of 4 to a max vibration of 100 at the hover point. The last motor was able to have a max of 50 on the vibration test.
    Thanks

  • @lalithkishore3774
    @lalithkishore3774 6 років тому +1

    Where did u learn ardiuno pls let me know I wanna learn it too

  • @manni1271
    @manni1271 5 років тому

    Hi Joop, thanks for the fantastic video. I build this copter again and control it with Flysky 6 an i6ab receiver. The setup program run very well, all function tests work and i can receive the same results as in the video shown. But i have the problem with the controller program. The green LED lights but the motors don‘t run. I check all connections between motors and stm32, but i could not find the error. Do you have any hints, what can i do ?

  • @_ninjax8
    @_ninjax8 6 років тому +1

    Very nice video Mr. Brokking.
    Can you make a video on how to achieve altitude holding on this 32 bit fight controller?

    • @adelashour3253
      @adelashour3253 6 років тому

      i wish that too

    • @spotdoit6047
      @spotdoit6047 6 років тому +1

      I also wish too.

    • @sidharthtalia
      @sidharthtalia 6 років тому

      you could use a BMP280/180 barometer for checking altitude in a relative manner, or you could use a distance sensor(like a sonar) to read the distance to the ground. I have implemented the altitude hold on an Arduino mini pro using an ultrasonic sensor and I am currently working on doing the same on an STM32. github.com/naughtyStark/Altitude-Hold-Drone-Simple . The code is not as easy to use because you have to find the offsets manually and you need to have the mpu6050 library and change the dps of the gyro to 1000dps. So if you want to use it, do read the code once and understand what it is doing.

  • @stanpak007
    @stanpak007 6 років тому +1

    I wonder if trying to isolate the PCB from vibrations would eliminate the need for balancing the propellers...
    Inspiring project and video series.

    • @Joop_Brokking
      @Joop_Brokking  6 років тому +1

      Please, please, please, always balance your props! Concealing vibrations with dampening material will never increase performance.

    • @sidharthtalia
      @sidharthtalia 6 років тому

      the main reason why you should balance the props is not for to prevent the IMU from getting vibrations if you're worried about that just put a low pass filter on the readings and you're good to go. The main reason why you balance the props is that these vibrations can throw the quadcopter of balance every now and then. Hence even if your quad holds itself perfectly level, it will always move around a small bit, making you think that it's not leveling itself properly. This also causes problems when you're trying to add position hold. if the quad was originally not moving and the quad is perfectly level, then it shouldn't move, but because of unbalanced props, it will move slightly in a random manner. (Joop balances his props, hence why his quadcopter stays in place(2D) when it is in auto-level mode).

  • @mayankanand1379
    @mayankanand1379 6 років тому

    Hey is there a way to use nrf24L01 as transmitter and receiver instead of readymade controller...

  • @spotdoit6047
    @spotdoit6047 6 років тому

    Thankgod i solved my problem. Thanku all...

  • @davidecrescini
    @davidecrescini 5 років тому

    Hi, i already made it, but i need to use manual settings for gyro. I lost in my pc your STM32 Flight Controller.ino file, and looking at your website i cant find it. Can you help me?

  • @vladimirminkov5145
    @vladimirminkov5145 4 роки тому

    Hi! I have a question! Is it possible this project to be adapted to baitboat autopilot controller?

  • @yalgret
    @yalgret 6 років тому

    Hi Joop, hope you're well. Any more STM32 projects coming up? They are sooooo cheap for the power.

  • @srijankumarsrivastava3784
    @srijankumarsrivastava3784 2 роки тому

    Sir will you pls share schematic connection of 4 coreless motor, RF reciever, Arduino-flight controller, power supply

  • @clipperz1111
    @clipperz1111 6 років тому

    Can i use small quadcopter frame instead of f450 to use 2200 kv motors

  • @ricardojaramillo4728
    @ricardojaramillo4728 6 років тому +1

    Thanks Joop for your contribution, Im trying to implement the code in a stm32L432KC but it gives me an error about the wire.h library. Could you help me with an idea to make it compile. Best regards

  • @kjoh42
    @kjoh42 5 років тому

    one other thing I would like to do is change the orientation of the MPU6050, it's just not convenient to mount it the standard way on my quad. Would it be as simple as swapping the pitch and roll numbers in the gyro_signalen routine?
    Great series of videos, by the way.

    • @Joop_Brokking
      @Joop_Brokking  5 років тому

      Yes, swap the axis and double check the pitch and roll angles to make sure you did it right.

  • @ric_nhut
    @ric_nhut 9 місяців тому

    Hello Joop, I can't find your HardWire class for the project, Did you have used it? because i currently cause this error when i compile code

  • @app213
    @app213 2 роки тому

    Hello Joop,
    Have you tried flashing popular firmwares such as betaflight? Would it work?

  • @SilentBug
    @SilentBug 4 роки тому

    Using FS-CT6B
    Unable to calibrate even tried to put throttle at lowest position but still getting error throttle isn't at lowest position.
    Throttle value varying between 1105-1600

  • @utkarshay
    @utkarshay 4 роки тому

    Will any transmitter do or only the one you used is required?

  • @cliffcosynerflight5253
    @cliffcosynerflight5253 2 роки тому

    can you port the bmp280 and mpu9250 for this

  • @blatezers5973
    @blatezers5973 Рік тому

    INAV and BetaFly probably was built based on this your tutorials 👍

  • @juanalcalde766
    @juanalcalde766 4 роки тому

    hello joop first of all thanks for your videos, ive build your quadcopter based on the ymfc-32 micro and once i have it operative and working some weird stuff happen, ill ask you to see if you can tell me whats wrong, once i fire up the quadcopter and place the throttle to zero all motor start spinning pretty much slowly and then one of the motors start ramping up power to almost full (this test is performed without propellers) once i put the balanced propellers on it and do the testing in my hand i can feel the drone selfleveling but if i start from takeoff one of the motors goes crazy... i dont really know whats happening the mpu is over some movement damping tape so vibrations doesnt affect that much and the angles and levels seem pretty normal...
    did you encounter this issue while developing it, if you did can you pls tell me whats the solution. if tried recalibrating acc values and doing the preflight calibration on a spirit leveled surface but no luck at all.

  • @spotdoit6047
    @spotdoit6047 6 років тому

    After uploading the setupcode, when i proceed further all the motor start running violently. Serial monitor print input value should be between 1000 to 2000 us
    Please help....

  • @misio783
    @misio783 4 роки тому

    Hello, I have just built my copter based on your idea, but there is one problem. Everything has been proven years, but after the start it gets some madness, the engines suddenly get high revolutions what is the reason?

  • @eliastannous8327
    @eliastannous8327 3 роки тому

    hello,
    I have problem ...
    only 2 motor spinning and the other's are not why?
    someone help me please.
    thanks for helping

  • @nileshmundphan4475
    @nileshmundphan4475 5 років тому

    Can we calibrate ESC with Flight controller Code also ?

  • @imemyself2820
    @imemyself2820 6 років тому +1

    I watched your entire journey towards this date. It is impressive work, but what is more impressive is you have still not been headhunted by some bigass company!

  • @peaceseeker5737
    @peaceseeker5737 Рік тому

    Any solution??. I got hardwire compiling error .

  • @electromind4183
    @electromind4183 2 роки тому

    What about esc calibration sir how to do that

  • @philipvarkey7136
    @philipvarkey7136 6 років тому

    Hi there Mr. Joop, I finished the quadcopter and when I ran the test program all the motors were activated and ran. However, when I used the flight program only one ran and the others would not run. I did notice that the wings were all turning clockwise but I'm not sure what to do please help and thank you.

    • @Joop_Brokking
      @Joop_Brokking  6 років тому

      Calibrate the ESC's and switch two of the tree motor wires to get the right rotation direction.

  • @redwaterictsolutions9244
    @redwaterictsolutions9244 2 роки тому

    Hello Sir,
    I have been following your videos from last 3 years...
    I have learned much more...
    But unfortunately while I am executing the code the mpu is not detected by the stm32...
    Thank you in advance

  • @dronefactorys6641
    @dronefactorys6641 6 років тому

    when I calibrate ESC only 2 clockwise ESC calibrate and other 2 doesn't why please tell me

  • @bohaman.
    @bohaman. 4 роки тому

    Hello,
    I got to the last past after 1 year of trying, however, I'm still not finish yet. I was just wondering what's wrong with my drone that when I start the drone the drone couldn't hold balance, it start drifting on one side. It does try to catch itself but then it drift again. can you please help?
    THank you

  • @spotdoit6047
    @spotdoit6047 6 років тому

    My problem solved.
    The fault was in wiring.
    Thank you

  • @marcelwillers6697
    @marcelwillers6697 5 років тому +1

    Hi Joop, from the software STM32 flight controller I get at compiling the following message:Multiple libraries were found for "Wire.h" 'HardWire' does not name a type any solution? Thanks Marcel pe1jnw

    • @Joop_Brokking
      @Joop_Brokking  5 років тому

      Use TwoWire HWire (2, I2C_FAST_MODE); instead of HardWire HWire (2, I2C_FAST_MODE);

  • @pardeepsaini_24
    @pardeepsaini_24 5 років тому

    Can you add esp8266 to control drone using phone

  • @chokeslam30
    @chokeslam30 6 років тому

    Hello, I am trying to program a quad as well. You gave me a lot of ideas and knowledge about the things it takes to achive my goal. There are major and minor problems. I know of the major problems and slowly fixing them but one minor problem i can't really figure out. I have a Xrotor micro 30A BLHeli ESC. I am using the Arduino's Servo library to send out the correct PWM signals. My problem is that when i plug the battery on the ESC beeps the power on sound but if send a for example 1100 us pwm the motors will not rotate. The arduino board need a manual reset to solve this. After the reset the ESCs start to beep the normal startup process. and the motor will spin if i command to. Do you know anything about ESC power on or initialization problems? Am I attaching the motor pins too soon or too late? I have tried to detach and re-attach the pins but it did not solved this.

    • @Joop_Brokking
      @Joop_Brokking  6 років тому

      It's better not to use the servo library. Try to use the hardware timers instead. This will give much better results and the have no startup problems.

  • @divyanshu_harkhka
    @divyanshu_harkhka 6 років тому +1

    Hello,
    I am having problems in getting a gps lock on stm32.. I can get a gps lock on an arduino almost instantly but unable to get one on stm32, no matter what I do.
    I am using beitian-180 gps module (which uses ublox m8n chip).
    Do you also experience such an issue?
    Divyanshu

    • @Joop_Brokking
      @Joop_Brokking  6 років тому

      Make sure that you connect it to a clean 5V signal. It should connect exactly the same as with the Arduino.

  • @techieabd5192
    @techieabd5192 3 роки тому

    error coming hardwire does not name atype.
    plz help me

  • @sreenidhiraman2262
    @sreenidhiraman2262 5 років тому +1

    Where can I download the code , the code is missing in ymfc 32 project page

  • @myetis1990
    @myetis1990 5 років тому

    I wonder whether plastic washers for props makes fine in terms of vibrations
    in my humble opinion, two plastic rubber dumping washers between props and aluminum on both sides may work for vibration to an extent (not wholly cleans vibration) when mounted like below
    motor shaft -->alum_bottompart -->rubber washer --> prop --> rubber washer -->alum_toppart

    • @Joop_Brokking
      @Joop_Brokking  5 років тому +1

      This wont help because you still have to clamp it so it can handle the motor power. Minimize the vibrations is a combination of high quality props and lots of patience to get it correctly balanced. But once you got it right you know what I mean. As it is very hard to explain the amount of vibration via a text message.

  • @araferw9479
    @araferw9479 5 років тому

    Tengo una duda, los 4 motores deben de girar siempre hacia el mismo lado o el STM32 se encarga de darles dirección?

    • @crescenciolara2279
      @crescenciolara2279 5 років тому

      El STM32 no se encarga de la direcion que LOS motores giran.
      LOS motores giran en la manera que tu conectas LOS alambres del electronic speed controller.
      Dos motores giran contra el reloj y Los otros dos a favor del reloj.
      Son tres alambres que se conectan a LOS motores.prueba con un motor puedes intercambiar dos de Esos tres alambres y el motor gira para la derecha o izquirda segun necesites la rotacion.]

  • @jianissan5677
    @jianissan5677 11 місяців тому

    CAN I ADD SOLAR WITH THAT DRONE?

  • @user-qj3hz6ex2b
    @user-qj3hz6ex2b 5 місяців тому

    Hello SIr from where i can get the code ???

  • @wsc112782
    @wsc112782 6 років тому

    Wonderful accomplishment Joop, I particularly like the way the calibration can be manual or automatic. However I'm worried about your prop balancing and setup techniques - your hands are near the props so much of the time. People are not always careful and bad stuff does happen.

    • @Joop_Brokking
      @Joop_Brokking  6 років тому +1

      If people don't follow my instructions it does not matter how or what I try to tell them. They will get injured anyway. I have seen videos of people flying unstable quadcopter in their living room, using breadboards, fly without proper testing and much more. It's impossible to make a fool prove method when someone is not thinking for themselves.
      If you follow my steps the risk is minimal.
      1) The functionality of the motors and ESC's is tested in the previous video without the props;
      2) The maximum thrust of these motors is approximately 1kg. So even a kid can hold these things in place;
      3) During balancing my hand is under the prop. If I let go the prop will go up and never hit my hand.

    • @peaceseeker5737
      @peaceseeker5737 Рік тому

      Any solution??. I got hardwire compiling error .

  • @arnavmarchareddy1831
    @arnavmarchareddy1831 6 років тому

    Just wondering why you manually implemented the pid in the code when their is already a pid class for the arduino or stm32

    • @Joop_Brokking
      @Joop_Brokking  6 років тому +1

      Libraries are bulky and sometimes slow because they try to serve a wider audience. To reduce program size and increase speed I always program my own code. I only use libraries for testing.

  • @subhamroy5619
    @subhamroy5619 2 місяці тому

    Can anyone tell me why this line "HWire.endTransmission(); " is not executing... total output is blank... if i comment out this line then the intro part is coming ang the program is partially running...
    how to fix it.... i tried every possible way but nothing is going well... 😥😥

  • @jimmorrison6294
    @jimmorrison6294 6 років тому

    I have the breadboard up and running and loading the codes.
    But for the life of me I can not find the "STM32_Flight_Controler_Test_Program" as used in this video, Therefore I cant see the YMFC-32 quadcopter setup tool. HELP please

    • @Joop_Brokking
      @Joop_Brokking  6 років тому

      It's in the YMFC-32 version 1 software package that you can download here:
      www.brokking.net/YMFC-32_downloads.html

  • @aunullahqaiser4411
    @aunullahqaiser4411 6 років тому +1

    Hey Joop, loved your work.
    Your code doesn't seems to work with all receiver I guess. I tried it with a Fs-iA6b Reciever but the receiver inputs occassionally shows very large values such as 22000, 28786, etc especially when I increase all the channels to greater than 1500. And sometimes it works normally. I tried to find any connection mistakes but failed. Is it a Reciever compatibility issue or have I messed up some where else? Any suggestions.
    By the way huge fan of your work.

    • @Joop_Brokking
      @Joop_Brokking  6 років тому +2

      When you get unstable outputs and you made no modifications to the code you might have a ground problem. This way the pulses are not registered correctly.

    • @aunullahqaiser4411
      @aunullahqaiser4411 6 років тому

      Thanks for replying. The outputs remains normal for most of the time until I increase all the sticks to the max. Well I did check for the ground connection and it is fine.
      Well I am sharing some links to the images. I hope this might help in determining the error.
      ibb.co/fAKtLx
      ibb.co/iEb4tH
      ibb.co/iEb4tH

    • @aunullahqaiser4411
      @aunullahqaiser4411 6 років тому

      Rob Smit , are you able to fly without any sudden random movements? On increasing the baud rate,, the serial monitor shows sudden very large values.
      I thought this might be bcoz of the fact that all rx outputs in fsia6b goes high at the same time calling 6 different interrupts simultaneously causing interrupt overload

    • @robsmit932
      @robsmit932 5 років тому

      I had this. On the serial monitor the values looked stable. When handling the tranmitter functions, for one moment the roll, pitch, throttle and yaw went awol: very high values on all lines. I knew the STM32 lines by heart (A0, A1, A2, A3, etc. and their functions roll, pitch, throttle and yaw). Somehow in de serial monitor those functions weren't correct. My quadcopter drifted toward one direction, to the right and looped to the ground. Solution: mark that the receiver functions can be different. For the yaw function I had attached the A0 to Channel 1 (check this in the serial monitor and as well for the others). This is however the roll function. Find out in the serial motor with help of the transmitter if the line functions are correct (from stm32 to receiver). Use the serial monitor and attach the wires to the right channel function (see manual receiver). Also mark the endpoints of your transmitter: 1500us to 2000us, 1500us idle, except for the throttle: 1000us to 2000us.If not, and you still got interrupts on all lines, check the soldering of the wirering or bad signal wires. Hold exactly on to Joops Brokkings schematics. Sorry for the late reaction. Good luck!

  • @loop8382
    @loop8382 5 років тому

    Hi joop,
    it is necessary to calibrate the accelerometer??I did not calibrate it will there be a problem??
    Also something else,why we get 64 samples
    for (error = 0; error < 64; error ++) {
    send_telemetry_data(); //Send telemetry data to the ground station.
    gyro_signalen();
    acc_pitch_cal_value += acc_y;
    acc_roll_cal_value += acc_x;
    if (acc_y > 500 || acc_y < -500)error = 80;
    if (acc_x > 500 || acc_x < -500)error = 80;
    delayMicroseconds(3700);
    }
    and no 2000 like on the gyroscope,there is a reason?
    Thanks.

  • @karlbyrne9
    @karlbyrne9 5 років тому

    Hi Joop, Thanks for the great tutorials on this project. I am building my own one now, but in the Arduino_STM32-master folder I can't find the arduino ino files. can you or anyone else on here direct me please?. I am just building the one with the MPU6050 and STM32. No gps, telemetry or barometer for now ;-) Thank you.

  • @jameseisenhauer320
    @jameseisenhauer320 6 років тому +1

    I like your work here, But the software I down load from you shows about a 100 errors far too many for someone like me to fix. I might not be able to fix any. I'm using the STM32 version. Am I down loading the wrong software?

    • @Joop_Brokking
      @Joop_Brokking  6 років тому +1

      Please setup the Arduino IDE as shown in this video: ua-cam.com/video/MLEQk73zJoU/v-deo.html
      You can download the STM32 for Arduino add-on here: www.brokking.net/YMFC-32_downloads.html
      When you got the blink example working it should also compile the YMFC-32 without errors. Hope this helps.

    • @jameseisenhauer320
      @jameseisenhauer320 6 років тому +1

      Thank you for the reply. My OS (Linux) was bad and I formated my HD and reloaded Linux which took care of a lot, one it now sees STM32. And i will try again. Thank you.

  • @SaurabhLanje-kz5wv
    @SaurabhLanje-kz5wv 6 років тому

    Thanks a lot Man..... You are best....
    I wanted to know how much overhead time is available between the two consecutive execution of control algorithm, as cycle time is about 4000 us, how much time is actually required by stm32 to do the required calculations for quadcopter control? and how much time can be spent on doing some additional work by adding some extra functions?

    • @Joop_Brokking
      @Joop_Brokking  6 років тому +1

      In the flight controller code you can change:
      if (micros() - loop_timer > 4050)error = 5;
      to:
      Serial.println(micros() - loop_timer);
      if (micros() - loop_timer > 4050)error = 5;
      This will give you the remaining time per loop.

    • @SaurabhLanje-kz5wv
      @SaurabhLanje-kz5wv 6 років тому

      Joop Brokking Ok i will try it.

    • @aldiriswandi4655
      @aldiriswandi4655 3 місяці тому

      How to check where command line or something similar that makes loop time exceeded?.

  • @saurabhmhaske3543
    @saurabhmhaske3543 6 років тому +1

    Please design a gsm controlled quadcopter as it would have unlimited range unlike normal tx with limited range

  • @SpeccyMan
    @SpeccyMan 6 років тому

    I've spotted a possible bug in in the Setup() routine, should the line:
    if (digitalRead(PB3) || digitalRead(PB3))flip32 = 1;
    not read:
    if (digitalRead(PB3) || digitalRead(PB4))flip32 = 1;

    • @Joop_Brokking
      @Joop_Brokking  6 років тому

      Thank you for your comment! It's indeed a typo.It does not effect the functionality. But for the love of bytes it should be:
      if (digitalRead(PB3) || digitalRead(PB4))flip32 = 1;

  • @spotdoit6047
    @spotdoit6047 6 років тому +1

    It gives error whiling compiling the code error='"Hardwire Hwire does not type a name"

    • @siddhantsinha9276
      @siddhantsinha9276 4 роки тому +1

      I am getting the same error. Did you sort out the problem? It seems many people are facing this problem.

  • @robsmit932
    @robsmit932 6 років тому

    Superb

  • @giorgibichiashvili5996
    @giorgibichiashvili5996 6 років тому

    Can you send me code that you used or upload it ?

  • @howto4820
    @howto4820 6 років тому +3

    Joop sir you were amazing but i think u r not getting enough benefit for your handworks. The views were very low idfk why any how u r the best keep going we are with you. Nice works

    • @SithaSek
      @SithaSek 6 років тому +2

      I think Because his goal is to share knowledge. He is amazing. isn't it? His work is really quality craftsmanship!

    • @howto4820
      @howto4820 6 років тому +1

      Sitha Sek yes he is awsome. I love him i like to follow his steps and make vidios bt... I don't have money now 😢

  • @adelashour3253
    @adelashour3253 6 років тому

    nice , i wish you to begin showing alt , lat ,long hold

    • @Joop_Brokking
      @Joop_Brokking  6 років тому +6

      I will try to add extra functionality in the future. But it takes a lot of time to make the software and videos. So please don't hold your breath for it ;-)

    • @adelashour3253
      @adelashour3253 6 років тому +4

      ... you do very hard work and i appreciate it but we dont have alternate of you ^_^

  • @BMXRenzo
    @BMXRenzo 6 років тому

    Hi joop,
    I am planning on making my own drone with gps nav and altitude hold. Do you think that these systems can be integrated into this design. If so, would it be similar to your implementations in the Arduino Uno design?

    • @Joop_Brokking
      @Joop_Brokking  6 років тому +1

      I'm currently working on telemetry, altitude hold, compass and GPS. I only have to work on the GPS. Altitude hold, compass and telemetry are already working. So yes, that is possible.
      The Arduino Uno does not have the memory and speed to handle all these functions.

    • @BMXRenzo
      @BMXRenzo 6 років тому

      thanks!

  • @sayednaqibullahsaydi3137
    @sayednaqibullahsaydi3137 2 місяці тому

    sorry, how to connect flysky whit arduino uno .

  • @Reed-bu5kj
    @Reed-bu5kj 5 років тому

    Didnt you have problems with the gyro drift for yaw controll?

    • @Joop_Brokking
      @Joop_Brokking  5 років тому

      No, make sure it can calibrate correct and it will keep it's heading for a long time.

  • @robertr.3646
    @robertr.3646 3 роки тому

    Hi Joop,
    why did you change the reception of data from acc_x to acc_y in the code using stm32? I couldn't understand why. thank you
    void gyro_signalen(void) {
    HWire.beginTransmission(gyro_address); //Start communication with the gyro.
    HWire.write(0x3B); //Start reading @ register 43h and auto increment with every read.
    HWire.endTransmission(); //End the transmission.
    HWire.requestFrom(gyro_address, 14); //Request 14 bytes from the MPU 6050.
    acc_y = HWire.read()

  • @MrRonychakraborty
    @MrRonychakraborty 6 років тому

    Dear Joop, Can i use 400 Hz loop for Gyro + ACC + Filter and PWM ? IS it possible with MPU6050 ?
    Thanks

    • @Joop_Brokking
      @Joop_Brokking  6 років тому

      Yes, but you need to modify the code yourself.

    • @MrRonychakraborty
      @MrRonychakraborty 6 років тому

      Thank you dear. I am going to use Madgwick's Algorithm 400Hz update, Compass 20hz. I will send u the updates. Thanks

  • @stanpak007
    @stanpak007 6 років тому +2

    I would not recommend use hands near the running propellers. It can cut the skin easily. It cut mine.

    • @Joop_Brokking
      @Joop_Brokking  6 років тому +1

      If you follow my steps as shown in the video the risk is minimal.
      1) The functionality of the motors and ESC's is tested in the previous video without the props;
      2) The maximum thrust of these motors is approximately 1kg. So even a kid can hold these things in place;
      3) During prop balancing my hand is under the prop. If I let go the prop will go up and never hit my hand.

  • @bohaman.
    @bohaman. 5 років тому

    Hello,
    I'm running into problem in the last step and I hope if anyone can help me.
    After put everything I ran the test program and everything work fine. However when I do the motor test, the program crashed, I checked and everything is still power on. The motor is controllable in the test program. I don't know why it crahsed while I am calibrating the prop. but I just skipped it to see if the drone flight
    So I uploaded the flight program. The Led LED flashed for about 4 to 5 times then flash really quick then the green flashed about 2-3 times. After that nothing happened, I couldn't get the motor spinning also
    Is there any way you guys can help me?
    Thank you so much

    • @bohaman.
      @bohaman. 5 років тому

      So i did find out one of the problem was that the ftdi pin need to output 3.3v for the stm32 to not crash when i run the motor test program. However, everytime I connected the motor battery in and run the test the program crashed. I checked on all the resistor connected and it is according to the schematic. If i run the quadcopter without the ftdi connected to the computer then it will not crash for the test program.
      Please help me.
      Thank you so much. I'm so close :(

  • @dsmith8061
    @dsmith8061 6 років тому

    After changing HardWire HWire(2, I2C_FASTMODE) to TwoWire HWire(2, I2C_FAST_MODE) , the compiler now says 'timer_setup' was not declared in this scope. (line 75)

    • @Joop_Brokking
      @Joop_Brokking  6 років тому

      Then you made some sort of typo as the compiler cannot find the timer_setup function. You need to go over the changes that you made and find the typo.

    • @dsmith8061
      @dsmith8061 6 років тому

      Joop Brokking thanks for replying. I made the noob error of not having the supporting *.ino files in the setup directory. I've noticed this when I didn't see any tabs in the IDE. I've done this before when I got lazy and double clicked the setup sketch from within a zip file which creates the directory for the main sketch but doesn't populate the supporting files. All is well now.

    • @martinchege8487
      @martinchege8487 2 роки тому

      @@Joop_Brokking I still get an error 'I2C_FAST_MODE' was not declared in this scope; did you mean 'IS_UART_MODE'?

  • @tmtguitar
    @tmtguitar 6 років тому

    Why did you take the gyro from the bottom to the top?

    • @Joop_Brokking
      @Joop_Brokking  6 років тому

      It does not matter where the gyro is mounted as long as it is on the center plate. For the YMFC-32 the orientation is important.

  • @dronefactorys6641
    @dronefactorys6641 6 років тому

    how to calibrate ESC

  • @guywatcho1641
    @guywatcho1641 6 років тому

    Hi Joop! Against very good and helpfull videos and tutorials. Please where can we find the module HardWire.cpp and its header HardWire.h? Thanks

    • @Joop_Brokking
      @Joop_Brokking  6 років тому

      It's part of the STM32 for Arduino add-on that you an download here:
      www.brokking.net/YMFC-32_downloads.html

    • @guywatcho1641
      @guywatcho1641 6 років тому

      Thanks for your quick reply. But this line always block : HWire.beginTransmission(gyro_address); ?? Any idea? Is there other configuration we need to check?

    • @Joop_Brokking
      @Joop_Brokking  6 років тому

      What do you mean by block? Does the program hang or does the line produce an error during compilation?

    • @guywatcho1641
      @guywatcho1641 6 років тому

      Joop Brokking No there is no compilation error... Sorry I have got it after reading Wire.cpp implémentation.

    • @Joop_Brokking
      @Joop_Brokking  6 років тому +1

      So it's working now? Please let me know.

  • @kjoh42
    @kjoh42 5 років тому

    Has anyone had an issue with the test program hanging after reading the MPU6050 for a while? I just leave it running with the serial monitor; it eventually stops taking readings and the only thing that fixes it is to disconnect the stm32 from power (even reset is not enough). I tried the MPU6050 with an Arduino Uno, and it seems fine. Right now, everything is powered from my serial-usb (not the BEC, so I wonder if it's a lack of juice).

    • @kjoh42
      @kjoh42 5 років тому

      hm, reading Joop's transcript at www.brokking.net/Video_81.html, I wonder if it's the issue with the pull-up resistors. I'll have a look at those signals on the i2c bus.

    • @kjoh42
      @kjoh42 5 років тому

      Turns out that was it. Checked the signals on a scope and it's exactly as Joop describes it. I added 4.7K pull-up resistors to SDA and SCL and the clock is fixed = 400Khz.

    • @Joop_Brokking
      @Joop_Brokking  5 років тому

      That's good to hear.

  • @kippouser7917
    @kippouser7917 6 років тому

    Next add magnetometer and barometer pls.