資料介紹
描述
DShot 協(xié)議
在 DShot 之前,飛控更新速度比標(biāo)準(zhǔn) PWM 速率更快,這會導(dǎo)致性能和調(diào)整問題。開發(fā)了更快的模擬 PWM,即 OneShot125 和其他幾個。對于基于 PWM 的協(xié)議,接收器必須測量脈沖以確定速度,很少有發(fā)射器和接收器具有相似的時鐘精度,因此可能存在一些差異,因此飛行控制器軟件包括一個校準(zhǔn)步驟來找到最大值和最小值。
DShot 是數(shù)字的,速度與遙測請求和校驗和一起被編碼為“數(shù)據(jù)包”,因此無需校準(zhǔn)。DSHOT 支持多種速度 150、130、600 和 12000。因此,數(shù)字越大,數(shù)據(jù)包比特率越快,因此數(shù)據(jù)包發(fā)送到 ESC(電子速度控制器)的速度越快
這是一個基本的 DSHOT 數(shù)據(jù)包:
數(shù)據(jù)包流從左到右發(fā)送,因此首先發(fā)送速度位 10,然后發(fā)送速度位 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 應(yīng)用程序?qū)⒏袷交?16 位,代碼位于 HTML nwjs 應(yīng)用程序中。
使用 FPGA 的 DSHOT 150
對于本項目,不支持接收遙測信息,僅以 150 速率傳輸 DSHOT 16 位值。FPGA 的職責(zé)是以編程的時鐘速率將 16 位值發(fā)送到 ESC,該值將由 PC 軟件編碼,這簡化了 FPGA 邏輯。
該項目利用了使用 FPGA 項目解碼 PWM。
DSHOT150 在 ip/DSHOT/dshot_out.v 中實現(xiàn):
`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,需要創(chuàng)建 Avalon 從站,就像之前創(chuàng)建從站內(nèi)存映射接口一樣,然后拖放到系統(tǒng)內(nèi)容并重新映射內(nèi)存地址。我已經(jīng)包括了一個額外的 ESC 電機(jī)控制器 PWM。兩者如下圖所示:
這是新的內(nèi)存映射:
頂層
更新了 fast_serial.v 以將電機(jī)的輸出映射到 FPGA 的引腳 D2、D3、D4 和 D5。目前,Avalon 總線不支持將輸出重新映射為 PWM 或 DSHOT。以下代碼經(jīng)過多路復(fù)用器硬編碼,可根據(jù)本地參數(shù) 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,需要創(chuàng)建一個 Avalon 內(nèi)存映射地址來選擇 ether DSHOT 或 PWM,然后驅(qū)動多路復(fù)用器。也可以使用相同的方法支持串行和遙測,但使用 inout。
這是新的 nwjs 應(yīng)用程序的屏幕截圖,電機(jī)可以由通道 0 驅(qū)動,也可以通過電機(jī)滑塊驅(qū)動。建議拆下螺旋槳,將電機(jī)牢固地用螺栓固定在厚板上。
Enable Motor 按鈕打開 DSHOT 生成,因此,ESC 會發(fā)出幾聲嗶嗶聲,通知用戶電機(jī)已“武裝”。增加滑塊將增加速度。此外,LED 滑塊還允許更新 LED。打開發(fā)射器,所有控件都處于活動狀態(tài)。
串行端口接口從 FTDI 芯片接收數(shù)據(jù)很慢,因為驅(qū)動程序在傳輸時有緩沖,在 Linux 上降低它:
setserial /dev/ low_latency
另一種方法是libftdi,有一個API來設(shè)置latency_timer,ftdi_set_latency_timer,我做了一個簡單的修改,允許值為0。由于從FPGA到FTDI的傳輸數(shù)據(jù)是25Mhz,所以Avalon數(shù)據(jù)包作為一個USB到達(dá)數(shù)據(jù)包,但以微幀速率。
- 通過藍(lán)牙通過Pic16f877A進(jìn)行BLDC電機(jī)控制 3次下載
- BLDC電機(jī)控制理論原理分析.PPT 0次下載
- BLDC電機(jī)模型
- 平衡車控制之BLDC直流無刷電機(jī)控制
- BLDC控制要點
- BLDC電機(jī)控制算法(瑞薩)
- 使用dsPIC30F器件實現(xiàn)BLDC電機(jī)控制入門 20次下載
- 基于DSP的步進(jìn)電機(jī)速度控制系統(tǒng) 29次下載
- 使用dsPIC30F2010控制帶傳感器的BLDC電機(jī) 27次下載
- BLDC電機(jī)控制中電壓超前角的方法探討 48次下載
- BLDC電機(jī)控制算法是否實用主要看這三點
- BLDC電機(jī)控制算法最強(qiáng)解析入門看這篇就夠了
- 如何使用dsPIC30F器件實現(xiàn)BLDC電機(jī)控制的詳細(xì)中文資料免費下載
- 使用dsPIC30F2010控制BLDC電機(jī)的具體實現(xiàn)中文資料免費下載
- BLDC 風(fēng)扇的可變速度控制算法 14次下載
- 如何使用PWM控制電機(jī)速度 1514次閱讀
- 如何進(jìn)行電機(jī)速度控制 501次閱讀
- 常見的電機(jī)速度控制方法 953次閱讀
- BLDC電機(jī)控制算法詳解 489次閱讀
- BLDC電機(jī)與變頻器的區(qū)別 609次閱讀
- bldc變頻電機(jī)和直驅(qū)變頻電機(jī)區(qū)別 6690次閱讀
- bldc電機(jī)和dd直驅(qū)電機(jī)的區(qū)別 2870次閱讀
- BLDC電機(jī)的驅(qū)動原理詳解 5833次閱讀
- STM32通過PWM控制電機(jī)速度 4515次閱讀
- 無人機(jī)電子速度控制器(ESC)參考設(shè)計 1937次閱讀
- 一文教你讀懂BLDC控制算法 7367次閱讀
- BLDC電機(jī)控制的基本原理解析 2.5w次閱讀
- 知識普及之BLDC換向你了解嗎 1.6w次閱讀
- 淺析高性能低功耗三相BLDC電機(jī)控制系統(tǒng)方案設(shè)計 3408次閱讀
- 基于PSoC4的BLDC電機(jī)控制系統(tǒng)的設(shè)計與實現(xiàn) 2678次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 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十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多