基于戰(zhàn)艦STM32開發(fā)簡易直流電機(jī)速度環(huán)PID閉環(huán)控制
基于STM32開發(fā)簡易運(yùn)動(dòng)控制卡 開發(fā)者:JasonLin STM32定時(shí)器功能介紹
定時(shí)器 | 計(jì)數(shù)分辨率 | 計(jì)數(shù)類型 | 預(yù)分頻系數(shù) | DMA請(qǐng)求 | 捕獲/比較通道 | 編碼器 接口 | PWM 生成 | TIM1 | 16位 | up/down /both | 1-65536 | yes | 4 | yes | yes | TIM8 | 16位 | up/down /both | 1-65536 | yes | 4 | yes | yes | TIM2 | 16位 | up/down /both | 1-65536 | yes | 4 | yes | yes | TIM3 | 16位 | up/down/ both | 1-65536 | yes | 4 | yes | yes | TIM4 | 16位 | up/down /both | 1-65536 | yes | 4 | yes | yes | TIM5 | 16位 | up/down /both | 1-65536 | yes | 4 | yes | yes | TIM6 | 16位 | up | 1-65536 | yes | 0 | no | no | TIM7 | 16位 | up | 1-65536 | yes | 0 | no | no | TIM1和TIM8為高級(jí)定時(shí)器
TIM6和TIM7為基本定時(shí)器
TIM2、TIM3、TIM4和TIM5為通用定時(shí)器
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
STM32定時(shí)器的通道/引腳分配
定時(shí)器 | TIM1 | TIM2 | TIM3 | TIM4 | TIM5 | TIM8 | CH1引腳 | PA8 | PA0 | PA6 | PB6 | PA0 | PC6 | CH2引腳 | PA9 | PA1 | PA7 | PB7 | PA1 | PC7 | CH3引腳 | PA10 | PA2 | PB0 | PB8 | PA2 | PC8 | CH4引腳 | PA11 | PA3 | PB1 | PB9 | PA3 | PC9 | /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
STM32定時(shí)器的通道/引腳重映射
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
TIM1和TIM8定時(shí)器的功能包括:
● 16位向上、向下、向上/下自動(dòng)裝載計(jì)數(shù)器
● 16位可編程(可以實(shí)時(shí)修改)預(yù)分頻器,計(jì)數(shù)器時(shí)鐘頻率的分頻系數(shù)為1~65535之間的任意數(shù)值
● 4個(gè)獨(dú)立通道: ─輸入捕獲 ─ 輸出比較 ─ PWM生成(邊緣或中間對(duì)齊模式) ─ 單脈沖模式輸出
● 死區(qū)時(shí)間可編程的互補(bǔ)輸出
● 使用外部信號(hào)控制定時(shí)器和定時(shí)器互聯(lián)的同步電路
● 允許在指定數(shù)目的計(jì)數(shù)器周期之后更新定時(shí)器寄存器的重復(fù)計(jì)數(shù)器
● 剎車輸入信號(hào)可以將定時(shí)器輸出信號(hào)置于復(fù)位狀態(tài)或者一個(gè)已知狀態(tài)
● 如下事件發(fā)生時(shí)產(chǎn)生中斷/DMA: ─更新:計(jì)數(shù)器向上溢出/向下溢出,計(jì)數(shù)器初始化(通過軟件或者內(nèi)部/外部觸發(fā)) ─ 觸發(fā)事件(計(jì)數(shù)器啟動(dòng)、停止、初始化或者由內(nèi)部/外部觸發(fā)計(jì)數(shù)) ─ 輸入捕獲 ─ 輸出比較 ─ 剎車信號(hào)輸入
● 支持針對(duì)定位的增量(正交)編碼器和霍爾傳感器電路
● 觸發(fā)輸入作為外部時(shí)鐘或者按周期的電流管理
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// TIM2、TIM3、TIM4和TIM5定時(shí)器功能包括:
● 16位向上、向下、向上/向下自動(dòng)裝載計(jì)數(shù)器 ● 16位可編程(可以實(shí)時(shí)修改)預(yù)分頻器,計(jì)數(shù)器時(shí)鐘頻率的分頻系數(shù)為1~65536之間的任意數(shù)值 ● 4個(gè)獨(dú)立通道: ─ 輸入捕獲 ─ 輸出比較 ─ PWM生成(邊緣或中間對(duì)齊模式)─ 單脈沖模式輸出 ● 使用外部信號(hào)控制定時(shí)器和定時(shí)器互連的同步電路 ● 如下事件發(fā)生時(shí)產(chǎn)生中斷/DMA: ─ 更新:計(jì)數(shù)器向上溢出/向下溢出,計(jì)數(shù)器初始化(通過軟件或者內(nèi)部/外部觸發(fā)) ─ 觸發(fā)事件(計(jì)數(shù)器啟動(dòng)、停止、初始化或者由內(nèi)部/外部觸發(fā)計(jì)數(shù)) ─ 輸入捕獲 ─ 輸出比較 ● 支持針對(duì)定位的增量(正交)編碼器和霍爾傳感器電路 ● 觸發(fā)輸入作為外部時(shí)鐘或者按周期的電流管理 為1~65536之間的任意數(shù)值
● 使用外部信號(hào)控制定時(shí)器和定時(shí)器互連的同步電路
● 觸發(fā)輸入作為外部時(shí)鐘或者按周期的電流管理 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// TIM6和TIM7定時(shí)器的主要功能包括:
● 16位自動(dòng)重裝載累加計(jì)數(shù)器
● 16位可編程(可實(shí)時(shí)修改)預(yù)分頻器,用于對(duì)輸入的時(shí)鐘按系數(shù)為1~65536之間的任意數(shù)值分頻
● 觸發(fā)DAC的同步電路 注:此項(xiàng)是TIM6/7獨(dú)有功能
● 在更新事件(計(jì)數(shù)器溢出)時(shí)產(chǎn)生中斷/DMA請(qǐng)求 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 開發(fā)目標(biāo)1:TIM1的4個(gè)通道生成PWM,CH1—PWM1 CH2—PWM2 CH3—PWM3 CH4—PWM4 TIM8的4個(gè)通道生成PWM,CH1—PWM5 CH2—PWM6 CH3—PWM7 CH4—PWM8 注:PWM1—PWM2 為一組,控制直流減速電機(jī)1 PWM3—PWM4 為一組,控制直流減速電機(jī)2 PWM5—PWM6 為一組,控制直流減速電機(jī)3 PWM7—PWM8 為一組,控制直流減速電機(jī)4 (PWM1、PWM3、PWM5、PWM7作為電機(jī)正向脈沖輸出,占空比為萬分比) (PWM2、PWM4、PWM6、PWM8作為電機(jī)反向脈沖輸出,占空比為萬分比) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 開發(fā)目標(biāo)2:TIM7作為定時(shí)器中斷,產(chǎn)生固定的時(shí)間間隔,便于計(jì)算電機(jī)及落地碼盤的速度(單位時(shí)間間隔脈沖增量) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 開發(fā)目標(biāo)3:TIM2、TIM3、TIM4、TIM5作為編碼器接口,讀取編碼器的旋轉(zhuǎn)產(chǎn)生的脈沖數(shù) TIM2的CH1作為編碼器1的A相的輸入,CH2作為編碼器1的B相的輸入 TIM3的CH1作為編碼器2的A相的輸入,CH2作為編碼器2的B相的輸入 TIM4的CH1作為編碼器3的A相的輸入,CH2作為編碼器3的B相的輸入 TIM5的CH1作為編碼器4的A相的輸入,CH2作為編碼器4的B相的輸入 (由于TIM2和TIM5的CH1和CH2共用引腳PA0和PA1,所以需要把TIM2 的CH1和CH2重映射到引腳PA15和PB3) (PA15和PB3是JTAG接口中的兩只引腳 ,重映射前先把JTAG口關(guān)閉 GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE)//關(guān)閉JTAG GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, DISABLE)//打開JTAG GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable ,ENABLE);//關(guān)閉JTAG 同時(shí)打開SWD) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 開發(fā)目標(biāo)4:用2.3寸TFT液晶顯示屏顯示電機(jī)或碼盤的速度(單位時(shí)間間隔的脈沖增量)和碼盤脈沖總數(shù) 未完待續(xù)、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
|