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

搭建stm32電機(jī)控制代碼框架(二)——Stm32CubeMx配置定時(shí)器

這篇具有很好參考價(jià)值的文章主要介紹了搭建stm32電機(jī)控制代碼框架(二)——Stm32CubeMx配置定時(shí)器。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

搭建了基礎(chǔ)的環(huán)境,配置了一個(gè)簡(jiǎn)單的工程后,CubeMx的基本操作就會(huì)了。然后基于這個(gè)操作往下推進(jìn),開(kāi)始對(duì)關(guān)鍵模塊定時(shí)器的攻略,這個(gè)部分需要先熟悉一下Stm32的定時(shí)器基本原理。

《STM32參考手冊(cè)》中僅對(duì)定時(shí)器的介紹就已經(jīng)占了100多頁(yè),這里就不一一展開(kāi),挑一些關(guān)鍵的理解一下。

STM32一共有8個(gè)都為16位的定時(shí)器。其中TIM6、TIM7是基本定時(shí)器﹔TIM2、TIM3、TIM4、TIM5是通用定時(shí)器﹔TIM1和TIM8是高級(jí)定時(shí)器。這些定時(shí)器使STM32具有定時(shí)、信號(hào)的頻率測(cè)量、信號(hào)的PWM測(cè)量、PWM輸出、三相6步電機(jī)控制及編碼器接口等功能,都是專門(mén)為電機(jī)控制領(lǐng)域量身定做的。


先說(shuō)說(shuō)基本定時(shí)器,特點(diǎn):

  • 時(shí)鐘源都是TIMxCLK,時(shí)鐘經(jīng)過(guò)PSC預(yù)分頻輸入至脈沖計(jì)數(shù)器TIMx_CNT
  • 只能夠向上計(jì)數(shù),只有向上計(jì)數(shù)模式
  • 工作的計(jì)數(shù)器TIMx_CNT直接由時(shí)鐘觸發(fā),當(dāng)TIMx_CNT的值等于重載寄存器TIMx_ARR中的值N時(shí),產(chǎn)生溢出事件,可觸發(fā)中斷,或DMA請(qǐng)求,CNT的值重置為0,重新開(kāi)始計(jì)數(shù)。

再看看通用定時(shí)器,特點(diǎn):

  • 具備基礎(chǔ)的定時(shí)功能外,還具備輸入脈沖頻率檢測(cè),輸出PWM的功能
  • 具備編碼器接口
  • 溢出時(shí)觸發(fā)中斷或DMA
  • 相對(duì)基本定時(shí)器具備脈沖捕獲/比較寄存器,能夠用于捕獲外部輸入的脈沖數(shù)量和脈寬

試試通用定時(shí)器的觸發(fā)中斷的功能。

第一步:選擇時(shí)鐘源,配置如下圖所示,選擇內(nèi)部時(shí)鐘。設(shè)置分頻系數(shù)與觸發(fā)中斷計(jì)數(shù)器,在下圖的PSC和Counter Period設(shè)置。

搭建stm32電機(jī)控制代碼框架(二)——Stm32CubeMx配置定時(shí)器

第二步:撰寫(xiě)打開(kāi)定時(shí)器中斷的代碼,?生成代碼后,需要一個(gè)關(guān)鍵步驟,就是在用戶代碼編輯區(qū)域,打開(kāi)定時(shí)器TIM3的使能。如下圖所示,可以看到User code begin2 的字樣,這里就是經(jīng)過(guò)CubeMx生成代碼之后,用戶編程序的地方。

HAL_TIM_Base_Start_IT(&htim3);

搭建stm32電機(jī)控制代碼框架(二)——Stm32CubeMx配置定時(shí)器

?然后在中斷程序中輸入我們需要執(zhí)行的操作,中斷程序在哪里呢?

搭建stm32電機(jī)控制代碼框架(二)——Stm32CubeMx配置定時(shí)器

?第三步:增加執(zhí)行函數(shù)。在下圖函數(shù)的這個(gè)里面,因?yàn)镃ubeMX在配置了中斷之后,就會(huì)自動(dòng)生成專門(mén)的中斷.c文件,這里TIM3_IRQHandler就是TIM3的中斷執(zhí)行函數(shù),在其中加入我們個(gè)人需要執(zhí)行的代碼。

搭建stm32電機(jī)控制代碼框架(二)——Stm32CubeMx配置定時(shí)器

?然后電機(jī)debug運(yùn)行,得到如下結(jié)果,累加時(shí)間與分頻時(shí)間相同。

搭建stm32電機(jī)控制代碼框架(二)——Stm32CubeMx配置定時(shí)器

再試試中斷生成一路PWM的功能

第一步:配置GPIO

搭建stm32電機(jī)控制代碼框架(二)——Stm32CubeMx配置定時(shí)器

第二步:配置初始電平。如下圖配置PA4的輸出為輸出模式, 并且設(shè)置初始輸出電平為高電平。

搭建stm32電機(jī)控制代碼框架(二)——Stm32CubeMx配置定時(shí)器

?第三步:配置中斷執(zhí)行函數(shù),執(zhí)行輸出電平的翻轉(zhuǎn),生成占空比為50%的PWM。

void TIM3_IRQHandler(void)
{
  /* USER CODE BEGIN TIM3_IRQn 0 */
	g_main_count ++;
  HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_4);
  /* USER CODE END TIM3_IRQn 0 */
  HAL_TIM_IRQHandler(&htim3);
  /* USER CODE BEGIN TIM3_IRQn 1 */

  /* USER CODE END TIM3_IRQn 1 */
}

輸出結(jié)果,輸出周期為42ms。由于此時(shí)我的定時(shí)器時(shí)鐘為18M,分頻系數(shù)為18,counter period為20000,經(jīng)過(guò)18分頻后,定時(shí)器時(shí)鐘為1M,電平反轉(zhuǎn)周期等于 20000/1000000 = 1/50 = 0.02s,約為20ms,單個(gè)電平持續(xù)時(shí)間為20ms,兩個(gè)電平則為40ms左右,因此基本符合。這里也有個(gè)問(wèn)題就是為什么不是精確的20ms,而是21ms。

搭建stm32電機(jī)控制代碼框架(二)——Stm32CubeMx配置定時(shí)器文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-460104.html

到了這里,關(guān)于搭建stm32電機(jī)控制代碼框架(二)——Stm32CubeMx配置定時(shí)器的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 搭建stm32電機(jī)控制代碼框架(四)——單路PWM生成

    搭建stm32電機(jī)控制代碼框架(四)——單路PWM生成

    STM32中單路PWM的生成一般是基于某一個(gè)通用定時(shí)器,本次小實(shí)驗(yàn)選取TIM2通用定時(shí)器,選擇PA5作為PWM端口輸出。配置步驟如下: 第一步:配置外部晶振與基本的時(shí)鐘,如下圖所示。 (1)選擇外部晶振 ?(2)配置時(shí)鐘樹(shù),如下圖所示,TIM2的時(shí)鐘總線掛在ABP1上,此時(shí)時(shí)鐘源為

    2024年02月07日
    瀏覽(21)
  • 電機(jī)FOC控制(三)STM32 CUBEMX 配置ADC采樣

    電機(jī)FOC控制(三)STM32 CUBEMX 配置ADC采樣

    本文在電機(jī)FOC控制(二)STM32 CUBEMX 配置三相PWM互補(bǔ)輸出基礎(chǔ)上,繼續(xù)講述如何STM32 CUBEMX 配置ADC寄存器,使TIMER1 PWM互補(bǔ)輸出CC4觸發(fā)ADC注入采樣的過(guò)程。 打開(kāi)Clock Configuration界面,將ADC設(shè)置為42.5MHz。 設(shè)定ADC1通道7和通道8為單端輸入: 設(shè)定ADC2通道6和通道7為單端輸入: ADCs_Comm

    2024年04月23日
    瀏覽(77)
  • 【STM32】cubeMX配置HAL庫(kù)驅(qū)動(dòng)L298N控制直流有刷電機(jī)

    【STM32】cubeMX配置HAL庫(kù)驅(qū)動(dòng)L298N控制直流有刷電機(jī)

    目錄 1.電機(jī)為什么需要驅(qū)動(dòng)板呢?為什么不能用控制器直接控制電機(jī)呢? 2.H橋電路介紹 3.L298N原理介紹 4.實(shí)物接線圖 5.CUBEMX配置 6.代碼 7. 演示視頻 L298N是常用來(lái)驅(qū)動(dòng)小型直流有刷電機(jī)(兩個(gè))和步進(jìn)電機(jī)(一個(gè))的電機(jī)驅(qū)動(dòng)板,其電路原理就是兩個(gè)H橋電路,控制原理是使用

    2024年02月16日
    瀏覽(78)
  • stm32cubemx hal學(xué)習(xí)記錄:電機(jī)控制

    stm32cubemx hal學(xué)習(xí)記錄:電機(jī)控制

    1、配置RCC、SYS,SYS的Timebase Source選擇TIM6 2、配置USART1、時(shí)鐘84MHz 3、激活FreeRTOS,選擇CMSIS_V1,Config parameters種USE_TIMERS選擇ENABLE 1、選用TIM3的編碼器模式 ?2、驅(qū)動(dòng)使用L298N,將PB6、PB7設(shè)置為輸出模式 ?3、使用TIM2的CH1輸出1kHz的PWM 1、設(shè)置兩個(gè)軟件定時(shí)器,一個(gè)用于總控制,一個(gè)

    2024年02月17日
    瀏覽(24)
  • 【STM32+CUBEMX】TMC5160電機(jī)驅(qū)動(dòng)簡(jiǎn)要配置

    【STM32+CUBEMX】TMC5160電機(jī)驅(qū)動(dòng)簡(jiǎn)要配置

    TMC5160簡(jiǎn)介 ????????????????1.1、引腳圖 ?????????1.2、關(guān)鍵引腳 ?????????????? 1.2.1 模式選擇引腳 ?????????????????1.2.2 時(shí)鐘和SPI引腳 ??????????????????1.2.3 驅(qū)動(dòng)使能引腳 ?2.SPI發(fā)送數(shù)據(jù)結(jié)構(gòu) ????????發(fā)送到 TMC5160 的每個(gè)數(shù)據(jù)報(bào)由一個(gè)地

    2024年02月06日
    瀏覽(20)
  • 野火STM32電機(jī)系列(三)Cubemx配置CAN通信

    野火STM32電機(jī)系列(三)Cubemx配置CAN通信

    CAN接口: PI9 PB9 1.配置CAN 通信參數(shù) 由于F4的 CAN外設(shè)掛載在APB1上,時(shí)鐘配置后APB1的時(shí)鐘速率為42MHz,目標(biāo)通信速率為1000KHz,由公式: BaudRate = 1/NominalBitTime NominalBitTime = 1tq + tBS1 +tBS2 設(shè)置參數(shù)如下: CAN時(shí)鐘分頻參數(shù)為7,BS1為4,BS2為1,CAN模式為Nomal模式。 生成工程 在can.c中添加

    2024年02月11日
    瀏覽(27)
  • STM32CubeMX 直流電機(jī)串級(jí)PID位置速度控制、HAL庫(kù)、cubemx、PID、串級(jí)PID、位置控制、速度控制、雙環(huán)控制

    STM32CubeMX 直流電機(jī)串級(jí)PID位置速度控制、HAL庫(kù)、cubemx、PID、串級(jí)PID、位置控制、速度控制、雙環(huán)控制

    提示:本文章的串級(jí)PID位置速度控制,是在前兩篇文章速度控制,位置控制的基礎(chǔ)上實(shí)現(xiàn)的,這一章節(jié)中不需要額外的cubemx的配置,只需要寫(xiě)簡(jiǎn)單的代碼即可,復(fù)雜的地方在于串級(jí)pid的調(diào)試過(guò)程。 pid是我們?cè)趯W(xué)習(xí)單片機(jī)中首先要學(xué)會(huì)的控制算法,而串級(jí)pid又是在單pid的基礎(chǔ)上

    2024年02月14日
    瀏覽(29)
  • 野火STM32電機(jī)系列(六)Cubemx配置ADC規(guī)則和注入通道

    野火STM32電機(jī)系列(六)Cubemx配置ADC規(guī)則和注入通道

    前文已經(jīng)配置了GPIO、編碼器 本節(jié)講解CubeMXADC規(guī)則和注入通道 本文adc注入通道采用定時(shí)器觸發(fā),因此在上文定時(shí)器配置的基礎(chǔ)上進(jìn)行 常規(guī)信號(hào)(溫度等)使用帶DMA的常規(guī)通道連續(xù)采樣 注入采樣由定時(shí)器觸發(fā),采集電機(jī)三相電流,并進(jìn)入adc中斷執(zhí)行10khz的控制程序 ADC硬件接口

    2024年02月08日
    瀏覽(37)
  • 野火STM32電機(jī)系列(五)Cubemx配置高級(jí)定時(shí)器TIM1

    野火STM32電機(jī)系列(五)Cubemx配置高級(jí)定時(shí)器TIM1

    鴿了一段時(shí)間,放心不會(huì)斷的哈,目前僅僅是顯示屏壞了,不影響后面項(xiàng)目 前文已經(jīng)配置了GPIO、編碼器 本節(jié)講解CubeMX高級(jí)定時(shí)器TIM1配置帶死區(qū)的6路互補(bǔ)的PWM 同時(shí)配置信號(hào)觸發(fā)后續(xù)ADC采集 板子引角的原理圖如下 對(duì)應(yīng)的: Motor1--U+--PA8--TIM1_CH1 Motor1--U---PB13--TIM1_CH1N Motor1--V+--

    2024年02月15日
    瀏覽(26)
  • STM32控制矩陣按鍵,HAL庫(kù),cubeMX配置

    STM32控制矩陣按鍵,HAL庫(kù),cubeMX配置

    我使用的是STM32F103RCT6這款單片機(jī),HAL庫(kù),使用cubeMX配置。 使用矩陣按鍵實(shí)現(xiàn)功能的方法為輪詢法 1.首先矩陣鍵盤(pán)原理圖如下: 2.實(shí)物圖 按照矩陣鍵盤(pán)接法,16個(gè)按鍵需要8個(gè)io口,我選擇了PC口的0~7號(hào)引腳,前四個(gè)依次接矩陣鍵盤(pán)的行,后四個(gè)依次接矩陣鍵盤(pán)的列;矩陣鍵盤(pán)的

    2023年04月17日
    瀏覽(19)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包