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