Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Dette dokumentet lærer deg hvordan du bruker en STM32 MCU +MPU6050 akselerometer gyroskopsensor +STONE STVC070WT seriell portvisning for en DEMO.
STVC070WT er den serielle skjermen til vårt selskap, utviklingen er enkel, enkel å bruke, du kan gå til nettstedet til vårt selskap for all skjermforskjell:
Trinn 1: STENVERKTØY
Det er verdt å merke seg at skjermen vår støtter seriell portkommunikasjon. Noen modeller støtter TTL/RS232/RS485, men noen støtter bare RS232. Hvis MCUs serielle port er TTL -logikknivå, må du legge til en MAX3232 for nivåkonvertering. Hvis du vil vite hvilken skjerm som støtter TTL og hvilken som støtter både TTL og RS232, kan du sjekke det ut på nettstedet vårt:
www.stoneitech.com/product/industrial-type
Vi kan se at "industriell type" og "avansert type" -skjermbilder vanligvis bare støtter RS232 eller RS485, og bare "sivil type" -skjermbilder kan støtte TTL/RS232/RS485. Hvis du velger "avansert type" eller "industritype", men SCM støtter bare TTL, da må du gjøre følgende konvertering:
Annen relevant informasjon kan vises eller lastes ned på det offisielle nettstedet:
Tre trinn i utviklingen av STONE -skjermbildet:
Design skjermlogikken og knappelogikken med STONE TOOL -programvaren og last ned designfilen til skjermmodulen. MCU kommuniserer med STONE -skjermmodulen gjennom en seriell port.
Med dataene innhentet i trinn 2, gjør MCU andre handlinger.
Trinn 2: Prosjektinnføring
Prosjektinnføring
Det jeg skal vise deg i dag er en Demo of gravitation, gyroscope, Euler Angle, Funksjoner er som følger:
- Tre tekstbokser viser akselerasjonsverdier
- Tre tekstbokser viser gyroskopverdier
- Tre tekstbokser viser Euler Angle -verdier
- En tekstboks viser gjeldende oppdateringstid
- To knapper justerer oppdateringstiden
Først må vi bruke Photoshop til å designe to UI -grensesnitt, og designresultatene er som følger:
Det første bildet er hovedskjermbildet, og det andre bildet er knappeffekten. Deretter åpner vi "TOOL2019" og designer effektene i VERKTØYET:
To hovedkomponenter brukes:
Numerisk displayenhet
Inkrementell knapp
Etter designet kan simuleringsoperasjonseffekten sees i simuleringsgrensesnittet:
Trinn 3: MPU-6050
MPU-6050 er verdens første integrerte 6-aksede bevegelsesbehandlingsbrikke. Sammenlignet med flerkomponentløsningen eliminerer den problemet med forskjellen mellom det kombinerte gyroskopet og akseleratorens tidsakse og reduserer mye emballasjeplass. Når den er koblet til tre-akset magnetometer-timing, gir mpu-6050 en komplett 9-akset bevegelsesfusjonsutgang til I2C- eller SPI-portene (SPI er bare tilgjengelig på mpu-6000).
Sensing rekkevidde
Vinkelhastighetsregistreringsområdet til mpu-6050 er ± 250, ± 500, ± 1000 og ± 2000 °/ SEC (DPS), som nøyaktig kan spore raske og langsomme handlinger. Videre kan brukerne programmere og kontrollere deteksjonsområdet til akseleratorer til å være ± 2g, ± 4g ± 8g og ± 16g. Produktdata kan overføres via IIC opptil 400 kHz eller SPI opptil 20 MHz (SPI er bare tilgjengelig på mpu-6000). MPu-6050 kan fungere under forskjellige spenninger, spenningstilførselen til VDD er 2,5v ± 5%, 3,0v ± 5% eller 3.3v ± 5%, og strømforsyningen til det logiske grensesnittet VDDIO er 1.8v ± 5% (VDD brukes bare til MPU6000). Mpu-6050s emballasjestørrelse på 4x4x0.9mm (QFN) er revolusjonerende i bransjen. Andre funksjoner inkluderer innebygde temperatursensorer og oscillatorer som bare varierer ± 1% i driftsmiljøet. applikasjon
Mobile sensing games augmented reality, EIS: Electronic Image Stabilization (OIS: Optical Image Stabilization) brukergrensesnitt for fotgjengernavigator med "zero-touch" -bevegelse. Smarttelefon, nettbrett, håndholdt spillprodukt, spillkonsoll, 3D -fjernkontroll, en bærbar navigasjonsenhet, UAV, balansebil.
Kjennetegn
Digital utgang av 6-eller 9-akset rotasjonsmatrise, kvarternion, Euler Angle forma fusion calculus-data. 3-akset vinkelhastighetssensor (gyroskop) med 131 LSBs/ °/ SEC-følsomhet og fullt grid-sensingområde på ± 250, ± 500, ± 1000 og ± 2000 °/ SEK. Den kan styres av et program, og programkontrollområdet er ± 2g, ± 4g, ± 8g og ± 16g. Fjern følsomheten mellom gasspedalen og gyroskopaksen og reduser innflytelsen fra innstillingene og sensordriften. DMP-motoren (Digital Motion Processing) reduserer belastningen på komplekse fusjonsalgoritmer, sensorsynkronisering, postural sensing, etc. Bevegelsesbehandlingsdatabasen støtter avvik for driftstid og magnetiske sensorkorreksjonsalgoritmer innebygd Android, Linux og Windows. Temperatursensor med digital utgang og digital inngang Synkroniseringsnålstøtte video elektronisk skyggefasestabiliseringsteknologi og GPS programmerbar kontrollavbrudd støtter bevegelsesgjenkjenning, rist, zoom inn og ut av bildet, rullende, rask nedstigningsavbrudd, høy-g avbrudd, null bevegelsesføling, berøringsføling, ristefølelse. Forsyningsspenningen til VDD er 2,5v ± 5%, 3,0v ± 5%og 3,3v ± 5%. Driftsstrømmen til VDDIO er 1,8v ± 5%: 5mA; Standbystrøm for et gyroskop: 5uA; Akseleratorens driftsstrøm: 350uA, akseleratorens strømsparingsmodus nåværende: 20uA@10Hz I2C i hurtigmodus opptil 400kHz, eller SPI serielt vertsgrensesnitt opptil 20MHz innebygd frekvensgenerator ved fullt temperaturområde bare ± 1% frekvensvariasjon. Den minste og tynneste emballasjen (4x4x0,9 mm QFN) skreddersydd for bærbare produkter er testet for å oppfylle RoHS- og miljøstandarder. Om pinnen
SCL og SDA kobles til IIC -grensesnittet til MCU, der MCU styrer MPU6050. Det er også et IIC-grensesnitt, AXCL og XDA, som kan brukes til å koble til eksterne slaveenheter, for eksempel magnetiske sensorer, for å danne en ni-akset sensor. VLOGIC er spenningen til IO-porten, og den laveste pinnen kan nå 1.8v. Vanligvis kan vi direkte bruke VDD. AD0 er adressekontrollnålen fra IIC -grensesnittet (koblet til MCU), som styrer den laveste rekkefølgen på IIC -adressen. Hvis GND er tilkoblet, er IIC -adressen til MPU6050 0X68 og 0X69 hvis VDD er tilkoblet. Merk: adressen her inneholder ikke den laveste rekkefølgen for dataoverføring (den laveste rekkefølgen brukes for lesing og skriving). Nedenfor er mpu-6050-modulen jeg brukte:
Trinn 4: STM32 mikrokontroller
STM32F103RCT6 MCU har kraftige funksjoner. Her er de grunnleggende parametrene til MCU:
Serie: STM32F10X
Kjerne: ARM - COTEX32
Hastighet: 72 MHZ
Kommunikasjonsgrensesnitt: CAN, I2C, IrDA, LIN, SPI, UART/USART, USB
Periferutstyr: DMA, motorstyring PWM, PDR, POR, PVD, PWM, temperatursensor, WDT
Program lagringskapasitet: 256KB
Programminnetype: FLASH
RAM -kapasitet: 48K
Spenning - strømforsyning (Vcc/Vdd): 2 V ~ 3,6 V
Oscillator: intern
Driftstemperatur: -40 ° C ~ 85 ° C
Pakke/hus: 64-lqfp
I dette prosjektet vil jeg bruke UART, GPIO, Watch Dog og Timer av STM32F103RCT6. Følgende er kodeutviklingsrekorden for prosjektet. STM32 BRUKER Keil MDK programvareutvikling, som du må være kjent med, så jeg vil ikke introdusere installasjonsmetoden for denne programvaren. STM32 kan simuleres online via j-link eller st-link og andre simuleringsverktøy. Følgende bilde er STM32 utviklingsbordet jeg brukte:
Legg til seriell driver STM32F103RCT6 har flere serielle porter. I dette prosjektet brukte jeg den serielle portkanalen PA9/PA10, og den serielle portens baudhastighet ble satt til 115200.
Ta kontakt med oss hvis du trenger en fullstendig kode:
www.stoneitech.com/contact Vi svarer deg innen 12 timer.
Trinn 5: MPU-6050 driver
Denne koden bruker IIC kommunikasjonsmodus for å lese dataene til MPU6050, og IIC kommunikasjon bruker programvaresimulering IIC. Det er mange relaterte koder, så jeg vil ikke lime dem inn her.
Ta kontakt med oss hvis du trenger en fullstendig kode: https://www.stoneitech.com/contact Vi svarer deg innen 12 timer.
Vennligst se følgende bilde for operasjonseffekten:
For å lære mer om prosjektet klikk her