1. 畢業設計分享 stm32的智能平衡小車
基於 STM32 的智能平衡小車:項目分享與設計思路
### 智能平衡小車的背景與意義
隨著機器人研究的深入,兩輪自平衡機器人因其體積小、運動靈活等特性,在工業生產、安防系統、智能家居、物流網等領域展現出廣泛應用的潛力。與多輪的輪式機器人相比,兩輪自平衡機器人能夠在狹窄、需要大轉角的場合中更加自如地運動,其結構特殊性使其能夠適應多樣的地形環境,研究此類機器人具有重要的意義。此外,兩輪自平衡車作為交通工具,體積減小、重量減輕,運動靈活,更加環保,是一種理想的代步工具。
### 設計思路與控制策略
智能平衡小車的核心在於控制,電機作為唯一的控制對象,其運動控制任務主要分為三個基本控制任務:
1. **直立控制**:通過PID演算法控制車模穩定在平衡位置,使用PD演算法調節傾角作為輸入量。
2. **速度控制**:在直立系統中,通過改變車模傾角來實現速度控制,採用PI演算法。
3. **方向控制**:通過控制兩個電機的差速實現轉向,使用PD演算法,以X軸的角速度作為微分項的因子,提高轉向的動態性能,避免振盪。
### 硬體設計
項目採用主控電路板+電機驅動電路板的結構,旨在避免電機驅動對主控電路的影響和電磁干擾,同時考慮成本效益。硬體設計包括:
- **微控制器電路**:負責數據處理和控制邏輯。
- **電源管理電路**:提供穩定的3.3V和5V電源,使用LM2940和LM1117穩壓器。
- **微控制器介面**:包括OLED、藍牙、感測器(MMA7361、L3G4200D)、編碼器、PWM、遙控器解碼等介面。
- **按鍵電路**:用於手動控制和調試。
- **蜂鳴器電路**:用於系統狀態反饋。
### 軟體設計
**PID控制演算法**:
PID控制演算法基於偏差的比例、積分、微分三部分,用於閉環控制,適用於目標系統和控制對象模型不明確的情況。該演算法通過感測器構成反饋迴路,實現精確控制。
**直立控製程序**:
通過負反饋系統測量車體傾角,使用PID演算法實現閉環控制,保持車模平衡。關鍵在於計算和調整控制參數,確保系統穩定。
**速度控製程序**:
速度控制採用與普通車模不同的方法,通過調整電機輸出來實現。核心是利用直立系統的傾斜特性,使車模在保持直立的同時實現速度控制。
**方向控製程序**:
方向控制使用PD演算法,通過遙控器輸入參數,調整微分項因子為陀螺儀輸出,提高轉向的動態特性,避免振盪。
### 關鍵代碼與調試
項目採用互補濾波法調試,關鍵代碼負責控制邏輯的實現,如電機驅動、感測器數據處理、控制演算法的計算等。通過優化演算法參數,實現智能平衡小車的穩定運行。
### 項目總結與分享
基於 STM32 的智能平衡小車項目,集成了先進的控制理論與硬體設計,實現了一種高效、靈活的自平衡車系統。通過分享項目詳細描述與設計思路,旨在為其他設計者提供參考與靈感,共同推動智能機器人技術的發展。
2. 如何通過一個陀螺儀感測器配合PID演算法實現兩輪車的平衡
陀螺儀的作用
兩輪自平衡機器人控制系統除了需要實時的傾角信號,還要用到角速度以給出控制量。理論上可以對加速度計測得的傾角求導得到角速度,但實際上這樣求得的結果遠遠低於陀螺儀測量的精度,陀螺儀具有動態性能好的優點。
(1)陀螺儀的直接輸出值是相對靈敏軸的角速率,角速率對時間積分即可得到圍繞靈敏軸旋轉過的角度值。由於系統採用微控制器循環采樣程序獲得陀螺儀角速率信息,即每隔一段很短的時間采樣一次,所以採用累加的方法實現積分的功能來計算角度值。
(2)陀螺儀是用來測量角速度信號的,通過對角速度積分,能得到角度值。但由於溫度變化、摩擦力、不穩定力矩等因素,陀螺儀會產生漂移誤差。而無論多麼小的常值漂移通過積分都會得到無限大的角度誤差。因而不能單獨使用陀螺儀作為自平衡小車的角度感測器。
2.傾角感測器的作用
(1)傾角感測器中加速度計可能測量動態和靜態線性加速度。靜態加速度的一個典型例子就是重力加速度,用加速度計數直接測量物體靜態重力加速度可以確定傾斜角度。
加速度感測器靜止時,加速感測器僅僅輸出作用在加速度靈敏軸上的重力加速度值,即重力加速度的分量值。根據各軸上的重力加速度的分量值可以算出物體垂直和水平方向上的傾斜角度。
(2)加速度計動態響應慢,不適應跟蹤動態角度運動;如果期望快速地響應,又會引起較大的雜訊。再加上其測量范圍的限制,使得單獨應用加速度計檢測車體傾角並不合適,需要與其它感測器共同使用。
3.原理
其運作原理主要是建立在一種被稱為「動態穩定」(Dynamic Stabilization)的基本原理上,利用車體內部的陀螺儀和加速度感測器,來檢測車體姿態的變化,並利用伺服控制系統,精確地驅動電機進行相應的調整,以保持系統的平衡。