国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32F407高級定時器-死區(qū)時間研究-STM32CubeMX

這篇具有很好參考價值的文章主要介紹了STM32F407高級定時器-死區(qū)時間研究-STM32CubeMX。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

距離上次寫筆記,已經(jīng)過去好長時間了

中間也折騰過不少東西,但是都沒咋整理,主要是這中間都是在干活兒,不是自己想要研究的,也沒想著要寫。

從去年10月份開始想要學習FOC,10月份研究了一個月,到11月初,實現(xiàn)了SVPWM驅(qū)動BLDC電機,使用串口實現(xiàn)開環(huán)下轉(zhuǎn)速和力矩調(diào)節(jié)?;旧纤闶莿倓側腴T, 但是后來一直去忙別的各種事情了,擱置了一年,最近想重新?lián)炱饋?,發(fā)現(xiàn)去年的代碼折騰的已經(jīng)跑不起來了,于是重新開始看去年收藏夾里的教程——從最基礎的高級定時器開始。高級定時器這塊兒的知識,比較基礎的就不贅述了,我會在文章末尾附上幾個我個人認為比較好的文章,供有需要的同學學習。

之前關于死區(qū)時間的設定,一直沒搞清楚,CubeMX中DeadTime就一個孤零零的文本框,也沒有注釋,似乎很不起眼,這次花了點兒時間,研究整理了一下,有理論計算,有上機試驗,希望能幫助到有需要的同學吧。

DTG配置死區(qū)發(fā)生器詳解

回歸正題!下圖截自《STM32F4xx中文編程手冊》RM0090,DTG寄存器為TIM1 和 TIM8 斷路和死區(qū)寄存器 (TIMx_BDTR)的低8位,高八位咱們暫時不用關心哈,咱們只關心低8位。DTG寄存器中的值不同,決定了死區(qū)時間的計算方法也不同。DTG寄存器的設置方法非常簡單,直接通過CubeMX中DeadTime處寫入即可。

STM32F407高級定時器-死區(qū)時間研究-STM32CubeMX?根據(jù)上圖可以知道,設置死區(qū)時間的時候,根據(jù)輸入到DTG的值不同,會被分為4種情況,分別是:

?1.當最高位為0 低7位為任意值,即CubeMX中DeadTime值輸入為0-127時,死區(qū)時間為

[0~127]×,=

例如CubeMX中 DeadTime輸入100時,理論得到死區(qū)時間DT=100×1/72MHz=1.38889us

CubeMX設置截圖如下,使用TIM8高級定時器,使用通道CH1和CH1N輸出互補PWM波,預分頻值PSC為72-1,自動重裝載值ARR為1000-1(圖中DeadTime輸入的為十六進制0x64,轉(zhuǎn)為為十進制后即為100)

STM32F407高級定時器-死區(qū)時間研究-STM32CubeMX

?將程序下載到正點F103ZET6核心板上,使用示波器檢測PC5(CH1)與PA7(CH1N)互補方波的死區(qū)時間,得到如下截圖

STM32F407高級定時器-死區(qū)時間研究-STM32CubeMX

?圖中兩方波的時間差即為死區(qū)時間,測量值為1.38us,與計算值1.38889us幾乎一致。

2.當DTG[7:6]為10? 而DTG[5:0]為任意值時(10xx xxxx),此時死區(qū)時間DT計算公式為

DT=(64+DTG[5:0])x,=2

DT=?(64+[0~63])x??,=2

?例如CubeMX中 DeadTime輸入0xb9(1011 1001)時,理論得到死區(qū)時間?

DT=?(64+(0011 1001))x?=?(64+57)x?2?=?(64+57)x2x1/72MHz=3.61111us

設置CubeMX中DeadTime值為0xb9

STM32F407高級定時器-死區(qū)時間研究-STM32CubeMX

?下載燒錄,示波器檢測死區(qū)時間

STM32F407高級定時器-死區(qū)時間研究-STM32CubeMX

?實際檢測出死區(qū)時間為3.36us,與理論時間3.36111us基本吻合。

3.和4. 兩種情況與2計算方式基本相同,不過就是需要注意,DTG[7:5]三位值已經(jīng)固定,DTG[4:0]取值范圍縮小至【0~31】,在確定DTG[4:0]取值數(shù)值之后,將DTG[7:5]與DTG[4:0]進行按位與操作,組成一個字節(jié),最后將該值填入Cube MX中DeadTime處即可;另外取值分別變?yōu)?倍與16倍。

實際3 4兩種情況試驗我都做過了,3不放了,只把第4種情形,DTG[4:0]取值最大的情況貼圖在下面吧。

設置CubeMX中DeadTime值為0xff?(1111 1111

??DT=?(32+(1111 1111))x?=?(32+31)x?16?=?(32+31)x16x1/72MHz=14.0us

STM32F407高級定時器-死區(qū)時間研究-STM32CubeMX

?經(jīng)過實測,死區(qū)時間同樣為14us,與計算結果一致。

?非常關鍵的的計算方法

有的同學可能會好奇,??=N倍,那這個又是怎么來的呢,其實關于的取值方法,官方的編程手冊中同樣提到了,我貼上來供大家參考。

STM32F407高級定時器-死區(qū)時間研究-STM32CubeMX

?不做特別設置的時候,=tCK_INT,即與內(nèi)部時鐘相同。即內(nèi)部時鐘頻率,72MHz。

參考文章推薦

STM32F407配置STM32CubeMX通過高級定時器TIM8產(chǎn)生PWM互補輸出(帶死區(qū)和剎車)實驗_xuechanba的博客-CSDN博客

STM32CUBEMX配置教程(五)高級定時器輸出兩路PWM波_怡步曉心l的博客-CSDN博客

STM32CubeMX的TIM1互補PWM輸出,HAL庫(2路,帶死區(qū))_小李(李宏松)的博客-CSDN博客

STM32 HAL庫PWM回調(diào)函數(shù)的特性_Wake_Dream_2333的博客-CSDN博客_callback stm32

STM32CubeIDE 統(tǒng)計及控制PWM產(chǎn)生個數(shù)_sudaroot的博客-CSDN博客文章來源地址http://www.zghlxwxcb.cn/news/detail-421969.html

到了這里,關于STM32F407高級定時器-死區(qū)時間研究-STM32CubeMX的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • stm32f407關于通用定時器各種函數(shù)——PWM(二)

    stm32f407關于通用定時器各種函數(shù)——PWM(二)

    ????????定時器產(chǎn)生PWM:在計數(shù)器頻率固定時,PWM 頻率由 自動重載寄存器(TIMx_ARR) 的值決定,其占空比由 捕獲/比較寄存器(TIMx_CCRx) 的值決定 ????????定時器工作在遞增計數(shù)模式,縱軸是計數(shù)器的計數(shù)值 CNT,橫軸表示時。當 CNT=CCRx 時,IO 輸出高電平(邏輯 1);

    2024年02月08日
    瀏覽(15)
  • stm32f407探索者開發(fā)板(二十二)——通用定時器基本原理講解

    stm32f407探索者開發(fā)板(二十二)——通用定時器基本原理講解

    STM32F40x系列總共最多有14個定時器 三種(4)STM32定時器區(qū)別 STM3 F4 的通用 TIMx (TIM2、TIM3、TIM4 和 TIM5)定時器功能特點包括: 16 /32 位向上、向下、向上/向下(中心對齊)計數(shù)模式,自動裝載計數(shù)器(TIMx_CNT)。 16 位可編程(可以實時修改)預分頻器(TIMx_PSC),計數(shù)器時鐘頻率的分頻系

    2024年02月12日
    瀏覽(26)
  • 基于STM32CubeMX和keil采用STM32F407的基本定時器中斷實現(xiàn)LED閃爍

    基于STM32CubeMX和keil采用STM32F407的基本定時器中斷實現(xiàn)LED閃爍

    定時器有三種,基本定時器,通用定時器,以及高級定時器。 這篇博客以最簡單的基本定時器為例,實現(xiàn)LED的閃爍。 后面兩種定時器的用法后面再寫。 實現(xiàn)功能: TIM6控制LED每隔0.5s變一次狀態(tài)。 TIM7控制LED1常量2s后熄滅。 因為都是用到LED,所以和上一篇基于STM32CubeMX與keil采

    2024年02月04日
    瀏覽(25)
  • STM32F407單一定時器輸出4路不同頻率及占空比的PWM波

    STM32F407單一定時器輸出4路不同頻率及占空比的PWM波

    程序效果演示 STM32單一定時器輸出四路不同頻率及占空比的PWM波 一、程序思路 因為定時器只有一個CNT計數(shù)器所以只能有一個輸出頻率,若要實現(xiàn)多路不同頻率波形,只能通過在當前CNT計數(shù)器的基礎上不斷累加自身CCR寄存器的值來觸發(fā)中斷在中斷中翻轉(zhuǎn)波形的方式,此時中斷

    2024年02月05日
    瀏覽(20)
  • STM32實戰(zhàn)-高級定時器帶死區(qū)的互補PWM輸出

    STM32實戰(zhàn)-高級定時器帶死區(qū)的互補PWM輸出

    前言: 平時我們設計點擊驅(qū)動電路時,一般會采用npn和pnp三極管,來控制電機的導通和關閉,但是三級管內(nèi)部自帶電容,斷電后不會立馬斷掉,會經(jīng)過很小的一段時間才會放電完畢,這時候要留有死區(qū)給電容放電,這就有了互補pwm波。 ? 同時,當電機出現(xiàn)故障,如果利用軟

    2024年02月08日
    瀏覽(21)
  • STM32學習筆記(4) 高級定時器-兩路互補的PWM輸出(帶死區(qū)和剎車控制)

    STM32學習筆記(4) 高級定時器-兩路互補的PWM輸出(帶死區(qū)和剎車控制)

    目錄 1.實驗目的 2.實驗效果 3.理論部分 3.1時鐘源 3.2時基單元 3.3輸入捕獲 4.程序流程 4.1GPIO初始化結構體 4.2時基初始化結構體 4.3輸出比較結構體 4.4剎車和死區(qū)結構體的初始化 5.程序源碼 使用高級定時器,輸出兩路互補的PWM輸出,需要有帶死區(qū)和不帶死區(qū)兩種情況 圖1:不帶

    2024年02月13日
    瀏覽(24)
  • STM32F4使用高級定時器(TIM1和TIM8)輸出PWM問題

    STM32F4使用高級定時器(TIM1和TIM8)輸出PWM時要使用TIM_CtrlPWMOutputs使能PWM輸出,否則不會輸出PWM波形,這一點是和通用定時器輸出PWM不一樣的地方,通用定時器是不用配置TIM_CtrlPWMOutputs函數(shù)的。、

    2024年02月15日
    瀏覽(30)
  • 一文搞懂如何使用STM32驅(qū)動直流電機(普通PWM輸出和L298N、高級定時器輸出帶死區(qū)雙通道互補PWM和IR2110S及自舉電路、H橋電路和電機正反轉(zhuǎn))

    一文搞懂如何使用STM32驅(qū)動直流電機(普通PWM輸出和L298N、高級定時器輸出帶死區(qū)雙通道互補PWM和IR2110S及自舉電路、H橋電路和電機正反轉(zhuǎn))

    筆者從開始接觸嵌入式單片機開始,就和驅(qū)動電機相伴而走。從最開始的直接買L298N驅(qū)動模塊直接驅(qū)動直流電機,到現(xiàn)在自己設計PCB電路板驅(qū)動直流電機,可以說是和電機驅(qū)動共同成長了?,F(xiàn)在筆者將這一過程的收獲記錄下來,希望對大家有所幫助。 不用詳細了解L298N芯片和

    2024年02月02日
    瀏覽(22)
  • F407標準庫之定時器觸發(fā)AD轉(zhuǎn)換

    F407標準庫之定時器觸發(fā)AD轉(zhuǎn)換

    關于ADC轉(zhuǎn)換,正點原子的標準庫開發(fā)中講的是:軟件觸發(fā)一次轉(zhuǎn)換,然后獲取一個數(shù)據(jù),沒提及外部觸發(fā),也沒提及ADC中斷。 如果要多次讀取數(shù)據(jù),可以通過循環(huán)+延時來實現(xiàn)。 這種情況就是通過多次調(diào)用,輪詢讀取。 其實,可以結合定時器來觸發(fā)ADC轉(zhuǎn)換,然后在ADC中斷函數(shù)

    2024年02月08日
    瀏覽(23)
  • STM32F4X 定時器中斷

    STM32F4X 定時器中斷

    定時器(Timer)最基本的功能就是定時,比如定時翻轉(zhuǎn)LED燈,定時向串口發(fā)送數(shù)據(jù)等。除此之外,定時器還可以跟GPIO結合使用,利用定時器產(chǎn)生PWM波形,利用定時器捕捉電平信號等。本章先來講解定時器的最基本的用法,定時功能。 STM32F4X將定時器分成3類,分別是基本定時器,

    2024年02月12日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包