GithubHelp home page GithubHelp logo

thunderfly-aerospace / tfaspdimu02 Goto Github PK

View Code? Open in Web Editor NEW
1.0 6.0 1.0 20.77 MB

I²C bus differential pressure sensor with IMU and Magnetometer.

Home Page: https://docs.thunderfly.cz/avionics/TFSLOT01/

License: GNU General Public License v3.0

Python 100.00%
airflow imu airspeed-velocity imu-sensor airspeed airspeed-indicator magnetometer i2c-sensors i2c i2c-bus

tfaspdimu02's Introduction

TFASPDIMU02 - Differential pressure sensor and IMU

.github/workflows/KiCad.yml

ThunderFly TFASPDIMU02 is I2C bus sensor board equipped with a differential pressure sensor (Sensirion SDP3x) and 9-axis motion tracking sensor (ICM-20948). The board is equipped with a 4-pin JST-GH connector. The sensor board is designed for multiple uses. It can be used as a self-adjusting anemometer WINDGAUGE03 or as an airspeed sensor for UAVs with optional function as the external magnetometer. The featured use (after firmware improvement) could be an angle of attract sensor, stall detector, or vibration (Flutter) detector.

TFASPDIMU02 PCB

TFASPDIMU is commercially available from ThunderFly s.r.o., write an email to [email protected] or shop at Tindie store.

Specification

  • Type: Differential and 9-axis motion sensor board
  • Mass: 3 g
  • Size: 30 x 15 mm
  • Power input: +5 V
  • Connection: 4pin JST-GH connector PixHawk compatible

SDP3x differential pressure sensor

  • Range: +/- 125/500/1500 Pa (depending on exact sensor type SDP33 by default)
  • Excellent accuracy and repeatability, even below one Pascal
  • No zero-point offset, no temperature drift
  • Calibrated and temperature-compensated
  • Fast sampling time of 2kHz at 16 bit resolution
  • I2C address: 0x21 (0d33), could be changed by JP2 and/or resorderig the R10 value.

ICM-20948 9-axis IMU unit

  • 3-axis gyroscope, 3-axis accelerometer, 3-axis compass (magnetometer)
  • Onboard Digital Motion Processor (DMP)
  • On-chip 16-bit ADCs and Programmable Filters
  • 7 MHz SPI or 400 kHz Fast Mode I²C
  • Digital temperature sensor
  • Default I2C address: 0x68 (0d104), can be changed to 0x69 (0d105) by adjusting the JP1.

Example of uses

WINDGUAGE - weather vane sensor

Ground control station anemometer WINDGAUGE03 is based on a TFASPDIMU sensor which is used for both wind direction and wind speed measurement.

TFSLOT01 - UAV airspeed sensor

Our TFSLOT sensor is an airspeed sensor for use mainly on UAVs. Due to the 3D printed case, it is possible to optimize housing according to the location of the sensor on the UAV and tune its characteristics. The first use of this sensor was on our autogyro TF-G2.

TFSLOT01 sensor

More details about this solution are available in the repository TFSLOT01.

TFPIPE01 - UAV airspeed sensor

The symmetric variant of TFSLOT sensor for different mounting options TFPIPE01.

TFVENTUFO - innovative anemometer

This anemometer is also based on the venturi effect. Thanks to a clever design, it will measure the wind speed from all directions (without knowing the direction).

Angle of Attack sensor

In case of mounting on slip-ring bearing the sensor could sense air AoA of the vehicle.

Stall detector

The venturi geometry could also be inverted therefore the pressure ports look in open airflow. That results in the ability to detect stalls on wings by detecting the absence of pressure difference and increasing pressure fluctuations on the wing surface.

Hardware

TFASPDIMU02 PCB

Electronics schema

Full schema is available in PDF TFASPDIMU02 schema

PCB dimensions

TFASPDIMU02 dimensions

Pressure sensor connections are aligned to the center of the PCB width.

I2C connector pinout

Signal Pixhawk Color ThunderFly color
+5V Red red Red
SCL Black yellow Yellow
SDA Black green Green
GND Black black Black

Pixhawk pinout is listed according to the Pixhawk connector standard.

PixHawk autopilot connection cable

To increase the transmission quality, it is mandatory to create twisted pairs of SDA, GND, and SCL,+5V on the cable (as shown in the image)

  • 10 twists for each pair SCL/+5V and SDA/GND per 30cm cable length
  • 4 turns/twists of pairs per 30cm cable length.

ThunderFly I2C jstgh

Usage

Python

For reading data from the sensor, we have prepared a Python script in the PyMLAB library that uses the pySMBus to read data. It can be used directly from a computer with a corresponding converter (for example MLAB USBI2C01A) or with one-board computers (Odroid, raspberry, and similar) that have own smbus output.

Calibration verification

Calibration can be verified by mounting an anemometer to the car roof and comparing it to speed obtained from GPS (gpsd). This needs to be done in windless weather.

PX4

There exists a pull-request of modified SDP33 driver into PX4 stack.

The main use of this sensor is as an airspeed sensor. It can be also used as an external magnetometer and thermometer.

Ardupilot

We are currently unable to implement the sensor in the Ardupilot flight stack. However, we will be happy to provide assistance with implementation. You can contact us

tfaspdimu02's People

Contributors

kaklik avatar roman-dvorak avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

mikkab

tfaspdimu02's Issues

Copper under U2

Přijde mi že nějak nefunguje keepout zóna která má odstranit měď pod U2.

image

V předchozí verzi je měď odebrána a v datasheetu píšou:

image

Simple airspeed sensor for pitot tube

The sensor PCB could also be connected to a pitot tube. Some suggestions of pitot-tube type and connection hoses could be helpful.
The optimal tubing outer diameter seems to be around 3mm.

EMC noise imunity

Rozebral jsem ten SDP33 senzor od DROTEKu.

241547513_524345498632992_6286969650174510759_n

Je tam několik zajímavých věcí.

  • Nemají tam vůbec žádný pull-upy i přes to, že tam na ně mají místo.
  • Zjevně se tam na několika místech snaží hodně bojovat s EMC. Mají tam průchodkový kondenzátory a zřejmě minimálně dvě tlumivky.

Usuzuju z toho, že ten senzor je citlivý na rušení v napájení. Nebo v opačným případě okopírovali zapojení z toho původního analogovýho senzoru.
Každopádně by to možná mohlo vysvětlovat některý potíže, který s tím snímačem teď máme.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.