2021-09-22 18:51:51 索煒達(dá)電子 1426
項(xiàng)目編號(hào):E1268
文件大小:333K
源碼說(shuō)明:帶中文注釋
開(kāi)發(fā)環(huán)境:C編譯器
簡(jiǎn)要概述:
本題設(shè)計(jì)一個(gè)基于STM32F103VET6控制的智能風(fēng)扇系統(tǒng),其機(jī)械部分包括舵機(jī)、舵機(jī)云臺(tái)、直流減速電機(jī)、直流減速電機(jī)支架等,硬件部分由STM32F103VET6單片機(jī)、接口電路、電源降壓電路和電機(jī)驅(qū)動(dòng)電路等部分組成,并且與軟件程序構(gòu)成一個(gè)完整的控制系統(tǒng)。以STM32F103作為控制器的核心,采用12V的直流減速電機(jī)作為風(fēng)扇動(dòng)力來(lái)源,2個(gè)舵機(jī)控制云臺(tái)方向,利用單片機(jī)來(lái)控制電機(jī)。在基礎(chǔ)功能上通過(guò)溫度采樣來(lái)控制直流減速電機(jī)的啟停,在人臉追蹤功能方面單片機(jī)串口通訊接收PC端發(fā)送來(lái)的人臉坐標(biāo),通過(guò)PID控制算法進(jìn)行控制達(dá)到舵機(jī)云臺(tái)人臉跟蹤的目標(biāo)。
系統(tǒng)采用STM32F103作為智能風(fēng)扇的控制核心,直流減速電機(jī)作為風(fēng)扇的動(dòng)力裝置,舵機(jī)作為云臺(tái)的動(dòng)力裝置,實(shí)現(xiàn)云臺(tái)的一系列動(dòng)作。硬件由電源電路,CPU最小系統(tǒng)模塊,電機(jī)驅(qū)動(dòng)模塊,編碼器模塊,顯示模塊,視覺(jué)模塊,溫度傳模塊等組成。除根據(jù)當(dāng)前溫度傳感器溫度實(shí)現(xiàn)控制電機(jī)啟停及轉(zhuǎn)速外,還采用PID算法等進(jìn)行控制,將目標(biāo)坐標(biāo)與當(dāng)前人臉坐標(biāo)的誤差量作為反饋對(duì)舵機(jī)位置進(jìn)行控制。同時(shí)采用串口通信,實(shí)現(xiàn)PC端發(fā)送人臉坐標(biāo)到STM32端
目錄│文件列表:
└ 單片機(jī)課設(shè)V1.2
│ keilkilll.bat
│ README.TXT
├ CORE
│ │ core_cm3.c
│ │ core_cm3.h
│ └ startup_stm32f10x_hd.s
├ HARDWARE
│ ├ DHT11
│ │ │ dht11.c
│ │ └ dht11.h
│ ├ DS18B20
│ │ │ ds18b20.c
│ │ └ ds18b20.h
│ ├ ENCODER
│ │ │ encoder.c
│ │ └ encoder.h
│ ├ KEY
│ │ │ key.c
│ │ └ key.h
│ ├ LED
│ │ │ led.c
│ │ └ led.h
│ ├ MENU
│ │ │ menu.c
│ │ └ menu.h
│ ├ MOTOR
│ │ │ motor.c
│ │ └ motor.h
│ ├ OLED
│ │ │ oled.c
│ │ │ oled.h
│ │ └ oledfont.h
│ ├ PC2STM32
│ │ │ PC2STM32.c
│ │ └ PC2STM32.h
│ ├ PID
│ │ │ pid.c
│ │ └ pid.h
│ ├ TASK
│ │ │ task.c
│ │ └ task.h
│ └ TIMER
│ │ timer.c
│ └ timer.h
├ OBJ
│ └ OLED.hex
├ 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
│ CJN.uvguix.Administrator
│ CJN.uvoptx
│ CJN.uvprojx
│ EventRecorderStub.scvd
│ JLinkSettings.ini
│ main.c
│ OLED.uvguix.Administrator
│ OLED.uvoptx
│ stm32f10x.h
│ stm32f10x_conf.h
│ stm32f10x_it.c
│ stm32f10x_it.h
│ system_stm32f10x.c
│ system_stm32f10x.h
└ DebugConfig
│ CJN_STM32F103ZE_1.0.0.dbgconf
└ OLED_STM32F103ZE_1.0.0.dbgconf