Hello, I've got a problem with APM and Raptor 50 heli

I trying to set up APM on Raptor 50 with Glow engine. I connect my JR RC control to APM next variant:

 RC                             APM

 rx                           in      out 

1 trotle(pitch) ---->     3        3      

2  ailer          ---->     1        1

3 elevator      ---->     2        2

4 rudder        ---->     4        4

my transmitter sets up in "airoplane mode"

 The essence of the problem: I don't understand how set up the swash plate. On helicopter installed 90 degrees swash plate  I tried different variants of degrees setup. For example:

servo1  90      (aileron??)

servo2  0       (elevator??)

servo3  180    (pitch??) 

ailerons works normal, but elevator and pitch mix some strange.  

 please help me....

p.s. Sorry for bad English

Views: 3929

Reply to This

Replies to This Discussion

The scaling is actually quite easy.  If I knew exactly what I had to scale TO, I'd be done in 1 hour. I just haven't got my head around that yet.  It's that RC_Channel library, it's not clear.  It's a good library I think, it's just not clear, needs commenting.

No problem Randy, I'll pass along code after I've done all the changes. I'm in the process of adding a new frame type, dual motor frame with pitch / yaw via servo, roll / climb via motors, AKA Ospery in heli mode.


BTW if anyone is interested, I have lastest version of Arducopter compiling fine in Visual Studio via Visual Micro.... sure makes discovering the code easy :)



Dan, that Osprey sounds really neat.  I've had a pipe dream to buy two Hobby King 450s and turn them into a tandem rotor.  It would work quite similarly.  Maybe one day.  That's one nice thing about this system is that it allows us to do things like that.

I tried using VS for a while, but I found it way too powerful which made it too complicated for me, and I was having licensing issues.  I was supposed to have gotten it free with the Website Spark thing, but it ended up the license expired after 2 months, so I gave up on it.  Using Notepad++ and like it a lot.  I have to compile in Arduino still but, oh well.

Robert, I'm using 2, 480 size motors, on 12" props, connected to a 450 size heli frame via carbon fiber tubes. It flys very nice, without any gyro or APM, just using my radio mix.


Even carrys 2, 2200 3s lipo's with no problem :)


I will video when I find our camera (damn wife), but there is simular heli on u-tube

Here you go, but mine has longer arms and bigger motors, otherwise same :)




Wow, that flies really well!

While working on latest ACM 2.4 pull from Git, I find this problem, 

How do you enable show line numbers in Arduino 23 relax MacOS IDE? I can't find the options.

I have a compile error, ArduCopter.cpp:6388:2: error: #endif without #if

but, Arducopter.pde only has ~ 2150 lines??

Any Ideas?

There are so many #if #endif   conditions to check...

That's strange Mark.  I would suggest pulling from the download section and try compiling from that.  The GIT is in a constant state of flux.  You never know what you're going to get.  You could have pulled while somebody was in the middle of checking in changes.

Thanks Robert, I wish it was that easy.

I started with clean code, all was compiling fine with my changes before I applied my unknown Vodoo? 

I must have deleted a #if statement some where?

Current compile errors from code for new Frame_Config = Heli_90_Frame  for Raptors etc.

I can probably fix all soon but, the 1st one, I have spent hours on !. 

I usually compile after a few changes but this error got by me.

ArduCopter.cpp:6691:2: error: #endif without #if
ArduCopter.cpp: In function 'void heli_reset_swash()':
Heli_90:64: error: 'heli_rollFactor' was not declared in this scope
Heli_90:74: error: 'heli_pitchFactor' was not declared in this scope
ArduCopter.cpp: In function 'void heli_init_swash()':
Heli_90:110: error: 'heli_pitchFactor' was not declared in this scope
Heli_90:114: error: 'heli_rollFactor' was not declared in this scope
Heli_90:128: error: 'heli_servo_out' was not declared in this scope
ArduCopter.cpp: In function 'void heli_move_swash(int, int, int, int)':
Heli_90:194: error: 'heli_rollFactor' was not declared in this scope
Heli_90:195: error: 'heli_pitchFactor' was not declared in this scope
Heli_90:207: error: 'heli_servo_out' was not declared in this scope
Heli_90:211: error: 'heli_servo_out_count' was not declared in this scope
ArduCopter.cpp: In function 'void init_motors_out()':
motors_quad:32: error: redefinition of 'void init_motors_out()'
Heli_90:250: error: 'void init_motors_out()' previously defined here
ArduCopter.cpp: In function 'void motors_output_enable()':
motors_quad:39: error: redefinition of 'void motors_output_enable()'
Heli_90:257: error: 'void motors_output_enable()' previously defined here
ArduCopter.cpp: In function 'void output_motors_armed()':
motors_quad:47: error: redefinition of 'void output_motors_armed()'
Heli_90:270: error: 'void output_motors_armed()' previously defined here
ArduCopter.cpp: In function 'void output_motors_disarmed()':
motors_quad:154: error: redefinition of 'void output_motors_disarmed()'
Log:1: error: 'void output_motors_disarmed()' previously defined here
ArduCopter.cpp: In function 'void output_motor_test()':
motors_quad:185: error: redefinition of 'void output_motor_test()'
Log:11: error: 'void output_motor_test()' previously defined here\

I don't think I can help you with that, from here.

I might as well mention this here.  I've created a remote clone of the Arducopter project which I'll be using for this work.  I don't know if maybe we should all use it to avoid duplicating work?


(I haven't made any changes yet).

But, I think that you got a good idea to start with.  What I propose is to change all instances in the code of "Heli_Frame" to "Heli_Frame_CCPM".  This will represent our current code.

Then we make a new #define, but I would prefer to call it "Heli_Frame_Mechanical_Mixed" or "Heli_Frame_H1".  I want to make sure it's very clear what is what.  Which is best?  I think that "Heli_90_Frame" could be confused with 90° CCPM mixing, which does exist.  Some helis have 4 swash servos at 90°.  Yes, this means it's overconstrained, but for some reason it is done.

I would not change existing HELI_FRAME just use it as is, less change is better /easy?

HELI_H1_FRAME  seems less descriptive than HELI_90_FRAME,  Maybe HELI_NORM_FRAME?

Or maybe CCPM_FRAME and NORM_FRAME fewer characters, but still descriptive.

I am aware of 90° CCPM, but It is a special case that requires no Pitch servo, but uses 4 servos for collective mix (more power to move swash plate) similar to 120° CCPM mixing but at 90° 

I found the missing "}"  that caused Error #1, Whoo!

A lot of times its called single servo, CCPM_FRAME ........ SINGLE_SERVO_FRAME....although its a bit long in the name :)

Reply to Discussion


© 2018   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service