Indholdsfortegnelse:
- Trin 1: STENVÆRKTØJ
- Trin 2: Projektindledning
- Trin 3: MPU-6050
- Trin 4: STM32 mikrokontroller
- Trin 5: MPU-6050 Driver
Video: Stone Lcd + accelerationsgyroskopsensor: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
Dette dokument lærer dig, hvordan du bruger en STM32 MCU +MPU6050 accelerometer gyroskopsensor +STONE STVC070WT seriel portvisning til en DEMO.
STVC070WT er vores virksomheds serielle display, dets udvikling er enkel, let at bruge, du kan gå til vores virksomheds websted for alle displayforskelle:
Trin 1: STENVÆRKTØJ
Det er værd at bemærke, at vores skærm understøtter seriel portkommunikation. Nogle modeller understøtter TTL/RS232/RS485, men nogle understøtter kun RS232. Hvis din MCU's serielle port er TTL -logisk niveau, skal du tilføje en MAX3232 til niveaukonvertering. Hvis du vil vide, hvilken skærm der understøtter TTL, og hvilken der understøtter både TTL og RS232, kan du tjekke det på vores websted:
www.stoneitech.com/product/industrial-type
Vi kan se, at "industriel type" og "avanceret type" skærme generelt kun understøtter RS232 eller RS485, og kun "civil type" skærme kan understøtte TTL/RS232/RS485. Hvis du vælger "avanceret type" eller "industriel type", men din SCM understøtter kun TTL, så skal du lave følgende konvertering:
Andre relevante oplysninger kan ses eller downloades på det officielle websted:
Tre trin i udviklingen af STONE displayskærm:
Design displaylogikken og knappelogikken med STONE TOOL -softwaren, og download designfilen til displaymodulet. MCU'en kommunikerer med STONE -displaymodulet via en seriel port.
Med dataene opnået i trin 2 udfører MCU andre handlinger.
Trin 2: Projektindledning
Projekt introduktion
Det, jeg vil vise dig i dag, er en demo af tyngdekraften, gyroskop, Euler Angle, funktioner er som følger:
- Tre tekstbokse viser accelerationsværdier
- Tre tekstbokse viser gyroskopværdier
- Tre tekstbokse viser Euler Angle -værdier
- Et tekstfelt viser den aktuelle opdateringstid
- To knapper justerer opdateringstiden
Først skal vi bruge Photoshop til at designe to UI -grænseflader, og designresultaterne er som følger:
Det første billede er hovedskærmbilledet, og det andet billede er knapeffekten. Derefter åbner vi "TOOL2019" og designer effekterne i TOOL:
To hovedkomponenter bruges:
Numerisk displayenhed
Inkrementel knap
Efter designet kan simuleringsoperationseffekten ses i simuleringsgrænsefladen:
Trin 3: MPU-6050
MPU-6050 er verdens første integrerede 6-aksede bevægelsesbehandlingschip. Sammenlignet med multikomponentløsningen eliminerer det problemet med forskellen mellem det kombinerede gyroskop og acceleratorens tidsakse og reducerer meget emballageplads. Når den er forbundet til tre-akset magnetometer-timing, giver mpu-6050 en komplet 9-akset bevægelsesfusionsoutput til I2C- eller SPI-portene (SPI er kun tilgængelig på mpu-6000).
Føleområde
Vinkelhastighedsregistreringsområdet for mpu-6050 er ± 250, ± 500, ± 1000 og ± 2000 °/ SEC (DPS), som præcist kan spore hurtige og langsomme handlinger. Desuden kan brugerne programmere og styre detekteringsområdet for acceleratorer til at være ± 2g, ± 4g ± 8g og ± 16g. Produktdata kan overføres via IIC op til 400kHz eller SPI op til 20MHz (SPI er kun tilgængelig på mpu-6000). Mpu-6050 kan fungere under forskellige spændinger, spændingsforsyningen til VDD er 2,5v ± 5%, 3,0v ± 5% eller 3.3v ± 5%, og strømforsyningen til logisk interface VDDIO er 1.8v ± 5% (VDD bruges kun til MPU6000). MPU-6050's emballagestørrelse på 4x4x0.9mm (QFN) er revolutionerende i branchen. Andre funktioner inkluderer indbyggede temperatursensorer og oscillatorer, der kun varierer ± 1% i driftsmiljøet. Ansøgning
Mobile sensing games augmented reality, EIS: Electronic Image Stabilization (OIS: Optical Image Stabilization) brugergrænseflade for fodgængernavigator med "zero-touch" gestus. Smartphone, tablet -enhed, håndholdt spilprodukt, spillekonsol, 3D -fjernbetjening, en bærbar navigationsenhed, UAV, balancebil.
Egenskaber
Digital output af 6-eller 9-akset rotationsmatrix, quaternion, Euler Angle forma fusion calculus data. 3-akset vinkelhastighedsføler (gyroskop) med 131 LSBs/ °/ SEC følsomhed og fuld gitterfølerområde på ± 250, ± 500, ± 1000 og ± 2000 °/ SEC. Det kan styres af et program, og programkontrolområdet er ± 2g, ± 4g, ± 8g og ± 16g. Fjern følsomheden mellem acceleratoren og gyroskopaksen, og reducer indflydelsen fra indstillingerne og sensordrift. DMP (Digital Motion Processing) -motoren reducerer belastningen af komplekse fusionsalgoritmer, sensorsynkronisering, postural sensing osv. Bevægelsesbehandlingsdatabasen understøtter driftstidens afvigelse og magnetiske sensorkorrektionsalgoritmer indbygget i Android, Linux og Windows. Temperatursensor med digital udgang og digital indgang Sync pin understøtter video elektronisk skygge fasestabilisering teknologi og GPS programmerbar kontrol afbrydelse understøtter bevægelsesgenkendelse, ryst, zoom ind og ud af billedet, rullende, hurtig nedstigning afbrydelse, high-g afbrydelse, nul bevægelsesregistrering, berøringsføling, rystningsføling. Forsyningsspændingen for VDD er 2,5v ± 5%, 3,0v ± 5%og 3,3v ± 5%. Driftsstrømmen for VDDIO er 1,8v ± 5%: 5mA; Standbystrøm for et gyroskop: 5uA; Acceleratorens driftsstrøm: 350uA, acceleratorens strømbesparende tilstandsstrøm: 20uA@10Hz I2C i hurtig tilstand op til 400kHz eller SPI seriel værtgrænseflade op til 20MHz indbygget frekvensgenerator ved fuldt temperaturområde kun ± 1% frekvensvariation. Den mindste og tyndeste emballage (4x4x0,9 mm QFN), der er skræddersyet til bærbare produkter, er blevet testet for at opfylde RoHS- og miljøstandarder. Om nålen
SCL og SDA opretter forbindelse til MCU's IIC -interface, hvorigennem MCU styrer MPU6050. Der er også en IIC-grænseflade, AXCL og XDA, som kan bruges til at forbinde eksterne slaveenheder, såsom magnetiske sensorer, til at danne en ni-akset sensor. VLOGIC er spændingen i IO-porten, og den laveste pin kan nå 1.8v. Generelt kan vi direkte bruge VDD. AD0 er adressekontrolpinden fra IIC -grænsefladen (forbundet til MCU), som styrer den laveste rækkefølge af IIC -adressen. Hvis GND er tilsluttet, er IIC -adressen på MPU6050 0X68 og 0X69, hvis VDD er tilsluttet. Bemærk: adressen her indeholder ikke den laveste rækkefølge for dataoverførsel (den laveste rækkefølge bruges til læsning og skrivning). Nedenfor er det mpu-6050-modul, jeg brugte:
Trin 4: STM32 mikrokontroller
STM32F103RCT6 MCU har kraftfulde funktioner. Her er de grundlæggende parametre for MCU:
Serie: STM32F10X
Kerne: ARM - COTEX32
Hastighed: 72 MHZ
Kommunikationsgrænseflade: CAN, I2C, IrDA, LIN, SPI, UART/USART, USB
Periferiudstyr: DMA, motorstyring PWM, PDR, POR, PVD, PWM, temperatursensor, WDT
Program lagerkapacitet: 256KB
Programhukommelsestype: FLASH
RAM -kapacitet: 48K
Spænding - strømforsyning (Vcc/Vdd): 2 V ~ 3,6 V
Oscillator: intern
Driftstemperatur: -40 ° C ~ 85 ° C
Pakke/hus: 64-lqfp
I dette projekt vil jeg bruge UART, GPIO, Watch Dog og Timer af STM32F103RCT6. Følgende er kodeudviklingsrekorden for projektet. STM32 BRUGER Keil MDK softwareudvikling, som du skal være bekendt med, så jeg vil ikke introducere installationsmetoden for denne software. STM32 kan simuleres online via j-link eller st-link og andre simuleringsværktøjer. Følgende billede er STM32 -udviklingsbordet, jeg brugte:
Tilføj seriel driver STM32F103RCT6 har flere serielle porte. I dette projekt brugte jeg den serielle portkanal PA9/PA10, og den serielle ports baudhastighed blev indstillet til 115200.
Kontakt os venligst, hvis du har brug for en komplet kode:
www.stoneitech.com/contact Vi svarer dig inden for 12 timer.
Trin 5: MPU-6050 Driver
Denne kode bruger IIC -kommunikationstilstand til at læse dataene fra MPU6050, og IIC -kommunikation bruger softwaresimulering IIC. Der er mange relaterede koder, så jeg vil ikke indsætte dem her.
Kontakt os venligst, hvis du har brug for en komplet kode: https://www.stoneitech.com/contact Vi svarer dig inden for 12 timer.
Se venligst følgende billede for driftseffekten:
For at lære mere om projektet klik her