基於 STM32 的物流分揀小車設計與實現
在智慧物流持續發展的今天,分揀環節的自動化與智能化程度成為提高倉儲效率的關鍵指標之一。傳統人工分揀不僅成本高,而且效率有限,因此研發一款 基於 STM32 的智能物流分揀小車 具有非常重要的工程價值。本文將從系統架構、核心功能設計到軟硬件實現流程,對該項目進行完整的技術解析。
源碼分享
直接放到之前寫的文章裏了,免費開源,下載學習即可。
https://blog.csdn.net/weixin_52908342/article/details/155599451
一、項目背景
隨着電商行業的爆發式增長,現代倉儲系統對自動化的需求越來越高。分揀小車需要具備線路循跡、目標識別、貨物分類運輸、無線通信等能力,以適應複雜的倉庫環境。本項目基於 STM32F103C8T6 微控制器,通過多傳感器融合實現定位和路徑規劃,並通過無線通信將貨物編號與分揀指令交互,實現低成本、可擴展的物流小車解決方案。
二、系統總體設計
整個系統由四大模塊構成:
1. 控制核心模塊(STM32F103)
- 負責各傳感器數據採集
- 執行循跡算法、巡航控制
- 管理電機驅動策略
- 負責通信協議解析與任務調度
- 控制夾爪、舵機等執行機構
STM32F103 的 72MHz 主頻和豐富的外設(ADC、PWM、USART、IIC 等)能夠滿足實時控制需求。
2. 巡線與避障模塊
為了讓小車在倉庫場景中穩定運行,系統採用多種傳感器組合:
(1)紅外循跡傳感器
- 多路反射式紅外陣列(如 5 路尋跡)
- 黑白線識別,輸出高低電平
- 通過加權算法實現路徑偏差計算
(2)超聲波避障模塊
- HC-SR04 或 US-015
- 實時檢測前方障礙物距離
- 與電機控制聯動,避障減速或繞行
(3)電子羅盤 / 姿態傳感器(可選)
- MPU6050 或 QMC5883
- 場景較複雜時輔助方向校正
通過多傳感器融合,小車可以在倉庫道路網絡中可靠巡線、轉彎和避障。
3. 電機驅動與機械結構
(1)驅動電機
- 兩個直流減速電機
- L298N / TB6612FNG 驅動
- PWM 調速實現平穩控制
(2)分揀機構
- 舵機驅動小型機械臂或推杆
-
可實現:
- 左側投送
- 右側投送
- 中間貨箱投放
(3)車體結構
- 亞克力板或 3D 打印組件
- 低摩擦滑輪
-
可根據不同場景設計為:
- 軌道式分揀車
- 巡航式 AGV 小車
4. 無線通信模塊
物流系統需接入後台管理系統,因此採用以下通信方式:
(1)ESP8266(WIFI)
- 適用於倉庫局域網
- 支持 MQTT / HTTP / Websocket
- 接收分揀任務 → 解析貨物編號 → 更新路線
(2)nRF24L01(短距通信)
- 成本低、抗干擾強
- 可用於多個小車之間的協作調度
(3)藍牙模塊(調試用)
- 現場校準、速度調整、發送指令
通過無線通信,小車可隨時接收新的分揀命令,實現智能調度。
三、軟件系統設計
1. 主控流程框架
2. 循跡算法(加權偏差法)
使用 5 路紅外:
| 編號 | S1 | S2 | S3 | S4 | S5 |
|---|
根據黑線位置輸出:
偏差 = (-2)*S1 + (-1)*S2 + 0*S3 + (1)*S4 + (2)*S5
- 偏差 > 0:右偏 → 左輪加速
- 偏差 < 0:左偏 → 右輪加速
算法簡單高效,適合 MCU 實時計算。
3. 分揀執行策略
分揀小車經過 RFID 或二維碼採集站時,會讀取貨物信息:
- 獲取
商品編號 - 通過通信模塊查詢該編號的
配送區域 - 匹配後續路線
- 到達對應分揀點時執行動作:
如:
if(target == LEFT_BIN){
Servo_SetAngle(30); // 推入左側
}
else if(target == RIGHT_BIN){
Servo_SetAngle(150); // 推入右側
}
動作完成後自動復位,繼續巡航。
4. 路線規劃(簡單版)
分揀倉庫通常採用站點式路徑:
起點 → S1 → S2 → S3 → S4 → 返回點
後台可實時更改任務:
- 單程配送
- 循環任務
- 多車協作規劃
在增強版本中可使用 A* 或 Dijkstra 進行動態路徑規劃。
四、硬件原理圖(邏輯框架)
主要連接結構:
- STM32 —— PWM → 電機驅動
- STM32 —— ADC → 傳感器輸入
- STM32 —— UART → ESP8266 / 藍牙
- STM32 —— IIC → MPU6050
- STM32 —— PWM → 舵機
各模塊都採用標準 2.54mm 接口,方便擴展維護。
五、系統調試與優化
1. 機械調試
- 校準車輪間距
- 調整循跡傳感器高度
- PID 參數調試(速度平穩性提升明顯)
2. 軟件調試
- 優化防抖與濾波(避免誤觸發)
- 添加速度補償,減少打滑
- 增加 watchdog 防止程序卡死
3. 無線通信優化
- MQTT QoS1 保障任務不丟失
- 增加心跳包實時監控小車在線狀態
六、項目實現效果
最終完成的小車可實現:
- 自動巡線
- 超聲波避障
- 自動識別貨物編號
- 根據指令在不同地點自動投放貨物
- 支持後台指揮與路線調整
- 多車可協作完成多個貨物的並行分揀任務
在小型倉庫或教學創新項目中表現優秀。
七、總結
基於 STM32 的物流分揀小車體系結構清晰、成本低、可擴展性強,是不錯的智能物流入門級項目。通過本項目不僅能掌握 MCU 控制、傳感器融合、電機調速、無線通信等核心技術,還可以進一步拓展 AGV 規劃、多車協作、AI 識別等方向。
該項目非常適合課程設計、畢業設計以及智能物流相關的產品雛形開發。