palton wrote:As I have understood that EXT_MOTOR_RANGE extends the pwm range to increase from 125 steps resolution to 250 steps resolution, for higher resolution with ESC flashed with wii-esc software with 250 steps resolution.
correct.
palton wrote:As I have understood that EXT_MOTOR_RANGE extends the pwm range to increase from 125 steps resolution to 250 steps resolution, for higher resolution with ESC flashed with wii-esc software with 250 steps resolution.
PatrikE wrote:Single/Duocopter uses motor[] same way as multis.. so no probs there.
Heli 120/90 and airplane use servo[7] To eleminate the need of expensive digial servos for IC motors.
howardhb wrote:
Orange rx can' give ppm sum, but with simple inexpensive converter.
Video your results please!
copterrichie wrote:howardhb wrote:
Orange rx can' give ppm sum, but with simple inexpensive converter.
Video your results please!
Question please, can any NPN transistor be used or does it have to be the one specified on the drawing?
crashlander wrote:In my case it works without transistor and with 6.7kOhm pull-down.
PatrikE wrote:It's a kill switch programmed in the code so the card must be armed before throtleservo moves.
Code: Select all
/* Throttle & YAW
********************
Handeled in common functions for Heli */
if (!f.ARMED){
//servo[7] = 900; // Kill throttle when disarmed
servo[7] = rcData[THROTTLE]; // Disables ARM function
if (YAWMOTOR){servo[5] = MINCOMMAND;} else {servo[5] = yawControll; } // Kill YAWMOTOR when disarmed
}else {
servo[7] = rcData[THROTTLE]; // 50hz ESC or servo
if (YAWMOTOR && rcData[THROTTLE] < MINTHROTTLE){servo[5] = MINCOMMAND;}
else{ servo[5] = yawControll; } // YawSero
}
Code: Select all
#define COLLECTIVE_PITCH THROTTLE
Code: Select all
// Limit Collective range up/down
int16_t collect = rcData[COLLECTIVE_PITCH]-collRange[1];
if (collect>0) {
collective = collect * (collRange[2]*0.01);
} else{
collective = collect * (collRange[0]*0.01);
}
PatrikE wrote:A0 - A2 is availble for servos.
They must be activated in def. Servo from....
And is servo[0] to servo[2].
Code: Select all
#define BREAKPOINT 1500
// PITCH & ROLL only dynamic PID adjustemnt, depending on throttle value
if (rcData[THROTTLE]<BREAKPOINT) {
prop2 = 100;
} else {
if (rcData[THROTTLE]<2000) {
prop2 = 100 - (uint16_t)conf.dynThrPID*(rcData[THROTTLE]-BREAKPOINT)/(2000-BREAKPOINT);
}