這篇文章是Robomaster C板初體驗的擦屁股篇,但是還沒有寫完,估計還有好幾篇。
第一個是PWM點燈大法:
占空比的設(shè)計
在MX里面的PWM通道的設(shè)計
這個是具體的參數(shù)設(shè)置
時鐘使用是APB1
蜂鳴器的參數(shù)提前要在宏定義里面限制一下
在while之前的初始化
蜂鳴器的打開和關(guān)閉需要在另外一個函數(shù)里面打開
如果這個數(shù)據(jù)結(jié)構(gòu)是外面定義的,記得extern,第一個是預(yù)設(shè)定時器的新值,第二個函數(shù)是TIM的通道以及比較寄存器的初值。
響的時候傳進去的參數(shù)
程序的框圖
在keli里面的path
調(diào)試的口子,這里我寫錯了
在所有的引腳下面都ESD保護了
一些適用的場景
原理圖的內(nèi)部結(jié)構(gòu)
應(yīng)用的時候都接在回地的回路上面就行
這個是C型的電源樹,原理圖
說明書
看這個下一級,其實就包括了電機的電源
完整的主供電
這個就是5V的鏈路
和參考電路一模一樣
布線
應(yīng)該如何使用帶有模擬地 (AGND) 和電源地 (PGND) 的開關(guān)穩(wěn)壓器?
這是許多設(shè)計開關(guān)電源的開發(fā)人員提出的問題。一些開發(fā)人員習(xí)慣于處理數(shù)字 GND 和模擬 GND;然而,當(dāng)涉及到電源 GND 時,他們的經(jīng)驗常常讓他們失望。然后,設(shè)計人員經(jīng)常復(fù)制所選開關(guān)穩(wěn)壓器的電路板布局,然后不再考慮這個問題。 PGND 是流過較高脈沖電流的接地連接。根據(jù)開關(guān)穩(wěn)壓器拓撲,這意味著通過功率晶體管的電流或功率驅(qū)動級的脈沖電流。這對于開關(guān)控制器(例如具有外部電源開關(guān))的情況尤其重要。 AGND,有時稱為 SGND(信號地),是其他通常非常平靜的信號用作參考的接地連接。這包括調(diào)節(jié)輸出電壓所需的內(nèi)部參考電壓。軟啟動和使能電壓也參考 AGND 連接。 由于存在兩種不同的技術(shù)理念,因此專家們對于這兩種接地連接的處理也有不同的看法。 根據(jù)一種理念,開關(guān)穩(wěn)壓器 IC 上的 AGND 和 PGND 連接應(yīng)在各自引腳旁邊相互連接。這使得兩個引腳之間的電壓偏移保持相對較低。因此,可以保護開關(guān)調(diào)節(jié)器IC免受干擾甚至損壞。所有電路的接地連接和可能的接地平面都將鏈接到星形拓撲中的這個公共點。
電路板布局顯示在這里。它是一個10A降壓微型模塊。電路板上單獨的接地連接彼此相鄰連接(參見圖中的藍色橢圓形)。由于硅片與外殼之間各自焊線的寄生電感,以及各自引腳的電感,PGND和AGND已經(jīng)有一定程度的去耦,導(dǎo)致電路之間的相互干擾量很小在硅上。 另一種理念涉及將電路板上的 AGND 和 PGND 額外分離成兩個單獨的接地層,并在一點上相互連接。通過這種連接,干擾信號(電壓偏移)大部分保留在 PGND 區(qū)域中,而 AGND 區(qū)域中的電壓保持非常平靜,并且與 PGND 很好地解耦。然而,其缺點是,根據(jù)脈沖電流的瞬變和電流強度,各個引腳上的 PGND 和 AGND 之間可能存在顯著的電壓偏移。這可能導(dǎo)致開關(guān)穩(wěn)壓器 IC 功能異常,甚至損壞。下圖顯示了這一理念的實現(xiàn)。
分開連接
然后就是馬總發(fā)了個好玩的:
一塊走的快讓我迷茫的板子
原來是樂天派的機器人
早年這個EMO是ESP32做的,9美元的零頭都能買三塊ESP32
蚌湖住了
讓上面的PWM接口輸出一下:
原理圖的連接是這樣的
TIM8
TIM1
PWM 占空比最小為 500/20000 即 2.5%,對應(yīng)高電平時間為 20ms 乘以 2.5%等于 0.5ms,最大為 2000/20000 即 10%,對應(yīng)高電平時間20ms 乘以 10%等于 2ms。
先開啟總的定時器,然后在打開里面的通道
后面操作的捕獲寄存器,為什么是宏呢?這里寫的是為了歷史的遺留
其實實現(xiàn)的時候也是在這里
參數(shù)
具體的意思
按鍵電路
在這里
選一個感知的引腳
設(shè)置一下觸發(fā)
所有地方的中斷全都打開了
函數(shù)簽名
這個就是在it文件的中斷口
在響應(yīng)以后會跳轉(zhuǎn)到這里,判斷引腳的真實情況
接著就是到了回調(diào)的函數(shù)口,這里是弱定義,還是看自己的實現(xiàn)
如果是按鍵響應(yīng)了,就看看標志位
這些就是我們所有用到的引腳
這個函數(shù)是讀取一個引腳的狀態(tài)的
返回的就是頭文件這些
上面的是后臺程序,就是簡單的知道按鍵有沒有動
真實的邏輯是這樣的:
知道引腳的這個狀態(tài)
然后就是等一會兒
dji用的是Tek的示波器
采樣是比較簡單的一步,而比較與轉(zhuǎn)換的方法,STM32 采用的是逐次逼近法,在STM32F4中是12位逐次逼近型ADC (SAR-ADC) ,下面以一個信號在3位逼近法中的比較過程為例講解比較過程 首先你要知道的是,在3位逼近法中,可以認為ADC在未轉(zhuǎn)換之前的值是一個3位二進制數(shù),這3位二進制數(shù)字存儲的數(shù)值取決于這3位比較的出來的值:
采樣到模擬信號的值之后: 1.首先與內(nèi)部參考電壓 Vref 的 1/2 進行比較。發(fā)現(xiàn)大于其值,則將第一個標志位記為1;反之為0由于大于 1/2 Vref 值,所以下一個比較的值為 1/2 + 1/4 = 3/4 Vref 2.然后與Verf 的 3/4 進行比較。發(fā)現(xiàn)小于其值,則將第二個標志位記為0由于小于 3/4 Vref 值,所以下一個比較的值為 3/4 - 1/8 = 5/8 Vref 3.然后與Vref 的 5/8 進行比較。發(fā)現(xiàn)小于其值,則將第三個標志位記為0 所以輸出的的結(jié)果為100,其對照的結(jié)果為 1/2 Vref。如果是12位逼近的方法,這樣的過程需要經(jīng)過12次,輸出一串12位的二進制數(shù),然后轉(zhuǎn)化為數(shù)值,其完整流程如下:
一般 ADC 的位數(shù)越多則轉(zhuǎn)換精度越高,但與此同時轉(zhuǎn)換的速度也會變慢。此外,STM32 內(nèi)部有一個校準電壓VREFINT ,電壓為1.2 V,當(dāng)供電電壓不為 3.3 V,可以使用內(nèi)部的 VREFINT 通道采集1.2 V電壓作為 Vref,以提高精度。
這個是DJI的文檔
在開發(fā)板中有一個用于讀取電池電壓使用的電阻分壓電路。由于電池提供的電源是24 V的高電壓,而單片機引腳的耐壓只有0~3.3 V,所以需要通過分壓電路進行處理,并使用濾波和二極管限幅電路進行保護。
管球它,拼拼湊湊的就可以看了
輸入的電壓范圍是這樣的
時鐘
在MX里面的設(shè)置
今天有事情,寫不完了,跑了。
DJI的文檔也是抄的別人的,,,沒事,我也抄。
審核編輯:湯梓紅
-
寄存器
+關(guān)注
關(guān)注
31文章
5270瀏覽量
119647 -
PWM
+關(guān)注
關(guān)注
114文章
5099瀏覽量
212837 -
時鐘
+關(guān)注
關(guān)注
10文章
1701瀏覽量
131187 -
定時器
+關(guān)注
關(guān)注
23文章
3227瀏覽量
114148
原文標題:?Robomaster C板再體驗
文章出處:【微信號:TT1827652464,微信公眾號:云深之無跡】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論