paparazzi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Paparazzi-devel] Problem controlling tail servo on tricopter


From: Pascal Fust
Subject: [Paparazzi-devel] Problem controlling tail servo on tricopter
Date: Mon, 18 Apr 2016 23:21:20 +0200

Hi all,

I'm trying to get my tricopter to run on paparazzi. Therefore, I've adapted the CDW tricopter airframe file and changed the motor control from MKK to PWM, as I want test the rig for the instance without the I2C control option. Motors control works well, however I am struggling with the tail servo. It just doesn't work on paparazzi when connected via the autopilot, directly connected to the PWM of the RC receiver it works perfectly fine.

I attached the complete airframe XML, however the airframe file includes the following sections, important for PWM control:

<airframe name="KroozSD Tricopter">
  <firmware name="rotorcraft">
.....
    <subsystem name="radio_control" type="ppm">
       <configure name="RADIO_CONTROL_PPM_PIN" value="SERVO10"/>    <!--  -->
    </subsystem>

    <subsystem name="actuators"     type="pwm">
      <define name="SERVO_HZ" value="400"/>
    </subsystem>
......
  </firmware>
<servos driver="Pwm">
    <servo name="TAIL" no="5" min="1000" neutral="1500" max="2000"/>
    <servo name="BACK"    no="2" min="988" neutral="1000" max="2012"/>
    <servo name="FRONTRIGHT"   no="1" min="988" neutral="1000" max="2012"/>
    <servo name="FRONTLEFT"    no="0" min="988" neutral="1000" max="2012"/>
  </servos>

  <commands>
    <axis name="PITCH" failsafe_value="0"/>
    <axis name="ROLL" failsafe_value="0"/>
    <axis name="YAW" failsafe_value="0"/>
    <axis name="THRUST" failsafe_value="0"/>
  </commands>

<command_laws>
    <call fun="motor_mixing_run(autopilot_motors_on,FALSE,values)"/>
    <set servo="FRONTLEFT" value="motor_mixing.commands[0]"/>
    <set servo="FRONTRIGHT" value="motor_mixing.commands[1]"/>
    <set servo="BACK" value="motor_mixing.commands[2]"/>
    <set servo="TAIL" value="@YAW"/>
  </command_laws>

  <rc_commands>
    <set command="YAW" value="@YAW"/>
   </rc_commands>
.....
</airframe>


The radio XML looks as follows:
<radio name="FrSky X9D + X8R receiver 12ch SBus connection" data_min="900" data_max="2100" sync_min ="5000" sync_max ="28000" pulse_type="POSITIVE">
     <channel ctl="A" function="THROTTLE" min="998" neutral="998" max="2011" average="0"/>
     <channel ctl="B" function="YAW"      min="990" neutral="1500" max="2011" average="0"/>
....
     <channel ctl="gain1" function="XKILL"     min="2050" neutral="1496" max="948" average="1"/>
....
</radio>



What am I missing here?
Thanks for your help, guys, I really appreciate your support !

Pascal

Attachment: my_krooz_sd_triCopt_test_PMW.xml
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]