极品馒头泬19p,国产精品亚洲一区二区三区,狠狠色噜噜狠狠狠7777奇米,国产精品视频一区二区三区无码,国产欧美日韩久久久久

【E430】STM32平衡車代碼+MATLAB上位機代碼

2021-08-22 16:18:33      索煒達電子      727     

項目編號:E430

文件大?。?7M

源碼說明:帶中文注釋

開發(fā)環(huán)境:C編譯器

簡要概述

平衡車代碼+MATLAB上位機代碼 本來是想做一個小車只需采集并發(fā)送數(shù)據(jù),接收并執(zhí)行simulink的命令,用simulink來做姿態(tài)解算和PID平衡控制的項目,但是在調(diào)試了三天之后以失敗告終,主要原因是藍牙模塊的傳輸速度太慢了,所以就轉而求其次,用matlab寫了個上位機做姿態(tài)顯示并且發(fā)送一些指令控制小車前進后退,當然也可以用手機藍牙串口發(fā)送指令來控制。

【E430】STM32平衡車代碼+MATLAB上位機代碼

【E430】STM32平衡車代碼+MATLAB上位機代碼

軟件架構

1.上位機的代碼和exe程序在MATLABGUI文件夾。

2.平衡小車代碼在balance_car文件夾。


相關說明

1.陀螺儀X軸正方向為小車的正前方。

2.我的主控芯片是STM32F103C8T6。

3.電機驅動模塊用的L298N。

4.OLED使用的是4線SPI通訊協(xié)議,3線SPI應該亦可以。

5.PID參數(shù)我沒有認真調(diào),最近比較忙調(diào)了一個上午感覺能用就沒再調(diào)了,如果車體跟我一樣的話不用調(diào)或者微調(diào)就可以跑起來。

6.主控板我是參照我畫的原理圖用洞洞板搭的,有興趣的小伙伴可以畫板制作PCB,如果你是L298N的話請直接使用我的管腳連接方案,這也是我看手冊規(guī)劃出來的,畢竟在程序里面改管腳是比較麻煩的而且容易出現(xiàn)BUG。

7.沒有做航向角的原因是MPU6050沒有磁力計,計算出來的航向角偏移的很厲害,而且對于平衡車來說沒有航向角對控制沒有影響,而且好的磁力計不便宜。有興趣的話可以加個磁力計,并且MPU也支持外擴磁力計很方便,這樣的話就可以做慣性導航。

8.由于小車做了拿起保護,必須要將小車平放保持Pitch和Roll在0度左右兩秒才能啟動。


硬件原理圖

【E430】STM32平衡車代碼+MATLAB上位機代碼

【E430】STM32平衡車代碼+MATLAB上位機代碼

目錄│文件列表:

 └ balancecar

    ├ balancecar_code

    │  │ keilkill.bat

    │  ├ MiniBalance

    │  │  ├ CONTROL

    │  │  │  │ control.c

    │  │  │  └ control.h

    │  │  ├ DataScope_DP

    │  │  │  │ DataScope_DP.C

    │  │  │  └ DataScope_DP.h

    │  │  ├ DMP

    │  │  │  │ dmpKey.h

    │  │  │  │ dmpmap.h

    │  │  │  │ inv_mpu.c

    │  │  │  │ inv_mpu.h

    │  │  │  │ inv_mpu_dmp_motion_driver.c

    │  │  │  └ inv_mpu_dmp_motion_driver.h

    │  │  ├ filter

    │  │  │  │ filter.c

    │  │  │  └ filter.h

    │  │  ├ MPU6050

    │  │  │  │ MPU6050.c

    │  │  │  └ mpu6050.h

    │  │  └ show

    │  │     │ show.c

    │  │     └ show.h

    │  ├ MiniBalance_COER

    │  │  │ core_cm3.c

    │  │  │ core_cm3.h

    │  │  └ startup_stm32f10x_md.s

    │  ├ MiniBalance_HARDWARE

    │  │  ├ ADC

    │  │  │  │ adc.c

    │  │  │  └ adc.h

    │  │  ├ DataScope_DP

    │  │  │  │ DataScope_DP.C

    │  │  │  └ DataScope_DP.h

    │  │  ├ DMP

    │  │  │  │ dmpKey.h

    │  │  │  │ dmpmap.h

    │  │  │  │ inv_mpu.c

    │  │  │  │ inv_mpu.h

    │  │  │  │ inv_mpu_dmp_motion_driver.c

    │  │  │  └ inv_mpu_dmp_motion_driver.h

    │  │  ├ ENCODER

    │  │  │  │ encoder.c

    │  │  │  └ encoder.h

    │  │  ├ EXTI

    │  │  │  │ exti.c

    │  │  │  └ exti.h

    │  │  ├ IIC

    │  │  │  │ IOI2C.c

    │  │  │  └ IOI2C.h

    │  │  ├ KEY

    │  │  │  │ key.c

    │  │  │  └ key.h

    │  │  ├ LED

    │  │  │  │ LED.C

    │  │  │  └ LED.H

    │  │  ├ MOTOR

    │  │  │  │ motor.c

    │  │  │  └ motor.h

    │  │  ├ MPU6050

    │  │  │  │ MPU6050.c

    │  │  │  └ mpu6050.h

    │  │  ├ MY_OLED

    │  │  │  │ my_oled.c

    │  │  │  └ my_oled.h

    │  │  ├ OLED

    │  │  │  │ oled.c

    │  │  │  │ oled.h

    │  │  │  └ oledfont.h

    │  │  ├ STMFLASH

    │  │  │  │ stmflash.c

    │  │  │  └ stmflash.h

    │  │  ├ TIMER

    │  │  │  │ timer.c

    │  │  │  └ timer.h

    │  │  ├ USART2

    │  │  │  │ usart2.c

    │  │  │  └ usart2.h

    │  │  └ USART3

    │  │     │ usart3.c

    │  │     └ usart3.h

    │  ├ OBJ

    │  │  │ adc.crf

    │  │  │ adc.d

    │  │  │ adc.o

    │  │  │ control.crf

    │  │  │ control.d

    │  │  │ control.o

    │  │  │ core_cm3.crf

    │  │  │ core_cm3.d

    │  │  │ core_cm3.o

    │  │  │ datascope_dp.crf

    │  │  │ datascope_dp.d

    │  │  │ datascope_dp.o

    │  │  │ delay.crf

    │  │  │ delay.d

    │  │  │ delay.o

    │  │  │ encoder.crf

    │  │  │ encoder.d

    │  │  │ encoder.o

    │  │  │ ExtDll.iex

    │  │  │ exti.crf

    │  │  │ exti.d

    │  │  │ exti.o

    │  │  │ filter.crf

    │  │  │ filter.d

    │  │  │ filter.o

    │  │  │ inv_mpu.crf

    │  │  │ inv_mpu.d

    │  │  │ inv_mpu.o

    │  │  │ inv_mpu_dmp_motion_driver.crf

    │  │  │ inv_mpu_dmp_motion_driver.d

    │  │  │ inv_mpu_dmp_motion_driver.o

    │  │  │ ioi2c.crf

    │  │  │ ioi2c.d

    │  │  │ ioi2c.o

    │  │  │ key.crf

    │  │  │ key.d

    │  │  │ key.o

    │  │  │ led.crf

    │  │  │ led.d

    │  │  │ led.o

    │  │  │ MiniBalance.axf

    │  │  │ MiniBalance.build_log.htm

    │  │  │ minibalance.crf

    │  │  │ minibalance.d

    │  │  │ MiniBalance.hex

    │  │  │ MiniBalance.htm

    │  │  │ MiniBalance.lnp

    │  │  │ minibalance.o

    │  │  │ MiniBalance.sct

    │  │  │ MiniBalance_MiniBalance.dep

    │  │  │ MiniBalance_sct.Bak

    │  │  │ misc.crf

    │  │  │ misc.d

    │  │  │ misc.o

    │  │  │ motor.crf

    │  │  │ motor.d

    │  │  │ motor.o

    │  │  │ mpu6050.crf

    │  │  │ mpu6050.d

    │  │  │ mpu6050.o

    │  │  │ my_oled.crf

    │  │  │ my_oled.d

    │  │  │ oled.crf

    │  │  │ oled.d

    │  │  │ oled.o

    │  │  │ show.crf

    │  │  │ show.d

    │  │  │ show.o

    │  │  │ startup_stm32f10x_md.d

    │  │  │ startup_stm32f10x_md.o

    │  │  │ stm32f10x_adc.crf

    │  │  │ stm32f10x_adc.d

    │  │  │ stm32f10x_adc.o

    │  │  │ stm32f10x_bkp.crf

    │  │  │ stm32f10x_bkp.d

    │  │  │ stm32f10x_bkp.o

    │  │  │ stm32f10x_can.crf

    │  │  │ stm32f10x_can.d

    │  │  │ stm32f10x_can.o

    │  │  │ stm32f10x_cec.crf

    │  │  │ stm32f10x_cec.d

    │  │  │ stm32f10x_cec.o

    │  │  │ stm32f10x_crc.crf

    │  │  │ stm32f10x_crc.d

    │  │  │ stm32f10x_crc.o

    │  │  │ stm32f10x_dac.crf

    │  │  │ stm32f10x_dac.d

    │  │  │ stm32f10x_dac.o

    │  │  │ stm32f10x_dbgmcu.crf

    │  │  │ stm32f10x_dbgmcu.d

    │  │  │ stm32f10x_dbgmcu.o

    │  │  │ stm32f10x_dma.crf

    │  │  │ stm32f10x_dma.d

    │  │  │ stm32f10x_dma.o

    │  │  │ stm32f10x_exti.crf

    │  │  │ stm32f10x_exti.d

    │  │  │ stm32f10x_exti.o

    │  │  │ stm32f10x_flash.crf

    │  │  │ stm32f10x_flash.d

    │  │  │ stm32f10x_flash.o

    │  │  │ stm32f10x_fsmc.crf

    │  │  │ stm32f10x_fsmc.d

    │  │  │ stm32f10x_fsmc.o

    │  │  │ stm32f10x_gpio.crf

    │  │  │ stm32f10x_gpio.d

    │  │  │ stm32f10x_gpio.o

    │  │  │ stm32f10x_i2c.crf

    │  │  │ stm32f10x_i2c.d

    │  │  │ stm32f10x_i2c.o

    │  │  │ stm32f10x_it.crf

    │  │  │ stm32f10x_it.d

    │  │  │ stm32f10x_it.o

    │  │  │ stm32f10x_iwdg.crf

    │  │  │ stm32f10x_iwdg.d

    │  │  │ stm32f10x_iwdg.o

    │  │  │ stm32f10x_pwr.crf

    │  │  │ stm32f10x_pwr.d

    │  │  │ stm32f10x_pwr.o

    │  │  │ stm32f10x_rcc.crf

    │  │  │ stm32f10x_rcc.d

    │  │  │ stm32f10x_rcc.o

    │  │  │ stm32f10x_rtc.crf

    │  │  │ stm32f10x_rtc.d

    │  │  │ stm32f10x_rtc.o

    │  │  │ stm32f10x_sdio.crf

    │  │  │ stm32f10x_sdio.d

    │  │  │ stm32f10x_sdio.o

    │  │  │ stm32f10x_spi.crf

    │  │  │ stm32f10x_spi.d

    │  │  │ stm32f10x_spi.o

    │  │  │ stm32f10x_tim.crf

    │  │  │ stm32f10x_tim.d

    │  │  │ stm32f10x_tim.o

    │  │  │ stm32f10x_usart.crf

    │  │  │ stm32f10x_usart.d

    │  │  │ stm32f10x_usart.o

    │  │  │ stm32f10x_wwdg.crf

    │  │  │ stm32f10x_wwdg.d

    │  │  │ stm32f10x_wwdg.o

    │  │  │ stmflash.crf

    │  │  │ stmflash.d

    │  │  │ stmflash.o

    │  │  │ sys.crf

    │  │  │ sys.d

    │  │  │ sys.o

    │  │  │ system_stm32f10x.crf

    │  │  │ system_stm32f10x.d

    │  │  │ system_stm32f10x.o

    │  │  │ timer.crf

    │  │  │ timer.d

    │  │  │ timer.o

    │  │  │ usart.crf

    │  │  │ usart.d

    │  │  │ usart.o

    │  │  │ usart2.crf

    │  │  │ usart2.d

    │  │  │ usart2.o

    │  │  │ usart3.crf

    │  │  │ usart3.d

    │  │  └ usart3.o

    │  ├ STM32F10x_FWLib

    │  │  ├ inc

    │  │  │  │ misc.h

    │  │  │  │ stm32f10x_adc.h

    │  │  │  │ stm32f10x_bkp.h

    │  │  │  │ stm32f10x_can.h

    │  │  │  │ stm32f10x_cec.h

    │  │  │  │ stm32f10x_crc.h

    │  │  │  │ stm32f10x_dac.h

    │  │  │  │ stm32f10x_dbgmcu.h

    │  │  │  │ stm32f10x_dma.h

    │  │  │  │ stm32f10x_exti.h

    │  │  │  │ stm32f10x_flash.h

    │  │  │  │ stm32f10x_fsmc.h

    │  │  │  │ stm32f10x_gpio.h

    │  │  │  │ stm32f10x_i2c.h

    │  │  │  │ stm32f10x_iwdg.h

    │  │  │  │ stm32f10x_pwr.h

    │  │  │  │ stm32f10x_rcc.h

    │  │  │  │ stm32f10x_rtc.h

    │  │  │  │ stm32f10x_sdio.h

    │  │  │  │ stm32f10x_spi.h

    │  │  │  │ stm32f10x_tim.h

    │  │  │  │ stm32f10x_usart.h

    │  │  │  └ stm32f10x_wwdg.h

    │  │  └ src

    │  │     │ misc.c

    │  │     │ stm32f10x_adc.c

    │  │     │ stm32f10x_bkp.c

    │  │     │ stm32f10x_can.c

    │  │     │ stm32f10x_cec.c

    │  │     │ stm32f10x_crc.c

    │  │     │ stm32f10x_dac.c

    │  │     │ stm32f10x_dbgmcu.c

    │  │     │ stm32f10x_dma.c

    │  │     │ stm32f10x_exti.c

    │  │     │ stm32f10x_flash.c

    │  │     │ stm32f10x_fsmc.c

    │  │     │ stm32f10x_gpio.c

    │  │     │ stm32f10x_i2c.c

    │  │     │ stm32f10x_iwdg.c

    │  │     │ stm32f10x_pwr.c

    │  │     │ stm32f10x_rcc.c

    │  │     │ stm32f10x_rtc.c

    │  │     │ stm32f10x_sdio.c

    │  │     │ stm32f10x_spi.c

    │  │     │ stm32f10x_tim.c

    │  │     │ stm32f10x_usart.c

    │  │     └ stm32f10x_wwdg.c

    │  ├ SYSTEM

    │  │  ├ delay

    │  │  │  │ delay.c

    │  │  │  └ delay.h

    │  │  ├ sys

    │  │  │  │ sys.c

    │  │  │  └ sys.h

    │  │  └ usart

    │  │     │ usart.c

    │  │     └ usart.h

    │  └ USER

    │     │ EventRecorderStub.scvd

    │     │ MiniBalance.c

    │     │ MiniBalance.map

    │     │ MiniBalance.uvgui.passoni

    │     │ MiniBalance.uvguix.25521

    │     │ MiniBalance.uvgui_passoni.bak

    │     │ MiniBalance.uvopt

    │     │ MiniBalance.uvoptx

    │     │ MiniBalance.uvproj.saved_uv4

    │     │ MiniBalance.uvprojx

    │     │ MiniBalance_MiniBalance.dep

    │     │ MiniBalance_uvopt.bak

    │     │ MiniBalance_uvproj.bak

    │     │ startup_stm32f10x_md.lst

    │     │ stm32f10x.h

    │     │ stm32f10x_conf.h

    │     │ stm32f10x_it.c

    │     │ stm32f10x_it.h

    │     │ system_stm32f10x.c

    │     │ system_stm32f10x.h

    │     ├ DebugConfig

    │     │  └ MiniBalance_STM32F103C8_1.0.0.dbgconf

    │     └ RTE

    │        └ _MiniBalance

    │           └ RTE_Components.h

    ├ MATLABGUI

    │  │ callback.m

    │  │ cargui2.fig

    │  │ cargui2.m

    │  │ cargui2.prj

    │  │ readme

    │  ├ cargui2

    │  │  │ PackagingLog.html

    │  │  ├ for_redistribution

    │  │  │  └ MyAppInstaller_web.exe

    │  │  ├ for_redistribution_files_only

    │  │  │  │ cargui2.exe

    │  │  │  │ icon.ico

    │  │  │  │ readme.txt

    │  │  │  └ splash.png

    │  │  └ for_testing

    │  │     │ cargui2.exe

    │  │     │ mccExcludedFiles.log

    │  │     │ readme.txt

    │  │     │ requiredMCRProducts.txt

    │  │     └ splash.png

    │  └ cargui2_resources

    │     │ icon.ico

    │     │ icon_16.png

    │     │ icon_24.png

    │     │ icon_32.png

    │     └ icon_48.png

    └ png

       │ IMG_20210712_110320.jpg

       │ IMG_20210712_110326.jpg

       │ QQ截圖20210712111616.png

       │ sch.png

       └ 航天 地球 航拍照片.jpg

TAG平衡車
  • 9 次
  • 1 分