Talaan ng mga Nilalaman:
- Hakbang 1: TOOL NG BATO
- Hakbang 2: Panimula sa Proyekto
- Hakbang 3: MPU-6050
- Hakbang 4: STM32 Microcontroller
- Hakbang 5: MPU-6050 Driver
Video: Stone Lcd + Acceleration Gyroscope Sensor: 5 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
Tuturuan ka ng dokumentong ito kung paano gumamit ng STM32 MCU + MPU6050 accelerometer gyroscope sensor + STONE STVC070WT serial port display para sa isang DEMO.
Ang STVC070WT ay ang serial display ng aming kumpanya, ang pag-unlad nito ay simple, madaling gamitin, maaari kang pumunta sa website ng aming kumpanya para sa lahat ng pagkakaiba sa pagpapakita:
Hakbang 1: TOOL NG BATO
Mahalagang tandaan na sinusuportahan ng aming screen ang komunikasyon sa serial port. Ang ilang mga modelo ay sumusuporta sa TTL / RS232 / RS485, ngunit ang ilan ay sumusuporta lamang sa RS232. Kung ang serial port ng iyong MCU ay ang antas ng lohika ng TTL, kailangan mong magdagdag ng isang MAX3232 para sa antas ng conversion. Kung nais mong malaman kung aling screen ang sumusuporta sa TTL at alin ang sumusuporta sa parehong TTL at RS232, maaari mo itong suriin sa aming website:
www.stoneitech.com/product/industrial-type
Makikita natin na ang mga "pang-industriya na uri" at "advanced na uri" na mga screen sa pangkalahatan ay sumusuporta lamang sa RS232 o RS485, at ang mga screen na "uri ng sibilyan" lamang ang maaaring suportahan ang TTL / RS232 / RS485. Kung pipiliin mo ang "advanced na uri" o "pang-industriya na uri", ngunit sinusuportahan lamang ng iyong SCM ang TTL, pagkatapos ay kailangan mong gawin ang sumusunod na conversion:
Ang iba pang nauugnay na impormasyon ay maaaring matingnan o ma-download sa opisyal na website:
Tatlong hakbang ng pag-unlad ng display ng BATO:
Idisenyo ang display lohika at pindutan ng lohika na may software na STONE TOOL at i-download ang file ng disenyo sa display module. Nakikipag-usap ang MCU sa module ng pagpapakita ng STONE sa pamamagitan ng isang serial port.
Gamit ang data na nakuha sa hakbang 2, ang MCU ay gumagawa ng iba pang mga pagkilos.
Hakbang 2: Panimula sa Proyekto
Pagpapakilala ng proyekto
Ang ipapakita ko sa iyo ngayon ay isang Demo ng gravity, gyroscope, Euler Angle, Function ay ang mga sumusunod:
- Tatlong mga kahon ng teksto ang nagpapakita ng mga halaga ng pagpapabilis
- Tatlong mga kahon ng teksto ang nagpapakita ng mga halagang gyroscope
- Tatlong mga kahon ng teksto ang nagpapakita ng mga halagang Euler Angle
- Ipinapakita ng isang text box ang kasalukuyang oras ng pag-refresh
- Ang dalawang mga pindutan ayusin ang oras ng pag-refresh
Una, kailangan naming gumamit ng Photoshop upang mag-disenyo ng dalawang mga interface ng UI, at ang mga resulta ng disenyo ay ang mga sumusunod:
Ang unang imahe ay ang pangunahing imahe ng screen, at ang pangalawang imahe ay ang epekto ng pindutan. Pagkatapos ay buksan namin ang "TOOL2019" at ididisenyo ang mga epekto sa TOOL:
Dalawang pangunahing sangkap ang ginagamit:
Numerical display unit
Button na Karagdagan
Matapos ang disenyo, ang epekto ng pagpapatakbo ng simulation ay maaaring makita sa interface ng simulation:
Hakbang 3: MPU-6050
Ang mpu-6050 ang unang pinagsamang chip ng pagpoproseso ng paggalaw ng 6-axis sa buong mundo. Kung ikukumpara sa solusyon ng multi-bahagi, inaalis nito ang problema ng pagkakaiba sa pagitan ng pinagsamang gyroscope at axis ng oras ng akseler at binabawasan ang maraming puwang sa pag-packaging. Kapag nakakonekta sa tatlong-axis na magnetometer na tiyempo, ang mpu-6050 ay nagbibigay ng isang kumpletong 9-axis na paggalaw ng pagsasanib ng paggalaw sa mga port ng I2C o SPI (magagamit lamang ang SPI sa mpu-6000).
Saklaw ng sensing
Ang saklaw ng saklaw ng bilis ng sensing ng mpu-6050 ay ± 250, ± 500, ± 1000, at ± 2000 ° / SEC (DPS), na maaaring tumpak na masubaybayan ang mabilis at mabagal na mga aksyon. Bukod dito, maaaring programa at makontrol ng mga gumagamit ang saklaw ng pagtuklas ng mga accelerator na maging ± 2g, ± 4g ± 8g at ± 16g. Ang data ng produkto ay maaaring mailipat sa pamamagitan ng IIC hanggang sa 400kHz o SPI hanggang sa 20MHz (ang SPI ay magagamit lamang sa mpu-6000). Ang CPU-6050 ay maaaring gumana sa ilalim ng iba't ibang mga voltages, ang supply ng boltahe ng VDD ay 2.5v ± 5%, 3.0v ± 5% o 3.3v ± 5%, at ang power supply ng logic interface VDDIO ay 1.8v ± 5% (VDD lamang ang ginagamit para sa MPU6000). Ang laki ng packaging ng mpu-6050 na 4x4x0.9mm (QFN) ay rebolusyonaryo sa industriya. Ang iba pang mga tampok ay may kasamang built-in na mga sensor ng temperatura at oscillator na nag-iiba lamang ± 1% sa operating environment. Paglalapat
Ang mga larong pang-mobile na nadama ay nadagdagan ang katotohanan, EIS: Electronic Image Stabilization (OIS: Optical Image Stabilization) interface ng gumagamit ng pedestrian navigator na may "zero-touch" na kilos. Smartphone, tablet device, produktong handheld game, game console, 3D remote control, isang portable nabigasyon aparato, UAV, balanse ng kotse.
Mga Katangian
Digital output ng 6 - o 9-axis rotation matrix, quaternion, Euler Angle forma fusion calculus data. 3-axis angular velocity sensor (gyroscope) na may 131 LSBs / ° / SEC pagiging sensitibo at buong saklaw ng sensing ng kisame ng ± 250, ± 500, ± 1000 at ± 2000 ° / SEC. Maaari itong makontrol ng isang programa, at ang saklaw ng kontrol ng programa ay ± 2g, ± 4g, ± 8g, at ± 16g. Alisin ang pagkasensitibo sa pagitan ng accelerator at ng gyroscope axis at bawasan ang impluwensya ng Drift ng setting at sensor. Ang makina ng DMP (Digital Motion Processing) ay binabawasan ang pagkarga ng mga kumplikadong algorithm ng pagsasanib, pag-synchronize ng sensor, pang-postal na sensing, atbp. Sinusuportahan ng database ng pagpoproseso ng paggalaw ang paglipas ng oras ng pagpapatakbo at mga algorithm ng pagwawasto ng magnetic sensor na built-in na Android, Linux, at Windows. Temperatura sensor na may digital output at digital input Sync pin sumusuporta sa video electronic shadow phase stabilization teknolohiya at GPS programmable control makagambala pagkilala kilos suporta, iling, mag-zoom in at out ng larawan, lumiligid, mabilis na paglusob makagambala, high-g makagambala, zero paggalaw sensing, touch sensing, shake sensing. Ang supply voltage ng VDD ay 2.5v ± 5%, 3.0v ± 5% at 3.3v ± 5%. Ang kasalukuyang operating ng VDDIO ay 1.8v ± 5%: 5mA; Standby kasalukuyang ng isang gyroscope: 5uA; Kasalukuyang nagpapatakbo ng Accelerator: 350uA, kasalukuyang mode na nagse-save ng lakas: 20uA @ 10Hz I2C sa mabilis na mode hanggang sa 400kHz, o SPI serial host interface hanggang sa 20MHz built-in na generator ng dalas sa buong saklaw ng temperatura na lamang ± 1% na pagkakaiba-iba ng dalas. Ang pinakamaliit at pinakamayat na packaging (4x4x0.9mm QFN) na iniayon para sa mga portable na produkto ay nasubukan upang matugunan ang RoHS at mga pamantayan sa kapaligiran. Tungkol sa pin
Ang SCL at SDA ay kumonekta sa interface ng IIC ng MCU, kung saan kinokontrol ng MCU ang MPU6050. Mayroon ding interface ng IIC, AXCL, at XDA, na maaaring magamit upang ikonekta ang mga panlabas na aparato ng alipin, tulad ng mga magnetic sensor, upang mabuo ang isang siyam na axis sensor. Ang VLOGIC ay ang boltahe ng port ng IO, at maabot ng pinakamababang pin 1.8v. Pangkalahatan, maaari naming direktang gamitin ang VDD. AD0 ay ang address control pin mula sa interface ng IIC (konektado sa MCU), na kumokontrol sa pinakamababang pagkakasunud-sunod ng IIC address. Kung ang GND ay konektado, pagkatapos ang IIC address ng MPU6050 ay 0X68 at 0X69 kung ang VDD ay konektado. Tandaan: ang address dito ay hindi naglalaman ng pinakamababang pagkakasunud-sunod ng paglipat ng data (ang pinakamababang order ay ginagamit para sa pagbabasa at pagsulat). Nasa ibaba ang mpu-6050 module na ginamit ko:
Hakbang 4: STM32 Microcontroller
Ang STM32F103RCT6 MCU ay may malakas na pag-andar. Narito ang mga pangunahing parameter ng MCU:
Serye: STM32F10X
Kernel: ARM - COTEX32
Bilis: 72 MHZ
Interface ng komunikasyon: CAN, I2C, IrDA, LIN, SPI, UART / USART, USB
Mga kagamitan sa paligid: DMA, kontrol sa motor PWM, PDR, POR, PVD, PWM, sensor ng temperatura, WDT
Kapasidad sa pag-iimbak ng programa: 256KB
Uri ng memorya ng programa: FLASH
Kapasidad ng RAM: 48K
Boltahe - power supply (Vcc / Vdd): 2 V ~ 3.6 V
Oscillator: panloob
Temperatura sa pagpapatakbo: -40 ° C ~ 85 ° C
Pakete / pabahay: 64-lqfp
Sa proyektong ito, gagamitin ko ang UART, GPIO, Watch Dog, at Timer ng STM32F103RCT6. Ang sumusunod ay ang record record ng code para sa proyekto. Gumagamit ang STM32 ng pag-unlad ng software ng Keil MDK, tungkol sa kung saan dapat pamilyar ka, kaya hindi ko ipakikilala ang paraan ng pag-install ng software na ito. Ang STM32 ay maaaring kunwa online sa pamamagitan ng j-link o st-link at iba pang mga tool sa simulation. Ang sumusunod na larawan ay ang STM32 development board na ginamit ko:
Magdagdag ng serial driverSTM32F103RCT6 ay may maraming mga serial port. Sa proyektong ito, ginamit ko ang serial port channel PA9 / PA10, at ang serial port baud rate ay itinakda sa 115200.
Mangyaring makipag-ugnay sa amin kung kailangan mo ng isang kumpletong code:
www.stoneitech.com/contact Tutugon kami sa iyo sa loob ng 12 oras.
Hakbang 5: MPU-6050 Driver
Ang code na ito ay gumagamit ng IIC mode ng komunikasyon upang mabasa ang data ng MPU6050, at ang komunikasyon ng IIC ay gumagamit ng simulation ng software IIC. Maraming mga kaugnay na code, kaya't hindi ko ididikit ang mga ito rito.
Mangyaring makipag-ugnay sa amin kung kailangan mo ng isang kumpletong code: https://www.stoneitech.com/contact Tutugon kami sa iyo sa loob ng 12 oras.
Mangyaring tingnan ang sumusunod na larawan para sa epekto ng operasyon:
Upang matuto nang higit pa tungkol sa pag-click sa proyekto dito
Inirerekumendang:
GY-521 MPU6050 3-Axis Acceleration Gyroscope 6DOF Module Tutorial: 4 Mga Hakbang
GY-521 MPU6050 3-Axis Acceleration Gyroscope 6DOF Module Tutorial: Paglalarawan Ang simpleng modyul na ito ay naglalaman ng lahat ng kinakailangan upang mag-interface sa Arduino at iba pang mga tagakontrol sa pamamagitan ng I2C (gamitin ang library ng Wire Arduino) at bigyan ang impormasyon ng paggalaw ng sensasyon para sa 3 axes - X, Y at Z . Mga pagtutukoy Mga saklaw ng Accelerometer: ± 2, ±
Arduino Nano at Visuino: I-convert ang Acceleration sa Angle Mula sa Accelerometer at Gyroscope MPU6050 I2C Sensor: 8 Hakbang (na may Mga Larawan)
Arduino Nano at Visuino: I-convert ang Acceleration sa Angle Mula sa Accelerometer at Gyroscope MPU6050 I2C Sensor: Kaninang nag-post ako ng isang tutorial sa kung paano mo maiugnay ang MPU9250 Accelerometer, Gyroscope at Compass Sensor sa Arduino Nano at iprogram ito sa Visuino upang magpadala ng packet data at ipakita ito sa isang Saklaw at Mga Visual Instrument. Ang Accelerometer ay nagpapadala ng X, Y,
Nokia 3310 Acceleration Logger: 8 Hakbang
Nokia 3310 Acceleration Logger: Paano gumawa ng isang acceleration logger sa isang Nokia 3310 cellular phone. Gagamitin ko ito upang masukat ang pwersa sa mga roller coaster