平衡小車(balance-Robot)-基本平衡-Arduino
平衡小車(balance-Robot)-基本平衡 參考- https://circuitdigest.com/microcontroller-projects/arduino-based-self-balancing-robot 前言 申明一下,有些原理和程式是借助一些原創者的文章做為參照,因為平衡車 如果真的要一步步從硬體和程式全包,須要花很多時間學習,尤其是PID 的寫法算法,慶幸的是有很多創者前人不吝分享,所以我這後人才得已少走 歧途。 平衡車原理 平衡小車是通過兩個電機運動下實現小車不倒下直立行走的多功能智能小 車,在外力的推拉下,小車依然保持不倒下。通過負反饋實現平衡。與上面保 持木棒直立比較則相對簡單,因為小車有兩個輪子著地,車體只會在輪子滾動 的方向上發生傾斜。控制輪子轉動,抵消在一個維度上傾斜的趨勢便可以保持 車體平衡了。 所以根據上述的原理,通過測量小車的傾角和傾角速度控制小車車輪的加速度 來消除小車的傾角。因此,小車傾角以及傾角速度的測量成為控制小車直立 的關鍵。我們的亞博智能平衡小車使用了測量傾角和傾角速度的集成傳感器陀 螺儀-MPU6050。 PID基礎原理 PID調節系統PID功能由PID調節器或DCS系統內部功能程序模塊實現,了解與PID調節相關的一些基本概念,有助於PID入門新手快速熟悉調節器應用,在自動調節系統中成功整定PID參數。 1、被調量 被調量就是反映被調對象的實際波動的量值。被調量是經常變化的。 2、設定值 PID調節器設定值就是人們期待被調量需要達到的值。設定值可以是固定的,也可以是變化的。 3、控制輸出 控制輸出指PID調節器根據被調量的變化情況運算之後發出的讓外部執行結構按照它的要求動作的指令。在PID調節器和執行機構之間還會有其他環節,比如限幅、伺服放大器等。限幅功能通常在PID調節器內完成;如果如果將PID、限幅和伺服放大器功能做在一台儀表內就構成閥位控制PID調節器;將伺服放大器和限幅做在執行機構裡就構成智能執行機構。 4、輸入偏差 輸入偏差時被調量和設定值之間的差值 5、P(比例) P就是比例作用,簡單說就是輸入偏差乘以一個係數。 6、I(積分) I就是積分,簡單說就是將輸入偏差進行積分運算。 7、D(微分) D就是微分,簡單說就是將輸入偏差進行微分運算 8、PID基本公式 PID調節器參數整定過程