




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于STM32的正交編碼器接口應(yīng)用本設(shè)計(jì)應(yīng)用了S卷司的最新單片機(jī)STM32完成。STM32應(yīng)用的是ARM32位的Cortex?-M3CPU,最高72MHz工作頻率,單周期乘法和硬件除法,高速的運(yùn)行速度,可以保證編碼器高轉(zhuǎn)速條件下的高速脈沖依舊能夠被準(zhǔn)確的計(jì)數(shù)。多達(dá)7個(gè)定時(shí)器,3個(gè)16位定時(shí)器,每個(gè)定時(shí)器有多達(dá)4個(gè)用于輸入捕獲/輸出比較/PWM或脈沖計(jì)數(shù)的通道和增量編碼器輸入。因此只要對(duì)MC進(jìn)行配置之后,MC灰需要少量的中斷程序,就可以方便的完成對(duì)編碼器的方向和角速度的運(yùn)算。STM32I片機(jī)工作在3.3V下。擁有內(nèi)部8Mli振,可以通過(guò)鎖相環(huán)倍頻到48M(內(nèi)部晶振由于穩(wěn)定度不夠,只能倍頻到48M
2、)(雙I兒",叩1GOTORSTVBATVDDIVDD-2VDD:3YDDAK'13-TAIPLR-KTC,PCI4-OSC32IXVC15-OSC32(XTVSSAr|l,GNDGND采用標(biāo)準(zhǔn)的JATG接口進(jìn)行程序的燒錄和調(diào)試。Vtt,采用一塊lm1117-3.3V作為芯片的穩(wěn)壓電源。LM111冽一塊LDO(低壓差線性穩(wěn)壓器),輸入最低為3.3+0.7=4vGD用一塊LCD5110手機(jī)屏作為顯示設(shè)備,可以顯示輸出電壓以及當(dāng)前狀態(tài)。液晶屏參數(shù)為72*48,點(diǎn)陣式,使用一個(gè)驅(qū)動(dòng)庫(kù)作為支持,方便開(kāi)發(fā),工作在3.3V電壓下,與單片機(jī)相適應(yīng)。耗電極低,小于1MA,背光耗電為20MA。
3、采用USB接口與編碼器連接,線序定義為V+,A相,B相,GND,正好將USB的所有連線用完,可以同時(shí)完成給編碼器提供電力以及返回信號(hào)的功能。同時(shí)MINIUSB接口良好的物理連接特性也保證了應(yīng)用的穩(wěn)定性。kHeader5GND由于編碼器為NPN1電極輸出,所以需要在信號(hào)線上提供一定的上拉電阻。所使用的編碼器為遠(yuǎn)征牌,200線(轉(zhuǎn)一圈輸入20葉脈沖),AB兩相,最大轉(zhuǎn)速200rad/s,輸入電壓可以為5到18V(編碼器內(nèi)部帶有穩(wěn)壓芯片)。STM32F10x正交編碼器接口詳述STO32FI0R的所有通用定時(shí)器及高級(jí)定時(shí)器都集成了正交編碼器接口。定時(shí)器的兩個(gè)輸入TI1和TI2直接與增量式正交編碼器接口
4、。當(dāng)定時(shí)器設(shè)為正交編碼器模式時(shí),這兩個(gè)信號(hào)的邊沿作為計(jì)數(shù)器的時(shí)鐘。而正交編碼器的第三個(gè)輸出(機(jī)械零位),可連接外部中斷口來(lái)觸發(fā)定時(shí)器的計(jì)數(shù)器復(fù)位。2J定時(shí)器正交編碼器接口框圖圖工定時(shí)器正交編碼器接口22功能描述選擇編碼器接口模式的方法是:如果計(jì)數(shù)器只在TI2的邊沿計(jì)數(shù),則置TIM1_SMCR寄存器中的SMS=001;如果只在TI1邊沿計(jì)數(shù),則置SMS=010;如果計(jì)數(shù)器同時(shí)在TI1和TI2邊沿計(jì)數(shù),則置SMS=011。通過(guò)設(shè)置TIM1_CCER寄存器中的CC1P和CC2P位,可以選擇TI1和TI2極性;如果需要,還可以對(duì)輸入濾波器編程。兩個(gè)輸入TI1和TI2被用來(lái)作為增量編碼器的接口。參看表1
5、,假定計(jì)數(shù)器已經(jīng)啟動(dòng)(TIM1_CR1寄存器中的CEN=1),則TI1FP1或TI2FP2上的有效跳變作為計(jì)數(shù)器的時(shí)鐘信號(hào)。TI1FP1和TI2FP2是TI1和TI2在通過(guò)輸入濾波器和極性控制后的信號(hào);如果沒(méi)有濾波和變相,則TI1FP1=TI1,TI2FP2=TI2。根據(jù)兩個(gè)輸入信號(hào)的跳變順序,產(chǎn)生了計(jì)數(shù)脈沖和方向信號(hào)。依據(jù)兩個(gè)輸入信號(hào)的跳變順序,計(jì)數(shù)器向上或向下計(jì)數(shù),因此TIM1_CR1寄存器的DIR位由硬件進(jìn)行相應(yīng)的設(shè)置。不管計(jì)數(shù)器是對(duì)TI1計(jì)數(shù)、對(duì)TI2計(jì)數(shù)或者同時(shí)對(duì)TI1和TI2計(jì)數(shù)。在任一輸入(TI1或者TI2)跳變時(shí)都會(huì)重新計(jì)算DIR位。*應(yīng)用筆記STM32F10XXX正交編碼器接
6、口編碼器接口模式基本上相當(dāng)于使用了一個(gè)帶有方向選擇的外部時(shí)鐘。這意味著計(jì)數(shù)器只在0到TIM1_ARR寄存器中自動(dòng)裝載值之間連續(xù)計(jì)數(shù)(根據(jù)方向,或是0到ARR計(jì)數(shù),或是ARR到0計(jì)數(shù))。所以在開(kāi)始計(jì)數(shù)之前必須配置TIM1_ARR;同樣,捕獲器、比較器、預(yù)分頻器、周期計(jì)數(shù)器、觸發(fā)輸出特性等仍工作如常。編碼模式和外部時(shí)鐘模式2不兼容,因此不能同時(shí)操作。在這個(gè)模式下,計(jì)數(shù)器依照增量編碼器的速度和方向被自動(dòng)的修改,因此,它的內(nèi)容始終指示著編碼器的位置。計(jì)數(shù)方向與相連的傳感器旋轉(zhuǎn)的方向?qū)?yīng)。表1列出了所有可能的可能的組合,假設(shè)TI1和TI2不同時(shí)變換。表1:計(jì)數(shù)方向與編碼器信號(hào)的關(guān)系一個(gè)外部的增量編碼器直
7、接和MCU連接不需要外部接口邏輯。但是,一般使用比較器將編碼器的差動(dòng)輸出轉(zhuǎn)換到數(shù)字信號(hào),這大大增加了抗噪聲干擾能力。編碼器輸出的第三個(gè)信號(hào)表示機(jī)械零點(diǎn),可以連接到一個(gè)外部中斷輸入,觸發(fā)一個(gè)計(jì)數(shù)器復(fù)位。時(shí)鐘初始化程序初始化I/O口初始化編碼器初始化中斷控制器初始化顯示屏初始化定時(shí)器初始化計(jì)數(shù)LCD_Display();顯示各項(xiàng)數(shù)值"""丁、,While(1)口口一向下限1MU上或10或黑叫79端-一飲T1M4湍出匕正時(shí)器TIM4每0.25sV進(jìn)入一次中斷進(jìn)入Tim4_IRQ()獲得溢出次數(shù)Count1和旋轉(zhuǎn)方向Speed0進(jìn)入Tim2_IRQ()計(jì)算編碼器每秒產(chǎn)生脈
8、沖數(shù)*/編碼器庫(kù)函數(shù)/操作環(huán)境:MDK*#include"enconder.h"#include"LCD.h"/*正交編碼器接口的初始化*voidENC_Init(void)(TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;TIM_ICInitTypeDefTIM_ICInitStructure;GPIO_InitTypeDefGPIO_InitStructure;NVIC_InitTypeDefNVIC_InitStructure;RCC_APB1PeriphClockCmd(RCC_APBPeriph_ENC
9、ODER_TIMER,ENABLE);/TIM4/ENCODER_TIMER寸鐘初始化RCC_APB2PeriphClockCmd(RCC_APBPeriph_ENCODER_GPIO,ENABLE);/ENCODER_GPIO時(shí)鐘初始化GPIO_StructInit(&GPIO_InitStructure);/TI1TI2初始化GPIO_InitStructure.GPIO_Pin=ENCODER_TI1|ENCODER_TI2;PB6,PB7GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;/浮空輸出GPIO_Init(ENCOD
10、ER_GPIO,&GPIO_InitStructure);NVIC_InitStructure.NVIC_IRQChannel=TIMER_IRQChannel;/TIM4_IRQn/設(shè)置ENCODER_TIMER勺優(yōu)先級(jí)NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=TIMx_PRE_EMPTION_PRIORITY;NVIC_InitStructure.NVIC_IRQChannelSubPriority=TIMx_SUB_PRIORITY;NVIC_InitStructure.NVIC_IRQChannelCmd=ENAB
11、LE;NVIC_Init(&NVIC_InitStructure);/*TimerconfigurationinEncodermode*/設(shè)置ENCODER_TIMER?編碼器模式一TIM_DeInit(ENCODER_TIMER);/ENCODER_TIMER復(fù)位TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);TIM_TimeBaseStructure.TIM_Prescaler=0x0;/無(wú)分頻TIM_TimeBaseStructure.TIM_Period=(4*ENCODER_PPR)-1;計(jì)數(shù)器重載值4*200-1TIM_
12、TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;/向上計(jì)數(shù)模式TIM_TimeBaseInit(ENCODER_TIMER,&TIM_TimeBaseStructure);/TIM4/TIM4TIM_EncoderInterfaceConfig(ENCODER_TIMER,TIM_EncoderMode_TI12,TIM_ICPolarity_Rising,TIM_ICPolarity_Rising);編碼器接口初始化TIM
13、_ICStructInit(&TIM_ICInitStructure);TIM_ICInitStructure.TIM_ICFilter=ICx_FILTER;/6TIM_ICInit(ENCODER_TIMER,&TIM_ICInitStructure);/ClearallpendinginterruptsTIM_ClearFlag(ENCODER_TIMER,TIM_FLAG_Update);TIM_ITConfig(ENCODER_TIMER,TIM_IT_Update,ENABLE);/ResetcounterTIM2->CNT=COUNTER_RESET;/0T
14、IM_Cmd(ENCODER_TIMER,ENABLE);*/計(jì)算馬達(dá)轉(zhuǎn)子相對(duì)于初始位置的角度-180至+180/*voidENC_Get_Electrical_Angle(uint16_t*degree)int32_ttemp;int16_ttim_count;tim_count=TIM_GetCounter(ENCODER_TIMER);/獲取ENCODER_TIMERTIM4的值if(tim_count>=400)如果超過(guò)180度,角度為負(fù)數(shù)degree0='-'degree1=(800-tim_count)*180/(4*ENCODER_PPR/2);/整數(shù)部分temp=(int32_t)(800-tim_count)*(int32_t)(1000000/(4*ENCODER_PPR/2)*360-degree1*1000000;d
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年合同權(quán)益保護(hù)實(shí)施與義務(wù)履行
- 2025年中草藥養(yǎng)殖及采辦合同
- 2025年全球商品代購(gòu)合同標(biāo)準(zhǔn)
- 2025年廣西理工職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及參考答案
- 【房屋裝修合同】住宅裝飾裝修的施工合同8篇
- 2025年辦公樓建設(shè)合同協(xié)議
- 2025年活動(dòng)攝影項(xiàng)目紀(jì)實(shí)拍攝服務(wù)合同
- 2025年大連汽車(chē)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性考試題庫(kù)及參考答案1套
- 新?lián)=杩詈贤侗九c新板房屋租賃合同8篇
- 2025年個(gè)體工商戶(hù)經(jīng)營(yíng)策劃專(zhuān)項(xiàng)貸款合同
- 反興奮劑知識(shí)試題及答案
- 初中八年級(jí)上冊(cè)音樂(lè)課件4.2欣賞沃爾塔瓦河(14張)ppt課件
- 人教版五年級(jí)數(shù)學(xué)下冊(cè)每個(gè)單元教材分析(共九個(gè)單元)
- 深圳氫燃料共享單車(chē)項(xiàng)目投資計(jì)劃書(shū)【參考范文】
- 主要腸內(nèi)營(yíng)養(yǎng)制劑成分比較
- 老年人各系統(tǒng)的老化改變
- 小學(xué)生如何理解句子的含義(課堂PPT)
- 實(shí)際控制關(guān)系賬戶(hù)申報(bào)表
- 沖床架模技術(shù)與作業(yè)規(guī)范
- 小學(xué)五年級(jí)綜合實(shí)踐課教案
- 攝影報(bào)價(jià)單(共3頁(yè))
評(píng)論
0/150
提交評(píng)論