製作乙個stm32平衡小車,除了微控制器,編碼電機,還需要什麼器件?

時間 2021-05-08 08:30:59

1樓:極客小麥

最核心的器件,陀螺儀和加速度感測器(使用MPU6050即可);

需要對陀螺儀資料和加速度感測器做融合,這裡使用互補濾波,卡爾曼濾波都行,得到小車的姿態資料,這是設定的姿態資料和反饋的姿態資料的偏差,通過PID演算法,然後輸出PWM,除錯引數,基本就可以讓車子立起來了。

在可以保持直立之後,需要編碼器採集速度反饋,作為外環,設定速度與反饋速度的偏差,通過PID演算法之後,輸出給內環的姿態控制的PID(就是可以讓你立起來的內環PID);

兩個輪子做差速處理,就可以轉起來了,實現左轉,右轉等動作;例如左輪給40%占空比的PWM,右輪給60%占空比的PWM;那就可以實現左轉了。

以上只是簡單地介紹,類似平衡車的開源專案很多,首先要先搞清楚整體的系統架構,然後再深入到細節的實現,多說無益,去GitHub上找乙個動手做吧。

2樓:花花世界靜守己心

平衡車需要用到微控制器、電機、陀螺儀mpu6050、電機驅動tb6612,為了除錯方便還需要oled或者ch340串列埠,當車平衡起來後,可以加個藍芽模組hc05、超聲波避障或紅外避障,硬體基本這些;軟體需要用到定時器、中斷、pwm波、pid等。

3樓:丁丁

如果自主移動,那需要避障和導航器件,最簡單的是超聲波和紅外(只是器件簡單,實現並不簡單),用超聲波避障,用紅外感知跑道的黑色膠條,實現跑道的跟隨移動。

如果遙控移動,那需要2.4G或者其他無線傳輸器件,比如藍芽或者WIFI晶元。

如果僅僅是PID實現原地平衡站立,那不能稱之為【車】。

嵌入式linux和用stm32微控制器做應用比如電機控制 兩者是什麼區別 ?

raymond fisher 用linux就是你在用裝好系統的計算機。直接用stm32有點類似於沒作業系統,你自己用裸機,不要作業系統,直接程式設計實現功能。當然這只是打個比方。 已登出 最大的區別就是M系列和A系列,也就是實時性問題的差別,給你乙個建議,學完STM32就得開始學ARM9 linux...

AT89S51微控制器與STM32晶元有什麼共性與不同?

1216484 首先呢題目上是有些問題的,因為前者是乙個確定的型號,而後者STM32卻是個大家族,有很多個系列型號 從應用與學習的角度來說,因為都是屬於微控制器,所以他們被使用或學習的核心外設是一樣的例如GPIO基本讀寫 中斷系統 定時器 串列埠 ADC等,本質都是配置暫存器來實現不同的功能或工作模...

學好STM32微控制器是一種什麼樣的感覺?

麼麼 雖然我還沒有完全學好,但是學成以後相比於大學單純的理論知識學習,總算是可以有乙個應用平台進行相關的開發,也會覺得自己出來找相關工作有大的底氣,起碼自己相比別人有不錯的動手能力。我是電氣工程及其自動化的。 編碼書生 沒啥感覺233333 它只是一塊微控制器而已 等你學會裡32,接觸ARM7 AR...