could you record a bunch more videos on this heli showing how well it performs in general flight? this is a really cool idea and it seems to work much better than I thought it would. I wonder if there's any significant downsides that make this not worth the cost/mechanical complexity savings from the simplified design. does the motor burn out when you run it too long from all those constant speed changes? thanks for reading
I tried building one of these after seeing the same video except I tried to build the controller from scratch. It was fpga based and I just got lost in the detail of motor control. Glad to see you found a simple way to bring it to life!
I've been wandering about combing the simplicity of a drone and the efficiency of a Heli for years and it's amazing to see it there working. This is truly amazing work. A bicopter with this design would fly with literally just 2 motors and no servos and the second motor would actually equate to lift unlike the tail rotor from the traditional Heli. I'm really impressed with this.
Just a silly idea: You can have manual control ability and eliminate the patented code by attaching the motor to the rotor through a u-joint and a 2:1 reduction gear and moving the motor to vary the angle of the u-joint. By making the reduction gear reversing or not you can make the rotor and motor's gyroscopic precessions interact in different manners. It'll add complexity, but i'd like to see how it works...
Amazing work sorting out that equation, very impressive. I'm amazed it flies that well, getting rid of a full blown rotor head means this can be much lighter and more reliable. Interesting stuff!
It really isn't though. Not to be patronizing but there is a lot of room for improvement. There was no consideration given to velocity or acceleration. I have a feeling the code he is showing us is from his first failed attempt so that he doesn't infringe on the patent he mentioned.
There are certainly weight savings to be made but this design also probably requires more power to run because of the constantly accelerating and decelerating motor.
This is easily among the top three most exciting projects I have seen from you. And I 've been following for quite some time. It's just my humble opinion though that content like this should be on the main channel. Keep up the great work!
I love this so much. Honestly so inspired that I don’t even know what to do with this. When you said “virtual swash plate” in the main video I had to stand up and walk around. So freakin cool. Plz keep doing stuff like this
So are math classes apparently. I mean, who would instinctively think about adding and subtracting the sin or cosine from a value to generate a specific control profile? LOL That's some mad trig going on right there even if it ultimately boiled down to a simple equation.
Hey. I am a controls engineer from Germany and worked before in the wind turbine industry. There we used the multiblade coordinate transformation to generate the sine+cosine stuff. Maybe thats something for your intrest. Anyway, absolute great Project!
I think your problem at high RPMs might not have been friction, but the centrifugal forces pulling the blades outwards. That centrifugal force is the main force restoring the blades to their neutral position. It might help to move the joints closer to the rotor axis. Possibly even putting them on the same axis, and using springs to supply the restoring force, which would make the restoring force RPM independent. Then again, at higher RPM you want the blades to be forced to their neutral position with a stronger force, because they have to return there quicker. For a purely centrifugally-restoring blade oscillations: frequency = constant * omega * sqrt( A / B ) Where frequency is the natural frequency of the back-and-forth oscillation of the blades, omega is the frequency of the rotor head around its axis, A is the distance of the blade's center of mass to the rotor axis, B is the distance of the blade's center of mass to the hinge. Optimally, you would want the frequency that the blades freely swing back and forth at to be equal to the RPM of the motor. That way you get the largest ratio of oscillation amplitude (blade pitch) to the amount of energy the motor has to provide to that oscillation. In the shot at 4:48 the rotor heads on the right look much more optimized than the ones on the left. From the fact that the left ones are all smashed, I assume that those were the ones from before you ironed out the kinks that lead to crashes. Then again, I don't know how significant your friction was and which part of the improvement was due to you moving the hinges inwards and which part was due to you reducing the friction.
wow! that's great! i even bought STEVAL-ESC001V1 for that project, but there is always not enough time) as i understand, esc already knows rotor position, so you don't need any additional sensors, just startup calibration. also, sine/cosine can be ultra-fast when replaced by parabolic approximation (just x^2).
@GivesNoFux FPV The teensy is getting PWM or some other form of pitch/roll/throttle from Inav. It then converts that to a throttle value based on the encoder. The conversion and encoder reading could be done directly on the Inav board and save some wiring. Where do you think I got it wrong?
U.S. Patents are public record, can you please post a link to it? It's not the knowledge sharing that is protected, it's the right to profit from the idea that is.
@@willasproth looks like the rules are more strict in USA and you are correct, but many other countries you can build it for personal use, just cant do anything with it commercially.
There's an open source ESC on electronoobs based on the ATmega328. They have the gerber files up for grabs and it looks like there's a free pin or the buzzer could be replaced to allow for two PWM inputs. You could totally program the sinusodal output within the ESC and have a single chip instead of sending a high frequency sinusoidal PWM signal from the teensy to the ESC
I also am doing some UAV helicopter research right now, and I think I have some insights you missed / disagree with Since lift is proportional to velocity squared, if you get the same angle of deflection at a higher RPM, you'd get more lift difference and more control torque. I think this is the reason your compensation code that you scrapped threw off your tuning. Without it at high RPM, the blade deflects less, but a smaller change in angle is needed to produce same lift difference. So the mechanical system kinda balanced itself. About using helicopter blades next time: almost all RC helicopters are meant for 3D acrobation, so they are excessively stiff and have symmetrical airfoils. On the other hand, drone propellers are really optimised for lift. Manned full-size helicopters would have the same shape, but can only approximate the twist and chord with simpler shapes due to manufacturing, material and other limitations. TL;DR I think drone props are actually the right call. I wouldn't know about this idea without your channel, keep up the good work!
Please, put all of this hard work on some pdf and put it online. I would buy your work, 3D models, wiring, what components to use, the code. Everything about this copter is super cool and I think you deserve it.
Really awesome! I love that you are doing sort of technical explanation. Here's a challenge: make an airplane with no control surfaces, but instead uses this setup ( and maybe differential thrust?) to control its pitch and yaw.
Airplanes can fly quite easily with just two motors and no control surfaces and they wouldn't even need this system, however making an airplane fly with just one motor and using this system for pitch and yaw now that i would like to see.
Maybe you could put ArduPilot on the flight controller because then you can run your own code alongside it. Maybe that would be easier with tuning and you wouldn't need the teensy board.
You could speed up that function at the expense of some memory by turning those time expensive calls to sin/cos into a lookup (cached) table keyed by the function parameter.. Duty = throttleIN + (pitchCTRL * myCos[motorRads]) + (rollCTRL * mySin[motorRads]); If motorRads is a wildly variable number you can scale it down / reduce precision to reduce the number of elements in your lookup tables. if motorRads is being calculated by a similar processor heavy function you can use the same trick there.
I was thinking the same thing. If the pitchCTRL and rollCTRL values can be 'normalised' then using a two dimensional array would speed things up further. But, definitely using a lookup table would save a lot time.
@@edbrown1166 Afik, the Teensy has a multiplier so that's probably not a slow-down. A single table should do it and I bet it can be pretty course as well. Though this might be a good excuse to build your own CORDIC loop :P
You have talked about finding a way to change pitch on both blades. You currently encode the information about the pitch of the individual blades in a function of acceleration at a given angle. Maybe you could encode the overall pitch in chance of acceleration over time. If you want to increase/ decrease pitch you would overlay a periodic function with either changing amplitude or frequency ( or both). A possible mechanical decoder would be fairly difficult, but maybe you could use two compliant strut structures that decrease in size when torsion is applied. One of them would be dampend more than the other, and the maximum of the amplitude of the less dampend strut would be compared to the other to find the pitch angle. This design would be dependent on amplitude (more pitch if higher) and frequency (higher frequency -> more dampening in the dampend system-> more pitch). It´s probably not the best design, but at least a beginning.
I really wish I was smart enough to understand everything that you just said. I got most of it, but some of it was just like your helicopter, right over my head! LOL I still love these videos and will keep on watching and hopefully will get smarter every day, oops wrong channel. Stay safe and have fun, Joe
Great video as always! I find it great how much work you put into your projects! I don’t think I understand nearly as much as you about this stuff. But I still want to share my idea. Did you try/think about adding small weights to the end of the rotors? Especially to those with a smaller angle of attack. I believe one reason for them being harder to tune is that they have less inertia/drag and thus it takes more acceleration to tilt the blade. I hope you can understand what I mean. I think the steeper rotors are easier to tune because the higher drag makes it require less change in rpm to tilt the blade. Maybe small weights could increase the inertia of the rotorblades and thus make it easier to control them. On the other hand it would probably not solve the problem of the motor getting hot since it would’ve to work harder again. But maybe the lower angle of attack of the blades would still decrease overall power usage. Just wanted to share this idea, no plan if it is a good one. But I’d find it interesting to find it out.
Hey Tom, how much time did it take for this project? I always wonder how much time your projects take on average because it always seems so straight forward in your videos. I know (and this video obviously proves it) that your projects take some time and you run into issues when making them, but I´m honestly very curious :)
Amazing project. I wonder if you could source tiny bearings for the hinges? RC heli tail rotor assemblies often have them so I assume they're available somehow. I wonder if switching to collective heli blades would reduce efficiency, the fixed pitch helis I've had have similar blade designs to these drone props. Presumably you can reduce rotor mass and have greater efficiency for positive attack angles when you run this design as opposed to an airfoil blade. On the other hand I assume you're interested in trying heli blades as the lift variation with pitch is more linear? Sorry if I've misunderstood. In awe of the project, cheers!
Great video thanks! if you will make more teensy/ Arduino code related videos of you share your experience in those platforms it will be awesome. Do you use also VS code for your projects?
Well that explains why i can't find any info about the code I made a small swashplateless heli Similar to yours but smaller and found out later that any code for motor modulation is patented Oh well time to make my own
@@talyrath I'm already starting to figure it out I'm going to start simple just to get the magic going and after that I will do optimisation and then finnaly betaflight, clean flight, inav... integration No patent can stop me
wonder if it would help to have a specialized ESC that had regenerative braking, so it would dump power to capacitors during deceleration and cycle it back into the motor during the accelerations
All rotorcraft that have a single main rotor have a flapped blade so the forwarding moving blade can flap up as I'm sure you know Tom. I'd be interested to see if it's possible in this case? Ie, will you continue to ha e control in fast forward flight when the left half of the rotor will want to flap up to relieve the extra velocity over the retreating blades. Great video!
so epic .. would love to see this made as small as possible- and see how long the drone could run for as it should be more efficent by at least double a quad .. and less than 20% of the price of a 6 channel swash plate copter
also your rotor head is not the same as the one on the original vid .. they use a tetering hinge - like an autogyro .. youre using the first generation without the hinge . go re-look their vids ua-cam.com/video/qWsKqmCIhRY/v-deo.html
A US Patent doesn't prevent anybody from building one of these for personal use, nor does it prevent somebody from publishing information regarding the design. In fact, the US Patent should actually give a lot of information on how it works. (And US Patents are widely and freely available to search online.) In other words, Tom is exercising an overabundance of caution here. But maybe he could post the patent number for us to check out.
Have you thought about a hingeless propeller, using a 'compliant mechanism' design? This would drastically reduce mass and friction - to the advantage of a more responsive system.
I know I'm a bit late, but I just found this video. Did you think about printing the rotor head in POM/delrin? The structural prints I've made with it have performed admirably (excellent material strength, low friction) though I had to use my enclosed printer with heated chamber to get reliable prints (100w light bulb on a relay inside my fully enclosed replicator II)
Awesome project!! I want to build one of these. Do you have any tips for sourcing these low kv motors? Having trouble finding reasonably priced 3-400 kv motors
Universities tend to have well established and precise regulation with patent revenue splitting. The real question is whether or not the first author PhD student is included or it's only his PI
@@ericcmcgraw Doubt it.... He paid tens of thousands if not hundreds for his degree and classes and the university come along and says "Hey thats cool, its mine now because we taught you that.". While this will just sit on some server for 20 years until the patent expires, just in case they wanna do anything with it... Sounds like a broken system.
In europe, research in public universities are by default open for the public. But you need free universities for that ... (free as in "paid by everyone, free access to everyone")
You very well might be able to share it without issues, especially since (I'm assuming) you created the STL files, which represents your own work. As others have said, patents in the US generally involve protection against others *profiting* off of unique work, and non-commercial use is somewhat protected.
*Summary* - 0:00 The video creator initially watched a swashplate-less helicopter video by James (Jimmy) several years ago, when motor controllers had an update rate of 50 Hertz. - 0:44 Jimmy eventually used drone racing technology, which allowed for an update rate of up to 40,000 Hertz. - 0:57 The video creator used a protocol called one-shot 1 2 5 which had an update rate of 4,000 Hertz but with the teensy board and the Arduino code, he could only get it to run at about 500 Hertz. - 1:18 He then needed to figure out how to configure the code to make a throttle output from a pitch and roll input. - 1:28 Initially, the creator used if-statement logic, plotted these into an Excel spreadsheet and discovered that the acceleration and deceleration were linear, which wasn't ideal. - 2:13 Instead, he found that using a sine and cosine wave created a peak acceleration and deceleration at certain points. - 2:38 The creator used a teensy 3.6 board to read the inputs from a drone flight controller or control sticks and multiply them by cosine or sine motor angle depending on pitch and roll. - 3:07 To measure the motor angle, a magnetic encoder called an AS 5047 was used. - 4:00 The creator found that when RPM increased, the friction in the hinges also increased, causing control output to decrease. - 4:43 He added a "dead band" to the bottom of the control output through a short bit of code to automatically increase control output past the minimum friction value. - 5:11 The creator eventually scrapped the RPM compensation dead band equation and reduced the friction in the hinges in the rotor head, making everything easier to control. - 5:43 Many rotor heads were printed due to damage and redesigns. Eventually, the creator added washers and brass inserts to the hinges to reduce wear and friction. - 6:11 The hinge angle was also adjusted and played with for tuning. - 7:10 The creator plans to try this experiment with a motor with more torque and helicopter blades instead of fixed pitched drone propellers. - 8:06 The creator cannot make the code and files for this project public due to patent restrictions. - 8:55 The project took many hours to perfect and required a lot of fine-tuning, especially with the rotor head design and code.
I had a good think about this concept. I'm sure it would be possible to apply this technique to a full sized chopper running piston or turbine engine. Not easy, but possible. The main problem I can see is that autorotation would not be possible.
Wow, i wonder when this type of airframe will be a standard option in either iNav or Ardupilot, this whould be a great feature. How efficiënt does this run? In other words how much energy is lost in for the control.
@TomStantonEngineering I am involved with cuav and wondering if you had considered using double hinged rotors to increase response on drones by allowing the torque not just the rpm to change thrust? Just an idea, kmax rotors, direct drive motors and swashplateless.
To cool the motor right beneath the rotor, wouldn't it be the easiest way to add little fan blades to the rotor head to generate an airstream downwards towards the motor?
Very interesting. One fascinating possibility is that you could perhaps experiment with higher harmonic control. It has long been suggested that one could significantly increase the forward flight speed of a helicopter (largely limited by the issue of retreating blade stall) by increasing the collective pitch at azimuths close to 0 and 180 degrees and reducing it close to 90 and 270 degrees. To do this by conventional mechanical linkages is non-trivial and as far as I know it has not been done either at full-size or at model scales. The topic is, if I remember correctly, discussed if only briefly in Basic Helicopter Aerodynamics by Seddon. It's probably also in Bramwell or Leishman - unfortunately I'm somewhat distanced from my heli text books at the moment 8-)= BTW - did you try including miniature ball and thrust races in the rotor head?
There are some open source firmware's that came out recently for whoops that do 24khz and even 48khz. I have no idea how they managed it but on the right esc it's possible
Delta 3 hinges are used for helis, if its a two bladed tail rotor they will use a delta 3 hinge for up and downflapping. main rotor systems wont use this because of the forces involved on a main rotor system are to big for such a hinge
This is far too interesting. Honestly it’s so cool listening to you just talk about how stuff worked and what you tried 👌🏼
Jep! I really enjoyed both movies! 👍🏻
Almost like a mini-TED talk. :D
I would probably watch 30 or 40 minutes on this topic. Amazing both the idea and the execution!
did anyone notice how this guy looks like Tom Stanton???????
YEAH i noticed too!
Didn't he say at one point that he has a brother?
He's the spitting image. And Tim likes to film at Tom's house, which can be confusing.
Nope, don't see the resemblance.
Yeah, he even sounds like him too
could you record a bunch more videos on this heli showing how well it performs in general flight? this is a really cool idea and it seems to work much better than I thought it would. I wonder if there's any significant downsides that make this not worth the cost/mechanical complexity savings from the simplified design. does the motor burn out when you run it too long from all those constant speed changes? thanks for reading
wait arent you the 306 mph half life guy
oof
i didnt know you were into this kinda stuff mang
@@lucywucyyy same lmao
I was definitely not expecting to see you here
YOO DESINC LOVE GELICOPTER
I tried building one of these after seeing the same video except I tried to build the controller from scratch. It was fpga based and I just got lost in the detail of motor control. Glad to see you found a simple way to bring it to life!
I've been wandering about combing the simplicity of a drone and the efficiency of a Heli for years and it's amazing to see it there working. This is truly amazing work. A bicopter with this design would fly with literally just 2 motors and no servos and the second motor would actually equate to lift unlike the tail rotor from the traditional Heli. I'm really impressed with this.
These deep explanations are great!
Easy to follow and without leaving out any important part. Good job Tom!
soft wear swashplate , that a new one
Just a silly idea: You can have manual control ability and eliminate the patented code by attaching the motor to the rotor through a u-joint and a 2:1 reduction gear and moving the motor to vary the angle of the u-joint. By making the reduction gear reversing or not you can make the rotor and motor's gyroscopic precessions interact in different manners. It'll add complexity, but i'd like to see how it works...
That's a great idea!
These were great! You really do a wonderful job of explaining both the mental and physical process in recreating this tech. Thank you for sharing!
Amazing work sorting out that equation, very impressive. I'm amazed it flies that well, getting rid of a full blown rotor head means this can be much lighter and more reliable. Interesting stuff!
It really isn't though. Not to be patronizing but there is a lot of room for improvement. There was no consideration given to velocity or acceleration. I have a feeling the code he is showing us is from his first failed attempt so that he doesn't infringe on the patent he mentioned.
There are certainly weight savings to be made but this design also probably requires more power to run because of the constantly accelerating and decelerating motor.
This is easily among the top three most exciting projects I have seen from you. And I 've been following for quite some time. It's just my humble opinion though that content like this should be on the main channel. Keep up the great work!
Excellent work! Very clever way to drive cyclic control. Thoroughly enjoyed both this and the main video.
Brilliant explanation. Thanks. Look forward to what you get up to next.
Thanks! This is just brilliant, I really enjoyed this project.
Keep up the good work !
Would be really cool to see something like this shrunk down to micro size, like those little recon helicopters the army is using
i love these videos, i didn't know this channel existed but i've always wanted to know more about your projects, definitely liked and subbed
I love this so much. Honestly so inspired that I don’t even know what to do with this. When you said “virtual swash plate” in the main video I had to stand up and walk around. So freakin cool. Plz keep doing stuff like this
Seriously looking forward to more projects on this simple mechanism
I love the beautiful simplicity of the pitch/roll control equation.
This was an excellent supplement to the first video! Thanks!
What this tells me is that C+ and Excel class at college is worth it
So are math classes apparently. I mean, who would instinctively think about adding and subtracting the sin or cosine from a value to generate a specific control profile? LOL That's some mad trig going on right there even if it ultimately boiled down to a simple equation.
The original video on this tech was released more than 8 years ago. Another great example of patents stifling innovation and development.
Love these deeper dives.
9:16 Good thing you mentioned that this is your second channel! Didn't know of it's existence. I'm glad this exists.
Subscribed right away after finding out about your second channel! Keep up the great work!
Thanks for proving it's possible with hobby level electronics! This definitely gets some gears turning.
Could this be done with a cyclogyro rotor?
Wow I like this level of detail! Thanks Tom, from the Netherlands.
Huawei laptop... this heli will be available as a BNF on Banggood in 5... 4... 3... 2...
Awesome, thank you for this supplemental!
Hey. I am a controls engineer from Germany and worked before in the wind turbine industry. There we used the multiblade coordinate transformation to generate the sine+cosine stuff. Maybe thats something for your intrest.
Anyway, absolute great Project!
Outstanding Tom
I think your problem at high RPMs might not have been friction, but the centrifugal forces pulling the blades outwards. That centrifugal force is the main force restoring the blades to their neutral position.
It might help to move the joints closer to the rotor axis. Possibly even putting them on the same axis, and using springs to supply the restoring force, which would make the restoring force RPM independent. Then again, at higher RPM you want the blades to be forced to their neutral position with a stronger force, because they have to return there quicker. For a purely centrifugally-restoring blade oscillations:
frequency = constant * omega * sqrt( A / B )
Where
frequency is the natural frequency of the back-and-forth oscillation of the blades,
omega is the frequency of the rotor head around its axis,
A is the distance of the blade's center of mass to the rotor axis,
B is the distance of the blade's center of mass to the hinge.
Optimally, you would want the frequency that the blades freely swing back and forth at to be equal to the RPM of the motor. That way you get the largest ratio of oscillation amplitude (blade pitch) to the amount of energy the motor has to provide to that oscillation.
In the shot at 4:48 the rotor heads on the right look much more optimized than the ones on the left. From the fact that the left ones are all smashed, I assume that those were the ones from before you ironed out the kinks that lead to crashes. Then again, I don't know how significant your friction was and which part of the improvement was due to you moving the hinges inwards and which part was due to you reducing the friction.
wow! that's great! i even bought STEVAL-ESC001V1 for that project, but there is always not enough time) as i understand, esc already knows rotor position, so you don't need any additional sensors, just startup calibration. also, sine/cosine can be ultra-fast when replaced by parabolic approximation (just x^2).
Great information!
Excellent explanation.
haha i didn't know why I would want to watch this, but I have to admit: it's just as entertaining as your main content :D
If you'd like some help setting up compiling INAV on your computer I could show you how. it could remove the need for the teensy.
That would be awesome to remove that teensy
Smash that Teensy!!! 😡
Can you make a tutorial on that for all of us too? Very interested!
If you could show everyone that would be amazing!
@GivesNoFux FPV The teensy is getting PWM or some other form of pitch/roll/throttle from Inav. It then converts that to a throttle value based on the encoder. The conversion and encoder reading could be done directly on the Inav board and save some wiring. Where do you think I got it wrong?
Im planning on studying systems and control for MS. So this is satisfying af. Great video as usual. Keep it up.
He seems to know his stuff. I'm impressed.
U.S. Patents are public record, can you please post a link to it?
It's not the knowledge sharing that is protected, it's the right to profit from the idea that is.
Here it is: patents.google.com/patent/US20160001877
@@TimStation You can share it, just can't profit on it. Please share the code!
@@jotham123 it's probably not to long until someon else tries this and shares the code and cad
Jotham B making or using a patented entity is in violation of US patent law
@@willasproth looks like the rules are more strict in USA and you are correct, but many other countries you can build it for personal use, just cant do anything with it commercially.
While seeing ur videos, I'm getting more interest on aeronautics,
Thank u🤩
There's an open source ESC on electronoobs based on the ATmega328. They have the gerber files up for grabs and it looks like there's a free pin or the buzzer could be replaced to allow for two PWM inputs. You could totally program the sinusodal output within the ESC and have a single chip instead of sending a high frequency sinusoidal PWM signal from the teensy to the ESC
I also am doing some UAV helicopter research right now, and I think I have some insights you missed / disagree with
Since lift is proportional to velocity squared, if you get the same angle of deflection at a higher RPM, you'd get more lift difference and more control torque. I think this is the reason your compensation code that you scrapped threw off your tuning. Without it at high RPM, the blade deflects less, but a smaller change in angle is needed to produce same lift difference. So the mechanical system kinda balanced itself.
About using helicopter blades next time: almost all RC helicopters are meant for 3D acrobation, so they are excessively stiff and have symmetrical airfoils. On the other hand, drone propellers are really optimised for lift. Manned full-size helicopters would have the same shape, but can only approximate the twist and chord with simpler shapes due to manufacturing, material and other limitations.
TL;DR I think drone props are actually the right call.
I wouldn't know about this idea without your channel, keep up the good work!
Man this channel is actually fun..!!
Please, put all of this hard work on some pdf and put it online. I would buy your work, 3D models, wiring, what components to use, the code. Everything about this copter is super cool and I think you deserve it.
Brilliant Engineering!
Why is this channel underrated
Really awesome! I love that you are doing sort of technical explanation. Here's a challenge: make an airplane with no control surfaces, but instead uses this setup ( and maybe differential thrust?) to control its pitch and yaw.
Sam Nelson this is a brilliant idea. I wonder if this can be done with cheap tiny motors like from a small drone.
That's already done, look at Ardupilot unless I am mistaken about what you are trying to achieve
Airplanes can fly quite easily with just two motors and no control surfaces and they wouldn't even need this system, however making an airplane fly with just one motor and using this system for pitch and yaw now that i would like to see.
@@sUASNews i have check the code but can not find that about swashplateless
Great job for a simple system, very similar to old analog pulseproportional RC. Perhaps a larger heat sink for the motor.
Maybe you could put ArduPilot on the flight controller because then you can run your own code alongside it. Maybe that would be easier with tuning and you wouldn't need the teensy board.
You could speed up that function at the expense of some memory by turning those time expensive calls to sin/cos into a lookup (cached) table keyed by the function parameter..
Duty = throttleIN + (pitchCTRL * myCos[motorRads]) + (rollCTRL * mySin[motorRads]);
If motorRads is a wildly variable number you can scale it down / reduce precision to reduce the number of elements in your lookup tables.
if motorRads is being calculated by a similar processor heavy function you can use the same trick there.
I was thinking the same thing. If the pitchCTRL and rollCTRL values can be 'normalised' then using a two dimensional array would speed things up further. But, definitely using a lookup table would save a lot time.
@@edbrown1166 Afik, the Teensy has a multiplier so that's probably not a slow-down. A single table should do it and I bet it can be pretty course as well. Though this might be a good excuse to build your own CORDIC loop :P
That's true actually
You have talked about finding a way to change pitch on both blades. You currently encode the information about the pitch of the individual blades in a function of acceleration at a given angle.
Maybe you could encode the overall pitch in chance of acceleration over time. If you want to increase/ decrease pitch you would overlay a periodic function with either changing amplitude or frequency ( or both).
A possible mechanical decoder would be fairly difficult, but maybe you could use two compliant strut structures that decrease in size when torsion is applied. One of them would be dampend more than the other, and the maximum of the amplitude of the less dampend strut would be compared to the other to find the pitch angle. This design would be dependent on amplitude (more pitch if higher) and frequency (higher frequency -> more dampening in the dampend system-> more pitch).
It´s probably not the best design, but at least a beginning.
brilliant!
If the motor goes to 3000 rpm, that's 50 revolutions in one second!
I really wish I was smart enough to understand everything that you just said. I got most of it, but some of it was just like your helicopter, right over my head! LOL
I still love these videos and will keep on watching and hopefully will get smarter every day, oops wrong channel.
Stay safe and have fun,
Joe
The power of mathematics in every RC toy
you can control the pich with a spring. that when accelerating change the position of the angle of the blades ..
As an RC helicopter pilot, I wanna fly this thing.
This is so awesome 👍
Amazing ... very clever & interesting simplification of the motor control code . .. how about trying it in a IC engine with positional braking
Great video as always! I find it great how much work you put into your projects! I don’t think I understand nearly as much as you about this stuff. But I still want to share my idea. Did you try/think about adding small weights to the end of the rotors? Especially to those with a smaller angle of attack. I believe one reason for them being harder to tune is that they have less inertia/drag and thus it takes more acceleration to tilt the blade. I hope you can understand what I mean. I think the steeper rotors are easier to tune because the higher drag makes it require less change in rpm to tilt the blade. Maybe small weights could increase the inertia of the rotorblades and thus make it easier to control them. On the other hand it would probably not solve the problem of the motor getting hot since it would’ve to work harder again. But maybe the lower angle of attack of the blades would still decrease overall power usage. Just wanted to share this idea, no plan if it is a good one. But I’d find it interesting to find it out.
That sounds neat but that would kind of exacerbate the hinge friction thing he talked about
@@spencerlegresley8258 Then use ball bearings, or sintered bronze bushings.. doesn't have to be high friction brass bushings on screw threads...
you can utilize zirconia onium bearings against brass on joints
Hey Tom, how much time did it take for this project? I always wonder how much time your projects take on average because it always seems so straight forward in your videos. I know (and this video obviously proves it) that your projects take some time and you run into issues when making them, but I´m honestly very curious :)
Kudos!
Amazing project. I wonder if you could source tiny bearings for the hinges? RC heli tail rotor assemblies often have them so I assume they're available somehow. I wonder if switching to collective heli blades would reduce efficiency, the fixed pitch helis I've had have similar blade designs to these drone props. Presumably you can reduce rotor mass and have greater efficiency for positive attack angles when you run this design as opposed to an airfoil blade. On the other hand I assume you're interested in trying heli blades as the lift variation with pitch is more linear? Sorry if I've misunderstood. In awe of the project, cheers!
Great video thanks! if you will make more teensy/ Arduino code related videos of you share your experience in those platforms it will be awesome. Do you use also VS code for your projects?
Well that explains why i can't find any info about the code
I made a small swashplateless heli
Similar to yours but smaller and found out later that any code for motor modulation is patented
Oh well time to make my own
The joy of the American education system. You pay us a ruinous amount of money AND we get the patents to all your stuff.
@@talyrath I'm already starting to figure it out
I'm going to start simple just to get the magic going and after that I will do optimisation and then finnaly betaflight, clean flight, inav... integration
No patent can stop me
@@blackturbine Any updates? We need an open source version of this :)
am trying on my swashplateless heli ! we may share
wonder if it would help to have a specialized ESC that had regenerative braking, so it would dump power to capacitors during deceleration and cycle it back into the motor during the accelerations
All rotorcraft that have a single main rotor have a flapped blade so the forwarding moving blade can flap up as I'm sure you know Tom. I'd be interested to see if it's possible in this case? Ie, will you continue to ha e control in fast forward flight when the left half of the rotor will want to flap up to relieve the extra velocity over the retreating blades. Great video!
any numbers on power consumption? it would be interesting to know how it compares to conventional controls and assess the practicality overall
so epic .. would love to see this made as small as possible- and see how long the drone could run for as it should be more efficent by at least double a quad .. and less than 20% of the price of a 6 channel swash plate copter
also your rotor head is not the same as the one on the original vid .. they use a tetering hinge - like an autogyro .. youre using the first generation without the hinge . go re-look their vids ua-cam.com/video/qWsKqmCIhRY/v-deo.html
A US Patent doesn't prevent anybody from building one of these for personal use, nor does it prevent somebody from publishing information regarding the design. In fact, the US Patent should actually give a lot of information on how it works. (And US Patents are widely and freely available to search online.)
In other words, Tom is exercising an overabundance of caution here. But maybe he could post the patent number for us to check out.
Have you thought about a hingeless propeller, using a 'compliant mechanism' design? This would drastically reduce mass and friction - to the advantage of a more responsive system.
I know I'm a bit late, but I just found this video. Did you think about printing the rotor head in POM/delrin? The structural prints I've made with it have performed admirably (excellent material strength, low friction) though I had to use my enclosed printer with heated chamber to get reliable prints (100w light bulb on a relay inside my fully enclosed replicator II)
I hope you have a patent on this! I could see toy RC companies being all over this for a simple helicopter.
Awesome project!! I want to build one of these. Do you have any tips for sourcing these low kv motors? Having trouble finding reasonably priced 3-400 kv motors
You should go to rotor riot with this!
Did you look at printing the rotor head with ‘live’ hinges? Would reduce complexity further. I’m sure it could be done with nylon or if necessary TPU.
amazing content, what is the high speed camera you use?
Please tell us Jimmy is being compensated for this. Or did the University take it
He got paid in experience! And they gave him a PhD, so he's obviously making bank from that. /s
Universities tend to have well established and precise regulation with patent revenue splitting. The real question is whether or not the first author PhD student is included or it's only his PI
@@ericcmcgraw Doubt it.... He paid tens of thousands if not hundreds for his degree and classes and the university come along and says "Hey thats cool, its mine now because we taught you that.". While this will just sit on some server for 20 years until the patent expires, just in case they wanna do anything with it... Sounds like a broken system.
Correction, until someone comes along with an idea close to that and sues them. US patent system ftw. en.wikipedia.org/wiki/Patent_troll
In europe, research in public universities are by default open for the public. But you need free universities for that ... (free as in "paid by everyone, free access to everyone")
You very well might be able to share it without issues, especially since (I'm assuming) you created the STL files, which represents your own work. As others have said, patents in the US generally involve protection against others *profiting* off of unique work, and non-commercial use is somewhat protected.
Hey Tim, how much coaxial flight have you completed? Would love to see some.
I thought you would use DSHOT for fast precise throttle control. It is pretty simple serial protocol, and has refresh rate way higher than oneshot 125
*Summary*
- 0:00 The video creator initially watched a swashplate-less helicopter video by James (Jimmy) several years ago, when motor controllers had an update rate of 50 Hertz.
- 0:44 Jimmy eventually used drone racing technology, which allowed for an update rate of up to 40,000 Hertz.
- 0:57 The video creator used a protocol called one-shot 1 2 5 which had an update rate of 4,000 Hertz but with the teensy board and the Arduino code, he could only get it to run at about 500 Hertz.
- 1:18 He then needed to figure out how to configure the code to make a throttle output from a pitch and roll input.
- 1:28 Initially, the creator used if-statement logic, plotted these into an Excel spreadsheet and discovered that the acceleration and deceleration were linear, which wasn't ideal.
- 2:13 Instead, he found that using a sine and cosine wave created a peak acceleration and deceleration at certain points.
- 2:38 The creator used a teensy 3.6 board to read the inputs from a drone flight controller or control sticks and multiply them by cosine or sine motor angle depending on pitch and roll.
- 3:07 To measure the motor angle, a magnetic encoder called an AS 5047 was used.
- 4:00 The creator found that when RPM increased, the friction in the hinges also increased, causing control output to decrease.
- 4:43 He added a "dead band" to the bottom of the control output through a short bit of code to automatically increase control output past the minimum friction value.
- 5:11 The creator eventually scrapped the RPM compensation dead band equation and reduced the friction in the hinges in the rotor head, making everything easier to control.
- 5:43 Many rotor heads were printed due to damage and redesigns. Eventually, the creator added washers and brass inserts to the hinges to reduce wear and friction.
- 6:11 The hinge angle was also adjusted and played with for tuning.
- 7:10 The creator plans to try this experiment with a motor with more torque and helicopter blades instead of fixed pitched drone propellers.
- 8:06 The creator cannot make the code and files for this project public due to patent restrictions.
- 8:55 The project took many hours to perfect and required a lot of fine-tuning, especially with the rotor head design and code.
I had a good think about this concept. I'm sure it would be possible to apply this technique to a full sized chopper running piston or turbine engine. Not easy, but possible. The main problem I can see is that autorotation would not be possible.
Wow, i wonder when this type of airframe will be a standard option in either iNav or Ardupilot, this whould be a great feature. How efficiënt does this run? In other words how much energy is lost in for the control.
@TomStantonEngineering I am involved with cuav and wondering if you had considered using double hinged rotors to increase response on drones by allowing the torque not just the rpm to change thrust?
Just an idea, kmax rotors, direct drive motors and swashplateless.
it looks similar to an align heli
Awesome design! Do you share design but not the code on Patreon account. Would really love to build one...
This is interesting, but I wonder how susceptible the blade system to failure when being hit with wind gusts.
I admire your brain.
To cool the motor right beneath the rotor, wouldn't it be the easiest way to add little fan blades to the rotor head to generate an airstream downwards towards the motor?
Very interesting. One fascinating possibility is that you could perhaps experiment with higher harmonic control. It has long been suggested that one could significantly increase the forward flight speed of a helicopter (largely limited by the issue of retreating blade stall) by increasing the collective pitch at azimuths close to 0 and 180 degrees and reducing it close to 90 and 270 degrees. To do this by conventional mechanical linkages is non-trivial and as far as I know it has not been done either at full-size or at model scales.
The topic is, if I remember correctly, discussed if only briefly in Basic Helicopter Aerodynamics by Seddon. It's probably also in Bramwell or Leishman - unfortunately I'm somewhat distanced from my heli text books at the moment 8-)=
BTW - did you try including miniature ball and thrust races in the rotor head?
Long time subscriber & not getting notification, manual search to find etc YT
There are some open source firmware's that came out recently for whoops that do 24khz and even 48khz. I have no idea how they managed it but on the right esc it's possible
Delta 3 hinges are used for helis, if its a two bladed tail rotor they will use a delta 3 hinge for up and downflapping. main rotor systems wont use this because of the forces involved on a main rotor system are to big for such a hinge
You're a fucking genius man
worth 10 thousand likes!!!
Hi Tim! amazing project! if it possible to share source code, please say me how?