Unterschiede zwischen den Revisionen 29 und 30
Revision 29 vom 07.10.2007 18:25
Größe: 18764
Autor: IngoBusker
Kommentar:
Revision 30 vom 08.01.2009 15:40
Größe: 18016
Autor: brashley
Kommentar: Added GyroMenue.png back into Step 4
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 1: Zeile 1:
||<tablewidth="200px" tablestyle="text-align: center;"bgcolor="#ffffa0"> http://mikrocontroller.cco-ev.de/images/deu.gif Seite in [:FlightCtrlAnleitung:deutsch] || ||<tablewidth="200px" tablestyle="TEXT-ALIGN: center"bgcolor="#ffffa0"> http://mikrocontroller.cco-ev.de/images/deu.gif Seite in [:FlightCtrlAnleitung:deutsch] ||
Zeile 9: Zeile 9:
= Flight-Ctrl V1.0: Schematic,  Parts Soldering and Getting Started = = Flight-Ctrl V1.0: Schematic, Parts Soldering and Getting Started =
Zeile 13: Zeile 13:
This board is the MikroKopter’s  control board . It fulfils the following tasks:

 * measuring the angular    velocity of the three axes
 * measuring the acceleration    data of the three axes
 * measuring the atmospheric    pressure for altitude control
 * evaluation of a    digital compass signal
 * measuring the battery    voltage
 * evaluation of the    R/C signal
 * processing of sensor    data and computing the actual angular position
 * driving four Brushless    ESCs (electronic speed controllers)
This board is the MikroKopter’s control board . It fulfils the following tasks:

 * measuring the angular velocity of the three axes
 * measuring the acceleration data of the three axes
 * measuring the atmospheric pressure for altitude control
 * evaluation of a digital compass signal
 * measuring the battery voltage
 * evaluation of the R/C signal
 * processing of sensor data and computing the actual angular position
 * driving four Brushless ESCs (electronic speed controllers)
Zeile 24: Zeile 24:
 * Dimensions 50 *    50mm
 * Two LEDs (e.g. Okay    & Error)
 * Two transistor outputs    for external lights (or other functions)
 * Dimensions 50 * 50mm
 * Two LEDs (e.g. Okay & Error)
 * Two transistor outputs for external lights (or other functions)
Zeile 28: Zeile 28:
 * A receiver can be    powered by 5V
= Micro  Controller =
Computing and processing is  accomplished by a Atmel  ATMEGA644  @ 20MHz. This is a low cost  and popular 8-Bit-processor.

The criteria for the choice  of the micro controller were:
 * A receiver can be powered by 5V
= Micro Controller =
Computing and processing is accomplished by a Atmel ATMEGA644 @ 20MHz. This is a low cost and popular 8-Bit-processor.

The criteria for the choice of the micro controller were:
Zeile 38: Zeile 38:
 * availability of    free development software Sensors
The flight attitude of a quadrocopter  must be controlled electronically. We need different sensors for this.

== Gyro  Sensors ==
They measure the angular velocity  (rotational speed) of each axis. We need three sensors to stabilize  all three axes. These sensors are the most elementary components (-> GyroScope  )
 * availability of free development software Sensors
The flight attitude of a quadrocopter must be controlled electronically. We need different sensors for this.

== Gyro Sensors ==
They measure the angular velocity (rotational speed) of each axis. We need three sensors to stabilize all three axes. These sensors are the most elementary components (-> GyroScope )
Zeile 45: Zeile 45:
 . The main function of the acceleration  sensor is to measure the actual tilt of the  MikroKopter and to support  the altitude adjustment. Here we use a three axis sensor.
Theoretically we could omit  this sensor if the quadrocopter should work in the so called  Heading-Hold-Mode.  ( --> [:BeschleunigungsSensor:Acceleration Sensor] )

== Atmospheric  pressure sensor ==
It serves to stabilize the  flight altitude. This sensor is optional. The large pressure openings  should be closed with adhesive tape where we make a tiny hole with a  needle. This protects from false readings due to wind and light. (-->  Pressure sensor  )
 . The main function of the acceleration sensor is to measure the actual tilt of the MikroKopter and to support the altitude adjustment. Here we use a three axis sensor.
Theoretically we could omit this sensor if the quadrocopter should work in the so called Heading-Hold-Mode. ( --> [:BeschleunigungsSensor:Acceleration Sensor] )

== Atmospheric pressure sensor ==
It serves to stabilize the flight altitude. This sensor is optional. The large pressure openings should be closed with adhesive tape where we make a tiny hole with a needle. This protects from false readings due to wind and light. (--> Pressure sensor )
Zeile 54: Zeile 54:
The controller board communicates  with the outside world through different interfaces. The controller board communicates with the outside world through different interfaces.
Zeile 57: Zeile 57:
Here we connect the receiver.  Two wires for the supply voltage and one for the receiver’s R/C sum  signal. Compared to a normal servo PPM signal the sum signal contains  all the channels sent by the R/C transmitter before they are decoded  by the receiver. This signal is available in every receiver but there  are only a few where this signal is directly accessible from outside  (e.g. the RX3 Multi by ACT). ( --> RC receiver )

== I2C  Bus ==
We connect the BL-ESCs to this  bus, which carries the command sequences. The Flight-Ctrl needs our  special brushless ESC, to ensure fast communication via the I2C Bus.  Standard ESCs '''cannot''' be used as they are to slow. The I2C Bus  has a clock (SCL) and data (SDA) line. The bus connects all SCL and  SDA lines together.
Here we connect the receiver. Two wires for the supply voltage and one for the receiver’s R/C sum signal. Compared to a normal servo PPM signal the sum signal contains all the channels sent by the R/C transmitter before they are decoded by the receiver. This signal is available in every receiver but there are only a few where this signal is directly accessible from outside (e.g. the RX3 Multi by ACT). ( --> RC receiver )

== I2C Bus ==
We connect the BL-ESCs to this bus, which carries the command sequences. The Flight-Ctrl needs our special brushless ESC, to ensure fast communication via the I2C Bus. Standard ESCs '''cannot''' be used as they are to slow. The I2C Bus has a clock (SCL) and data (SDA) line. The bus connects all SCL and SDA lines together.
Zeile 63: Zeile 63:
Here we connect a PC for testing  and calibration.  The signal is TTL and not V24. For this reason we  need to connect an interface converter if we want to communicate with  the standard serial interface of the PC. Later on this interface can  also be used for the communication (asynchronous) with other controllers. Here we connect a PC for testing and calibration. The signal is TTL and not V24. For this reason we need to connect an interface converter if we want to communicate with the standard serial interface of the PC. Later on this interface can also be used for the communication (asynchronous) with other controllers.
Zeile 66: Zeile 66:
The ATMEL controller will be  programmed via an ISP interface. This interface can be also be used  for a fast communication (synchronous serial) with other controllers. The ATMEL controller will be programmed via an ISP interface. This interface can be also be used for a fast communication (synchronous serial) with other controllers.
Zeile 69: Zeile 69:
A digital compass can be connected  to the PC4 input of the universal connector. A digital compass can be connected to the PC4 input of the universal connector.
Zeile 72: Zeile 72:
We do not guarantee an error  free behaviour of the electronics or the software. Despite thoroughful  design and verification we will not be held responsable (directly or  indirectly) for the flawlessness of the software, the hardware or the  informations included. You use the electronics at your own risk (this  is also applicable for the PC software delivered). Further on we deny  any responsability for colateral damages of goods or people which could  arise from the use of this application. It is your own responsability  to make a complete system test.

The MikroKopter  is not a children’s toy.  It is too expensive and too dangerous  for this.  Do not fly over people!

In any case you should contract  a special model airplane insurance before the first flight because most ordinary liability insurances will not cover damages caused by model airplanes.
We do not guarantee an error free behaviour of the electronics or the software. Despite thoroughful design and verification we will not be held responsable (directly or indirectly) for the flawlessness of the software, the hardware or the informations included. You use the electronics at your own risk (this is also applicable for the PC software delivered). Further on we deny any responsability for colateral damages of goods or people which could arise from the use of this application. It is your own responsability to make a complete system test.

The MikroKopter is not a children’s toy. It is too expensive and too dangerous for this. Do not fly over people!

In any case you should contract a special model airplane insurance before the first flight because most ordinary liability insurances will not cover damages caused by model airplanes.
Zeile 79: Zeile 79:
The use of the whole or parts  of the MikroKopter  project (hardware, software and documentation) is only allowed for private  (non-commercial) use. If you intend a direct or indirect commercial  use please contact us for conditions.

= Setting up  the board =
The use of the whole or parts of the MikroKopter project (hardware, software and documentation) is only allowed for private (non-commercial) use. If you intend a direct or indirect commercial use please contact us for conditions.

= Setting up the board =
Zeile 84: Zeile 84:
== Step 1:  Connection and Control of the supply voltage ==
Before powering up you should  once again check the correct position of the voltage regulator IC4 (µA7805)  and the diode D1. The supply voltage is connected to the pad J1 (marked  „+“  at the switch) and to the pad J2 (marked „-“ close to the  switch). It is strongly advised to use a current limited power supply  until you know that everything is working correctly. The supply current  for the Flight-Ctrl board'' ''plus the four BL ESCs is about 200  mA.

'''5,0V''' Test of the digital  supply. Check at TP1 to GND. Voltage should be between 4,9 and 5,1 V.

'''3,0V''' Test of the analog  supply. Check at TP2 to GND. Voltage should be between 2,9 and 3,1 V.

== Step 2: Gyro  Amplifier Calibration ==
The outputs of the gyro amp  (Pins 8, 7 and 1 of IC2) should show a voltage of about       1,2-1,8V (ideal value would be 1,5V) in idle state (board/copter not  moving). The factory adjusted output signal of the gyros may vary slightly,  we must therefore sometimes correct the signal.

We need to add the resistors  R9 (for TP4), R13 (for TP5) and R17 (for TP3) to ''increase'' the  value of the signal (the lower the value of the resistor, the higher  the output signal). Or we need to add the resistors R29 (for TP4), R20  (for TP5) und R15 (for TP3) to ''lower'' the signal (the lower the  value of the resistor, the lower the output signal).

Default values for the calibration  resistors:

'''Increasing the amplifier  signal:''' signal value < 0,8V : 150kOhm < 1,0V : 220kOhm <  1,2V : 470kOhm

'''Lowering the amplifier  signal:''' signal value > 2,2V : 150kOhm > 2,0V : 220kOhm >  1,8V : 470kOhm

After a severe crash or irregular  movements of the MikroKopter (e.g. pitch is smoother in one direction  than the other) the signal should be checked and recalibrated if needed.

== Step 3:  Programming with the MikroKopter Tool (avrdude) ==
== Step 1: Connection and Control of the supply voltage ==
Before powering up you should once again check the correct position of the voltage regulator IC4 (µA7805) and the diode D1. The supply voltage is connected to the pad J1 (marked „+“ at the switch) and to the pad J2 (marked „-“ close to the switch). It is strongly advised to use a current limited power supply until you know that everything is working correctly. The supply current for the Flight-Ctrl board'' ''plus the four BL ESCs is about 200 mA.

'''5,0V''' Test of the digital supply. Check at TP1 to GND. Voltage should be between 4,9 and 5,1 V.

'''3,0V''' Test of the analog supply. Check at TP2 to GND. Voltage should be between 2,9 and 3,1 V.

== Step 2: Gyro Amplifier Calibration ==
The outputs of the gyro amp (Pins 8, 7 and 1 of IC2) should show a voltage of about 1,2-1,8V (ideal value would be 1,5V) in idle state (board/copter not moving). The factory adjusted output signal of the gyros may vary slightly, we must therefore sometimes correct the signal.

We need to add the resistors R9 (for TP4), R13 (for TP5) and R17 (for TP3) to ''increase'' the value of the signal (the lower the value of the resistor, the higher the output signal). Or we need to add the resistors R29 (for TP4), R20 (for TP5) und R15 (for TP3) to ''lower'' the signal (the lower the value of the resistor, the lower the output signal).

Default values for the calibration resistors:

'''Increasing the amplifier signal:''' signal value < 0,8V : 150kOhm < 1,0V : 220kOhm < 1,2V : 470kOhm

'''Lowering the amplifier signal:''' signal value > 2,2V : 150kOhm > 2,0V : 220kOhm > 1,8V : 470kOhm

After a severe crash or irregular movements of the MikroKopter (e.g. pitch is smoother in one direction than the other) the signal should be checked and recalibrated if needed.

== Step 3: Programming with the MikroKopter Tool (avrdude) ==
Zeile 107: Zeile 107:
The software transfer (In System  Programming) is easiest with our serial converter (SerCon),  which contains already an ISP circuit.  The PC must have a “real“  serial interface for programming. USB to serial/parallel converters  or similar adaptors are definitively '''not ''' working! The serial converter is connected to the 6 pin header with  a ribbon cable.  The LED on the converter board will be in an indifferent  state (on or off). The Flight-Ctrl board must be connected to the supply  voltage for programming.

As an alternative the software  can be programmed via USB with an AVR ISP mkII. The description is available  under ["USB-AVRISPmkII"]. Another possibility for a later data  communication via USB is the  [:USB-TTL-232 Adapter:USB-TTL-232 adaptor].

A  boot loader is now available for the Flight-Ctrl. Instructions for programming  can be found under MikroKopterTool...

== Step 4:  Hardware  Test ==
=== Test  of sensor values ===
When the controller has been  successfully programmed, you can check the sensor values with the MikroKopter  tool. For this procedure you connect the serial converter with the large  ribbon cable.  The ISP cable must be disconnected for debugging or the  jumper must be removed from the converter board.

=== Test  of gyro and acceleration sensor data ===
The board must be put in a  horizontal position and switched on (or reset), then start the scope  option in the MikroKopter  tool (if the scope was already running you should stop it for a moment  to reset the zoom range). We observe here only the first five analog  values.  The other analog values can be switched off via the tab „Scope“  in the MikroKopter  tool if the display becomes to difficult to read.

Now you tilt the board as smoothly  as possible to about 45 degrees in direction of the pitch axis. On the  scope you check the signal values. The signal of the pitch integral  and the pitch acceleration sensor (here red and yellow) should show  a significant value''. ''

It is important that the overlaid  graphs are identical as far as possible.

The same check has to be made  on the roll axis (here blue and green):
The software transfer (In System Programming) is easiest with our serial converter (SerCon), which contains already an ISP circuit. The PC must have a “real“ serial interface for programming. USB to serial/parallel converters or similar adaptors are definitively '''not '''working! The serial converter is connected to the 6 pin header with a ribbon cable. The LED on the converter board will be in an indifferent state (on or off). The Flight-Ctrl board must be connected to the supply voltage for programming.

As an alternative the software can be programmed via USB with an AVR ISP mkII. The description is available under ["USB-AVRISPmkII"]. Another possibility for a later data communication via USB is the [:USB-TTL-232 Adapter:USB-TTL-232 adaptor].

A boot loader is now available for the Flight-Ctrl. Instructions for programming can be found under MikroKopterTool...

== Step 4: Hardware Test ==
=== Test of sensor values ===
When the controller has been successfully programmed, you can check the sensor values with the MikroKopter tool. For this procedure you connect the serial converter with the large ribbon cable. The ISP cable must be disconnected for debugging or the jumper must be removed from the converter board.

=== Test of gyro and acceleration sensor data ===
The board must be put in a horizontal position and switched on (or reset), then start the scope option in the MikroKopter tool (if the scope was already running you should stop it for a moment to reset the zoom range). We observe here only the first five analog values. The other analog values can be switched off via the tab „Scope“ in the MikroKopter tool if the display becomes to difficult to read.

Now you tilt the board as smoothly as possible to about 45 degrees in direction of the pitch axis. On the scope you check the signal values. The signal of the pitch integral and the pitch acceleration sensor (here red and yellow) should show a significant value''. ''

It is important that the overlaid graphs are identical as far as possible.

The same check has to be made on the roll axis (here blue and green):
Zeile 128: Zeile 128:
Then we check the yaw gyro.  For this purpose we turn the board around the yaw axis and observe the  signal of the gyro. As long as we turn the board there will be a value  > 0 which will come back to zero when we stop moving the board.

We check the offset values  of the gyros in the virtual display (the values in parenthesis):

For this purpose we click through  the buttons in the corresponding menu. The offset values should be around  500 (+-100). In this example the yaw gyro has a problem (178). It must  be recalibrated or changed.

=== Test  of the Rx signal ===
In the virtual display we can  read the R/C values:
Then we check the yaw gyro. For this purpose we turn the board around the yaw axis and observe the signal of the gyro. As long as we turn the board there will be a value > 0 which will come back to zero when we stop moving the board.

We check the offset values of the gyros in the virtual display (the values in parenthesis):

attachment:FlightCtrlAnleitung/GyroMenue.png

F
or this purpose we click through the buttons in the corresponding menu. The offset values should be around 500 (+-100). In this example the yaw gyro has a problem (178). It must be recalibrated or changed.

=== Test of the Rx signal ===
In the virtual display we can read the R/C values:
Zeile 139: Zeile 141:
With the R/C control we can  adjust the values in the range of ca. -120 to +120.

=== Test  of the voltage measurement ===
In this menu you can check  the value of the voltage measurement:
With the R/C control we can adjust the values in the range of ca. -120 to +120.

=== Test of the voltage measurement ===
In this menu you can check the value of the voltage measurement:
Zeile 148: Zeile 150:
The Rx level is 0 because no  receiver was connected.

== Step 5:  Installation into the MikroKopter ==
The Rx level is 0 because no receiver was connected.

== Step 5: Installation into the MikroKopter ==
Zeile 153: Zeile 155:
=== Synopsis  of the connection of other components ===
=== Short  form: ===
 * The arrow on the    mounted Flight-Ctrl board points in flight direction
 * Addressing the motors    : 1=front 2=back 3=right 4=left
 * The direction of    rotation of the motors:  the left and right motor (roll axis) turn counter    clockwise (seen from above) and the front and back motor (pitch axis)    turn clockwise.
=== Synopsis of the connection of other components ===
=== Short form: ===
 * The arrow on the mounted Flight-Ctrl board points in flight direction
 * Addressing the motors : 1=front 2=back 3=right 4=left
 * The direction of rotation of the motors: the left and right motor (roll axis) turn counter clockwise (seen from above) and the front and back motor (pitch axis) turn clockwise.
Zeile 159: Zeile 161:
 * the multi signal    from the receiver with a 3 wire servo cable
 * a LiPo battery (11,1V    ca. 1,5-2,5Ah dischargeable with 15-20C) with two wires of 0.75mm² minimum     (positive=red; negative=black)
 * four BL-ESCs with    two supply wires of 0.75mm² minimum  (positive=red; negative=black)
 * I2C Bus for the    communication with the Brushless-ESCs
Details of the whole construction  see ElektronikVerkabelung....

== Step 6:  Control of the MikroKopter (short form) ==
 * the multi signal from the receiver with a 3 wire servo cable
 * a LiPo battery (11,1V ca. 1,5-2,5Ah dischargeable with 15-20C) with two wires of 0.75mm² minimum (positive=red; negative=black)
 * four BL-ESCs with two supply wires of 0.75mm² minimum (positive=red; negative=black)
 * I2C Bus for the communication with the Brushless-ESCs
Details of the whole construction see ElektronikVerkabelung....

== Step 6: Control of the MikroKopter (short form) ==
Zeile 167: Zeile 169:
The MikroKopter  must sit level on a rigid support. The green LED of the Flight-Ctrl  is on, the red is off and the beeper is silent. The green LEDs of the  BL-ESCs are on, the reds are off.  If the beeper beeps the reception  is jammed or the voltage of the battery is too low.

=== Calibration of the sensors  and choice of setting ===
''Remark:  this description is applicable for throttle __not inverted__:  throttle minimal = pointed '''TO''' ''''' '''the pilot '' ''' ''' ''

For the calibration of the  sensors push the throttle/yaw lever to the upper left corner until the  beeper beeps and the green LED goes off.  This way the controller regards the current gyro values as "levelled". The beeper will tell you which "setting" is currently active. There are 5 possible settings. During the calibration as just described you can choose the appropriate setting with the pitch/roll lever like this:
The MikroKopter must sit level on a rigid support. The green LED of the Flight-Ctrl is on, the red is off and the beeper is silent. The green LEDs of the BL-ESCs are on, the reds are off. If the beeper beeps the reception is jammed or the voltage of the battery is too low.

=== Calibration of the sensors and choice of setting ===
''Remark: this description is applicable for throttle __not inverted__: throttle minimal = pointed '''TO''' ''''''''the pilot ''''''''''

For the calibration of the sensors push the throttle/yaw lever to the upper left corner until the beeper beeps and the green LED goes off. This way the controller regards the current gyro values as "levelled". The beeper will tell you which "setting" is currently active. There are 5 possible settings. During the calibration as just described you can choose the appropriate setting with the pitch/roll lever like this:
Zeile 178: Zeile 180:
Meaning: Pitch-Roll lever  left  middle = Setting1 ; left upper = Setting2  and so on.

 * To start  push    the throttle/yaw lever to the lower right corner until the motors start
 * The levelling    control starts working from a certain throttle value only.
Meaning: Pitch-Roll lever left middle = Setting1 ; left upper = Setting2 and so on.

 * To start push the throttle/yaw lever to the lower right corner until the motors start
 * The levelling control starts working from a certain throttle value only.
Zeile 183: Zeile 185:
Push the throttle/yaw lever  to the lower left corner until the motors stop. Push the throttle/yaw lever to the lower left corner until the motors stop.
Zeile 187: Zeile 189:
=== Behaviour  when loosing Tx or Rx signal ===
If the Rx signal gets lost  during the flight the motors will continue to turn for a few seconds  while the MikroKopter  tries to get in a horizontal position.  This should (more or less) allow  for a controlled descent of the quadrocopter.

== Parts  soldering ==
The parts should be soldered  in the same order as shown in the listing.  This simplifies the task.

Parts in ''italics ''are  placed on the solder side (bottom)
||'''Qty''' ||''' Reichelt Order#''' ||''' Remark ''' ||'''Part''' ||''' Name ''' ||
|| 1 || ATMEGA 644-20 AU ||  Check origin ||AVR-RISC-Controller || IC1 ||
|| 1 || TS 914 I SMD ||  Check origin ||Rail to Rail Op-Amp || IC2 ||
|| 5 || NPO-G0805 22P || ||                       Capacitor || C1, C2, C28, C29,C30 ||
|| 5 || X7R-G0805 22N || ||                       Capacitor || C9, C15, C17, ''C27'', C31 ||
|| 17 || X7R-G0805 100N || ||                       Capacitor || C5, C6, C8, C12, C13, C16, C18, C19, C20, C21, ''C11'', ''C22, C14, C23, C24, C25, C26'' ||
|| 5 || SMD-0805 1,00K || ||                       SMD-Chip-resistor || R2, R5, R6, R7, ''R4'' ||
|| 5 || SMD-0805 100 || ||                       SMD-Chip-resistor || R24, R27, R28, ''R32, R33'' ||
|| 5 || SMD-0805 10,0K || ||                       SMD-Chip-resistor || R8, R12, R16, ''R1'', ''R3'' ||
|| 4 || SMD-0805 100K || ||                       SMD-Chip-resistor || R10,R11, R14, R18 ||
|| 1 || SMD-0805 220K || ||                       SMD-Chip-resistor || R26 ||
|| 1 || SMD-0805 2,20K || ||                       SMD-Chip-resistor || R25 ||
|| 1 ||
SMD-0805 6,80K || ||                       SMD-Chip-resistor || R21 ||
||
3 || SMD-0805 18,0K || ||                       SMD-Chip-resistor || R22, ''R30, R31'' ||
|| 1 || SMD-0805 680 || ||                       SMD-Chip-resistor ||R19 ||
|| 1 || SMD-LED 0805 GN ||Arrow on bottom || CHIP-LED green || LED1 ||
|| 1 || SMD-LED 0805 RT ||Arrow on bottom || CHIP-LED red || LED2 ||
|| 2 || BC 817-25 SMD ||Check direction || CHIP-Transistor ||''T1, T2'' ||
|| 1 || LQH3C 100µ || ||                       SMD-Inductor || L1 ||
|| 1 || -- || Short with wire || omitted || C3 ||
|| 1 || 1N 4001 || Check marking || Diode || D1 ||
|| 1 ||
20,0000-HC49U-S || ||                       Quartz 20,0MHz || ''Q1'' ||
|| 1 || LP 2950 ACZ3,0 || Check marking || Voltage regulator +3,0V || IC5 ||
|| 1 || µA 7805 || Check marking || Voltage regulator || IC4 ||
|| 2 || RAD 330/16 || Check polarity || Electrolytic cap || C7, C10 ||
|| 1 || MS 500F || Solder to the rim || Switch, 2-pole || SW1 use wire if necessary ||
|| 1 || SL 2X10G 2,54 || Divide in 2*3 and 2*5 || Header two rows || SV1, SV5 ||
|| 1 || SUMMER TDB 05 || Polarity: (+) to the rim of the board || Beeper || SP1 ||
||||<style="text-align: center;"> '''Sensors''' ||||||<style="text-align: center;"> ||
|| 1 || LIS3L02AS4 || ||                        Acceleration sensor ||''IC3'' ||
|| 2 || ENC-03JA || Check direction ||     Gyros Pitch and Roll ||''GY_N, GY_R'' ||
|| 1 || ENC-03JA || Check direction ||                 Gyro Yaw ||''GY_G'' ||
||||<style="text-align: center;">'''Option for altitude adjustm.''' ||||||<style="text-align: center;"> ||
|| 1 || MPX 4115A || Metal plane to the board || Motorola pressure sensor ||||<style="text-align: center;"> V1 ||
|| 1 || 1uF SMD1206 || Not available @ Reichelt /alternative: ||Z5U-5 1,0µ(with wires) || C4 ||
||||<style="text-align: center;">'''Resistors to adjust the gyro signals''' ||||||<style="text-align: center;"> ||
|| 3 || SMD-0805 470K || See instructions || SMD-Chip-resistor || ||
||
3 || SMD-0805 150K || See instructions || SMD-Chip-resistor || ||
||
3 || SMD-0805 220K || See instructions || SMD-Chip-resistor ||


''
''

Gyros, acceleration    & pressure sensors are available in the [https://www.mikrocontroller.com/index.php?main_page=index&cPath=69 Shop]

== Tools  & supplies ==
=== Behaviour when loosing Tx or Rx signal ===
If the Rx signal gets lost during the flight the motors will continue to turn for a few seconds while the MikroKopter tries to get in a horizontal position. This should (more or less) allow for a controlled descent of the quadrocopter.

== Parts soldering ==
The parts should be soldered in the same order as shown in the listing. This simplifies the task.

Parts in ''italics ''are placed on the solder side (bottom)
||'''Qty''' ||'''Reichelt Order#''' ||'''Remark ''' ||'''Part''' ||'''Name ''' ||
||1 ||ATMEGA 644-20 AU ||Check origin ||AVR-RISC-Controller ||IC1 ||
||1 ||TS 914 I SMD ||Check origin ||Rail to Rail Op-Amp ||IC2 ||
||5 ||NPO-G0805 22P || ||Capacitor ||C1, C2, C28, C29,C30 ||
||5 ||X7R-G0805 22N || ||Capacitor ||C9, C15, C17, ''C27'', C31 ||
||17 ||X7R-G0805 100N || ||Capacitor ||C5, C6, C8, C12, C13, C16, C18, C19, C20, C21, ''C11'', ''C22, C14, C23, C24, C25, C26'' ||
||5 ||SMD-0805 1,00K || ||SMD-Chip-resistor ||R2, R5, R6, R7, ''R4'' ||
||5 ||SMD-0805 100 || ||SMD-Chip-resistor ||R24, R27, R28, ''R32, R33'' ||
||5 ||SMD-0805 10,0K || ||SMD-Chip-resistor ||R8, R12, R16, ''R1'', ''R3'' ||
||4 ||SMD-0805 100K || ||SMD-Chip-resistor ||R10,R11, R14, R18 ||
||1 ||SMD-0805 220K || ||SMD-Chip-resistor ||R26 ||
||1 ||SMD-0805 2,20K || ||SMD-Chip-resistor ||R25 ||
||1 ||
SMD-0805 6,80K || ||SMD-Chip-resistor ||R21 ||
||
3 ||SMD-0805 18,0K || ||SMD-Chip-resistor ||R22, ''R30, R31'' ||
||1 ||SMD-0805 680 || ||SMD-Chip-resistor ||R19 ||
||1 ||SMD-LED 0805 GN ||Arrow on bottom ||CHIP-LED green ||LED1 ||
||1 ||SMD-LED 0805 RT ||Arrow on bottom ||CHIP-LED red ||LED2 ||
||2 ||BC 817-25 SMD ||Check direction ||CHIP-Transistor ||''T1, T2'' ||
||1 ||LQH3C 100µ || ||SMD-Inductor ||L1 ||
||1 ||-- ||Short with wire ||omitted ||C3 ||
||1 ||1N 4001 ||Check marking ||Diode ||D1 ||
||1 ||
20,0000-HC49U-S || ||Quartz 20,0MHz ||''Q1'' ||
||1 ||LP 2950 ACZ3,0 ||Check marking ||Voltage regulator +3,0V ||IC5 ||
||1 ||µA 7805 ||Check marking ||Voltage regulator ||IC4 ||
||2 ||RAD 330/16 ||Check polarity ||Electrolytic cap ||C7, C10 ||
||1 ||MS 500F ||Solder to the rim ||Switch, 2-pole ||SW1 use wire if necessary ||
||1 ||SL 2X10G 2,54 ||Divide in 2*3 and 2*5 ||Header two rows ||SV1, SV5 ||
||1 ||SUMMER TDB 05 ||Polarity: (+) to the rim of the board ||Beeper ||SP1 ||
||||<style="TEXT-ALIGN: center">'''Sensors''' ||||||<style="TEXT-ALIGN: center"> ||
||1 ||LIS3L02AS4 || ||Acceleration sensor ||''IC3'' ||
||2 ||ENC-03JA ||Check direction ||Gyros Pitch and Roll ||''GY_N, GY_R'' ||
||1 ||ENC-03JA ||Check direction ||Gyro Yaw ||''GY_G'' ||
||||<style="TEXT-ALIGN: center">'''Option for altitude adjustm.''' ||||||<style="TEXT-ALIGN: center"> ||
||1 ||MPX 4115A ||Metal plane to the board ||Motorola pressure sensor ||||<style="TEXT-ALIGN: center">V1 ||
||1 ||1uF SMD1206 ||Not available @ Reichelt /alternative: ||Z5U-5 1,0µ(with wires) ||C4 ||
||||<style="TEXT-ALIGN: center">'''Resistors to adjust the gyro signals''' ||||||<style="TEXT-ALIGN: center"> ||
||3 ||SMD-0805 470K ||See instructions ||SMD-Chip-resistor || ||
||
3 ||SMD-0805 150K ||See instructions ||SMD-Chip-resistor || ||
||
3 ||SMD-0805 220K ||See instructions ||SMD-Chip-resistor ||


''
''

Gyros, acceleration & pressure sensors are available in the [https://www.mikrocontroller.com/index.php?main_page=index&cPath=69 Shop]

== Tools & supplies ==
Zeile 242: Zeile 244:
 * Solder AG 0,507     0,5mm  * Solder AG 0,507 0,5mm
Zeile 246: Zeile 248:
 . The yaw gyro must be soldered  like shown: (JPN marking to the board)  . The yaw gyro must be soldered like shown: (JPN marking to the board)
Zeile 249: Zeile 251:
The pins on top must be extended  with pieces of wire.

The gyro should also be glued  to the board to increase mechanical rigidness.

Under  no circumstances should glue penetrate into the gyros

= Placement  plan with color support =
(equally coloured parts are  identical)
The pins on top must be extended with pieces of wire.

The gyro should also be glued to the board to increase mechanical rigidness.

Under no circumstances should glue penetrate into the gyros

= Placement plan with color support =
(equally coloured parts are identical)
Zeile 265: Zeile 267:
(click for high resolution) '' ''

''Translation by french-copter  2007-07-21.  Please bear with me, I’m not a native speaker of English,  if you find weird phrases or simply balderdash tell me… ''

''[[BR]]''' '''''''' '''
(click for high resolution) ''''

''Translation by french-copter 2007-07-21. Please bear with me, I’m not a native speaker of English, if you find weird phrases or simply balderdash tell me… ''

''[[BR]]''' '''''''''''

http://mikrocontroller.cco-ev.de/images/deu.gif Seite in [:FlightCtrlAnleitung:deutsch]

PDFIcon

  • {i} This page as PDF-File? Just click on the right icon and wait some seconds (10-20 sec)...

siehe auch: [:BL-Ctrl Anleitung:BL-Ctrl_Anleitung]

TableOfContents([maxdepth])

Flight-Ctrl V1.0: Schematic, Parts Soldering and Getting Started

Tasks

attachment:FlightCtrlAnleitung/Flight-Ctrl_Anleitung_Foto_oben2.jpg

This board is the MikroKopter’s control board . It fulfils the following tasks:

  • measuring the angular velocity of the three axes
  • measuring the acceleration data of the three axes
  • measuring the atmospheric pressure for altitude control
  • evaluation of a digital compass signal
  • measuring the battery voltage
  • evaluation of the R/C signal
  • processing of sensor data and computing the actual angular position
  • driving four Brushless ESCs (electronic speed controllers)

Other Features:

  • Dimensions 50 * 50mm
  • Two LEDs (e.g. Okay & Error)

  • Two transistor outputs for external lights (or other functions)
  • Undervoltage detection
  • A receiver can be powered by 5V

Micro Controller

Computing and processing is accomplished by a Atmel ATMEGA644 @ 20MHz. This is a low cost and popular 8-Bit-processor.

The criteria for the choice of the micro controller were:

  • satisfactory performance
  • good availability
  • low cost
  • easy to solder
  • availability of free development software Sensors

The flight attitude of a quadrocopter must be controlled electronically. We need different sensors for this.

Gyro Sensors

They measure the angular velocity (rotational speed) of each axis. We need three sensors to stabilize all three axes. These sensors are the most elementary components (-> GyroScope )

Acceleration Sensor

  • The main function of the acceleration sensor is to measure the actual tilt of the MikroKopter and to support the altitude adjustment. Here we use a three axis sensor.

Theoretically we could omit this sensor if the quadrocopter should work in the so called Heading-Hold-Mode. ( --> [:BeschleunigungsSensor:Acceleration Sensor] )

Atmospheric pressure sensor

It serves to stabilize the flight altitude. This sensor is optional. The large pressure openings should be closed with adhesive tape where we make a tiny hole with a needle. This protects from false readings due to wind and light. (--> Pressure sensor )

Airpressure sensor at high altitude: If the Mikrokopter is going to be flown at very high altitudes (eg 2500 meters), then it is possible that the airpressure sensor will not operate correctly. The resistors have been calculated for airpressures of 850 to 1100 hpa. At 2500 metes the airpressure will be about 750 hpa. to correct this, solder a 1.5 (to 4.7) kOhm resistor (value dependent upon altitude) parallel to R21.

Interfaces

The controller board communicates with the outside world through different interfaces.

PPM input

Here we connect the receiver. Two wires for the supply voltage and one for the receiver’s R/C sum signal. Compared to a normal servo PPM signal the sum signal contains all the channels sent by the R/C transmitter before they are decoded by the receiver. This signal is available in every receiver but there are only a few where this signal is directly accessible from outside (e.g. the RX3 Multi by ACT). ( --> RC receiver )

I2C Bus

We connect the BL-ESCs to this bus, which carries the command sequences. The Flight-Ctrl needs our special brushless ESC, to ensure fast communication via the I2C Bus. Standard ESCs cannot be used as they are to slow. The I2C Bus has a clock (SCL) and data (SDA) line. The bus connects all SCL and SDA lines together.

Serial Interface (asynchronous)

Here we connect a PC for testing and calibration. The signal is TTL and not V24. For this reason we need to connect an interface converter if we want to communicate with the standard serial interface of the PC. Later on this interface can also be used for the communication (asynchronous) with other controllers.

ISP Interface (synchronous)

The ATMEL controller will be programmed via an ISP interface. This interface can be also be used for a fast communication (synchronous serial) with other controllers.

Compass connection

A digital compass can be connected to the PC4 input of the universal connector.

General security notes

We do not guarantee an error free behaviour of the electronics or the software. Despite thoroughful design and verification we will not be held responsable (directly or indirectly) for the flawlessness of the software, the hardware or the informations included. You use the electronics at your own risk (this is also applicable for the PC software delivered). Further on we deny any responsability for colateral damages of goods or people which could arise from the use of this application. It is your own responsability to make a complete system test.

The MikroKopter is not a children’s toy. It is too expensive and too dangerous for this. Do not fly over people!

In any case you should contract a special model airplane insurance before the first flight because most ordinary liability insurances will not cover damages caused by model airplanes.

Conditions of use

The use of the whole or parts of the MikroKopter project (hardware, software and documentation) is only allowed for private (non-commercial) use. If you intend a direct or indirect commercial use please contact us for conditions.

Setting up the board

attachment:FlightCtrlAnleitung/Flight-Ctrl_Bestueckung_oben.png

Step 1: Connection and Control of the supply voltage

Before powering up you should once again check the correct position of the voltage regulator IC4 (µA7805) and the diode D1. The supply voltage is connected to the pad J1 (marked „+“ at the switch) and to the pad J2 (marked „-“ close to the switch). It is strongly advised to use a current limited power supply until you know that everything is working correctly. The supply current for the Flight-Ctrl board plus the four BL ESCs is about 200 mA.

5,0V Test of the digital supply. Check at TP1 to GND. Voltage should be between 4,9 and 5,1 V.

3,0V Test of the analog supply. Check at TP2 to GND. Voltage should be between 2,9 and 3,1 V.

Step 2: Gyro Amplifier Calibration

The outputs of the gyro amp (Pins 8, 7 and 1 of IC2) should show a voltage of about 1,2-1,8V (ideal value would be 1,5V) in idle state (board/copter not moving). The factory adjusted output signal of the gyros may vary slightly, we must therefore sometimes correct the signal.

We need to add the resistors R9 (for TP4), R13 (for TP5) and R17 (for TP3) to increase the value of the signal (the lower the value of the resistor, the higher the output signal). Or we need to add the resistors R29 (for TP4), R20 (for TP5) und R15 (for TP3) to lower the signal (the lower the value of the resistor, the lower the output signal).

Default values for the calibration resistors:

Increasing the amplifier signal: signal value < 0,8V : 150kOhm < 1,0V : 220kOhm < 1,2V : 470kOhm

Lowering the amplifier signal: signal value > 2,2V : 150kOhm > 2,0V : 220kOhm > 1,8V : 470kOhm

After a severe crash or irregular movements of the MikroKopter (e.g. pitch is smoother in one direction than the other) the signal should be checked and recalibrated if needed.

Step 3: Programming with the MikroKopter Tool (avrdude)

attachment:FlightCtrlAnleitung/Screenshot_MkTool.jpg

The software transfer (In System Programming) is easiest with our serial converter (SerCon), which contains already an ISP circuit. The PC must have a “real“ serial interface for programming. USB to serial/parallel converters or similar adaptors are definitively not working! The serial converter is connected to the 6 pin header with a ribbon cable. The LED on the converter board will be in an indifferent state (on or off). The Flight-Ctrl board must be connected to the supply voltage for programming.

As an alternative the software can be programmed via USB with an AVR ISP mkII. The description is available under ["USB-AVRISPmkII"]. Another possibility for a later data communication via USB is the [:USB-TTL-232 Adapter:USB-TTL-232 adaptor].

A boot loader is now available for the Flight-Ctrl. Instructions for programming can be found under MikroKopterTool...

Step 4: Hardware Test

Test of sensor values

When the controller has been successfully programmed, you can check the sensor values with the MikroKopter tool. For this procedure you connect the serial converter with the large ribbon cable. The ISP cable must be disconnected for debugging or the jumper must be removed from the converter board.

Test of gyro and acceleration sensor data

The board must be put in a horizontal position and switched on (or reset), then start the scope option in the MikroKopter tool (if the scope was already running you should stop it for a moment to reset the zoom range). We observe here only the first five analog values. The other analog values can be switched off via the tab „Scope“ in the MikroKopter tool if the display becomes to difficult to read.

Now you tilt the board as smoothly as possible to about 45 degrees in direction of the pitch axis. On the scope you check the signal values. The signal of the pitch integral and the pitch acceleration sensor (here red and yellow) should show a significant value.

It is important that the overlaid graphs are identical as far as possible.

The same check has to be made on the roll axis (here blue and green):

attachment:FlightCtrlAnleitung/Screenshot_Scope.png

Then we check the yaw gyro. For this purpose we turn the board around the yaw axis and observe the signal of the gyro. As long as we turn the board there will be a value > 0 which will come back to zero when we stop moving the board.

We check the offset values of the gyros in the virtual display (the values in parenthesis):

attachment:FlightCtrlAnleitung/GyroMenue.png

For this purpose we click through the buttons in the corresponding menu. The offset values should be around 500 (+-100). In this example the yaw gyro has a problem (178). It must be recalibrated or changed.

Test of the Rx signal

In the virtual display we can read the R/C values:

attachment:FlightCtrlAnleitung/Menue_Kanaele.jpg

With the R/C control we can adjust the values in the range of ca. -120 to +120.

Test of the voltage measurement

In this menu you can check the value of the voltage measurement:

attachment:FlightCtrlAnleitung/Anzeige_Menue.png

In this example we have 11,3V.

The Rx level is 0 because no receiver was connected.

Step 5: Installation into the MikroKopter

More information on our homepage

Synopsis of the connection of other components

Short form:

  • The arrow on the mounted Flight-Ctrl board points in flight direction
  • Addressing the motors : 1=front 2=back 3=right 4=left
  • The direction of rotation of the motors: the left and right motor (roll axis) turn counter clockwise (seen from above) and the front and back motor (pitch axis) turn clockwise.

Connections:

  • the multi signal from the receiver with a 3 wire servo cable
  • a LiPo battery (11,1V ca. 1,5-2,5Ah dischargeable with 15-20C) with two wires of 0.75mm² minimum (positive=red; negative=black)

  • four BL-ESCs with two supply wires of 0.75mm² minimum (positive=red; negative=black)
  • I2C Bus for the communication with the Brushless-ESCs

Details of the whole construction see ElektronikVerkabelung....

Step 6: Control of the MikroKopter (short form)

Switching on

The MikroKopter must sit level on a rigid support. The green LED of the Flight-Ctrl is on, the red is off and the beeper is silent. The green LEDs of the BL-ESCs are on, the reds are off. If the beeper beeps the reception is jammed or the voltage of the battery is too low.

Calibration of the sensors and choice of setting

Remark: this description is applicable for throttle not inverted: throttle minimal = pointed TO the pilot '

For the calibration of the sensors push the throttle/yaw lever to the upper left corner until the beeper beeps and the green LED goes off. This way the controller regards the current gyro values as "levelled". The beeper will tell you which "setting" is currently active. There are 5 possible settings. During the calibration as just described you can choose the appropriate setting with the pitch/roll lever like this:

      2 3 4
      1 x 5
      - - -

Meaning: Pitch-Roll lever left middle = Setting1 ; left upper = Setting2 and so on.

  • To start push the throttle/yaw lever to the lower right corner until the motors start
  • The levelling control starts working from a certain throttle value only.

Switching off the motors

Push the throttle/yaw lever to the lower left corner until the motors stop.

[http://www.youtube.com/v/GmPaCjcBAo0 Here] you will find a video demo of how to start the motors, calibrate (1 beep confirms setting1), and stop the motors.

Behaviour when loosing Tx or Rx signal

If the Rx signal gets lost during the flight the motors will continue to turn for a few seconds while the MikroKopter tries to get in a horizontal position. This should (more or less) allow for a controlled descent of the quadrocopter.

Parts soldering

The parts should be soldered in the same order as shown in the listing. This simplifies the task.

Parts in italics are placed on the solder side (bottom)

Qty

Reichelt Order#

Remark

Part

Name

1

ATMEGA 644-20 AU

Check origin

AVR-RISC-Controller

IC1

1

TS 914 I SMD

Check origin

Rail to Rail Op-Amp

IC2

5

NPO-G0805 22P

Capacitor

C1, C2, C28, C29,C30

5

X7R-G0805 22N

Capacitor

C9, C15, C17, C27, C31

17

X7R-G0805 100N

Capacitor

C5, C6, C8, C12, C13, C16, C18, C19, C20, C21, C11, C22, C14, C23, C24, C25, C26

5

SMD-0805 1,00K

SMD-Chip-resistor

R2, R5, R6, R7, R4

5

SMD-0805 100

SMD-Chip-resistor

R24, R27, R28, R32, R33

5

SMD-0805 10,0K

SMD-Chip-resistor

R8, R12, R16, R1, R3

4

SMD-0805 100K

SMD-Chip-resistor

R10,R11, R14, R18

1

SMD-0805 220K

SMD-Chip-resistor

R26

1

SMD-0805 2,20K

SMD-Chip-resistor

R25

1

SMD-0805 6,80K

SMD-Chip-resistor

R21

3

SMD-0805 18,0K

SMD-Chip-resistor

R22, R30, R31

1

SMD-0805 680

SMD-Chip-resistor

R19

1

SMD-LED 0805 GN

Arrow on bottom

CHIP-LED green

LED1

1

SMD-LED 0805 RT

Arrow on bottom

CHIP-LED red

LED2

2

BC 817-25 SMD

Check direction

CHIP-Transistor

T1, T2

1

LQH3C 100µ

SMD-Inductor

L1

1

--

Short with wire

omitted

C3

1

1N 4001

Check marking

Diode

D1

1

20,0000-HC49U-S

Quartz 20,0MHz

Q1

1

LP 2950 ACZ3,0

Check marking

Voltage regulator +3,0V

IC5

1

µA 7805

Check marking

Voltage regulator

IC4

2

RAD 330/16

Check polarity

Electrolytic cap

C7, C10

1

MS 500F

Solder to the rim

Switch, 2-pole

SW1 use wire if necessary

1

SL 2X10G 2,54

Divide in 2*3 and 2*5

Header two rows

SV1, SV5

1

SUMMER TDB 05

Polarity: (+) to the rim of the board

Beeper

SP1

Sensors

1

LIS3L02AS4

Acceleration sensor

IC3

2

ENC-03JA

Check direction

Gyros Pitch and Roll

GY_N, GY_R

1

ENC-03JA

Check direction

Gyro Yaw

GY_G

Option for altitude adjustm.

1

MPX 4115A

Metal plane to the board

Motorola pressure sensor

V1

1

1uF SMD1206

Not available @ Reichelt /alternative:

Z5U-5 1,0µ(with wires)

C4

Resistors to adjust the gyro signals

3

SMD-0805 470K

See instructions

SMD-Chip-resistor

3

SMD-0805 150K

See instructions

SMD-Chip-resistor

3

SMD-0805 220K

See instructions

SMD-Chip-resistor

'

Gyros, acceleration & pressure sensors are available in the [https://www.mikrocontroller.com/index.php?main_page=index&cPath=69 Shop]

Tools & supplies

  • Edsyn FL 22 SMD-Flux
  • Solder wick 1,5mm
  • Solder AG 0,507 0,5mm
  • Temperature controlled soldering station with fine tip
  • Multimeter

Soldering

  • The yaw gyro must be soldered like shown: (JPN marking to the board)

attachment:FlightCtrlAnleitung/GierGyro1.jpg attachment:FlightCtrlAnleitung/GierGyro2.jpg

The pins on top must be extended with pieces of wire.

The gyro should also be glued to the board to increase mechanical rigidness.

Under no circumstances should glue penetrate into the gyros

Placement plan with color support

(equally coloured parts are identical)

attachment:FlightCtrlAnleitung/Bestueckung_oben.png

attachment:FlightCtrlAnleitung/Bestueckung_unten.jpg

Schematic

ImageLink(FlightCtrlAnleitung/FlightCtrl_Schaltplan_kl.gif,attachment:FlightCtrl_Schaltplan.gif)

(click for high resolution) '

Translation by french-copter 2007-07-21. Please bear with me, I’m not a native speaker of English, if you find weird phrases or simply balderdash tell me…

BR