• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

Bell Boeing V-22 Project

tamuct01

Active member
#21
FedEx brought me a HiTec HFP-30 servo programmer today so I was able to program the digital servos I'm using for the tilt mechanism of each rotor. I setup the end stops on each servo and made sure they rotate together through the 90 degrees of travel. Here's a short video of the progress.

 

tamuct01

Active member
#22
I spent the last couple of days completing the left wing. Most of today was spent trying to draw up the DTFB fuselage in Fusion 360. I'm not 100% pleased with the sheet metal functions of Fusion, so if anyone has any tips or tricks on how to draw the folds and bends I'd greatly appreciate it.
 

tamuct01

Active member
#23
V-22 Osprey Project - Nearing Takeoff

After going back and redesigning the wing to use two servos instead of one, I was very pleased with the results. I was able to salvage the right wing that was built for one servo and modify it to the new design without scrapping it.




Satisfied that the dual-servo design would work, I sheeted the wing with veneer and began construction of the left wing.



Before sheeting the left wing I setup the digital servos to mirror each other and used a digital angle meter to set the 90 degree end stops of the servos.


I completed the sheeting of the left wing and then moved on to designing the foam board fuselage. I'm not satisfied with designing foamboard bends in Fusion 360. The final result admittedly left inaccurate A & B folds with lots of trimming and fiddling to get a usable result, but it should function:




The lower section that houses the landing gear on the scale craft has a complicated shape as it curves up to the fuselage in the rear. Instead of trying to bend foamboard to the shape I had modeled in CAD, I chose to 3D print the fairing using a thin-wall method. The fairings are only 2 layers of filament thick and shouldn't be too heavy for what is merely a decorative piece.


I finished up the foam board fuselage and took a few beauty shots:




The next steps will be to finish all the wiring from the wing. I did not terminate the collective and ESC signal wires as well as the power cables to make sure I didn't make them too short. I plan to cover the wing with Monokote or similar before the first flight, and I need to epoxy the flaperons in place once the wing is covered. I also need to figure out battery placement for proper CG and run some extensive ground testing of all the control servos before the first flight.

This has been an exciting and challenging project. I'm glad it's finally starting to take shape and hopefully take flight!

(https://aggiehobbies.blogspot.com/2020/05/v-22-osprey-project-nearing-takeoff.html)
 

tamuct01

Active member
#25
V-22 Osprey Project - Yaw Problems on Initial Flight Tests

I had to take a pause on the initial flight tests for a few weeks while we had a new above ground pool installed and then built a deck to match it with the existing deck and house.

During a couple of spool-up tests on the V-22, I noticed a strong yaw tendency on the model. The yaw movement quickly turns into an out-of-control spin before I shut down the craft for safety. I've tried correcting it with control inputs, but they're not reactive enough. I have checked the control servos many times and verified they are working properly, so my next suspect is the rotor speeds themselves. It is possible that one of the rotors is not spinning at the same rate as the other and inducing a yaw motion.

The ESCs that I am using are the stock Kylin-branded 40A ESCs that came with the donor helicopters. Because I purchased the helicopters a year apart, I am not surprised that they are not exactly the same. The capacitors and heat sinks on one are larger than the other and the startup beeps are a little different. I've gone through the initial setup and configured them each the same, but I wanted to verify that a speed difference exists before proceeding further.

I have a laser tachometer that I've used a few times before on other projects, but this measurement would get me dangerously close to whirling death-knives that are RC rotor blades. I started by configuring custom throttle and pitch curves to use during testing. The throttle curve is a standard -100 to 100 linear curve and the pitch curve was flat from -100 to 100 range to hold the blade position at 0 degrees as to not push or pull the model during these spin up tests. The rotor blades are standard RC helicopter blades with a fully-symmetric airfoil. Next, I physically restrained the model to my mobile workbench in the garage and began testing with one ESC at a time. I created a throttle to RPM chart for each rotor so I could build independent throttle curves if there is a difference.

As I started to spin up the first rotor on the bench, I noticed that the rotor blades were at about waist-level. It might be a sign of me getting older and possibly wiser, but it occurred to me that a catastrophic failure of the rotor head could send carbon fiber rotor bits into squishy parts of my body. I regrouped and grabbed the transmitter, the tachometer, and my throttle chart and huddled underneath the bench in a position where I could reach out and trigger the tach in a "safer" manner.



The test results were revealing:

1595000920954.png


I did not run the test from the full -100 to 100 throttle range as I was really only interested in achieving a head RPM of between 2500 and 3000. As you can see from the chart above, the right rotor lags the left by about 150 RPM at any given throttle position. Is this enough to induce the yaw that I was seeing? I'm not sure.

Another alternative would be to purchase new ESCs that have a helicopter governor mode. I've looked quite a bit at the Castle Creations Talon 60 and Phoenix Edge Lite 50 ESCs, but having to purchase 2 of these would set me back $150 to $200. I'm not prepared to do that quite yet.

With this new data in hand, I created separate left and right throttle curves and reduced the output of the left throttle curve about 6 points from the right. I will need to retest and see if the output is more closely aligned before I do another flight test.

Also, by separating the throttle outputs I no longer have enough output pins on my FrSky S8R receiver to connect everything. I do have an S-bus to PWM decoder that I use on another airplane to get access to the additional channels. I'll borrow this device so I don't need to use any Y-cables for the ESC and tilt servos. This will also free up 2 ports on the S8R for something else should I need them later.

A note on the S-Bus decoder: It narrows the output band from the stock FrSky outputs. A -100 to 100 on the FrSky translates to approx. -80 to 80 on the Sbus output. I've had to enable extended trims/outputs on the transmitter to re-trim the tilt servos and ESC outputs.
 

tamuct01

Active member
#26
V-22 Osprey Project - Initial Test Failure and Damage

After separating the tilt servo and ESC channels using the S-Bus decoder, I checked the head speeds again with my tachometer and got the two rotors spinning at nearly the same rate. I figured it was time for a flight test.

TL;DR version: It didn't go well.

There is still quite a bit of instability present. There are so many things that could be adding to the problems: Cheap jittery servos, the stability and configuration of the S8R receiver, control forces beyond what the control servos can handle, slop in the system, etc. After these few test hops, the left tilt servo has been damaged. I'll need to pull it apart to see if it's repairable. Regardless, it's a $50 servo that I really didn't need to be replacing. The right rotor plates are broken, but those are easily printed again.


This is the really frustrating part, and I think I need to put this project down for a while and go fly something else to reset my mind.
 

JasonK

Well-known member
#27
I am supprized that the flight controller wasn't able to correct for the minor yaw issue just via the normal PID loop controls or are you directly driving the controls off of your radio?
 

tamuct01

Active member
#28
I am surprized that the flight controller wasn't able to correct for the minor yaw issue just via the normal PID loop controls or are you directly driving the controls off of your radio?
The only servos driven from the radio are the tilt servos and ESCs. The S8R stabilized receiver is sending the stabilized outputs through an Arduino with custom mixing code to control the 6 cyclic servos, ailerons, and elevator.
 

JasonK

Well-known member
#29
yah, when it started yawing, the stabilizer should have sent rudder commands to correct, which then should have triggered relevant corrections.

just noticed the video - it looks like there is either a PID loop configuration issue or a update frequency issue. the stability definitely looked questionable in the roll axis.

Did you adjust your PID loops when you added all the weight? (it looks like your other video has it working fairly stable with just the rotors and stick - all the extra mass would change the center of CG which would change the effective torque forces and the moments of inertia which would change how much resistance to rotating it has)

What frequency are you updating your servo positions at for the cyclic servos?

Also is the S8R seemed to indicate fixed wing usage, not sure if using it this way would be an issue. Does it let you set the PID loop variables directly?
 

tamuct01

Active member
#30
yah, when it started yawing, the stabilizer should have sent rudder commands to correct, which then should have triggered relevant corrections.

just noticed the video - it looks like there is either a PID loop configuration issue or a update frequency issue. the stability definitely looked questionable in the roll axis.

Did you adjust your PID loops when you added all the weight? (it looks like your other video has it working fairly stable with just the rotors and stick - all the extra mass would change the center of CG which would change the effective torque forces and the moments of inertia which would change how much resistance to rotating it has)
The S8R has a few controls for the rate loops. There is an overall gain that is controlled via CH9, and there are independent gains for each axis setup via a LUA script. It appears that in auto-level mode there is no independent gain setting for RUD. In the setup, I only see gains for all 3 axes in stabilization mode. I might need to rethink my control system again. I've been looking at Pixhawk PX4 for a while, but I'll need to learn to program for it.

What frequency are you updating your servo positions at for the cyclic servos?
Standard 50Hz output from the S8R receiver. The stabilized Ail, Ele, Rud outputs along with pitch and tilt values are sent to the Arduino for mixing. The Arduino is using interrupt-driven programming on all those pins, so the processing cycle is keeping up. I've seen a few examples of reading S-bus data directly, so that might be an option as well.

Also is the S8R seemed to indicate fixed wing usage, not sure if using it this way would be an issue. Does it let you set the PID loop variables directly?
Yeah, the S8R is geared more for fixed-wing. The S8R lets you set gyro gain, but not the individual P, I, and D values. on each.
 

JasonK

Well-known member
#31
yah, given that you were balancing without all the extra weight/mass/etc (at least better then this), I suspect the PID loop might have some issues. I have seen that some digital servos can handle a 100Hz refresh rate, which is what I would probably do if I could.

One thing to consider - as we make these smaller, the faster and finer the control loop need to be able to run to keep control - IIRC 1/2 the size = 4x the 'frequency' of osculations.

Also you might need to filter out noise from your motors/servos/etc like is done in various quad flight controllers. (but I would save this for if you find it to be an issue).

for David Windestal's Bicopter - he was looking to get feedback from the servos into the flight controller to make it better able to adjust (by it knowing where it currently is) to be able to make the flight controller able to better adjust things as expected. I was definately looking at what he was doing here as I was planning on making mine under 250g and using vectored thrust instead of full heli swash plate type controls.

 

L Edge

Well-known member
#32
Like your comment about setting it aside and try later. Your skills as a chopper pilot are real good trying to lift off with nose in.

Some areas you might want to look at:

1) Since it tends to backup up on liftoff, you might try moving the battery and play with the CG of wing. Check to see if battery is off center down the CenterLine of aircraft where it might reduce tendecy to roll.
2) 2 of my projects had a number of problems due to the ground effects. With large blades over a good segment of the wing, that might be causing your issue. Once out of the effects, problem was eliminated.
3) I used the KK2 board and you need to play with with the PID's. Based on once you are up in the air, not to bad with control.
4) Another thought is to play with the collective pitch curve. High end might be taken to much of a bite (still need enough to go vert) and perhaps reduce the low end so weight plus negative thrust reduces the negative decceleration. It might slow things down that the FC can handle better.
Use that method when chopper's didn't have gyros or FC boards.
5) Or try lowering the RPM's.
6) Don't fly unless it is calm until you get to solve initial takeoff.
 
Last edited:

tamuct01

Active member
#33
Like your comment about setting it aside and try later. Your skills as a chopper pilot are real good trying to lift off with nose in.

Some areas you might want to look at:

1) Since it tends to backup up on liftoff, you might try moving the battery and play with the CG of wing. Check to see if battery is off center down the CenterLine of aircraft where it might reduce tendecy to roll.
2) 2 of my projects had a number of problems due to the ground effects. With large blades over a good segment of the wing, that might be causing your issue. Once out of the effects, problem was eliminated.
3) I used the KK2 board and you need to play with with the PID's. Based on once you are up in the air, not to bad with control.
4) Another thought is to play with the collective pitch curve. High end might be taken to much of a bite (still need enough to go vert) and perhaps reduce the low end so weight plus negative thrust reduces the negative decceleration. It might slow things down that the FC can handle better.
Use that method when chopper's didn't have gyros or FC boards.
5) Or try lowering the RPM's.
6) Don't fly unless it is calm until you get to solve initial takeoff.
Admittedly, it was a bit windy to be testing. My bad. I will probably play with the pitch curve some more. I have it setup for -2 deg. at -100, +3 deg. at the center and +10 deg at 100. I did notice that when it lifted off it did so quickly and almost jerked off the ground. I could probably alter that curve to spend a bit more time in the 5 deg. range and lower the upper end. The rotors were measured at about 2800 rpm at mid-stick and about 3000 rpm at 100%. I could play around with lowering that a bit. These are not governed ESCs, unfortunately. One other thing that did occur to me is that with the direction of rotor rotation (inward toward the fuselage), I wonder if that airflow is causing the wing to lift as well. The flaperons could also be adding to that initial lift vector especially while in ground effect.

Things on my wish list are a pair of Castle 40-60Amp ESCs that can be set to a specific RPM and a Pixhawk PX4 to redo the control. I'll have to learn to program it, but it looks like there's quite a bit of developer information on the platform.
 

L Edge

Well-known member
#34
Once I purchased my FC, to learn, tried to fly a flat sheet of blue foam(no rudders) and got it to fly. Used the concept of leading blade of each prop(5") will have flow over the top surface in forward flight. It worked. Changed the direction of 1 motor(now lagging blade over top) and in shallow turns, always lost it.

Next, did project where 2 motors mounted on servos in front of the leading edge providing elevons and the differential thrust provided yaw. It was mounted on a symetrical wing 24x20 with fixed rudders(above and below) to stay vert. FC could not handle it in process of rising off ground(turbulance). Yet, above ground effects, hovered nicely with some drift. About 1.5 ft above ground, it would go crazy. Are both swash plates and angles of blades the same? A few rpms really has the FC going crazy.

Agree, with you, flaperons might enter in equation from either ground effects and/or any wind blowing/gusts. Do you have enough servo travel to prevent it traveling back?

I am trying to duplicate Tom's stuff, but stuck with a bad vibration on one arm and have changed everything except the metal strut.

I even tried a EDF with three controls at the end of 4" tube that is not prone to ground effects when vertical, but always defeated by weight of system as well as EDF spooling up and down to slow.

It still has kicked my butt on a VTOL setup. I did end up doing a STOL EDF F-22 that flies using a 64 mm fan that is a different way to fly.
 
#35
V-22 Osprey Project - Christmas Additions and New Flight Controller

After the failure last summer I had to put the project down for a while. After reviewing the footage and discussions online I decided that I needed new ESCs that had a governor mode and a new flight controller.

The ESCs I was using came with the KDS helicopter model and were not high-quality units. Although similarly packaged, it was clear they were not 100% the same as the beep codes were a bit different and the throttle profiles were also a bit off. I tried to compensate with measurements and split throttle curves, but there was no way I was going to be remotely certain that the rotors would turn at the same speed. For Christmas, I got a pair of Castle Creations Talon 60 ESCs. I have some Castle ESCs in other models and they are wonderful! The price reflects their quality, though. I programmed these in three RPM bands I thought appropriate to start with:

Normal: 2500
Idle Up1: 2750
Idle Up2: 2900

Based on the motor, gearing ratio, recommended headroom, and gut feel these seemed to be good to start with.

However, the ESCs wouldn't be enough to fix the control issues I was having. Many people suggested that I get into ArduPilot and use its VTOL modes for the Osprey. I thought it was a good start, so I purchased a kit from Amazon.

My first thoughts were that ArduPilot is complex! I started diving into the wikis, forums, discord server, and other locations to learn as much as possible about this new world. I'm not a programmer by profession, but I'd say I'm at least a good intermediate at it. What I eventually found is there is currently no cyclic pitch controlled, tiltrotor bicopter model in the ArduPilot codebase. I would have to write it myself. As I continued to research how to start, I came across Nick Rehm's post on the FliteTest Forums discussing his dRehmFlight VTOL flight controller. The simplicity of his controller based on the Teensy 4.0 board and GY-521 MPU6050 IMU really stood out. I happened to already have the IMU on hand, so I picked up the Teensy board he recommended.

Within a couple of days, I understood how the code worked and began modifying it for the Osprey. The results are pretty spectacular:


At this point, no transition mixes are implemented only hover mode. The tilt servos do work but need some additional fine-tuning. The flaperons and elevator are not connected yet and the elevator has taken some damage from being banged around the garage for the last six months.

Thanks to Nick and his dRehmFlight VTOL project for giving me hope that this project might yield something flyable!

(https://aggiehobbies.blogspot.com/2021/02/v-22-osprey-project-christmas-additions.html)
 
#37
Congrats on the flight! This is probably one of the most complex vehicles I've seen flown with the code thus far in terms of # of actuators and mechanical complexity. Good luck venturing into forward flight! I recommend setting up your discrete flight modes (hover/FF) first just to verify everything behaves properly, then check out tutorial 9.10 Basic Fading in the docs to fade between them. Just to avoid complicating things with the fading before servos are properly centered and actuating properly

Get that forward flight down and I'd love to include this build in the docs with your permission :)
 
#38
I just came to this thread, and all I can say is WOW!! this is such an amazing project! I love it. I always wanted to build one, but I wanted to use more of bicopter tech. So we will see if I get to it. I love twin planes, adn I love the idea of bicopters. for me it would be a perfect way to bring the two together. I have other projects for now!

sorry for my bad grammar
 
#39
Congrats on the flight! This is probably one of the most complex vehicles I've seen flown with the code thus far in terms of # of actuators and mechanical complexity. Good luck venturing into forward flight! I recommend setting up your discrete flight modes (hover/FF) first just to verify everything behaves properly, then check out tutorial 9.10 Basic Fading in the docs to fade between them. Just to avoid complicating things with the fading before servos are properly centered and actuating properly

Get that forward flight down and I'd love to include this build in the docs with your permission :)
Thanks for the tips! Everything I'm doing is using the standard servo outputs (should be 11 outputs when fully connected), so I've commented out all the quad motor controls and throttle cut bits. I'm doing failsafe in the receiver, so safety is still being addressed--as safe as two meter-long whirling knives can be. :)

Thanks for the great flight controller!