2021-11-06 19:25:47 索煒達(dá)電子 833
項(xiàng)目編號(hào):E2178
文件大?。?.7M
源碼說明:帶中文注釋
開發(fā)環(huán)境:C編譯器
簡(jiǎn)要概述:
《電子設(shè)計(jì)競(jìng)賽》國(guó)賽 倒立擺系統(tǒng) 項(xiàng)目文件上說明
使用keil編譯器Version5版本
使用miniSTM32單片機(jī)
使用c語(yǔ)言編寫
使用PID算法
利用串口自定義協(xié)議來實(shí)時(shí)調(diào)節(jié)PID
文件中有IO接口配置說明
有截圖一張為PID調(diào)節(jié)比較不錯(cuò)的效果時(shí)的串口軟件上位機(jī)的截圖
核心算法:利用兩個(gè)環(huán)調(diào)節(jié),位置環(huán)+角度環(huán),輸入分別為編碼器的位置值和電阻器的擺桿的角度
目錄│文件列表:
└ Inverted_Pendulum_System
└ Inverted_pendulum_TheFinalVersion
│ 165.png
│ keilkilll.bat
│ README.TXT
│ 倒立擺IO.txt
│ 新建文本文檔.txt
├ CORE
│ │ core_cm3.c
│ │ core_cm3.h
│ └ startup_stm32f10x_hd.s
├ HARDWARE
│ ├ 12864
│ │ │ 12864.c
│ │ └ 12864.h
│ ├ ADC
│ │ │ adc.c
│ │ └ adc.h
│ ├ Dc_motor
│ │ │ Dc_motor.c
│ │ └ Dc_motor.h
│ ├ Encoder
│ │ │ Encoder.c
│ │ └ Encoder.h
│ ├ EXTI
│ │ │ exti.c
│ │ └ exti.h
│ ├ KEY
│ │ │ key.c
│ │ └ key.h
│ ├ Motor
│ │ │ motor.c
│ │ │ motor.c.bak
│ │ └ motor.h
│ ├ PID
│ │ │ PID.c
│ │ └ PID.h
│ ├ PWM
│ │ │ pwm.c
│ │ └ pwm.h
│ └ TIMER
│ │ timer.c
│ └ timer.h
├ OBJ
│ │ adc.crf
│ │ adc.d
│ │ adc.o
│ │ core_cm3.crf
│ │ core_cm3.d
│ │ core_cm3.o
│ │ delay.crf
│ │ delay.d
│ │ delay.o
│ │ encoder.crf
│ │ encoder.d
│ │ encoder.o
│ │ ExtDll.iex
│ │ Inverted_pendulum.axf
│ │ Inverted_pendulum.build_log.htm
│ │ Inverted_pendulum.hex
│ │ Inverted_pendulum.htm
│ │ Inverted_pendulum.lnp
│ │ Inverted_pendulum.sct
│ │ Inverted_pendulum_Inverted_pendulum.dep
│ │ 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
│ │ key.crf
│ │ key.d
│ │ key.o
│ │ main.crf
│ │ main.d
│ │ main.o
│ │ misc.crf
│ │ misc.d
│ │ misc.o
│ │ motor.crf
│ │ motor.d
│ │ motor.o
│ │ mpu6050.crf
│ │ mpu6050.d
│ │ mpu6050.o
│ │ mpuiic.crf
│ │ mpuiic.d
│ │ mpuiic.o
│ │ nvic.crf
│ │ nvic.d
│ │ nvic.o
│ │ pid.crf
│ │ pid.d
│ │ pid.o
│ │ pwm.crf
│ │ pwm.d
│ │ pwm.o
│ │ pwm_output.crf
│ │ pwm_output.d
│ │ pwm_output.o
│ │ startup_stm32f10x_hd.d
│ │ startup_stm32f10x_hd.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
│ │ sys.crf
│ │ sys.d
│ │ sys.o
│ │ system_stm32f10x.crf
│ │ system_stm32f10x.d
│ │ system_stm32f10x.o
│ │ Template.hex
│ │ timer.crf
│ │ timer.d
│ │ timer.o
│ │ usart.crf
│ │ usart.d
│ │ usart.o
│ │ usmart.crf
│ │ usmart.d
│ │ usmart.o
│ │ usmart_config.crf
│ │ usmart_config.d
│ │ usmart_config.o
│ │ usmart_str.crf
│ │ usmart_str.d
│ └ usmart_str.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
│ │ Inverted_pendulum.Administrator
│ │ Inverted_pendulum.map
│ │ Inverted_pendulum.uvguix.che
│ │ Inverted_pendulum.uvoptx
│ │ Inverted_pendulum.uvprojx
│ │ JLinkSettings.ini
│ │ main.c
│ │ startup_stm32f10x_hd.lst
│ │ stm32f10x.h
│ │ stm32f10x_conf.h
│ │ stm32f10x_it.c
│ │ stm32f10x_it.h
│ │ system_stm32f10x.c
│ │ system_stm32f10x.h
│ └ DebugConfig
│ └ Inverted_pendulum_STM32F103RC.dbgconf
└ USMART
│ readme.txt
│ usmart.c
│ usmart.h
│ usmart_config.c
│ usmart_str.c
└ usmart_str.h