Ik heb hier een aantal dingen te zeggen, en sommige ervan houden in dat je het eens moet zijn met pingswept en sommige met penjuin.
cr3000
De cr3000-sampling op 16 bits en 100 Hz gaat een beetje traag bemonsteren zodat u gemakkelijk ruis uit uw gegevens kunt verwijderen, maar met een aanzienlijk hogere precisie is dan bruikbaar. Ik betwijfel of je 13 of 14 bits precisie kunt krijgen zonder behoorlijk goede filteralgoritmen. Versnellingsmeters hebben me geleerd dat vibratie de duivel is, gestraalde fononen.
Uitgangscondensator
Je moet ervoor zorgen dat je doet wat de datasheet zegt en de signaaltheorie zegt. Om de datasheet te citeren:
De output van de ADXL103 / ADXL203 heeft een typische bandbreedte van 2,5 kHz. De gebruiker moet het signaal op dit punt filteren om aliasingfouten te beperken. De analoge bandbreedte mag niet meer zijn dan de helft van de analoog-naar-digitaal bemonsteringsfrequentie om aliasing te minimaliseren. De analoge bandbreedte kan verder worden verkleind om ruis te verminderen en de resolutie te verbeteren.
Dit betekent dat je een condensator moet kiezen om je snelheid onder de 50Hz te houden. Als je het hierboven plaatst, kun je aliasing krijgen, en aliasing maakt trillingsgeluid tot een duivel waarmee je een deal hebt getekend. Ze geven aan hoe de geluidsniveaus van het apparaat berekend moeten worden, en bij een bandbreedte van 50Hz zal een piek tot piek geluid van .006 * Zwaartekracht niet eens opgemerkt worden als je dit op een apparaat met trillingen hebt.
Tolken Gegevens
Dit is waarschijnlijk datgene waarin u het meest geïnteresseerd bent, en het is relatief eenvoudig te doen. U moet een tijd aangeven dat het apparaat op neutraal staat, dit is wanneer het plat is en u het relatief stil hebt. Geef het op dit punt een seconde of twee, en dan kun je de mediaan van deze gegevens nemen om de no-G-spanning te bepalen. Dan kunt u dit gebruiken als een punt waarmee u het apparaat vergelijkt. Nu, vanaf dit punt, kan ik direct het gegevensblad citeren:
Wanneer de versnellingsmeter loodrecht op de zwaartekracht staat, verandert zijn output
bijna 17,5 mg per graad tilt.
Je kunt deze benadering dus gewoon gebruiken als je niet erg veel gaat kantelen, maar je zult geometrie moeten gebruiken als je plan om in beide richtingen te kantelen en in hoeken die niet extreem klein zijn.
Als je groter gaat worden, hebben ze zelfs de vergelijkingen gespeld als:
PITCH = ASIN (AX / 1 g)
ROLL = ASIN (AY / 1 g)
Voor zover ik kan zeggen, geeft je apparaat een 1V verandering per 1G versnelling erop. Als je de kalibratiefase hebt gedaan, zou je in staat moeten zijn om metingen te doen, de offset af te trekken, en je hebt het aantal G's dat je ervaart.
Stop hier met lezen, tenzij je problemen tegenkomt of je zou willen meer informatie om de aanpak te verbeteren.
Ik heb een behoorlijk beetje meer toegevoegd over andere benaderingen en methoden om je aanpak te verbeteren voor snel veranderende systemen of systemen waar je het apparaat gaat programmeren dat de samples doet.
Bemonsteringsfrequentie
U moet aanzienlijk sneller bemonsteren dan de snelheid waarmee uw apparaat de richting waarin het accelereert verandert, aangezien u de oriëntatie 20-30 keer per seconde moet meten. je moet snel genoeg kunnen meten om trillingsgeluid en versnelling als gevolg van andere effecten weg te filteren, waarvan ik heb vastgesteld dat ze vrij groot zijn bij het werken met een versnellingsmeter.
3-assige versnellingsmeter
Ten tweede, als je een versnellingsmeter met drie assen hebt, kun je vrij gemakkelijk herkennen wanneer een as een deel van de versnelling verliest als gevolg van de zwaartekracht (dat wil zeggen: als de z-as een magnitudedaling van 2 m / s ^ 2 heeft, weet dat de winst die u op de andere as zag, de zwaartekracht is). Dit zal nog steeds rommelig zijn, maar in het algemeen zal er een versnelling zijn die de snelheid geeft die nodig is om je oriëntatie te veranderen en vervolgens een verandering in versnelling als gevolg van oriëntatieverandering, waardoor je vaak de oriëntatie kunt herkennen.
Problemen met 2-assige
Dit wordt, zoals Penjuin zei, bijna onmogelijk met een 2-assige versnellingsmeter, en op zijn best vaag als je een systeem hebt dat 20-30 verschillende oriëntaties per seconde kan hebben, of als je een exacte maat nodig hebt van oriëntatie te allen tijde. Ik weet zeker dat een masterstudent hier een mooie scriptie over zou kunnen schrijven, of een doctoraat zou een proefschrift kunnen schrijven over het verbeteren van dit algoritme.
Trillingsgeluid
Om meer toe te voegen, als je kunt plaats je apparaat bovenop iets dat het statisch vergrendeld houdt aan de beweging van je apparaat, maar trillingen dempt, je krijgt veel betere cijfers en hebt niet zoveel softwarefiltering nodig. Enkele eenvoudige schuimvulling kan tussen de versnellingsmeter en uw apparaat worden geplaatst, en als het digitaal is, zou dit de elektrische ruis niet moeten verhogen en wat trillingsgeluid helpen absorberen. Dit zou alleen moeten worden gedaan als u problemen ziet met het trillingsgeluid.
Digitale versnellingsmeter
Ik zou een digitale versnellingsmeter willen voorstellen waarmee u SPI kunt gebruiken om verbinding mee te maken. Gegevens kunnen met een zeer hoge snelheid worden geklokt en u kunt op de achtergrond werken terwijl uw SPI het constante werk doet om de volgende reeks waarden te laden. Je hebt een mooie microcontroller nodig als het digitaal gedaan gaat worden. Als je me betere details kunt geven over wat je wilt doen, kan ik betere feedback geven. Als u een waarschuwing wilt op basis van kanteldetectie, dan zou het heel gemakkelijk moeten zijn om alles analoog te doen, maar als u de positie en hoek van apparatuur tijdens het gebruik wilt meten, bereid u dan voor op wat werk.
laat me weten of er iets is dat ik kan toevoegen om dit antwoord duidelijker of toepasbaarder te maken voor wat je zocht.