Innehållsförteckning:
- Steg 1: STENVERKTYG
- Steg 2: Projektintroduktion
- Steg 3: MPU-6050
- Steg 4: STM32 mikrokontroller
- Steg 5: MPU-6050-drivrutin
Video: Stone Lcd + accelerationsgyroskopsensor: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:37
Detta dokument lär dig hur du använder en STM32 MCU +MPU6050 accelerometer gyroskopsensor +STONE STVC070WT seriell portdisplay för en DEMO.
STVC070WT är seriens display för vårt företag, dess utveckling är enkel, lätt att använda, du kan gå till vårt företags webbplats för all displayskillnad:
Steg 1: STENVERKTYG
Det är värt att notera att vår skärm stöder seriell portkommunikation. Vissa modeller stöder TTL/RS232/RS485, men vissa stöder endast RS232. Om din MCU: s seriella port är TTL -logiknivå måste du lägga till en MAX3232 för nivåkonvertering. Om du vill veta vilken skärm som stöder TTL och vilken som stöder både TTL och RS232 kan du kolla in den på vår webbplats:
www.stoneitech.com/product/industrial-type
Vi kan se att skärmarna "industriell typ" och "avancerad typ" i allmänhet endast stöder RS232 eller RS485, och endast "civil typ" skärmar kan stödja TTL/RS232/RS485. Om du väljer "avancerad typ" eller "industrityp", men din SCM stöder bara TTL, då måste du göra följande konvertering:
Annan relevant information kan ses eller laddas ner på den officiella webbplatsen:
Tre steg i utvecklingen av STONE -skärmen:
Designa displaylogiken och knapplogiken med programvaran STONE TOOL och ladda ner designfilen till displaymodulen. MCU kommunicerar med STONE -displaymodulen via en seriell port.
Med data som erhållits i steg 2 gör MCU andra åtgärder.
Steg 2: Projektintroduktion
Projektintroduktion
Vad jag ska visa dig idag är en demo av gravitation, gyroskop, Euler Angle, funktioner är följande:
- Tre textrutor visar accelerationsvärden
- Tre textrutor visar gyroskopvärden
- Tre textrutor visar Euler Angle -värden
- En textruta visar den aktuella uppdateringstiden
- Två knappar justerar uppdateringstiden
Först måste vi använda Photoshop för att designa två UI -gränssnitt, och designresultaten är följande:
Den första bilden är huvudskärmbilden, och den andra bilden är knappeffekten. Sedan öppnar vi "TOOL2019" och designar effekterna i VERKTYGET:
Två huvudkomponenter används:
Numerisk displayenhet
Inkrementell knapp
Efter designen kan simuleringseffekten ses i simuleringsgränssnittet:
Steg 3: MPU-6050
MPU-6050 är världens första integrerade 6-axliga rörelseshanteringschip. Jämfört med flerkomponentlösningen eliminerar den problemet med skillnaden mellan det kombinerade gyroskopet och acceleratorns tidsaxel och minskar mycket förpackningsutrymme. När den är ansluten till tre-axlig magnetometertiming ger mpu-6050 en komplett 9-axlig rörelsefusionsutgång till I2C- eller SPI-portarna (SPI är endast tillgänglig på mpu-6000).
Avkänningsområde
Vinkelhastighetsavkänningsområdet för mpu-6050 är ± 250, ± 500, ± 1000 och ± 2000 °/ SEC (DPS), som exakt kan spåra snabba och långsamma åtgärder. Dessutom kan användarna programmera och kontrollera detekteringsområdet för acceleratorer till ± 2g, ± 4g ± 8g och ± 16g. Produktdata kan överföras via IIC upp till 400kHz eller SPI upp till 20MHz (SPI är endast tillgängligt på mpu-6000). Mpu-6050 kan fungera under olika spänningar, spänningsmatningen för VDD är 2,5v ± 5%, 3,0v ± 5% eller 3,3v ± 5%, och nätaggregatet för logiskt gränssnitt VDDIO är 1,8v ± 5% (VDD används endast för MPU6000). MPU-6050: s förpackningsstorlek på 4x4x0.9mm (QFN) är revolutionerande i branschen. Andra funktioner inkluderar inbyggda temperaturgivare och oscillatorer som endast varierar ± 1% i driftsmiljön. Ansökan
Mobila avkänningsspel augmented reality, EIS: Electronic Image Stabilization (OIS: Optical Image Stabilization) användargränssnitt för fotgängarnavigator med "zero-touch" gest. Smartphone, surfplatta, handhållen spelprodukt, spelkonsol, 3D -fjärrkontroll, en bärbar navigationsenhet, UAV, balansbil.
Egenskaper
Digital utmatning av 6-eller 9-axlig rotationsmatris, kvaternion, Euler Angle forma fusion calculus data. 3-axlig vinkelhastighetssensor (gyroskop) med 131 LSBs/ °/ SEC-känslighet och fullt nätavkänningsområde på ± 250, ± 500, ± 1000 och ± 2000 °/ SEK. Det kan styras av ett program, och programkontrollområdet är ± 2g, ± 4g, ± 8g och ± 16g. Ta bort känsligheten mellan acceleratorn och gyroskopaxeln och minska påverkan av inställningarna och sensordrift. DMP-motorn (Digital Motion Processing) minskar belastningen på komplexa fusionsalgoritmer, sensorsynkronisering, postural avkänning etc. Rörelsedatabasen stöder avvikelser från drifttid och magnetiska sensorkorrigeringsalgoritmer inbyggda Android, Linux och Windows. Temperatursensor med digital utgång och digital ingång Synkstiftstift stödjer elektronisk elektronisk skuggfasstabiliseringsteknik och GPS-programmerbar kontrollavbrott stöder gestigenkänning, skaka, zooma in och ut ur bilden, rullande, snabb nedstigning, hög-g avbrott, noll rörelsedetektering, beröringsavkänning, skakavkänning. Nätspänningen för VDD är 2,5v ± 5%, 3,0v ± 5%och 3,3v ± 5%. Driftströmmen för VDDIO är 1,8v ± 5%: 5mA; Standbyström för ett gyroskop: 5uA; Acceleratorns driftström: 350uA, acceleratorns energisparläge ström: 20uA@10Hz I2C i snabbläge upp till 400kHz, eller SPI seriellt värdgränssnitt upp till 20MHz inbyggd frekvensgenerator vid fullt temperaturintervall endast ± 1% frekvensvariation. Den minsta och tunnaste förpackningen (4x4x0.9mm QFN) skräddarsydd för bärbara produkter har testats för att uppfylla RoHS- och miljöstandarder. Om stiftet
SCL och SDA ansluter till IIC -gränssnittet för MCU, genom vilket MCU styr MPU6050. Det finns också ett IIC-gränssnitt, AXCL och XDA, som kan användas för att ansluta externa slavenheter, till exempel magnetiska sensorer, för att bilda en nioaxlad sensor. VLOGIC är spänningen i IO-porten och den lägsta stiftet kan nå 1.8v. I allmänhet kan vi direkt använda VDD. AD0 är adresskontrollnålen från IIC -gränssnittet (anslutet till MCU), som styr den lägsta ordningen på IIC -adressen. Om GND är ansluten är IIC -adressen för MPU6050 0X68 och 0X69 om VDD är ansluten. Obs: adressen här innehåller inte den lägsta ordningen för dataöverföring (den lägsta ordningen används för läsning och skrivning). Nedan är mpu-6050-modulen jag använde:
Steg 4: STM32 mikrokontroller
STM32F103RCT6 MCU har kraftfulla funktioner. Här är de grundläggande parametrarna för MCU:
Serie: STM32F10X
Kärna: ARM - COTEX32
Hastighet: 72 MHZ
Kommunikationsgränssnitt: CAN, I2C, IrDA, LIN, SPI, UART/USART, USB
Kringutrustning: DMA, motorstyrning PWM, PDR, POR, PVD, PWM, temperaturgivare, WDT
Programlagringskapacitet: 256KB
Programminnetyp: FLASH
RAM -kapacitet: 48K
Spänning - strömförsörjning (Vcc/Vdd): 2 V ~ 3,6 V
Oscillator: intern
Drifttemperatur: -40 ° C ~ 85 ° C
Förpackning/hölje: 64-lqfp
I detta projekt kommer jag att använda UART, GPIO, Watch Dog och Timer för STM32F103RCT6. Följande är kodutvecklingsrekordet för projektet. STM32 ANVÄNDER Keil MDK -mjukvaruutveckling, som du måste känna till, så jag kommer inte att introducera installationsmetoden för denna programvara. STM32 kan simuleras online via j-link eller st-link och andra simuleringsverktyg. Följande bild är STM32 -utvecklingskortet jag använde:
Lägg till seriell drivrutin STM32F103RCT6 har flera seriella portar. I detta projekt använde jag den seriella portkanalen PA9/PA10, och den seriella portens överföringshastighet var 115200.
Kontakta oss om du behöver en fullständig kod:
www.stoneitech.com/contact Vi svarar dig inom 12 timmar.
Steg 5: MPU-6050-drivrutin
Denna kod ANVÄNDER IIC -kommunikationsläge för att läsa data från MPU6050 och IIC -kommunikation ANVÄNDER mjukvarusimulering IIC. Det finns många relaterade koder, så jag klistrar inte in dem här.
Kontakta oss om du behöver en fullständig kod: https://www.stoneitech.com/contact Vi svarar dig inom 12 timmar.
Se följande bild för operationseffekten:
För att lära dig mer om projektet klicka här