Difference between revisions of "Subsystem/actuators"

From PaparazziUAV
Jump to: navigation, search
Line 76: Line 76:
 
The define ''SERVO_HZ'' sets a higher update frequency for the pwm controllers which is needed for good response times.
 
The define ''SERVO_HZ'' sets a higher update frequency for the pwm controllers which is needed for good response times.
 
=== XML configuration ===
 
=== XML configuration ===
You need the matching [[Rotorcraft_Configuration#Supervision|Supervision section]].
+
{{Box Code|conf/airframes/myplane.xml|
 +
<pre>
 +
  <servos min="0" neutral="0" max="0xff">
 +
    <servo name="FRONT" no="0" min="1000" neutral="1000" max="2000"/>
 +
    <servo name="BACK" no="1" min="1000" neutral="1000" max="2000"/>
 +
    <servo name="LEFT" no="2" min="1000" neutral="1000" max="2000"/>
 +
    <servo name="RIGHT" no="3" min="1000" neutral="1000" max="2000"/>
 +
  </servos>
 +
</pre>
 +
}}
 +
You also need the matching [[Rotorcraft_Configuration#Supervision|Supervision section]].
  
  
 
[[Category:Software]] [[Category:User_Documentation]] [[Category:Subsystems]]
 
[[Category:Software]] [[Category:User_Documentation]] [[Category:Subsystems]]

Revision as of 12:36, 7 December 2011

This subsystem only needs be explicitly specified for rotorcrafts where there are several different actuators implementations and you have to add the correct one depending on the ESCs you use.

Currently possible actuators subsystems are

  • mkk
  • asctec
  • asctec_v2
  • pwm_supervision
  • skiron
  • heli

MKK

Mikrokopter ESCs

File: conf/airframes/myplane.xml
  <firmware name="rotorcraft">
     ...
   <subsystem name="actuators"     type="mkk">
     <configure name="MKK_I2C_SCL_TIME" value="50"/> <!-- this is optional, 150 is default, use 50 for 8 motors-->
   </subsystem>
   <define name="I2C_TRANSACTION_QUEUE_LEN" value="10"/> <!-- default is 8, increase to 10 or more for 8 motors-->
 </firmware>

XML configuration

required defines in section ACTUATORS_MKK:

  • NB: number of motors
  • ADDR: the I2C addresses of your motors
File: conf/airframes/myplane.xml
  <section name="ACTUATORS_MKK" prefix="ACTUATORS_MKK_">
    <define name="NB" value="4"/>
    <define name="ADDR" value="{ 0x52, 0x54, 0x56, 0x58 }"/>
  </section>

You also need the matching Supervision section.

Asctec v1

These controllers already to the mixing themselves, so the Supervision section is not needed.

File: conf/airframes/myplane.xml
  <firmware name="rotorcraft">
     ...
    <subsystem name="actuators" type="asctec"/>
  </firmware>

Asctec v2

File: conf/airframes/myplane.xml
  <firmware name="rotorcraft">
     ...
    <subsystem name="actuators" type="asctec_v2"/>
  </firmware>

XML configuration

You need the matching Supervision section.

PWM Supervision

Only for stm32 based autopilot boards (eg. Lisa/M, Lisa/L)

File: conf/airframes/myplane.xml
  <firmware name="rotorcraft">
     ...
    <subsystem name="actuators" type="pwm_supervison">
      <define name="SERVO_HZ" value="400"/>
    </subsystem>
  </firmware>

The define SERVO_HZ sets a higher update frequency for the pwm controllers which is needed for good response times.

XML configuration

File: conf/airframes/myplane.xml
  <servos min="0" neutral="0" max="0xff">
    <servo name="FRONT" no="0" min="1000" neutral="1000" max="2000"/>
    <servo name="BACK" no="1" min="1000" neutral="1000" max="2000"/>
    <servo name="LEFT" no="2" min="1000" neutral="1000" max="2000"/>
    <servo name="RIGHT" no="3" min="1000" neutral="1000" max="2000"/>
  </servos>

You also need the matching Supervision section.