paparazzi-devel
[Top][All Lists]
Advanced

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

Re: [Paparazzi-devel] Problem controlling tail servo on tricopter


From: Pascal Fust
Subject: Re: [Paparazzi-devel] Problem controlling tail servo on tricopter
Date: Tue, 19 Apr 2016 09:13:18 +0200

Hi Loïc,
thanks for your advice, I'll try this, however, I've been using the similar setup (400Hz) on my fixed-wing paparazzi UAV with the same RC equipment without any problem.

Pascal

2016-04-19 7:12 GMT+02:00 Loic Drumettaz <address@hidden>:

Hi,

Try to set the  tail servo frequency to 50 Hz.

Loïc

Le 19 avr. 2016 04:38, "Pascal Fust" <address@hidden> a écrit :
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

_______________________________________________
Paparazzi-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel


_______________________________________________
Paparazzi-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel



reply via email to

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