paparazzi-devel
[Top][All Lists]
Advanced

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

[Paparazzi-devel] New Low Cost STM32F4 based PPZ UAV Autopilot In China


From: xukejing
Subject: [Paparazzi-devel] New Low Cost STM32F4 based PPZ UAV Autopilot In China
Date: Wed, 16 Mar 2016 09:22:13 -0700 (MST)

Paparazzi Hyper X Autopilot


The office word file with Figs can be downloaded at :http://pan.baidu.com/s/1hrhywfE 

The source code that should be added to paparazzi folder can be downloaded at http://pan.baidu.com/s/1bnLnJCN


1 Overview


Hyper X UAV autopilot board is based on the 100 pins STM32F407VGT6 Cortex M4 168MHz processor featuring a Floating point unit (FPU), up to 192k of RAM and 1024k of FLASH.


It is based on STM32 Discovery board and is a ultra low cost UAV autopilot board that is made by cheap electronic components/modules, which you can get easily n the Chinese market (e.g. GY-86 10DOF 8.5� in http://www.taobao.com). So it is suit for China's national conditions.


                     STMicroelectronics STM32F4VGT6 Cortex M4 MCU, up to 168Mhz with floating point unit (FPU), 192 KB RAM, 1024 KB Flash


                     on-board STLinkv2 with SWD header (capable of programming onboard or external MCU)


                     on-board power regulator for the MCU (3V or 5V Input)


                     MPU6050 Gyro/Accelerometer sensor and MXR9500 Accelerometer with 16 bit ADC (Big Rotorcraft Edition).


                     HMC5883 magnet field sensor.


                     MS5611 high precision pressure sensor


                     UBLOX GPS NEO 6M


                     2 x 3.3V TTL UART (UART3, UART6, 5V tolerant)


                     1 x I2C 5V bus (I2C2, 5V tolerant)


                     11 x Servo PWM outputs


                     4 x status LED (orange, green, red, blue,)


                     2 x UART (UART3, UART6)


                     LIS302DL MEMS 3 axis accelerometer on SPI1


                     6 x ADC inputs (one is used for BAT voltage)


                     1 x Spektrum input (with bind pin)


                     8 x Radio PWM inputs


So, except for a Modem unit with the Hyper X you have all necessary sensors for full features all in one Rotorcraft or Fixedwing solution.


2 Detail Features


10 DOF IMU GY-86


Tiny, low cost 8.5�, 5V and 3.3V input (onboard voltage regulator), I2C interface.


Chinese GY-86 is a low cost and precise solution for normal aircraft with a excellent baro sensor. GY-86 (MPU6050-HMC5883-MS5611) is similar to Drotek 10DOF, but have different I2C address. The slave address of the MPU-6050 is b110100X which is 7 bits long. The LSB bit of the 7 bit address is determined by the logic level on pin AD0. When it is used in GY-86, the address of the devices should be b1101000 (pin AD0 is pull-down to GND). Because of the I2C data bytes are defined to be 8-bits long, so the I2C address of GY-86 should be defined as b11010000(0XD0)


File: conf/airframes/myplane.xml

<subsystem name="imu" type="gy86_10dof">

<configure name="GY86_I2C_DEV" value="i2c2"/>

<define name="IMU_GY86_ORIENTATION_IC_UP" value="1"/>

</subsystem>


The Measurement Specialties MS5611 is an excellent barometer/pressure sensor. The sensor can be used as I2C device. Reading the baro is not part of the IMU driver. If you want to use it for altitude estimation in the autopilot the following line needs to be added to your airframe file: <define name="USE_BARO_MS5611"/>


To see the sensors data in the log file set the SENSOR_SYNC_SEND in your airframe file. Every time new data is available it will be sent directly.


File: conf/airframes/myplane.xml

  <modules>

    ...

     <load name="baro_ms5611_i2c.xml">

     <define name="SENSOR_SYNC_SEND"/>

<define name="MS5611_I2C_DEV" value="i2c2"/>

     <define name="MS5611_SLAVE_ADDR=0xEE"/>

     <define name="MS5611_SEND_BARO_ALTITUDE"/>

    </load>

  </modules>


PPM Encoder


ArduPPM is a 8 channels ppm encoder firmware for the APM project, which is second generation ppm encoder code designed for APM boards. Now the ArduPPM is employed by Hyper X UAV autopilot board and is running on an Arduino Pro Mini that is a microcontroller board based on the ATmega328.


More informationhttps://github.com/diydrones/ardupilot/tree/master/Tools/ArduPPM



3 Pinout




LED

Pin #

Name

Type

Description

Color

PD13

LED_3

Out

above LIS302DL

Orange

PD12

LED_4

Out

left of LIS302DL

Green

PD14

LED_5

Out

right of LIS302DL

Red

PD15

LED_6

Out

below LIS302DL

Blue

PA9

LED_9

Out

same as USB power (VBUS, needs to be enabled in header file)

Green


 


UART3

Pin #

Name

Type

Description

PD8

UART3 TX

Out

UART3 Serial Output

PD9

UART3 RX

In

UART3 Serial Input


 


UART6

Pin #

Name

Type

Description

PC6

UART6 TX

Out

UART6 Serial Output

PC7

UART6 RX

In

UART6 Serial Input


 


I2C2

Pin #

Name

Type

Description

PB10

I2C2 SCL

I/O

I2C2 Serial Clock

PB11

I2C2 SDA

I/O

I2C2 Serial Data


 


ADC

Pin #

Name

Type

Description

PB1

AUX1

I/O

ADC_1

PC5

AUX2

I/O

ADC_2

PC4

AUX3

I/O

ADC_3

PA4

AUX4/BAT

I/O

ADC_4, is used for BAT voltage

PC1

AUX5

I/O

ADC_5

PC2

AUX6

I/O

ADC_6


 


PWM

Pin #

Name

Type

Description

PE9

PWM0

Out

Servo 1

PE11

PWM1

Out

Servo 2

PE13

PWM2

Out

Servo 3

PE14

PWM3

Out

Servo 4

PE5

PWM4

Out

Servo 5

PE6

PWM5

Out

Servo 6

PA3

PWM6

Out

Servo 7

PA2

PWM7

Out

Servo 8

PA1

PWM8

Out

Servo 9

PA0

PWM9

Out

Servo 10

PB14

PWM10

Out

Servo 11

PB15

PWM11

Out

Servo 12


 


PPM

Pin #

Name

Type

Description

PC9

PPM

In

PPM input


 


4 Daughterboard


Hyper X is based on the STM32F4 Discovery and is designed for Chinese students. It is as simple as possible. The impedance matching resistors and voltage conversion chips on I2C or UART ports are omitted. In order to ensure adequate safety margin, 100ohm impedance matching resistors are added on PWM output ports, and 100nf filter capacitors are mounted at UART power ports. 1n4148 diode clamp circuits (may affect ADC’s precision) are created at ADCs 1 to 4. The ADC 5 and 6 have no diode clamp circuits and can collect small voltage signal normally.



5 Build the code


1 Unpack paparazzi.tar that is provided by me


2 copy all files in folder “Pararazzi” to ~/paparazzi (which is the same path of your paparazzi folder)


3 launch paparazzi center (cd ~/paparazzi && ./paparazzi)


4 select MYAC in A/C


5 Build and Upload


6 Enjoy


6 Firmware Flashing


FLASH_MODE=STLINK is set as default


STLINK


   with onboard STLinkV2 over SWD


   required hardware: usb to mini USB cable


   required software: st_flash and st_util from Texane




View this message in context: New Low Cost STM32F4 based PPZ UAV Autopilot In China
Sent from the paparazzi-devel mailing list archive at Nabble.com.

reply via email to

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