設計平衡車的軟件主要的部分
1. MPU6050 init & calibration
2. Read the acc & gyro value
3. timer interrupt - 10ms
4. wheel counter by interrupt way
5. PID calculation
6. PWM control with deadzone of motor
我先把MPU6050的部分搞定,把Acc與Gyro的值讀出來。然後把PID的P先實現出來,就可以讓車子站起來。
流程圖:
車身會前後搖擺產生加速度與角速度,每10ms讀取MPU6050的值,然後算出車身現狀的角度,然後乘上一個固定值來產生PWM(50~255)來控制馬達電機。
《圖待補充》
影片欣賞:
這是尚未設計馬達編碼的部分,所以小車在直立狀態下會滑動的現象。
下一章解說編碼器的code來分析正逆轉。
接下來,準備補齊PID演算法,還有可以前進後退與轉彎。
沒有留言:
張貼留言