Ruuvitag (kevyiden) iskujen havaitsemiseen?

Moi,

Olen koittanut tässä hakea sopivaa bluetooth-anturia yksinkertaiseen sovullukseen.

Onnistuisikohan 0.1 … 0.5 s pituisten iskujen havaitseminen Ruuvitagilla? G:tä tulisi 2 … 12. Tilanne suurin piirtein sellainen että jos anturin pudottaa vaikka puolen metrin korkeudelta sohvatyynylle.

Seuraavat asiat pitäisi tietää. Osa näistä riippuu siitä mikä anturi Ruuvitagissa on, osa taas siitä miten softat on tehty.

  1. Kiihtyvyysanturin G-alue, ulottuuko >10 G:n alueelle vakiona?
  2. Onko kiihtyvyysanturin taajuusvaste riittävä, >1 kHz? Sen pitäisi reagoida näihin melko nopeisiin kiihtyvyyden muutoksiin. En löytänyt kiihtyvyysanturin datasheetistä mainintaa tästä.
  3. Onko kiihtyvyysanturin samplaustaajuus (data rate) vähintään 100 Hz? Muuten ei saada lyhyistä iskuista lukemia talteen.
  4. Onko kännykkäsolvellus vakiona sellainen, että sen kautta voi triggeröidä vaikkapa yli 2 G:n iskuista hälytykset, ja mukana tulee iskujen G-lukemat?
  5. Tai saako raakadataa talteen 100 Hz:n taajuudella vaikka tekstitiedostoksi. Taipuuko kännykkäsovellus tähän suoraan?

Mutta tärkeintä olisi että nappula reagoi iskuun ja ulos saa G-arvon kun jokin raja-arvo ylittyy. Ilman että pitää kaivaa softakirjastot esiin.

Mites on?

Kiihtyvyysanturin “mittaava” sample rate ei oletuksena ole riittävä tällaiseen käyttötarkoitukseen, ja noin suuret sample ratet puolestaan söisivät pariston tyhjäksi nopeasti, vaikka teknisesti olisi mahdollista toteuttaa. Kuitenkin kiihtyvyysanturi tukee keskeytyksien (interrupt) kautta tapahtuvaa liikkeen tunnistamista, eli “yllättävä liike” joka tapahtuu mittausten “välissä” aiheuttaa keskeytyksen joka napataan talteen, ja tämä kasvattaa “movement counter” laskuria. (dataformaatin dokumentaatio)

Tämän laskurin muutoksesta voi päätellä että liike on tapahtunut vaikka se olisi hyvin lyhyt, esim. tagin “tökkääminen” pöydällä, ja liike ei jää huomaamatta vaikka joitain tagin lähettämiä mittauksia hukkuisi matkanvarrelle. Tämä ei kuitenkaan tarjoa varsinaista kiihtyvyysmittausta liikkeen hetkeltä oletusfirmwarella, eli tästä ei voi päätellä esim. että putosiko tagi 2m vai tökkäsikö joku sitä pari cm pöydällä ilman että tagin firmwareen tekee muutoksia (esim. säätää tuon interruptin herkkiittyä (minimi G-arvo mikä lasketaan liikkeeksi), mikä on oletusfirmwarella suhteellisen herkkä).

16 G max

8 bitin resoluutiolla noin 5 kHz näytteenottotaajuus onnistuu, taajuusvastetta on tutkittu esimerkiksi tässä diplomityössä: http://jultika.oulu.fi/files/nbnfioulu-202012173355.pdf

Valmiit sovellukset eivät tähän oikein taivu

Ilman softakirjastojen esiin kaivamista tästä ei selviä. Teoriassa olisi mahdollista käyttää kiihtyvyysanturin sisäistä FIFO-puskuria jossa 32 näytettä ja keskeytyksiä niin että kun raja-arvo ylittyy FIFO luetaan ja sieltä sitten saisi iskun aikana FIFOssa olleet arvot ulos. Työtä ja testaamista siinä kuitenkin on.