Ladda ner artikeln på 500 kbyte här (länk, pdf). Fler tekniska rapporter finns på etn.se/expert |
För att få fram ett värde som kan visas på en skärm eller användas för vidare bearbetning har Bosch Sensortech och ST Microelectronics utvecklad speciell programvara för sensorfusion. Programmen stödjer sexaxliga och nioaxliga tillämpningar och körs på den interna processorn eller på en extern processor. Programmet fungerar på Android och Windows 8 men är skalbart vilket gör det möjligt att anpassa för andra system.
Programvarorna ger bland annat den linjära accelerationen, rotationen, noggrannheten, robust positionering och en vektor för gravitationen i ett koordinatsystem. Det senare gör det i många fall möjligt att få en beskrivning av det tredimensionella, Euklidiska rummet eller andra rumsbekrivningar. Det gäller särskilt när man svänger och är tio gånger effektivare än rådata. Dessutom kompenserar programvaran för fel i de enskilda sensorerna.
En accelerometer mäter accelerationen inklusive gravitationen. Gravitationens riktning kan bara bestämmas i vila. Med hjälp av ett gyro kan programvaran separera den statiska accelerationen från den dynamiska och därmed bestämma riktningen även under rörelse.
Megnetometrar är väldigt känsliga för att de ska kunna läsa av jordens svaga magnetfält. Samtidigt är de känsliga för störningar från externa magnetfält från en högtalare eller en magnet. Vid sådana fel pekar inte en magnetisk kompass mot den magnetiska nordpolen. Om man istället använder ett sensorsystem kan programmet beräkna positionen för systemet utgående från vinkelaccelerationen hos gyrot och den linjära accelerationen hos accelerometern. Då fungerar kompassen även om magnetsensorn är störd eller roteras.
En bieffekt är att känsligheten i gyrot kan kompenseras på samma sätt. Det mäts alltid mot en rörelsereferens vilken alltid bestämmer relativa förändringar. Det resulterar i en sakta drift som växer med tiden. En accelerometer ger ett referensläge som kan användas av programvaran för att driften i gyrot. En magnetfältssensor kan också fungera som en absolut referens.
Programvaran för sensorfusion fungerar bland annat på Bosch Sensortec BNO055 som är företagets nyaste sensorsystem. Den har låg energiförbrukning eftersom programvara och hårdvara är anpassade till varandra. Det går också att köra programvaran på en extern processor men då måste man skriva på avtal –NDA och licens. I jämförelse med att själv utveckla programmet är det en liten uppoffring.
En annan möjlighet för att lyckas med sensorfusion är SSC7102 från Microchip. Det är ett system med tio frihetsgrader som kan köra programvaran Fusionlib från Bosch. Den stödjer ett antal externa sensorer inklusive kompassmodulen BMC150 och gyrot BMG160 från Bosch liksom omgivningssensorn ISL29029 från Intersil.
Bosch Sensortec BNO055 är ett sensorsystem med nio frihetsgrader som ger den absoluta orienteringen. Den har en treaxlig accelerometer med 14 bitars upplösning, ett treaxligt gyro med 16 bitar och en upplösning på ±2 000 grader/sekund och en treaxlig magnetometer. Den integrerade 32-bitarsprocessorn kör Fusionlib BSX3.0 och kan därför inte användas för själva applikationen.
Med sina 5,2 5 3,8 mm är SiP-modulen betydlig mindre än jämförbara lösningar med diskreta komponenter eller moduler. Systemet passar för en rad tillämpningar inklusive industriella eftersom den kommer att vara tillgänglig under längre tid än sensorer som används i smartmobiler.
Inemo Ultraproduct från ST Microelectronics har en sexaxlig sensorkombination. Med sina 2,5 5 3 5 0,8 mm innehåller den en treaxlig accelerometer och ett digital treaxligt gyro. Strömförbrukningen är 1,25 mA (upp till 1,6 kHz samplingshastighet). I prestandaläget kan den ständigt vara aktiv. I lågeffektsläget drar den 0,6 mA. Den låga effektförbrukningen kommer bland annat från det smarta FIFO-minnet. Med 8 kbyte är det åtminstone dubbelt så stor som alla konkurrenter vilket gör att LSM6DS3 kan lagra mer data innan systemet måste väcka systemprocessorn. Dessutom har den bra brusegenskaper. I högprestandaläget och med en samplingshastighet på 104 Hz och typiskt 0,6 mg-rms har accelerometern 90 µ/√Hz. Gyrot klarar 0,007 °/s/√Hz i högprestandaläget och 10 Hz med 0,07 °/s-rms med en samplingshastighet på 208 Hz.
LSM6DS3 är ett system som består av två kretsar i en kapsel. På grund av att den effektivt och pålitligt kan upptäcka händelser kan den följa förflyttningar och förstå var den är med 6D-orientering. Dessutom upptäcker den ett fritt fall, knackning, dubbelknackning, aktivitet, vila liksom händelser som ska väcka den. Eftersom den bearbetar signaler från verkliga, virtuella och buffrande sensorer får den en kort reaktionstid. Det gör det möjligt att korrigera fel i magnetiska sensorer och det går att ansluta externa sensorer. Därmed kan den också agera sensorhub eller hantera SPI-gränssnitt. Tillsammans med styrkretsen STM32 blir det möjligt att skapa batteridrivna sensorsystem i mobiler och annan bärbar elektronik men även i IoT-tillämpningar.
För LSM6DS0 och för den treaxliga magnetometern LIS3MDL, trycksensorn LPS335H, fuktighets- och temperatursensorn HTS221 har ST Microelectronics utvärderingskortet X-NUCLEO-IKS01A1. Via I2C går det att koppla till en STM32. För ytterligare anslutningar finns en 24-pinnars DIL-sockel. Det finns ett omfattande bibliotek med firmware och exempel för alla sensorer. Programvaran är kompatibel med programvaran till STM32Cube.
Produkterna från ST Microelectronics och Bosch Sensortec ligger framkant när det gäller sensorfusion. Båda tillverkarna är marknads- och teknikledande när det gäller Memssensorer och återfinns i Rutroniks utbud. Förutom halvledarsensorer från Bosch Sensortec, Infineon, Micronas, Osram, Rohm, ST Microelectronics och Vishay finns också passiva och elektromekaniska sensorer från Murata och Omron i portföljen. Dessutom har Rutronik kretsar för hela signalbehandlingskedjan. Rutronik har fem personer i sitt sensorteam som sedan många år hjälper kunderna. Företaget har också kunskap om analogteknik.