setting up a thunder tiger e550 with ardupilot (properly this time) PART 1 [updates]
So just to note some math we did before - renote it at least because I think it was very very informative in many ways.
This is some blade-element analysis (https://sites.google.com/site/aerodynamics4students/table-of-contents/aircraft-performance-1/blade-elecment-analysis-for-rotors) we did on the helicopter design we have yesterday because or two days ago. I think this give us a bit of knowledge on how poorly we did setting this up. You know there was some logic we used like "eh 0.1 of a degree won't matter." Turns out the helicopter has a hover pitch angle (at full RPM) of like 0.244 degrees and 0.1 degrees off give that thing like 50% error. So what we're going to do is wipe the software and re-setup this whole helicopter because we want to be able to make this thing fly. Why keep building things when we have a thing. This goes for everything from balancing the blades to re-leveling the swash and etc. We'll re-flash the software and set it up with GPS and document it ALL HERE so that we don't forget it because I don't think we documented it last time :(
Okay here we go... landing gear being the least of our issues.
The first thing we did was download the latest version of QGroundControl and upgrade the Heli's firmware directly. (https://docs.qgroundcontrol.com/en/getting_started/download_and_install.html)
So there are some great videos online as to how we should setup the helicopter and we're going to watch and follow every single one. We said this last time but now I'm really that bored so we're going to follow all of them during setup. We'll do the mechanical adjustments at the same time as the software adjustments because I don't know how many mechanical adjustments there will be. It's funny though because the compass calibrations shows both compasses are OK. ??? I guess they were pre-calibrated?
NOTE TO SELF: RE-LUBRICATE THE MAIN ROTOR GEARS AND MOTOR PINION.
VIDEO ONE NOTES:
Recommend using "full parameter list" to setup the helicopter that works a lot better.
"FIRST THING TO DO IS RADIO CALIBRATION"
Okay let's do the radio calibration...
And then he recommends to do compass calibration so let's do that. The accelerometer has been calibrated many times in this autopilot before it was installed and we want to leave it that way.
Both the internal and external compass passed calibration - beautiful :)))) I think that's because this compass is NOT the rover specific compass it's the regular - yay yay cool compass. We're also not in a machine shop this time - that could've helped.
First General Parameters:
The helicopter specific parameters all start with "H_"
DISARM_DELAY 0 Seconds
H_ Specific Parameters:
H_COLYAW FeedForward to Prevent Tail Kick (3.0 for them)
this can really only be set with testing though if we need it
H_COL_MAX Maximum Collective Pitch
H_COL_MID Is the 0 collective pitch location
H_COL_MIN Is the minimum collective pitch
H_CYC_MAX Is the max cycling pitch in deg (TILT OF THE SWASHPLATE IN DEG)
H_FLYBAR_MODE of course if the Heli has a flybar or not
We have no external tail gyro so H_GYR_GAIN and H_GYR_GAIN_ACRO don't matter
H_LAND_COL_MIN this is the pwm value at which if the helicopter doesn't sense any movement and the throttle is at this value, the the helicopter is landed - this comes with both CALCULATIONS as well as TESTING. (better too high than low?)
H_PHANG deals with phasing issues of the swash.
H_RSC_CRITICAL the rotor speed below which flight is not possible. This is an important one to get right and we can CALCULATE IT.
H_RSC_IDLE is for COMBUSTION HELIS they are not used for electric helis.
H_RSC_MODE covering later when we do RSC setup
H_RSC_RAMP_TIME is the amount of time it takes for the helicopter blades to SPIN UP. (we need to measure this or set it HIGH)
H_RSC_RUNUP_TIME is the amount of time for the head to actually reach the speed ~1s longer than ramp.
H_RSC_SETPOINT is used for mode_2 throttle control and we'll go over that in a later video.
H_RSC_SLEW_RATE is the rate at which the throttle speed can change in a second. %/second. Set to 0 it's unlimited change. We can LIMIT the change in the throttle servo.
H_SWASH_TYPE need to make sure we select the proper plate type.
H_SV1, H_SV2, H_SV3 are important to get right, 1 is the left-front servo, 2 is the right-front, 3 is the elevator servo and it needs to know the ANGLES. 0 is at the front. CHECK THE MANUAL TO GET THIS RIGHT.
H_SV_MAN will be looking at in the next video
H_SV_TEST SET THIS TO 1 FOR THE HELI TO TEST ITS SERVOS ON BOOT-UP
H_TAIL_SPEED only for direct drive tail DDVP
H_TAIL_TYPE Servo Only for our helicopter
Now the other ones we want to look at are the SERVO parameters:
SERVO1_FUNCTION set to Motor1
SERVO2_ set to Motor2
... all the way to Motor 4
SERVO8_FUNCTION is set to HELI_RSC
Final Thing is FLIGHT MODES:
Make sure STABILIZE is one of the modes and set these up before you do any other helicopter setup so let's do that now.
So flight modes:
We want the following modes:
(1) STABILIZE FLIGHT MODE
(2) LOITER FLIGHT MODE
(3) AUTO FLIGHT MODE
Okay so we put the AUTO, LOITER, and STABILIZE flight modes. Then we have a switch that does "land" mode, we have a red switch that ARMS the copter and we have a switch that triggers a connected camera.
RC_8 On the helicopter controls the THROTTLE. RC1-4 are the same as a multi-rotor. Make sure channel 8 is calibrated RIGHT to its FULL RANGE before doing anything that's the MOTOR.
SO THAT WAS VIDEO ONE and I think what we're going to do is instead of setting all these parameters now we're going to watch the next video where I think he's going to go through setting them up. Then later we'll come back and check this list to make sure we get everything and when that's DONE we'll be ready to fly.
This video deals with the mechanical setup of the head and the tail servos and etc. This deals with actually setting those parameters as well. But we need to make sure a few things a done mechanically first of course.
FIRST - we need to LEVEL THE HELICOPTER so we can get proper readings with the PITCH Gauge.
So the helicopter was leveled by shoving little wood pieces under the landing gear. He recommended disconnecting the rudder linkage but for now we're okay because taking it off on this Heli is really difficult.
The next step is to set servo 1-4 MIN and MAX PWM to 1000 and 2000 respectively. Trims to 1500 (which they are at). And now we're going to look at servo directions. Now is probably a good time to specify our swashplate. Let's set those parameters before listening to the rest of this video. Servo4 the tail servo seems like it's really setup. If we have problems with it later we'll fix it later. Our swashplate type is a H3-140 becaUSE THUNDER TIGER IS REALLY WEIRD.
So now we run into the typical problem which is that the elevator direction is reversed. :((( After switching some servos around we finally have the right response.
Now we have the plate mostly level. We're going to make fine tuning adjustments by setting the TRIMS on the servos such that when the blade spins around its ALL at the same pitch.
We used out own technique for making sure a swashplate is level. You first level the whole frame of course. Then, basically, you LINE UP one, only one, of the rotor linkages with EACH of the swashplate's three linkages and use the pitch gauge to move the linkage or change the trim very slightly so that at each of the three spots that ONE blade is in the same pitch. Then you move the OTHER blade to one of the linkage spots and then adjust the TOP-MOST LINKAGE, the one that connects the blade directly to the plate, until that blade is at the same pitch as the other. And then you're in BUSINESS!!!! We have a level swashplate.
I think we just fixed the major problem we were having - a perfectly level swash - but let's go through all the setup videos just in case.
Now back to the video to set H_COL_MAX _MIN and _MID.
H_SERV_MANUAL to the MID_COLLECTIVE and change _MID to 1500PWM we'll set this first.
Now currently, our pitch gauge says 1.2deg - for this setting we want it to be ZERO. So he actually said go ahead and level the plate. Which we already just did. So we'll skip the next part of the video and go ahead and set them to figure out what H_COL_MID is. We did a combination of mechanical AS WELL as software leveling so we're okay.
Our MID collective turned out to be 1480PWM.
Then we want to tune the minimum collective to -2.5deg of pitch. So let's do that. We were at -4.3 let's make it like -2.5 by increasing that collective. That brings us to 1420PWM.
We're going to limit our max collective to 10deg because we're using an electric motor on a 6s battery. That should ensure we don't get rotor to be under-speed. That brings our H_COL_MAX to 1670deg.
So now we're going to set the STABILIZE MODE Collective Curve. Those are in IM_STAB_COL.
For stabilize flight mode, I think we're going to limit the MAX to 8deg of pitch, and we're going to leave the lower bound at -2.5deg.
Yes so if we change IM_STB_COL_4 to 80%, we only get 8.2deg at the top of the pitch range.
The middle two settings set where the helicopter is going to hover. So let's first move the stick to the middle position. We happen to have 3.6 deg. We need to figure out what blade angle this thing hovers at. And we set STAB_COL_2 to a value that makes the pitch EQUAL that.
For this - we're going to re-check our blade-element analysis. Let's set our head speed to 2000 RPM and see what the hover pitch we're estimating is. I think last time when we did this blade element analysis thing we messed up a little bit on the math because we were too focused on learning the math we made a simple mistake in integrating oops. Don't worry let's fix it now.
Now by out calculations, the actual hover pitch is roughly around 1.06 deg which makes a lot more sense that 0.244 deg.
So we're going to set our hover pitch to a reasonable 1.1 deg. Then we likely also want to drop down the third setting so it doesn't rise so fast. So we're looking at this kind of a throttle curve - the pitch settles between 1-2 degrees at mid-stick and what we're going to do is modify this as we fly the helicopter to figure out what kind of pitch we're looking at for mid-stick. Our helicopter is really light (40N), so 1-2 deg seems reasonable. Especially with head speeds in the near 2000s.
now we want to go through manual PASSTHROUGH. For the helicopter and we're going to set the cyclic range. Which is H_CYC_MAX. We have our max cycling pitch at around 8deg which is actually where we want it so we're going to leave it there.
Now we have to deal with the rudder servo. And we'll leave it in pass-through for right now. So we fixed those limits so we have the same travel in both directions and they're both in-bounds. We also fixed the tail servo trim so center is center.
Now we want to check our FINAL SETTINGS before finishing up this servo head calibration and etc.
An here is the result of that as a video. The servos cycle through their limits so we can check if the servos are binding and if the limits we set are OK and everything and from the looks of the following video, they are!
And in the next video - Chris Olsen is talking about helicopter RSC or Rotor Speed Control and that's "more involved" he says so we'll get to that soon. Here's that video. I assume before that we should (a) FIX THE LANIDNG GEAR and (b) take the blades off the helicopter. So let's do those things.
(1) FIXING THE LANDING GEAR. Let's design this in the same way we designed the other unit. We take a few blocks and connect them with threads and stuff in the sculpt space. We're going to make it from scratch because Autodesk is being really mean at crashing when we use much of the sculpt workspace.
So there's three simple bodies to print in this design and they get screwed together to form a very simple set of landing gear that lifts the helicopter 2.5in off the ground. The problem is this might NOT be tall enough. Especially for the tail rotor so let's see.
So we're going to likely go with this design. 3D print it once and then never have to deal with re-designing the landing gear or whatever again. It looks good and I think it'll work. So we're going to print and install this and then go to the next step.
(2) TAKING THE BLADES OFF.
And because we're waiting to fix the printer - we'll do the rest in the next post.