Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


2018:accel-roll-pitch

Toto je starší verze dokumentu!


Výpočet náklonu z akcelerometru

Zadanie

Na vývojové desce STM32F4DISCOVERY s akcelerometrem LIS302DL/LIS3DSH realizujte výpočet příčného a podélného náklonu (roll, pitch). Uvažujte libovolnou polohu akcelerometru vůči základně, tj. implementujte derotaci vstupního datového vektoru dle postupu v DT0076.


Úvod

Cieľom tohto projektu je:

  • realizovať výpočet priečneho a pozdĺžneho náklonu(angl. roll a pitch)
  • kompenzovať náklon pomocou derotačnej matice pre ľubovoľnú polohu akcelerometru voči referenčnej rovine

Derotačná matica bude počítaná pomocou Matlabu, pretože obsahuje goniometrické funkcie. Program bude možno ovládať cez UART konzolu (vložiť derotačnú maticu, kompenzovať výpočet náklonu).

Hardware

K realizácii projektu bola použitá vývojová deska STM32F4DISCOVERY od firmy STMicroelectronics, súčasťou ktorej je 3-osový MEMS akcelerometer LIS302DL/LIS3DSH. Taktiež obsahuje ST-Link/V2 programátor/debugger. Je založená na jadre ARM Cortex-M4, ktorý je taktovaný 16MHz kryštálom, má 1MB Flash pamäť a 192kB RAM.

Software

float get_degree_tilt(float val, int16_t max_val)
{
    float deg_tilt;
    /* constrain values */
    if(val > max_val) {
      val = max_val;
    }
    else if(val < -max_val) {
      val = -max_val;
    }
 
   /*map values to range -90° - 90° */
   deg_tilt = (90*val) / max_val;
 
   return deg_tilt;
}

Záver

Zdroje

2018/accel-roll-pitch.1547484564.txt.gz · Poslední úprava: 2019/01/14 17:49 autor: Ondrej Vörös