Firesticks

Mechanical design

A HT-tube (polypropylene, DN32) is used as basic housing and to mount all modules together. Electronic module The electronic module consists of the µ-Controller (Teensy 3.6), a RF-Module (nrf24l01+), the inertial sensor (MPU-9250), a rechargeable battery and charging electronics. All mounted on a base printed circuit  board. 3D-printed battery holders are used to mount the... read more »

Electronics

Firestick (Transmitter) A Teensy 3.6 is used to control the firesticks. It's connected to an MPU-9250 inertial- and magnetic sensor (9-dof sensor, IC1) and to a RF-module using the nRF24L01+ (IC2). The connections are done via two seperate SPI-interfaces on the Teensy (SPI0 and SPI1). Interrupt lines from both components are also connected to the... read more »

Materials

Bamboo Dichte 0.7 kg/dm^3 Brinellhärte 4.0 E-Modul 2.0 Druckfestigkeit ca. 6-9  kN/cm^2 Zugfestigkeit 15-40 kN/cm^2 Biegefestigkeit 8-28 kN/cm^2 Scherfestigkeit 2kN/cm^2 PP-H Polypropylen Homopolymer Quelle: Kern Material Selector Allgemeine Eigenschaften Dichte ISO 1183 0,903 g/cm³ Mechanische Eigenschaften Streckspannung ISO 527 33 MPa Reißdehnung ISO 527 700 % Zug-E-Modul ISO 527 1450 MPa Zug-Kriechmodul (0,5% 1000h) ISO 899-1… read more »

Calibration

Accelerometer and Magnetometer calibration To calibrate the acelerometer and the magnetometer, we measure the earth’s magnetic field components and the gravity field components in various positions of the sensor/stick. We assume these fields to be constant (constant magnitude, constant direction) in an earth fixed coordinate system. We further assume some idealizations: homogenous fields no magnetic… read more »

Software

Software for Teensy and PC (test and evaluation) is hosted at bitbucket. Current state: Test and Evaluation. If you are interested I can give you read access to the repositories.  

Hints

some useful hints for the development process MPU-9250 Consider different orientation of magnetic and inertial sensors. When processing sensor-fusion, please exchange axes, like here in MPU9150BasicAHRS.ino: MadgwickQuaternionUpdate(ax, ay, az, gx * PI / 180.0 f, gy * PI / 180.0 f, gz * PI / 180.0 f, my, mx, mz); Digital filtering Direct form 2 transposed implementation y(n) = b(1)*x(n) + b(2)*x(n-1) + ... + b(nb+1)*x(n-nb) - a(2)*y(n-1) - ... - a(na+1)*y(n-na)

  Switch between battery and USB-Supply Auto off P-Channel Mosfet Low On-Resistance (~1Ohm) Low Zero Gate Voltage Drain Current… read more »

Evaluations

Wiring teensy board v1 Teensy MPU-9250 GND GND 3.3V VDD + VDDIO MOSI0 11 SDA/SDI MISO0 12 AD0/SDO< CS0 10 CS 3 INT SCK0 14 SCL/SCLK Teensy nRF24l01+  GND  GND  3.3V  VCC  CE  7  CSN  8  SCK  SCK1 (32)  MOSI  MOSI1 (0)  MISO  MISO1 (1)  IRQ  6    

Useful links

Some helpful internet links for the development process Materials Material selector https://www.kern.de/de/richtwerttabelle Parts Magnetometer comparison http://ejtech.blogspot.de/2014/03/mpu9150-vs-hmc5883l-trade-off-analysis.html https://github.com/kriswiner/MPU6050/wiki/9-DoF-Motion-Sensor-Bakeoff https://github.com/kriswiner/MPU6050/issues/6 Sparkfun MP-9250 Library With DMP https://learn.sparkfun.com/tutorials/9dof-razor-imu-m0-hookup-guide#using-the-mpu-9250-dmp-arduino-library https://github.com/sparkfun/SparkFun_MPU-9250-DMP_Arduino_Library https://github.com/bolderflight/MPU9250 SPI Interrupt driven or not? https://www.tablix.org/~avian/blog/archives/2012/06/spi_interrupts_versus_polling/ SPI for teensy https://github.com/xxxajk/spi4teensy3 https://www.pjrc.com/teensy/td_libs_SPI.html DMA SPI https://github.com/crteensy/DmaSpi MPU-0250 via SPI http://forward-in-code.blogspot.de/2016/10/invensense-mpu9250-via-spi.html Sensor calibration Magnetometer https://github.com/kriswiner/MPU6050/wiki/Simple-and-Effective-Magnetometer-Calibration Calibrating an eCompass in the Presence of… read more »

Quaternions

A quaternion is a four-dimensional complex number that can be used to represent rotaions in 3D-space. We use the definitions and sub-scripts/super-scripts notation used in Madgwick’s original work. An arbitrary orientation of frame B relative to frame A can be achieved throug a rotation of angle θ around an unit vector defined in frame A…. read more »

Signal processing

The signal processing is heavily inspired by Sebsastian O.H. Madgwick’s MARG (Magnetic, Angular Rate and Gravity) sensor fusion. Quaternions are used to represent rotations in the 3D-space. A super-scripts/sub-scripts notation as in Madgwick’ original work is used.

Sidebar