MEMS2015710MEMS3DM-E10AVisualStudio2010MEMS(MEMS)PCMEMS3DM-E10APCRS232PCMEMSAbstractDesignacombinationofMEMS3DM-E10AaccelerometerandVisualStudio2010writtenbythehostcomputerfromanewdigitalanglemeasurementsystembyMEMSaccelerometeroutputsignalconditioningandserialdatareadandconverted,andgetdigitalsignalaftererrorcompensation,itiscalculatedbythetiltvalueanddisplayedthroughthePCsoftware.Theanglemeasurementinstrumenthasasmallsize,lightweight,highprecisioncharacteristics,canbewidelyusedatconstruction,machinery,roads,bridgesandgeologicalexplorationgravityreferencesystemmeasuringtheinclinationoftheoccasion.(MEMS)electroniccompasstechnologywithlowcost,smallsize,lightweight,highintegration,suitableformassproductionbasedonmicro-electromechanicalsystems,etc.,playanincreasinglyimportantroleinmilitaryandcivilianfields.PCtoPCasthecore,theuseofasinglemoduleintegratesthree-axisaccelerometerMEMSdigitalintegratedchip3DM-E10Aasheadinganglemeasuringmodulemeasuringsystem.Afterthissystemconfiguration,PCPCacquisitionheadingmeasurementmodulesthroughtheserialcommunicationprotocoltriaxialaccelerationsensoroutput,throughtheanalysisofthemainsourcesoferrortomeasuretheoutputoftheaccelerationsensor,theestablishmentofappropriateerrorcorrectionmodeltomeasuretheoutputofthesensorerrorcompensationsolvingthepostureandtheattitudesolutiontotheinclinationwastransferredtothePCviaRS232applicationsforreal-timedatadisplay.Thesystemisdesignedtoreducetheuseofarchitecturetomaximizeperipheraldevices,simplestructure,reducingthecost,sizeandpowerconsumption.Keywords:MEMSAccelerometers;Anglemeasurementinstrument;ErrorCompensationPC...........................................................01.MEMS........................................11.1MEMS.......................................................................11.2MEMS................................................................................12.................................................12.1MEMSMAHRS3DM-E10A......................................12.2MEMSMAHRS3DM-E10A..................................32.3MEMSMAHRS3DM-E10A..............................52.4...................................................52.4.1...........................................52.5......................................................63MEMS....................................63.1................................................63.2---.........................................73.2.1.............................................73.2.2.................................................83.3----........................................93.4----...................................103.5----...................................134.MEMS...........................................144.1............................................144.2MEMS.............................144.3..............................................155..........................................................................15........................................................16......................................................17..................................................18..............................................19SoCMEMS1.MEMS1.1MEMSMAHRS3DM-E10AMEMSMEMS3DM-E10APCMEMSXYZ1.2MEMS-DSPDSPFlashMAHRS3DM-E10AMAHRS3DM-E10AMAHRS3DM-E10AMAHRS3DM-E10ADC+5.0VMicrosoftVisualStudio2010AHRS1X,Y,ZX,Y,Z2.2.1MEMSMAHRS3DM-E10AMAHRS3DM-E10A3DM-E10AMAHRS3DM-E10AMAHRS3DM-E10AMAHRS3DM-E10A100Hz2.1MAHRS3DM-E10A2.2MAHRS3DM-E10A2.2MEMSMAHRS3DM-E10A2.13DM-E10A2.23DM-E10A2.33DM-E10A2.43DM-E10A2.53DM-E10A2.3MEMSMAHRS3DM-E10A2.1MAHRS3DM-E10A2.42.4.1MAHRS3DM-E10ARS23212.62.62.5MAHRS3DM-E10A0-2555-260PREBIDMIDLENDATACS2.73MEMS3.1MEMSMAHRS3DM-E10ASY2303ZJHUSBTORS232PC115200813.13.2---3.2.1voidCMAHRS3DME10ASoftwareV10Dlg::OnBnClickedButtonSend(){//TODO:inti,Count,m_TxData[5]={0xfa,0x01,0x82,0x00,0x79};UpdateData(true);////m_mscom.put_Output(COleVariant(m_Editsend));////Count=m_strSend.GetLength();//m_strSendCStringCount=5;CByteArraym_Array;m_Array.RemoveAll();m_Array.SetSize(Count);for(i=0;iCount;i++)m_Array.SetAt(i,m_TxData[i]);m_mscom.put_Output(COleVariant(m_Array));//}RS232AHRS1AHRS1-MID=0x82MID=0x83MAHRS3DM-E10AAHRS10xFA0x010x820x000x790xFA0x010x820x40LLLHHLHHLLLHHLHHCS\________64________/40x4064CSXOR3.2.2voidCMAHRS3DME10ASoftwareV10Dlg::OnCommMscomm1()//{//TODO:VARIANTvariant_inp;COleSafeArraysafearray_inp;LONGlen,k;BYTErxdata[2048];//BYTEAn8-bitintegerthatisnotsigned.unsignedcharstr[2048]={0};//unsignedcharypr[4]={0};//4unsignedchargxyz[4]={0};//4unsignedcharhxyz[4]={0};//4unsignedcharaxyz[4]={0};//4floattemp=0.0;//4CStringstrtemp;if(m_mscom.get_CommEvent()==2)//2{variant_inp=m_mscom.get_Input();//safearray_inp=variant_inp;//VARIANTColeSafeArraylen=safearray_inp.GetOneDimSize();//for(k=0;klen;k++)safearray_inp.GetElement(&k,rxdata+k);//BYTEfor(k=0;klen;k++)//Cstring{BYTEbt=*(char*)(rxdata+k);//if(k=0&&k=2)str[k]=bt;if(str[0]==0xfa){if(str[1]==0x01){if(str[2]==0x82)str[k]=bt;}}3.23.3----voidCMAHRS3DME10ASoftwareV10Dlg::DoDataExchange(CDataExchange*pDX){CDialogEx::DoDataExchange(