功能 設計一個傳送帶系統,能夠實現傳送帶的開始/停止,正轉/反轉,加減速,對傳送帶的物品計數。 按鈕/app功能控制,oled屏幕/app顯示。 設計框圖 原理圖 軟體構建階段 利用STM32CubeMX生成模板 MCU選型:STM32F103C8T6,雙擊打開。 Ststem Core->SYS: ...
功能
設計一個傳送帶系統,能夠實現傳送帶的開始/停止,正轉/反轉,加減速,對傳送帶的物品計數。
按鈕/app功能控制,oled屏幕/app顯示。
設計框圖
原理圖
軟體構建階段
利用STM32CubeMX生成模板
MCU選型:STM32F103C8T6,雙擊打開。
Ststem Core->SYS:Serial Wire。Timebase Source:TIM1(供Freertos實時操作系統使用)。
Ststem Core->RCC:HSE、LSE--Crystal/Ceramic Resonator(不考慮低功耗,預設打開)。
Ststem Core->IWDG:Activated。psc--64、reload--625。(獨立看門狗1s定時喂狗,判斷系統正常運行)。
Connectivity->USART1:Asynchronous(藍牙模塊、調試輸出所需)、9600-8-N-1、開中斷。
搜索GPIO位置,選擇IO模式,取別名。
PC13--推輓輸出--SysLED。
PB9----推輓輸出--BEEP。
PB12--推輓輸出--AIN2。
PB13--推輓輸出--AIN1。
PB14--推輓輸出--STBY。
PB15--上拉輸入--KEY_1。
PB11--上拉輸入--KEY_2。
PB10--上拉輸入--KEY_3。
PB1----上拉輸入--KEY_4。
PB0----上拉輸入--KEY_5。
PA3----上拉輸入--Photoelectric_detector1。
PA4----上拉輸入--Photoelectric_detector2。
PA0-WKUP----GPIO_EXIT0--Encoder。
配置時鐘樹。
配置I2C1(OLED屏幕通訊介面)。
配置TIM3、4(一個採集速度,一個PWM)。
配置FreeRTOS系統。
Project Manager->project:Toolchain/IDE:MDK-ARM。
Project Manager->Code Generator:勾上Generate peripheral initialization as a pair of '.c/.h' files per peripheral。
GENERATE CODE生成工程模板。
工程目錄個人規範