Sunday, February 7, 2010


Digital Pin Function


2 Receiver Aileron (Roll)
4 Receiver Throttle
5 Receiver Elevator (Pitch)
6 Receiver Rudder (Yaw)
7 Receiver Gear (Mode)
8 Receiver AUX1
3 Front Motor
9 Rear Motor
10 Right Motor
11 Left Motor


The original frame construction can be found here. The following are some shots of the latest version of this frame built for the AeroQuad.


Connect the four arms of your quadrocopter using a 1/2" PVC 4-way connector. Use a Dremmel or similar tool to drill out the middle of the 4-way connector. This will allow the wires from the motors to be fed into the middle of the quad frame.



































The arms used are T-REX 600 tail booms. The best are the aluminum ones (carbon fiber is too expensive with minimum weight savings). You can also select different colored ones to denote which is the front and back. Cut to your desired length.




 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

















Using 3/4" aluminum C rails, cut mounts for the 4 motors and 2 for the front / back landing gear connection points




































Pre-drill holes for the 4 motors. (I accidentally went drill happy and drilled more holes than needed for this picture














Flip the quad frame upside down and put the motor mounts on the 4 arm ends. Since they are lying on the floor, you will naturally get the 4 mounts level (assuming the floor is level). Tape them in place and drill holes through the mounts and the tube arms

































Use #6 1 1/4" screws and nuts to hold the motor mounts in place. Do the same thing for the landing gear mounts
The landing gears are from a T-REX 600. Use the version specially for the electric version of the T-REX 600 as they stand higher than the gas version. The next version of the frame should drill holes through the arms for the motor wiring, such that the motor wires don't feed in through the outside of each arm. In case of a crash, this should prevent any accidentally cutting of the motor wires (although this hasn't happened to me yet
                                                                Parts List

Flight Control Board
•Arduino Duemilanove w/ Atmega 328
The Arduino Duemilanove ("2009") is a microcontroller board based on the ATmega328 (datasheet). It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz crystal oscillator, a USB connection, a power jack, an ICSP header, and a reset button. It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to get started.

•Arduino Mega
The Arduino Mega is a microcontroller board based on the ATmega1280 (datasheet). It has 54 digital input/output pins (of which 14 can be used as PWM outputs), 16 analog inputs, 4 UARTs (hardware serial ports), a 16 MHz crystal oscillator, a USB connection, a power jack, an ICSP header, and a reset button. It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to get started. The Mega is compatible with most shields designed for the Arduino Duemilanove or Diecimila.

Brushless Motor / Electronic Speed Controller (ESC) Options
It is highly recommended to purchase spare motors for troubleshooting

Power Combination (Recommended) - Good with 10x4.7 propellers
Hacker Style 20-22L brushless motors
Turnigy Plush 18A ESC

Basic Combination - Good with 10x4.7 propellers
TowerPro 2410-09 brushless motors
Alternate 2410-09 with mount
Turnigy Plush 10A ESC

Heavy Lifting - Good with 12x3.8 propellers
Turnigy 2217 1050 kV brushless motors
Turnigy Plush 30A ESC

Counter rotating propellers
•10x4.7 CW & CCW Propellers - Great for general use
http://www.apcprop.com/ProductDetails.asp?ProductCode=LP10047
◦http://www.apcprop.com/ProductDetails.asp?ProductCode=LP10047SFP
•12x3.8 CW & CCW Propellers - Great for heavier payloads
◦http://www.apcprop.com/ProductDetails.asp?ProductCode=LP12038SF
◦http://www.apcprop.com/ProductDetails.asp?ProductCode=LP12038SFP

6 Degree of Freedom (DOF) Inertial Measurement Unit (IMU)
It is constructed out of two items:
5 DOF IMU
This Inertia Measurement Unit Combo Board incorporates the IDG500 dual-axis gyroscope and Analog Devices triple axis ADXL335 accelerometer in a tight footprint. The IMU board uses a standard 0.1" footprint and includes all outputs from both the IDG500 gyro and ADXL335 accelerometer ICs.



This IMU 5DOF is the latest in a long line of development boards. This latest version allows an unheard of 5 axis of sensing (Roll, Pitch, X, Y, Z) in less than 1 square inch, and under 2 grams!


By combining the IDG500 and ADXL335 sensors, the IMU board enables students and hobbyists to easily incorporate roll, pitch, and tilt measurements into their projects or robots.


Board comes fully assembled and tested. Units come as shown without headers installed. We recommend right-angle break away headers, straight pin headers, or wire up your own cable!


This board is pin compatible with the AeroQuad Shield 1.5+ and v2.0. We recommend you use female/male header pins to make a plug in solution. This will allow you to use your sensors with new future revisions to the AeroQuad Shield.

Dual Axis Gyro - adds the 6th degree of freedom
Description: This is a breakout board for the dual axis IXZ-500 gyro. The IXZ-500 is a very small gyroscope, designed to sense angular velocity on the x and z axes (pitch/yaw). The gyro features a primary output with a ±500°/s full scale range, for measuring higher speed motions, and has a secondary output with a ±110°/s full-scale range, for sensing more precise movements. These dual outputs allow the system designer to use an analog-to-digital-converter (ADC) with two fewer bits, saving overall system cost.

This breakout board includes the IXZ-500 and all components as shown - a 2.8VDC LDO voltage regulator, and filtering components. All necessary pins of the IXZ-500 are brought out to a 9-pin 0.1" pitch header.
This breakout board is compatible with the AeroQuad Shield v1.6 and v2.0.

Shields

Here are several choices, can be used to mount IMU and other electronics
•AeroQuad Shield

Arduino Prototype Shield
The Protoshield mates with the Arduino USB board and gives the user a small soldering area, two general LEDs, access to a BlueSMiRF socket, a general pushbutton switch, and most important of all - the Arduino reset switch is brought to the top level. This comes in kit form and must be soldered together by the end user. Please note - we do not ship assembly instructions! There are a few tutorials on assembly listed below. All soldering is through-hole (relatively easy) but always check your component orientation before soldering!

Kit Includes:
•1 - Protoshield bare PCB
•1 - 40pin break-away male header
•3 - 6-pin female connector
•2 - 8-pin female connector
•1 - 4-pin female connector
•2 - Bright 5mm LEDs
•2 - 330 Ohm resistors
•2 - Momentary push buttons
•1 - 10k resistor
•2 - 0.1uF Capacitors•Stackable Headers

Stackable Headers
These are stackable header pins which allow you to stack multiple shields on top of your Arduino Duemilanove.
Included are:
•Quantity 2 - six pin stackable headers
•Quantity 2 - eight pin stackable headers
•Quantity 1 - six pin stackable header for the ICSP connector


Recommended Battery
FlightMax 3 Cell (11.1V), 20C, 4000mAh)
Battery Monitor

What is it?

The purpose of this tool is to allow the user to setup the AeroQuad before it's first flight and to quickly adjust settings for desired flight characteristics. The user will be able to graphically observe correct operation of the sensors, transmitter commands and motor control of the quadrocopter. Additionally there are user programmable values such as PID control loop values and the Transmitter Factor that can be adjusted and stored to the AeroQuad's EEPROM. The description of each user defined value can be found here.
It is highly recommended to first checkout the AeroQuad without motors connected (or powered on) with the Configurator.

Description of User Defined Fields

The following values are configurable by the user and stored to the AeroQuad's EEPROM.
                                                           Value Name Description


Roll/Pitch/Yaw PID..........  PID values to stabilize quad. Values depend based on quad size and weight.   Typical values for a quad that weighs 1.7 kg / 60 cm measured motor to motor is P = 3.25, I = 0, and D = -10 for Roll/Pitch and P = 12, I = 0, D = 0 for Yaw.


Windup Guard...................When using Integral in PID, it limits the max value the Integral can be set at.

Transmitter Factor............. Controls the strength of the commands sent from the transmitter. Values range from 0.01 (weakest) to 1.0 (strongest).


Level Limit........................ Maximum value that experimental auto level code will add to Motor Commands.


Level Off ...........................Determines what amount of transmitter input will turn off Stable Flight Mode (experimental auto level). When this value is exceeded by the transmitter, the quad will automatically be put into Acrobatic Mode.

Gyro Smooth....................  Lower values cause more filtering. Range = 1.0 to 0.01. Typically set to 0.2, but ultimately depends on how much noise the gyros experience. This is implemented as a first order low pass filter.

Accel Smooth ................... Lower values cause more filtering. Range = 1.0 to 0.01. Typically set to 0.2, but ultimately depends on how much noise the accelerometers experience. This is implemented as a first order low pass filter.


Complementary Filter......... The cutoff frequency for the second order complementary filter. Typically set to 5 Hz, but ultimately depends on how much noise the quad's sensors experience.
Commanding the AeroQuad

Commanding the AeroQuad

•To arm the AeroQuad, move the throttle to it's lowest position and yaw to the right. This will allow the AeroQuad to send commands to the motor when they are connected. The Motor Output Status indicator will change from Not Armed to Armed.


•To disarm the AeroQuad move the throttle to it's lowest position and yaw to the left. If anything goes wrong remember to do this to kill power to the motors. The Motor Output Status indicator will change from Not Armed to Armed.
Pre-flight Checkout

In the upper right hand side of the Flight Configuration tab is a control that allows the user to display a chart or a bar plot of the motor output. Use the bar plot to do the following pre-flight checkout.


1.Arm the motor output by moving the throttle stick to the lower right. Increase the throttle to 50%.
2.By hand, roll the AeroQuad to the left. The left motor command should increase. The right motor command should decrease.
3.Roll the AeroQuad to the right. The right motor command should increase. The left motor command should decrease.
4.Pitch the AeroQuad down (the front motor should be lower in position than the rear motor). The front motor command should increase. The rear motor command should decrease.
5.Pitch the AeroQuad up (the front motor should be higher than the rear motor). The rear motor command should increase. The front motor command should decrease.
6.Rotate the AeroQuad clockwise. The front and rear motor commands should increase (assuming the motors are wired to rotate in the clockwise direction).
7.Rotate the AeroQuad counter-clockwise. The left and right motor commands should increase in value (assuming the motors are wired to rotate in the counter-clockwise direction).
8.Using the transmitter, move the roll stick to the left. The right motor command should increase. The left motor command should decrease.
9.Move the roll stick to the right. The left motor command should increase. The right motor command should decrease.
10.Move the pitch stick forward. The rear motor command should increase. The front motor command should decrease.
11.Move the pitch stick back. The front motor command should increase. The rear motor command should decrease.
12.Move the yaw stick to the left. The front and rear motor commands should increase.
13.Move the yaw stick to the right. The left and right motor commands should increase.

                                                           


Command Data

Use this page to observe the raw receiver values measured by the AeroQuad. This is mainly used for troubleshooting.


Connect to the AeroQuad



Use this screen to connect to the AeroQuad by either using a USB connection or through a wireless connection such as XBee or BlueTooth. Select the COM port to use. If you don't see the COM port of the connection method you'd like to use, select Refresh in the Communication Port pull down control. Click on the Connection Type button to choose between USB or a wireless connection. There are some Arduino Duemilanove 328's that have an approximate bootup time of 8 seconds when connected via USB, while an Arduino Mega takes about a second. Select a USB Bootup Delay that works for your setup.


                                         Transmitter Screen




This screen verifies that the transmitter is setup as expected by the AeroQuad. Each graph indicator should move in the same direction as the transmitter stick. If it doesn't, use the transmitter's reversing function for each channel to match what is on the screen. Make sure the trims and subtrims are centered.


•Before the first flight
◦Using the transmitter's travel adjustment, make sure the throttle has a full range betwen 1000-2000.
◦Using the travel adjustment and subtrims, make sure the roll, pitch and yaw channels are centered as close to 1500 as possible with the full range between 1000-2000.
•During flight
◦Use the transmitter's trim adjustments to achieve as stable hover with minimal user input.
◦If you return to the AeroQuad Configurator Transmitter Screen and see that channels are not centered around 1500, this is normal. Variances in motor efficiency and throttle calibration can cause this.


(A) Send roll and pitch gyro PID values


Send an 'A' followed by numeric values to transmit user defined roll and pitch PID values for gyro stabilized flight control. Each value is separated by a semi-colon in the form:

A[Roll P Gain];[Roll I Gain];[Roll D Gain];[Pitch P Gain];[Pitch I Gain];[Pitch D Gain];

P Gain = Proportional gain of PID (start with a value of 1, and increase/decrease until the quad is stable)


I Gain = Integral gain of PID (not normally used for gyro only control)


D Gain = Derivative gain of PID (use this to help quad return to a level hover quicker after forward flight, start with -1 and keep going negative until happy with quad behavior, it's OK to set D=0)


Send a 'B' to verify that the values you sent match the values in the AeroQuad, send a 'W' to write these values to the EEPROM. It is recommended to set all desired user defined values first, then send a 'W' to write all values to EEPROM at once.


Example string to transmit:
A2.5;0;-4;3.1;0;-3.8;


The above example command specifies a user defined PID values of:

Roll P Gain = 2.5

Roll I Gain = 0


Roll D Gain= -4


Pitch P Gain = 3.1


Pitch I Gain = 0


Pitch D Gain = -3.8


(B) Read roll and pitch gyro PID values


Send a 'B' to receive user defined roll and pitch PID values for gyro stabilized flight control. The AeroQuad will then send a string response in the form:


[Roll P Gain],[Roll I Gain],[Roll D Gain],[Pitch P Gain],[Pitch I Gain],[Pitch D Gain]


When you verify that the values you sent match the values in the AeroQuad, send a 'W' to write these values to the EEPROM. It is recommended to set all desired user defined values first, then send a 'W' to write all values to EEPROM at once.


Example string received:


2.5,0,-4,3.1,0,-3.8


(C) Send yaw PID values


Send a 'C' followed by numeric values to transmit user defined yaw PID values. Each value is separated by a semi-colon in the form:


C[Yaw P Gain];[Yaw I Gain];[Yaw D Gain];


P Gain = Proportional gain of PID (start with a value of 1, and increase/decrease until the quad is stable)


I Gain = Integral gain of PID (not normally used for gyro only control)


D Gain = Derivative gain of PID (use this to help quad return to a level hover quicker after forward flight, start with -1 and keep going negative until happy with quad behavior, it's OK to set D=0)


Use 'D' to verify that the values you sent match the values in the AeroQuad, send a 'W' to write these values to the EEPROM. It is recommended to set all desired user defined values first, then send a 'W' to write all values to EEPROM at once.


Example string to transmit:


C10;0;0;


The above example command specifies a user defined PID values of:


Yaw P Gain = 10


Yaw I Gain = 0


Yaw D Gain= 0


(D) Read yaw PID values


Send a 'D' to receive user defined yaw PID values. The AeroQuad will then send a string response in the form:


[Yaw P Gain],[Yaw I Gain],[Yaw D Gain]


When you verify that the values you sent match the values in the AeroQuad, send a 'W' to write these values to the EEPROM. It is recommended to set all desired user defined values first, then send a 'W' to write all values to EEPROM at once.


Example string received:


10,0,0


(E) Send roll and pitch auto level PID values - Experimental


Send an 'E' followed by numeric values to transmit user defined roll and pitch PID values for experimental auto level flight control. Each value is separated by a semi-colon in the form:


E[Roll P Gain];[Roll I Gain];[Roll D Gain];[Pitch P Gain];[Pitch I Gain];[Pitch D Gain];


P Gain = Proportional gain of PID (start with a value of 1, and increase/decrease until the quad is stable)


I Gain = Integral gain of PID (not normally used for gyro only control)


D Gain = Derivative gain of PID (use this to help quad return to a level hover quicker after forward flight, start with -1 and keep going negative until happy with quad behavior, it's OK to set D=0)


Send an 'F' to verify that the values you sent match the values in the AeroQuad, send a 'W' to write these values to the EEPROM. It is recommended to set all desired user defined values first, then send a 'W' to write all values to EEPROM at once.


Example string to transmit:


E2.5;0;-4;3.1;0;-3.8;


The above example command specifies a user defined PID values of:


Roll P Gain = 2.5


Roll I Gain = 0


Roll D Gain= -4


Pitch P Gain = 3.1


Pitch I Gain = 0


Pitch D Gain = -3.8


(F) Read roll and pitch auto level gyro PID values - Experimental


Send an 'F' to receive user defined roll and pitch PID values for experimental auto level flight control. The AeroQuad will then send a string response in the form:


[Roll P Gain],[Roll I Gain],[Roll D Gain],[Pitch P Gain],[Pitch I Gain],[Pitch D Gain]


When you verify that the values you sent match the values in the AeroQuad, send a 'W' to write these values to the EEPROM. It is recommended to set all desired user defined values first, then send a 'W' to write all values to EEPROM at once.


Example string received:


2.5,0,-4,3.1,0,-3.8


(G) Send auto level configuration values - Experimental


Send a 'G' followed by numeric values to transmit user defined experimental auto level values, followed by a string of numeric values separated by semi-colon in the form:


G[Level Limit];[Level Interval];


Level Limit = Maximum motor command value that experimental auto level algorithm sends to motors


Level Off = When transmitter input exceeds this value during a hover, the auto level feature is turned off


Send an 'H' to verify that the values you sent match the values in the AeroQuad, send a 'W' to write these values to the EEPROM. It is recommended to set all desired user defined values first, then send a 'W' to write all values to EEPROM at once.


Example string to transmit:


G1000;100;

The above example command specifies experimental auto level values of:


Level Limit = 1000


Level Off = 100


(H) Read auto level configuration values - Experimental


Send an 'H' to receive experimental auto level configuration values. The AeroQuad will then send a string response in the form:


[Level Limit],[Level Interval]


When you verify that the values you sent match the values in the AeroQuad, send a 'W' to write these values to the EEPROM. It is recommended to set all desired user defined values first, then send a 'W' to write all values to EEPROM at once.


Example string received:


1000,100


(I) Send flight control configuration values


Send a capital letter 'I' followed by numeric values to transmit user defined flight control values, followed by a string of numeric values separated by semi-colon in the form;


I[Windup Guard];[Transmitter Factor];


Windup Guard = Windup guard value used for PID loops to insure Integral gain is controlled and limited


Transmitter Factor = controls the strength of the commands sent from the transmitter (0.01 = weakest, 1.0 = strongest)


Send a 'J' to verify that the values you sent match the values in the AeroQuad, send a 'W' to write these values to the EEPROM. It is recommended to set all desired user defined values first, then send a 'W' to write all values to EEPROM at once.


Example string to transmit:


I500;0.2;


The above example command specifies experimental auto level values of:


Windup Guard = 500


Transmitter Factor = 0.2


(J) Read flight control configuration values


Send a 'J' to receive flight configuration values. The AeroQuad will then send a string response in the form:


[Windup Guard],[Transmitter Factor]


When you verify that the values you sent match the values in the AeroQuad, send a 'W' to write these values to the EEPROM. It is recommended to set all desired user defined values first, then send a 'W' to write all values to EEPROM at once.


Example string received:

500,0.2


(K) Send data filtering values


Send a capital letter 'K' followed by numeric values to transmit user defined data filtering values, followed by a string of numeric values separated by semi-colon in the form;


K[Gyro Smooth Factor];[Accelerometer Smooth Factor];[Complimentary Filter Time Constant];


Gyro Smooth Factor = Low pass filtering for acquired gyro data in the form


Accelerometer Smooth Factor = Low pass filtering for acquired accelerometer data in the form


Complimentary Filter Time Constant = time constant in seconds used for Complementary Filter


Send an 'L' to verify that the values you sent match the values in the AeroQuad, send a 'W' to write these values to the EEPROM. It is recommended to set all desired user defined values first, then send a 'W' to write all values to EEPROM at once.


Example string to transmit:


K0.20;0.20;0.500;


The above example command specifies experimental auto level values of:


Gyro Smooth Factor = 0.20


Accelerometer Smooth Factor = 0.20


Complimentary Filter Time Constant = 0.500 seconds


(L) Read data filtering values


Send an 'L' to receive data filtering values. The AeroQuad will then send a string response in the form:


[Gyro Smooth Factor],[Accelerometer Smooth Factor],[Complimentary Filter Time Constant]


When you verify that the values you sent match the values in the AeroQuad, send a 'W' to write these values to the EEPROM. It is recommended to set all desired user defined values first, then send a 'W' to write all values to EEPROM at once.


Example string received:


0.20,0.20,0.500


(Q) Read Sensor Data


Send a 'Q' to initiate reading back of gyro, accel, and calculated absolute roll/pitch values. After a 'Q' is transmitted, the following comma delimited string ending with a carriage return and line feed will be continuously sent from the AeroQuad:


[Roll Gyro Rate],[Pitch Gyro Rate],[Yaw Gyro Rate],[Roll Accel],[Pitch Accel],[Z Accel],[Roll Angle],[Pitch Angle]\r\n


Roll Gyro Rate = measured ADC value of roll gyro axis centered around zero


Pitch Gyro Rate = measured ADC value of pitch gyro axis centered around zero


Yaw Gyro Rate = measured ADC value of yaw gyro axis centered around zero


Roll Accelerometer Position = measured ADC value of roll accel axis centered around zero


Pitch Accelerometer Position = measured ADC value of pitch accel axis centered around zero


Z Accelerometer Position = measured ADC value of Z-axis accel axis centered around zero


Roll Angle = absolute roll angle experienced by the quad as calculated by the 2nd order complementary filter


Pitch Angle = absolute pitch angle experienced by the quad as calculated by the 2nd order complementary filter


(R) Read Raw Sensor Values


Send an 'R' to initiate reading back of all sensor values. After an 'R' is transmitted, the following comma delimited string ending with a carriage return and line feed will be continously sent from the AeroQuad:


[Roll Gyro ADC],[Pitch Gyro ADC],[Yaw Gyro ADC],[Analog Channel 2],[Analog Channel 3],[Analog Channel 4]\r\n


Roll Gyro ADC = raw ADC value for roll channel


Pitch Gyro ADC = raw ADC value for pitch channel


Yaw Gyro ADC = raw ADC value for yaw channel


Analog Channel 2 = raw ADC value for channel 2


Analog Channel 3 = raw ADC value for channel 3


Analog Channel 4 = raw ADC value for channel 4


Example string that can be transmitted:


512,534,510,0,1024,100\r\n


The above example string specifies:


Roll Gyro ADC = 512


Pitch Gyro ADC = 534


Yaw Gyro ADC = 510


Analog Channel 2 = 0


Analog Channel 3 = 1024


Analog Channel 4 = 100


(S) Read All Flight Values


Send an 'S' to initiate reading back of all flight values. After an 'S' is transmitted, the following comma delimited string ending with a carriage return and line feed will be sent continuously from the AeroQuad:


[Loop Time],[Roll Gyro Rate],[Pitch Gyro Rate],[Yaw Gyro Rate],[Throttle Output],[Roll PID Output],[Pitch PID Output],[Yaw PID Output],[Front Motor Command],[Rear Motor Command],[Right Motor Command],[Left Motor Command]\r\n


Loop Time = time in milliseconds it takes the AeroQuad to execute one iteration in code


Roll Gyro Rate = measured ADC value of roll gyro axis centered around zero


Pitch Gyro Rate = measured ADC value of pitch gyro axis centered around zero


Yaw Gyro Rate = measured ADC value of yaw gyro axis centered around zero


Throttle Output = measured PWM output of throttle (ranges from 1000-2000)


Roll PID Output = PID output for roll axis (ranges from 1000-2000)


Pitch PID Output = PID output for pitch axis (ranges from 1000-2000)


Yaw PID Output = PID output for yaw axis (ranges from 1000-2000)


Front Motor Command = PWM output sent to front motor (ranges from 1000-2000)


Rear Motor Command = PWM output sent to rear motor (ranges from 1000-2000)


Right Motor Command = PWM output sent to right motor (ranges from 1000-2000)


Left Motor Command = PWM output sent to left motor (ranges from 1000-2000)


Example string that can be transmitted:


2,-10,3,-2,1011,1012,1002,1000,1001,1003,1002,1004\r\n


The above example string specifies:


Loop Time = 2


Roll Gyro Rate = -10


Pitch Gyro Rate = 3


Yaw Gyro Rate = -2


Throttle Output = 1011


Roll PID Output = 1012


Pitch PID Output = 1002


Yaw PID Output 1000


Front Motor Command = 1001


Rear Motor Command 1003


Right Motor Command = 1002


Left Motor Command = 1004


(T) Read Processed Transmitter Values


Send a 'T' to initiate reading back of all processed transmitter values. These values are used as the setpoint into the PID control loop that describes the position of the roll, pitch and yaw transmitter stick in PWM values (centered around 1500). It is also multiplied by the Transmitter Factor to reduce the strength of this value. After a 'T' is transmitted, the following comma delimited string ending with a carriage return and line feed will be continuously sent from the AeroQuad:


[Roll Command],[Pitch Command],[Yaw Command]\r\n


Roll Command = PWM value of roll ransmitter stick (centered around 1500) and multiplied by Transmitter Factor


Pitch Command = PWM value of pitch ransmitter stick (centered around 1500) and multiplied by Transmitter Factor


Yaw Command = PWM value of yaw ransmitter stick (centered around 1500) and multiplied by Transmitter Factor

Example string that can be transmitted:


1520,1490,1500\r\n

The above example string specifies:


Roll Command = 1520


Pitch Command = 1490


Yaw Command = 1500


(U) Read Receiver Values


Send an 'U' to initiate reading back of R/C receiver values. After an 'U' is transmitted, the following comma delimited string ending with a carriage return and line feed will be continuously sent from the AeroQuad:


[Loop Time],[Throttle],[Roll],[Pitch],[Yaw],[Gear],[Aux]\r\n


Loop Time = time in milliseconds it takes the AeroQuad to execute one iteration in code


Roll = PWM output from roll channel (ranges from 1000-2000)


Pitch = PWM output from pitch channel (ranges from 1000-2000)


Yaw = PWM output from yaw channel (ranges from 1000-2000)


Throttle = PWM output throttle channel (ranges from 1000-2000)


Gear = PWM output from gear channel (ranges from 1000-2000)


Aux = PWM output from auxilliary channel (ranges from 1000-2000)


Example string that can be transmitted:


1,1403,1620,1523,1501,1900,1950\r\n

The above example command specifies receiver values of:


Loop Time = 1


Roll = 1403


Pitch = 1620


Yaw = 1523


Throttle = 1501


Gear = 1900


Aux = 1950


(W) Write user defined values to EEPROM


(X) Stop sending continuous data

Source Codehttp://code.google.com/p/aeroquad/source/browse/#svn/trunk


Down Loadhttp://code.google.com/p/aeroquad/downloads/list

Discussion ForumDiscussion Forum



Support Forum






















No comments:

Post a Comment