一起玩兒平衡車(ESP32)——02 平衡車的組裝與接線方法

摘要:本文介紹平衡車的組裝與接線方法

前邊介紹了所要實現的平衡車的組成,接下來就來把小車組裝起來。首先是下層底板的底面要固定兩個輪子。這個只要固定孔位沒有問題,用螺絲直接將輪子支架固定上去就可以了。固定好后如下圖所示:

在安裝車輪的時候,要特別注意的一點是,一定要保證兩個電機的軸在一條直線上,這樣兩個輪子在同向旋轉的時候發力是垂直于軸向并且向同一個方向的,不會出現能量的內耗。另外就是兩輪的軸線要位于兩個長邊中心線的正上方,這樣小車初始重心就會落在兩輪的軸線上,更有利于最終的直立平衡。同樣的,安裝其他設備到小車上的時候,也盡量以軸線為中心,將質量平均的分布在軸線的兩側,這樣在平衡的時候,你的小車看上去才是平的。否則,可能在小車平衡的時候,車底板不是水平的,看上去會有些怪怪的。

在底板的另一面,我安裝了鋰電池盒、LM2596S穩壓模塊和TB6612FNG電機驅動模塊,電池安裝在了正中央,另外兩個模塊一左一右。安裝好后的樣子如下圖所示:

電池盒的左邊是TB6612FNG電機驅動模塊,下邊通過一個面包板固定在底板上,中間使用了排針插座,這樣將來還可以把TB6612FNG電機驅動模塊拔下來繼續使用。右側的LM2596S穩壓模塊則是利用安裝孔和M3銅柱,直接固定在了小車下層底板上。電池盒也是通過螺絲穿過底部固定孔固定在下層底板上的。這些器件的固定一定要牢固,不能晃動,因為在調試甚至運行階段,小車都有可能有激烈的震動,固定不牢固一方面可能引起導線的短路或者連接不實,另一方面還有可能造成小車重心位置的改變而影響小車直立的穩定性。

下邊就是給ESP32系統板和姿態模塊MPU6050供電的AMS1117模塊,我把它安裝在了車身上層板的靠近邊上的底面,裝完之后,面朝下。之所以這樣安裝,是因為我在車身頂層板的中間挖了個洞,然后在空洞處安裝了一塊兒面包板,在這個面包板上焊接底座后,可以在正面插上ESP32系統板和MPU6050模塊,所以,將穩壓電源模塊AMS1117安裝在上層板的底面會更方便些,如下圖所示:

最后就是ESP32模塊和MPU6050模塊通過2.54mm的插座插在了面包板上,裝好后的樣子如下圖所示:

好了,全部器件都找到位置安裝了,下面就來看一下如何接線了。電池盒內部的過充、過放、短路保護模塊的安裝就不再介紹了,可以參考前一篇文章。

下面來看一下底層底板和上層穩壓模塊的接線方法,如圖所示:

在上圖中可以看到,電池盒的輸出正負極直接連接LM2596S穩壓模塊的輸入端IN+和IN-。穩壓模塊LM2596S穩壓模塊的輸出端分別接穩壓模塊ASM1117的VIN+和GND以及電機驅動模塊TB6612FNG的VM和GND。ASM1117的兩個輸出端VOUT和GND分別供電給電機驅動模塊TB6612FNG的VCC端、ESP32的VCC、GND端和姿態模塊MPU6050的VCC、GND端。

在這里需要注意的是,電機驅動模塊TB6612FNG的PWMA端、STBY端和PWMB端都要連接到VCC,也就是保持始終是高電平。然后TB6612FNG模塊的AIN1、AIN2、BIN1和BIN2連接到ESP32的控制引腳,如果不是使用我標注的引腳,那么在后邊編寫程序的時候一定別忘了做相應的修改。最后就是TB6612FNG的AO1、AO2連接到左電機,BO1、BO2連接到右電機。電機的兩根電源線是隨便連接的,后面如果發現電機轉動方向不對,軟件交換一下控制引腳就可以了。

最后就是ESP32模塊和MPU6050的接線了,在完成這兩個模塊的供電線之后,就只剩下兩者之間I2C通訊的SDA和SCL線需要連接了。在這里,將MPU6050的SDA、SCL連接到ESP32的P18和P19就可以了。如果不是這兩個引腳,后邊注意在程序中做相應的修改。

好了,所有的連線就都介紹完了。為了避免遺漏,給大家整理了一張表格,建議連線的時候對著表格,每連好一根就打勾記錄一下,避免遺漏。表格如下所示:

電池盒+

LM2596S的IN+

電池盒-

LM2596S的IN-

LM2596的OUT+

ASM1117的VIN

TB6612FNG的VM

LM2596的OUT-

ASM1117的GND

TB6612FNG的GND

ASM1117的VOUT

TB6612FNG的VCC

TB6612FNG的PWMA

TB6612FNG的PWMB

TB6612FNG的STBY

ESP32的VCC

MPU6050的VCC

ASM1117的GND

ESP32的GND

MPU6050的GND

TB6612FNG的AIN1

ESP32的P27

TB6612FNG的AIN2

ESP32的P25

TB6612FNG的BIN1

ESP32的P32

TB6612FNG的BIN2

ESP32的P17

TB6612FNG的AO1

左電機

TB6612FNG的AO2

左電機

TB6612FNG的BO1

右電機

TB6612FNG的BO2

右電機

ESP32的P18

MPU6050的SDA

ESP32的P19

MPU6050的SCL

有了這個清單,就可以按照清單一點點的來接線了。在下一期中,將詳細的介紹接線的流程,以及每一步都要進行的測試,確保整個接線工作可以順利完成。好了,下期再見!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/714098.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/714098.shtml
英文地址,請注明出處:http://en.pswp.cn/news/714098.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基礎小白快速入門c語言--

變量: 表面理解:在程序運行期間,可以改變數值的數據, 深層次含義:變量實質上代表了一塊兒內存區域,我們可以將變量理解為一塊兒內存區域的標識,當我們操作變量時,相當于操作了變量…

代碼隨想錄算法訓練營Day38|509. 斐波那契數、70. 爬樓梯、746. 使用最小花費爬樓梯

509. 斐波那契數 題目鏈接:509. 斐波那契數 文檔鏈接:509. 斐波那契數 視頻鏈接:手把手帶你入門動態規劃 | LeetCode:509.斐波那契數 C實現 class Solution { public:int fib(int n) {if(n 0) return 0;if(n 1) return 1;int a…

罐頭魚AI傳單功能操作說明|二次剪輯創作|AI智剪|批量剪輯視頻

罐頭魚AI傳單功能操作說明 1. 首頁顯示 賬號登錄狀態 可綁定賬號數量 已綁定賬號數量 已綁定賬號顯示 顯示最近上傳視頻素材 顯示新上傳素材列表 QQ:290615413 2. 抖音賬號綁定功能 顯示登錄賬號 已綁定賬號 可綁定賬號數量 可授權綁定抖音賬號 3. 賬號管理列表 顯…

Netty5 入門HelloWorld

一、客戶端代碼及關鍵類說明 /*** netty5的客戶端* author -zhengzx-**/ public class ClientSocket {public static void main(String[] args) {//服務類Bootstrap bootstrap new Bootstrap();//workerEventLoopGroup worker new NioEventLoopGroup();try {//設置線程池boo…

RC正弦波振蕩電路

RC正弦波振蕩電路 RC正弦波振蕩電路又稱文氏電橋振蕩電路,可以設計頻率為f1/2πRC的正弦波發生器。 RC正弦波振蕩電路設計:50Hz,振幅為3.47V 電路分析: 1.起振條件取決于R1, R4,R2與1N4148并聯電阻(下面簡稱Rf&#…

B端系統:OA界面設計,把用戶當傻瓜吧, 少讓用戶吃瓜

OA系統是稍具規模的企業最常用的系統,有些OA系統體驗非常逆天,把用戶當成了吃瓜群眾,看看熱鬧還行,一旦上手操作就抓瞎了,大千UI工場結合自身經驗對這個問題進行分析,希望可以拋磚引玉。 一、OA概述 OA系…

【飛槳EasyDL】飛槳EasyDL發布的模型轉換onnx(附工程代碼)

一個愿意佇立在巨人肩膀上的農民...... 一、paddle轉onnx轉rknn環境搭建 paddle轉onnx和onnx轉rknn兩個環境可以分開搭建,也可以搭建在一起。這里選擇分開搭建,先搭建paddle轉onnx。 1.1、創建環境 選擇python3.8.13包進行創建環境 conda create --nam…

Day09:基礎入門-算法逆向散列對稱非對稱JS源碼逆向AESDESRSASHA

目錄 算法加密-概念&分類&類型 加密解密-識別特征&解密條件 解密實例-密文存儲&數據傳輸 思維導圖 章節知識點: 應用架構:Web/APP/云應用/三方服務/負載均衡等 安全產品:CDN/WAF/IDS/IPS/蜜罐/防火墻/殺毒等 滲透命令&am…

電子科技大學《數據庫原理及應用》(持續更新)

前言 電子科技大學的數據庫課程縮減了部分的課時,因此,可能并不適合所有要學習數據庫的寶子們,但是,本人盡量將所有數據庫的內容寫出來。本文章適用于本科生的期中和期末的復習,電子科技大學的考生請在復習前先看必讀…

MySQL相關知識匯總

MySQL是一個廣泛使用的開源關系型數據庫管理系統,它以其高性能、穩定性和易用性而備受開發者喜愛。在軟件開發領域,無論是大型項目還是小型應用,MySQL都扮演著重要的角色。本文將對MySQL的一些關鍵知識點進行匯總,幫助讀者更好地了…

5. informer源碼分析-概要分析

k8s client-go k8s informers 實現了持續獲取集群的所有資源對象、監聽集群的資源對象變化功能,并在本地維護了全量資源對象的內存緩存,以減少對 apiserver、對 etcd 的請求壓力。Informers 在啟動的時候會首先在客戶端調用 List 接口來獲取全量的對象集…

C++中boost庫的安裝及使用(Windows)

Boost庫的安裝及使用 引言使用現有的boost庫安裝及使用引言 C++開發中經常會用到boost庫,本文記錄一下Windows上boost在visual studio2019上的使用。 Boost庫是一個跨平臺的C++庫集合,旨在為C++開發者提供一系列高質量的通用功能。不同的Visual Studio(VS)版本并不要求安…

日常科研中經常使用的命令

Linux目錄樹狀結構 1. Windows是磁盤分區,Linux不區分盤符,所有文件都在根目錄斜線下面; 2. 根目錄顯示不同,Linux是一個斜線,而windows是盤符,然后冒號; 3. 分割目錄Linux用斜線&#xff0c…

React編寫組件時,如何省略.tsx后綴

省略.tsx后綴 當tsconfig.json配置了,需要重啟后才會生效 {"compilerOptions": {"allowJs": true,"jsx": "react-jsx",} }當進行以上配置后,導入組件時添加后綴,Eslint報錯如下: An im…

【算法集訓】基礎算法:基礎排序 - 冒泡排序

一、基本理解 貼上圖解,更容易理解代碼:https://visualgo.net/zh/sorting 冒泡排序(Bubble Sort)又稱為泡式排序,是一種簡單的排序算法。 核心思想: 它重復地走訪過要排序的數列,一次比較兩個元素,如果它…

性能比較:in和exists

當在Hive SQL中使用NOT IN和NOT EXISTS時,性能差異主要取決于底層數據的組織方式、數據量大小、索引的使用情況以及具體查詢的復雜程度。下面是對這兩種方法的性能分析: 1. NOT IN:- 工作原理:NOT IN子查詢會逐個比較主查詢中的值…

化肥工業5G智能制造工廠數字孿生可視化平臺,推進化肥行業數字化轉型

化肥工業5G智能制造工廠數字孿生可視化平臺,推進化肥行業數字化轉型。隨著科技的不斷發展,數字化轉型已經成為各行各業發展的必然趨勢。在化肥工業領域,5G智能制造工廠數字孿生可視化平臺的應用正在逐漸普及,為行業數字化轉型提供…

Java 循環結構 - while ,do…while 及 for,

目錄 Java中有三種主要的循環結構: while 循環 實例 do…while 循環 實例 for循環 實例 三種循環之間的區別 增強 for 循環 實例 break 關鍵字 語法 實例 continue 關鍵字 語法 實例 順序結構的程序語句只能被執行一次。 如果您想要同樣的操作執行…

租用云服務器租時要注意的問題有哪些?

隨著云計算的不斷發展,對云計算服務器的需求也越來越大。 那么,我們應該如何以正確的態度和方法來選擇云服務器呢? 租用云服務器需要注意哪些問題? 1.了解您需要的云服務類型 了解您的云計算需求將使您了解您正在尋求的服務類型…

web運行時安全

1.輸入驗證 對傳遞的數據的格式、長度、類型(前端和后端都要)進行校驗。 對黑白名單校驗:比如前端傳遞了一個用戶名,可以搜索該用戶是否在白名單或者黑名單列表。 針對黑名單校驗,比如: // 手機號驗證…