關(guān)于STM32的com事件概念
COM事件是用于同時(shí)控制所有通道的輸出轉換,在電機控制中同時(shí)轉換所有通道的輸出是十分必要的
比如無(wú)刷電機換向時(shí),一般是三相要同時(shí)換向的,但是你在軟里設置換向時(shí)肯定是一次只能設置一相,這就達不到三相同時(shí)換向了不。其實(shí)簡(jiǎn)單的辦法就是啟用 STM32的COM事件,你先逐個(gè)設置好每相的換向(注意:此時(shí)雖然設置了,但實(shí)際上并不會(huì )進(jìn)行換向),然后再調用COM事件,此時(shí),三相將同時(shí)換向,就這么來(lái)的。阿呆版主,這夠清楚了吧
COM事件發(fā)生在STM32的高級控制定時(shí)器(TIM1、TIM8)的“六步PWM的產(chǎn)生”,而6-step PWM用于驅動(dòng)三相電機,對應著(zhù)直流無(wú)刷電機(BLDC)的六步換相。驅動(dòng)三相電機需要什么波形,可參考有關(guān)電機驅動(dòng)方面的資料,STM32的資料中沒(méi)有介紹這些背景知識。
六步PWM的產(chǎn)生:當在一個(gè)通道上應用了互補輸出時(shí),OCxM、CCxE和CCxNE位的預裝位有效。在COM通信事件發(fā)生時(shí),預裝載位被傳送到影子位;因而可以預先設置好下一步的配置,并在同一時(shí)間更改所有通道的配置。COM事件可以通過(guò)硬件(在TRGI的上升沿)設置或者軟件修改TIM1_EGR寄存其中的COM位來(lái)產(chǎn)生。當COM事件發(fā)生時(shí)會(huì )設置一個(gè)標志位(TIM1_SR寄存器中的COMIF位),這時(shí)如果已設置了TIM1_DIER寄存器的COMIE位,則產(chǎn)生一個(gè)中斷;或者如果已設置了TIM1_DIER寄存器的COMDE位,則產(chǎn)生一個(gè)DMA請求。
評論