国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當前位置:首頁 >> MM32/靈動微電子 >> 靈動微-電動馬達方案中需要使用到六步PWM輸出功能

靈動微-電動馬達方案中需要使用到六步PWM輸出功能

關鍵字:靈動微電子 電動馬達方案 PWM輸出功能 作者: 來源: 發(fā)布時間:2022-06-08  瀏覽:33
針對電動馬達方案中需要使用到六步PWM輸出功能,本篇文章將向大家介紹如何使用MM32L0系列MCU實現(xiàn)六步PWM輸出功能。


MM32高級控制定時器TIM1有互補輸出的功能,我們便可以利用定時器 TIM1 來產(chǎn)生 3 對 6 路的互補 PWM 輸出。MM32高級控制定時器TIM1產(chǎn)生六步PWM輸出,用于驅(qū)動三相電機,對應著直流無刷電機的六步換相。


六步 PWM 產(chǎn)生:當在一個通道上應用了互補輸出時, OCxM、CCxE 和 CCxNE位的預載位有效,這些預裝載位被傳送到影子寄存器,因此可以預先設置好下一步的配置,并在同一時間更改所有通道的配置。COM 事件可以通過硬件(在 TRGI的上升沿) 設置或者軟件修改TIM1_EGR 寄存器的 COM 位來產(chǎn)生。


當 COM 事件發(fā)生時會設置一個標志位(TIM1_SR 寄存器中的 COMIF 位),這時如果已設置了TIM1_DIER 寄存器的 COMIE 位,則產(chǎn)生一個中斷;如果已設置了 TIMx_DIER寄存器的COMDE位,則產(chǎn)生一個DMA請求。


下圖顯示當發(fā)生 COM 事件時,三種不同配置下OCx和OCxN 輸出。


                           COM事件


在本次實驗中主要教大家如何配置PWM的輸出狀態(tài)以及輸出有效電平設置,在主函數(shù)的循環(huán)中更新PWM狀態(tài)輸出,將不使用中斷方式,用戶在實際電機配置程序中可以直接采用該配置方式移植到TIM1_BRK_UP_TRG_COM_IRQHandler函數(shù)中。


程序配置:


程序配置


1>   開啟定時器TIM1的時鐘


2>   初始化 TIM1,設置 TIM1 的 ARR 和 PSC,向上計數(shù)模式


3>   設置BDTR,使能剎車輸入信號,高電平有效


4>   設置 TIM1_CH1/CH1N,TIM1_CH2/CH2N,TIM1_CH3/CH3N的 PWM 模式,PWM 模式2,使能 TIM1 的 CHx 輸出


5>   使能TIM1_CR1的自動重裝載預裝載允許位


6>   使能定時器TIM1
定時器


main函數(shù)配置流程:


1>   systick延時函數(shù)初始化


2>   GPIO口配置,PA8/PB13,PA9/PB14,PA10/PB15,分別為TIM1的三組互補通道輸出:CH1/CH1N,CH2/CH2N,CH3/CH3N,復用推挽輸出,最大輸出速度50MHz, 除此之外,還有一個引腳可以配置也可以不配置,那就是TIM1_BKIN對應的引腳PB12,TIM1_BKIN的功能是檢測故障,如果當PB12檢測到高電平(取決于剎車有效電平的設置)時,就表示檢測到故障,然后它會自動關閉定時器。


3>   定時器TIM1初始化及輸出配置


4>   PWM輸出模式配置,在我配置的程序中大家可以看到對TIM1_CCMR1\TIM1_CCMR2\TIM1_CCER三個寄存器進行操作即可實現(xiàn)需要的功能


實驗結果:


實驗結果


從邏輯分析儀抓的波形可以看到在6個通道中,如果一個通道處在PWM輸出模式,另外的5個通道處在關閉狀態(tài),依次輪詢該過程。


需要弄清楚我對上述三個寄存器做了什么操作需要參考UM_MM32L0xx文檔的第13.4.7章節(jié)、13.4.8章節(jié)、13.4.9章節(jié)三個章節(jié)寄存器


寄存器


如上圖所示:位3是輸出比較1預裝載使能位,TIMx_CCR1的預裝載值在更新事件到來時加載到當前寄存器,該位需要置1,位6:4是PWM輸出比較模式配置,如果CCMR1的輸出比較1配置0x48表示強制為無效電平,0x58表示強制為有效電平,0x68表示PWM模式1。


定時器的配置模式如上所示,但是輸出到GPIO口的電平狀態(tài)還需要查表34,根據(jù)表中的定義配置所需要的電平狀態(tài)。


定時器


用戶在配置電機所需要的PWM功能時,只需要根據(jù)對TIM1_CCMR1 \ TIM1_CCMR2 \ TIM1_CCER 三個寄存器進行操作,如果對寄存器的操作值不是很清楚,建議大家在調(diào)試模式下,直接通過修改該三個寄存器的值,然后查看對應的GPIO得狀態(tài)變化,然后記錄下來,在程序中將測試值寫入到相對應的寄存器中,重新下載程序到MM32L0系列 MCU中觀察對應的GPIO的電平狀態(tài)。

編輯:ls  最后修改時間:2022-06-08

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4