資料介紹
描述
DShot 協議
在 DShot 之前,飛控更新速度比標準 PWM 速率更快,這會導致性能和調整問題。開發了更快的模擬 PWM,即 OneShot125 和其他幾個。對于基于 PWM 的協議,接收器必須測量脈沖以確定速度,很少有發射器和接收器具有相似的時鐘精度,因此可能存在一些差異,因此飛行控制器軟件包括一個校準步驟來找到最大值和最小值。
DShot 是數字的,速度與遙測請求和校驗和一起被編碼為“數據包”,因此無需校準。DSHOT 支持多種速度 150、130、600 和 12000。因此,數字越大,數據包比特率越快,因此數據包發送到 ESC(電子速度控制器)的速度越快
這是一個基本的 DSHOT 數據包:
數據包流從左到右發送,因此首先發送速度位 10,然后發送速度位 9,依此類推。那么,邏輯 1 和邏輯 0 是如何編碼的?寬度決定值是 1 還是 0,寬度越長,值為 1。對于 DSHOT150,下表是:
DSHOT 150 單個比特周期:6.67us 高電平時間(1):5.000us 高電平時間(0):2.500us
DSHOT 300 單個比特周期:3.33us 高電平時間(1):2.500us 高電平時間(0):1.250us
DSHOT 600 單個比特周期:1.67us 高電平時間(1):1.250us 高電平時間(0):0.620us
DSHOT1200 單個比特周期:0.83us 高電平時間(1):0.025us 高電平時間(0):0.313us
PC 應用程序將格式化 16 位,代碼位于 HTML nwjs 應用程序中。
使用 FPGA 的 DSHOT 150
對于本項目,不支持接收遙測信息,僅以 150 速率傳輸 DSHOT 16 位值。FPGA 的職責是以編程的時鐘速率將 16 位值發送到 ESC,該值將由 PC 軟件編碼,這簡化了 FPGA 邏輯。
該項目利用了使用 FPGA 項目解碼 PWM。
DSHOT150 在 ip/DSHOT/dshot_out.v 中實現:
`default_nettype none
`timescale 1 ns / 1 ns
module dhot_output #(
parameter update_guardtime = 1000000, //1 second
parameter clockFrequency = 50000000
) (
input wire i_clk, // clock.clk
input wire i_reset, // reset.reset
input wire [15:0] i_dshot_value,
input wire i_write, // .write
output wire o_pwm
);
/* state machine state of single bit */
localparam [3:0] INIT_TIME = 4'h0,
HIGH_TIME = 4'h1,
LOW_TIME = 4'h2,
IDLE_ = 4'h3;
/* DSHOT Bit time: (1 - TH1) (0-T0H)
DSHOT 150 Bit time is 6.67us 5.00us 2.50us
DSHOT 300 Bit time is 3.33us 2.50us 1.25us
DSHOT 600 Bit time is 1.67us 1.25us 0.625us
DSHOT1200 Bit time is 0.83us 0.025 0.313us
*/
/* For DSHOT150 clk is 50Mhz so 0-T0H is 2.50 * 50 = 125
0-Off is (6.67 - 2.50us) * 50 = 208.9
*/
localparam [15:0] LOW_HIGH_TIME = 125;
localparam [15:0] LOW_LOW_TIME = 209;
/* For DSHOT150 clk is 50Mhz so 0-T1H is 5.00 * 50 = 250
0-Off is (6.67 - 5.00us) * 50 = 83.5
*/
localparam [15:0] HIGH_HIGH_TIME = 250;
localparam [15:0] HIGH_LOW_TIME = 84;
Avalon 從接口
要訪問 DSHOT 150,需要創建 Avalon 從站,就像之前創建從站內存映射接口一樣,然后拖放到系統內容并重新映射內存地址。我已經包括了一個額外的 ESC 電機控制器 PWM。兩者如下圖所示:
這是新的內存映射:
頂層
更新了 fast_serial.v 以將電機的輸出映射到 FPGA 的引腳 D2、D3、D4 和 D5。目前,Avalon 總線不支持將輸出重新映射為 PWM 或 DSHOT。以下代碼經過多路復用器硬編碼,可根據本地參數 MOTOR_CONTROL 將 DSHOT 或 PWM 映射為輸出。
assign D5 = (MOTOR_CONTROL)?dshot_out_1:pwm_out_1;
assign D4 = (MOTOR_CONTROL)?dshot_out_2:pwm_out_2;
assign D3 = (MOTOR_CONTROL)?dshot_out_3:pwm_out_3;
assign D2 = (MOTOR_CONTROL)?dshot_out_4:pwm_out_4;
要啟用 DSHOT150 或 OnseShot 125,需要創建一個 Avalon 內存映射地址來選擇 ether DSHOT 或 PWM,然后驅動多路復用器。也可以使用相同的方法支持串行和遙測,但使用 inout。
這是新的 nwjs 應用程序的屏幕截圖,電機可以由通道 0 驅動,也可以通過電機滑塊驅動。建議拆下螺旋槳,將電機牢固地用螺栓固定在厚板上。
Enable Motor 按鈕打開 DSHOT 生成,因此,ESC 會發出幾聲嗶嗶聲,通知用戶電機已“武裝”。增加滑塊將增加速度。此外,LED 滑塊還允許更新 LED。打開發射器,所有控件都處于活動狀態。
串行端口接口從 FTDI 芯片接收數據很慢,因為驅動程序在傳輸時有緩沖,在 Linux 上降低它:
setserial /dev/ low_latency
另一種方法是libftdi,有一個API來設置latency_timer,ftdi_set_latency_timer,我做了一個簡單的修改,允許值為0。由于從FPGA到FTDI的傳輸數據是25Mhz,所以Avalon數據包作為一個USB到達數據包,但以微幀速率。
- 通過藍牙通過Pic16f877A進行BLDC電機控制 3次下載
- BLDC電機控制理論原理分析.PPT 0次下載
- BLDC電機模型
- 平衡車控制之BLDC直流無刷電機控制
- BLDC控制要點
- BLDC電機控制算法(瑞薩)
- 使用dsPIC30F器件實現BLDC電機控制入門 20次下載
- 基于DSP的步進電機速度控制系統 30次下載
- 使用dsPIC30F2010控制帶傳感器的BLDC電機 27次下載
- BLDC電機控制中電壓超前角的方法探討 48次下載
- BLDC電機控制算法是否實用主要看這三點
- BLDC電機控制算法最強解析入門看這篇就夠了
- 如何使用dsPIC30F器件實現BLDC電機控制的詳細中文資料免費下載
- 使用dsPIC30F2010控制BLDC電機的具體實現中文資料免費下載
- BLDC 風扇的可變速度控制算法 14次下載
- 如何使用PWM控制電機速度 3503次閱讀
- 如何進行電機速度控制 1044次閱讀
- 常見的電機速度控制方法 1857次閱讀
- BLDC電機控制算法詳解 1154次閱讀
- BLDC電機與變頻器的區別 1208次閱讀
- bldc變頻電機和直驅變頻電機區別 7570次閱讀
- bldc電機和dd直驅電機的區別 3434次閱讀
- BLDC電機的驅動原理詳解 6591次閱讀
- STM32通過PWM控制電機速度 5228次閱讀
- 無人機電子速度控制器(ESC)參考設計 2215次閱讀
- 一文教你讀懂BLDC控制算法 7566次閱讀
- BLDC電機控制的基本原理解析 2.6w次閱讀
- 知識普及之BLDC換向你了解嗎 1.7w次閱讀
- 淺析高性能低功耗三相BLDC電機控制系統方案設計 3664次閱讀
- 基于PSoC4的BLDC電機控制系統的設計與實現 2824次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多