Consufed setting up swash on a Raptor e820, 135° different length links fore and aft

Hi folks, I’m possibly being a mong, but I’m melting my brain trying to figure out swashplate servo values for my Raptor e820, and would like some help/clarification… The aircraft uses the typical 3 servos on the swashplate, but in a 135° configuration.


However, the manual for the aircraft says if the 135° isn’t an option, use a 140° mix, which I’m doing.

It also uses push pull linkages on the forward two servos:

And an a frame on the aft servo that doubles as an anti-rotation linkage:
image

The airframe has convenient through holes in the frame which line up with holes in the servo to swashplate linkages…


…and the procedure to set the servos is to remove the servo horns, level the swashplate and pin it in place, zero the servos to the middle of their travel, and attach the horns, which I’ve done by following Chris Olson’s guide in the Arducopter Ground School videos, and set the servos min to 1000pwm, max to 2000pwm & trim to 1500pwm, then reattached the horns to the servos. This gives me -5.8° pitch all round.

There are unequal length washout arms just below the head, which attenuate and invert the movement of the pitch control rods relative to the travel of the swashplate, which I’ve got my head around. And the starboard servo is essentially in the same orientation as the port one, just rolled 180°, inverting it’s direction of travel. Taking into account the washout arms and the servos positions, I understand these motions:

But I’m getting tied in knots with the trimming of the servos… Which I think stems from the fact that, as you’ll see see in the following diagram, the elevator link is shorter than the two aileron links…
image
…meaning that the elevator/pitch/aft servo has to move less to achieve the same movement of the swashplate.

So at the minute, having zeroed the servos relative to the linkages as per the aircraft’s manual, I’m sat with -5.8° on the servos at 1500pwm on the Durandal. I’m trying to adjust the trim values while keeping the swashplate level, to establish the values for min and max collective, which is proving to be a nightmare. I know to add 100 to servo 1, and subtract 100 from servo 2, but if I add 100 to servo 3 I end up with the swashplate out of level.

Can someone explain to me how to figure out what my max and min values for the three servos should be? And once I establish the min/max values for all three servos to give me -3° to +12° pitch, which servo is the one that dictates the min/max collective PWM values? Also, because of the reversed collective arising from the washout arms, can I have min collective value higher PWM than max collective PWM value?

I’m toying with the idea of flipping the pitch control horns to the other side of the blade holder and taking the +5.8° at 1500pwm as my midpoint, then it would mean swashplate goes up and pitch goes up. However, that would still leave me trying to dance around the unequal throw of the forward aileron servos relative to the aft elevator one, and that has got me completely stumped.

I’d also been toying with the idea of adjusting the pitch control rod lengths, but there isn’t a lot of room there, and they are at the length in the manual, and the servo linkages are as per the manual, so I know those values are right. But again, that still leaves me the unequal lengths to contend with.

I hate to do this, but I’m stumped, please help…

So the parameters SERVOX_MIN and SERVOX_MAX, where x is the servo number for a swashplate servo, should not be adjusted. The code forces these to always be 1000 and 2000. You should trim the swashplate servos with H_SV_MAN set for passthrough. This ensures that the stabilization will not affect the swashplate. Once you have your servos trimmed for a level swashplate, then you will use the parameter H_SV_MAN to set the collective to min which will set all three servos to the H_COL_MIN PWM value. Of course the code will do the necessary conversion for any servos that are reversed. You would then Set the H_SV_MAN param for the max collective and set H_COL_MAX and then lastly to H_SV_MAN for H_COL_MID to set the zero thrust collective.
Please check out the wiki on swashplate setup and please ask more questions if this still doesn’t make sense.
Regards,
Bill

1 Like

The -5 deg at 1500 won’t do. Especially if you want -3 … +12 range.
So can you post a pic of your head at 1500 on all servos so we can see where your at?

Maybe I can help you out via FaceTime or teams or something. It’s one of those complex things that would be easier to help if I could see your setup and work it out together. From the 135deg diagram, the for and aft horizontal distance from the swash pivot to the single ball joint on the back and to the double ball joints on the front is the same. So to make for/aft collective controls, the aft ball and the forward balls need to move the same amount but in opposite directions.

The geometry of the swash will result in you needing a symmetrical setup at the non rotating ball links of the swash,

Agreed, you will want the mid point of the servo to correspond to the midpoint of your collective range. It helps keep a more linear movement of the collective blade pitch with the requested collective.

The H3-140 swashplate type in the trad heli firmware provides the proper servo outputs the this swashplate.

You will have to explain this to me as I am not familiar with this aircraft.

Thanks for your willingness to help!!

I’ve been at the workshop, and had another go at it using Q Ground Control with it’s convenient pulldown for H_SV_MAN to go through H_COL_MIN / MID / MAX and I’m a lot closer now :slight_smile:

I’ll apologise in advance for the vagueness of the parameters I’m about to recite, I forgot to write them down or better yet, take a screenshot of the page in Q Ground Control, so the upcoming numbers are indicative rather than absolutes.

I reset the trims to 1500 on the three cyclic/swash servos, and worked my way through H_COL_MIN**/ MID / MA**X with some quick ballpark figures. 1200/MIN 1320 for 0° pitch and and 1560 for max at ~12° pitch IIRC. Initially it was one or two degrees total divergence between 12 and 6 o’clock positions pitch readings, as in 11.4° and 12.7°. Then I I’ve got it within a degree of matching back and forward. However, when I assign a value to say H_COL_MAX I’m naturally about a couple of degrees out, so I played with the trims to get it at 12.1° at 12 and 6 o’clock positions. When I say played with the trim, the trim adjustments I’m talking about now are minor like 1480 aft/elevator and 1540 forward/aileron servos IIRC, with that little tweak to the trims I get 12 & 6 o’clock pitch readings matching. Then when I move from H_COL_MAX to H_COL_MIN I end up with a divergence of under a degree between the 12 and 6 o’clock positions pitch readings. So it’s significantly further forward than it was yesterday, just need to figure out where this half degree is creeping in…

But seeing as I was so happy at finally being on the right track with the swashplate, rather than get bogged down on chasing this fraction of a degree and ending up frustrated and thus spoiling my happiness, I moved on to the tail servo limits, and got it set up. Buoyed by that success, I then set up the flight modes buttons mix on the radio. After that I set up the Yaapu telemetry script on the radio with one screen being GPS, another screen being the pitch ladder and readings, and added a couple of mixes using a couple of switches one to control the zoom on the maps on the GPS screen, another to toggle between Yaapu screens.

For bonus points I then assembled the little drop release servo kit with every fastener getting a decent coating of loctite. I figured that was a good time to “quit while I was ahead”, and came home to cook myself some dinner, at twenty past nine in the evening.

I’m actually really proud of getting the Yaapu script working so well, as it’s all new to me, and well outside my wheelhouse. And although it looks cool, it will be genuinely useful. Over the weekend I’m going to have a look in the wiki at the linearize servo stuff, see if there’s any supporting parameters I can tweak to dial out this last fraction of a degree of variance, and have fun setting up the drop release servo.

Glad your having success, would like to see some flying vids eventually on YouTube or something.

Setting up a heli head is almost all mechanical. Servo trims are the last step.
Instead of measuring blade pitch at 12 and 6 o’clock, just get the swash level on the main shaft ( a levelling tool can be used to hold this while you adjust linkages. Also match your ball links with callipers etc.
To get the best torque and resolution from your servos you need to try setting up to use the maximum stroke of your servos to achieve your desired pitch range. ie 1100 - 1900us for -3 to 12deg for example. If you are at 12 deg with 1560us then you are only getting half the torque and resolution of your servos. (Twice the speed but that’s not important for swash control in your application)

Hi guys, It’s been a little while since I got to play with the aircraft, I’m getting closer, but I’m getting confused pursuing the last bit of accuracy… Current parameters are:


Channel 7 is going to be a gripper head / drop release and its servo trims are default min & trim are to close the grip, and the high is to open/release it. In mission planner I set it as a gripper, next time I opened QGroundControl it was showing as an EPM, so I changed it to disabled but left the servo trims and bounds on that channel, as we don’t need it just now.

I’ve marked the rotor blades with tag of insulating tape, one green one red. When I walk the rotors around the aircraft, taking measurements of the pitch on each blade at 12, 3, 6 & 9 o’clock positions, I get the following values of pitch when at max collective, which I’m aiming for 12 degrees:
image

In those two tables, the first one is taking both blade measurements at the same position, green 12 beside red 12 etc. When I refer to juxtapositioned in the second table, as it’s a two blade heli, as one blade points at 12 o’clock, the opposite one is at 6 o’clock, so I lined up red 12 beside green 6 etc…

At Mid collective, I believe I’m meant to aim for 0 degrees pitch? But measuring pitches at the same 12,3,6 & 9 o’clock positions I am getting these values:
image

And for minimum pitch, which I’m trying to set at -2 degrees, measuring pitches at the same 12,3,6 & 9 o’clock positions, I get the following values:
image

For the record, I’m using an eBay TL90 digital pitch gauge, which was the grand sum of around £9.00 / ~$14.00, and I don’t know if that would cause problems? But for it’s cheapness, it seams to be consistent when measuring known unmovable objects…

I’ve adjusted the links from the washout arms to 55.91mm - both the same, I haven’t touched the links from the forward two servos, and the aft servo linkage isn’t arjustable like a normal pushrod. However, as I stated in the opening page I have followed the aircraft manuals procedure for zeroing the servos by removing the horns, pinning the linkages in the alignment position, putting the servos to midpoint, 1500pwm, and attaching the servo horns. But as I’m getting such varying pitch measurements, I’m unsure how to proceed.

I’m open to any suggestions, adjustments, measurements etc

Thanks in advance.

Normally you just level the swash, no need to measure blade angles around the rotation. Also 0 deg at 1500us is ok of you intend to fly inverted 3d style but for an autopiol controlled heli just -4 to +12 deg for example should work and allow auto rotation etc.
So you have just 2 deg from min collective to mid point then 12deg from mid point to max collective?