亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于定時(shí)器的步進(jìn)電機(jī)控制程序設(shè)計(jì)

        2018-12-15 01:03:58趙成龍張春雷
        精密制造與自動(dòng)化 2018年4期
        關(guān)鍵詞:脈沖數(shù)管腳寄存器

        趙成龍 張春雷 陳 龍

        (四川大學(xué) 制造科學(xué)與工程學(xué)院 成都610065)

        步進(jìn)電機(jī)常常作為自動(dòng)化設(shè)備中的重要?jiǎng)恿υ?,近年?lái)針對(duì)步進(jìn)電機(jī)的控制器產(chǎn)品也越來(lái)越多。定時(shí)器是單片機(jī)的重要功能模塊之一,在檢測(cè)、控制領(lǐng)域有廣泛應(yīng)用。定時(shí)器常用作定時(shí)時(shí)鐘,以實(shí)現(xiàn)定時(shí)檢測(cè)、定時(shí)響應(yīng)、定時(shí)控制,并且可以產(chǎn)生ms寬的脈沖信號(hào),驅(qū)動(dòng)步進(jìn)電機(jī),開發(fā)一款基于定時(shí)器的控制器產(chǎn)品意義較大。此類控制器相比傳統(tǒng)基于FPGA(Field-Programmable Gate Array,現(xiàn)場(chǎng)可編程門陣列)的步進(jìn)電機(jī)控制器,具有硬件結(jié)構(gòu)簡(jiǎn)單、成本低的巨大優(yōu)勢(shì)。

        步進(jìn)電機(jī)可以將脈沖信號(hào)轉(zhuǎn)化為角位移或者線位移[1],其轉(zhuǎn)速和位置分別由脈沖頻率和脈沖數(shù)決定。根據(jù)這個(gè)特性,該程序設(shè)計(jì)使單片機(jī)引腳輸出可控頻率的脈沖數(shù),可實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)速度和位置的精確控制。

        1 基于定時(shí)器產(chǎn)生脈沖的原理

        定時(shí)器有自下向上和自上向下兩種計(jì)數(shù)模式。在本實(shí)驗(yàn)中,定時(shí)器采用向上計(jì)數(shù)模式,從零開始加到設(shè)定值后溢出,設(shè)定值由自己設(shè)置并存放在ARR(auto reload register,自動(dòng)重裝載寄存器)中[2],設(shè)定ARR的值就可以設(shè)定輸出脈沖的頻率。定時(shí)器由零開始向上計(jì)數(shù)的過(guò)程中,會(huì)先達(dá)到比較值,這個(gè)比較值存放在CCR(capture/compare register,捕獲/比較寄存器)中,當(dāng)定時(shí)器計(jì)數(shù)值和CCR的值相等時(shí)定時(shí)器映射引腳的 IO電平反轉(zhuǎn)一次,即在本實(shí)驗(yàn)中,當(dāng)計(jì)數(shù)器的值比 CCR值小,則輸出低電平,比CCR值大,則輸出高電平,設(shè)定CCR值就可以設(shè)定脈沖的占空比。在步進(jìn)電機(jī)的控制中脈沖的占空比一般不影響步進(jìn)電機(jī)的旋轉(zhuǎn)特性,因此取占空比為50%,即CCR值為ARR值二分之一。

        當(dāng)定時(shí)器計(jì)數(shù)值小于CCR寄存器的值時(shí)IO邏輯為0,當(dāng)計(jì)數(shù)值大于CCR寄存器的值時(shí)IO邏輯為1,這樣不斷地切換IO口的輸出電平就形成了連續(xù)的方波脈沖,定時(shí)器計(jì)數(shù)值,如圖1所示。

        圖1 定時(shí)器計(jì)數(shù)值與寄存器值比較IO邏輯圖

        2 多通道脈沖輸出的實(shí)現(xiàn)

        2.1 初始化設(shè)計(jì)

        以高性能Cortex-M4為內(nèi)核的STM32F4系列微控制器具有多個(gè)定時(shí)器,在本實(shí)驗(yàn)中,要使STM32F405芯片同時(shí)輸出三路脈沖信號(hào),參數(shù)初始化實(shí)現(xiàn)步驟:第一步先配置三個(gè)定時(shí)器的相關(guān)參數(shù),分別是TIM2的通道2,TIM3的通道4,TIM4的通道 4;第二步將各定時(shí)器脈沖通道在芯片上映射的管腳進(jìn)行初始化,通過(guò)查 STM32的技術(shù)手冊(cè)可知TIM2的通道2映射的管腳為PA1,TIM3的通道4映射的管腳是PB1,TIM4的通道4映射的管腳是PB9,分別對(duì)這三個(gè)管腳的時(shí)鐘使能,并設(shè)置管腳模式的為復(fù)用推挽輸出,頻率為50MHz;第三步初始化用于控制步進(jìn)電機(jī)旋轉(zhuǎn)方向的管腳。

        2.2 脈沖輸出算法設(shè)計(jì)

        算法實(shí)現(xiàn)的步驟為:第一步判斷軸號(hào) tAxis,并跳轉(zhuǎn)到對(duì)應(yīng)軸號(hào)的case中執(zhí)行程序;第二步判斷插補(bǔ)周期內(nèi)的脈沖數(shù)pulnum是否為正值,如果pulnum為正,方向管腳置1控制電機(jī)正轉(zhuǎn),否則方向管腳置0,pulnum取相反數(shù),控制電機(jī)反轉(zhuǎn);第三步更新CRR和ARR值;第四步在中斷函數(shù)中記錄脈沖個(gè)數(shù);第五步判斷下一插補(bǔ)周期脈沖數(shù)是否為 0,如果是結(jié)束程序,否則繼續(xù)循環(huán)。具體實(shí)現(xiàn)的流程如圖2所示。

        圖2 輸出脈沖流程圖

        3 步進(jìn)電機(jī)位置控制的實(shí)現(xiàn)

        步進(jìn)電機(jī)位置取決于兩個(gè)因素:初始相位和步距。初始相位與機(jī)械原點(diǎn)有關(guān),在工程應(yīng)用中常??梢杂蓚鞲衅?,限位開關(guān)等實(shí)時(shí)監(jiān)測(cè)反饋給控制器,電機(jī)轉(zhuǎn)動(dòng)步距則由步進(jìn)電機(jī)驅(qū)動(dòng)器接收到的脈沖數(shù)目決定。因此整體的設(shè)計(jì)思路是通過(guò)發(fā)準(zhǔn)確數(shù)目的脈沖來(lái)控制步進(jìn)電機(jī)的準(zhǔn)確位置,在程序設(shè)計(jì)時(shí)還需要考慮步進(jìn)電機(jī)驅(qū)動(dòng)器的細(xì)分技術(shù)[3]。例如,驅(qū)動(dòng)器的細(xì)分設(shè)為 10000,為了保證軟件上的每發(fā)一個(gè)脈沖與執(zhí)行部件運(yùn)動(dòng)的距離對(duì)應(yīng)正確,需要在程序中設(shè)定每發(fā)出10000個(gè)脈沖步進(jìn)電機(jī)轉(zhuǎn)動(dòng)一圈[4]。

        在本實(shí)驗(yàn)中,定時(shí)器Counter從零開始計(jì)數(shù)達(dá)到 CCR值后會(huì)觸發(fā)一次中斷,程序會(huì)立即跳轉(zhuǎn)到中端函數(shù) TIMx_IRQHandler()中執(zhí)行相應(yīng)動(dòng)作。利用這個(gè)特點(diǎn)在定時(shí)器中斷里進(jìn)行脈沖個(gè)數(shù)的記錄是一種可靠的方法,即每發(fā)一個(gè)脈沖進(jìn)入中斷一次,記錄脈沖數(shù)目的全局變量AbsPos[i]自增1,精確記錄脈沖個(gè)數(shù)的核心代碼如圖3所示。

        圖3 精確記錄脈沖個(gè)數(shù)的核心代碼

        4 步進(jìn)電機(jī)速度控制的實(shí)現(xiàn)

        步進(jìn)電機(jī)的轉(zhuǎn)速和步進(jìn)電機(jī)驅(qū)動(dòng)器接收的脈沖頻率成正比,如果控制器發(fā)出的脈沖頻率越高則步進(jìn)電機(jī)的轉(zhuǎn)速越快。利用這個(gè)特點(diǎn)通過(guò)設(shè)定發(fā)出脈沖的頻率控制步進(jìn)電機(jī)的轉(zhuǎn)速是一種行之有效的方法。本實(shí)驗(yàn)中,在插補(bǔ)周期固定的情況下設(shè)定傳入pulnum值即可設(shè)定脈沖頻率。即在一個(gè)插補(bǔ)周期里如果傳入 pulnum的值大,那么輸出的脈沖頻率就高。反之 pulnum的值小,那么輸出的脈沖頻率就低。換言之計(jì)算對(duì)應(yīng)轉(zhuǎn)速下每個(gè)插補(bǔ)周期的pulnum值即可實(shí)現(xiàn)步進(jìn)電機(jī)速度的控制[4]。

        T型加減速的速度,加速度,位移和時(shí)間關(guān)系可由式表示:

        T型加減速的算法計(jì)算出每個(gè)插補(bǔ)周期pulnum值的具體步驟為:第一步初始化起始速度Vstar,終止速度Vend,最大速度Vmax,加速度a和運(yùn)動(dòng)距離Distance。 第二步判斷減速距離。計(jì)算減速距離Ld,如果剩余距離Lr≤減速距離Ld,則進(jìn)行減速,本插補(bǔ)周期的速度Vcurrent等于上一插補(bǔ)周期的末速度Vlast?aT ,a為加速度,T為插補(bǔ)周期,本實(shí)驗(yàn)中插補(bǔ)周期為0.001s。如果剩余距離Lr>減速距離Ld,則按照是否到達(dá)最大速度Vmax,分別進(jìn)行勻速或者勻加速,Vcurrent=Vlast或者Vcurrent=Vlast +aT。第三步完成減速后,如果當(dāng)前的速度Vcurrent

        圖4 T型加減速流程圖

        用邏輯分析儀采樣實(shí)驗(yàn)平臺(tái)輸出的脈沖如圖 5、圖6所示。從圖5所示的實(shí)驗(yàn)結(jié)果可以看出,輸出脈沖的頻率逐漸增大,加速過(guò)程明顯,實(shí)現(xiàn)了步進(jìn)電機(jī)由勻加速到勻速的控制。從圖6所示的實(shí)驗(yàn)結(jié)果可以看出,輸出脈沖的頻率逐漸減小,減速過(guò)程明顯,實(shí)現(xiàn)了步進(jìn)電機(jī)勻減速的控制。

        圖5 加速過(guò)程脈沖輸出

        圖6 減速過(guò)程脈沖輸出

        5 實(shí)驗(yàn)難點(diǎn)分析

        實(shí)驗(yàn)中用到的定時(shí)器分為兩種,用于定時(shí) 1ms的定時(shí)器和產(chǎn)生脈沖的定時(shí)器。通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),如果將定時(shí)1ms的定時(shí)器中斷優(yōu)先級(jí)設(shè)置為0級(jí),用于發(fā)脈沖的定時(shí)器中斷優(yōu)先級(jí)設(shè)置為1級(jí),即用于定時(shí)1ms的定時(shí)器中斷優(yōu)先級(jí)高于用于產(chǎn)生脈沖定時(shí)器中斷優(yōu)先級(jí),則會(huì)出現(xiàn)輸出脈沖間斷且丟脈沖的現(xiàn)象,步進(jìn)電機(jī)運(yùn)行不平穩(wěn)產(chǎn)生抖動(dòng)且定位不準(zhǔn)。造成這種現(xiàn)象的原因是當(dāng)定時(shí)1ms事件刷新時(shí)會(huì)優(yōu)先進(jìn)入中斷,給 CCR值更新,而此時(shí)上一插補(bǔ)周期產(chǎn)生的脈沖還沒有完成,因此會(huì)出現(xiàn)脈沖漏發(fā)少發(fā)現(xiàn)象。解決這一問(wèn)題的方法是將用于產(chǎn)生脈沖的定時(shí)器中斷優(yōu)先級(jí)設(shè)置為最高級(jí)0級(jí),而用于定時(shí)1ms的定時(shí)器中斷的優(yōu)先級(jí)則設(shè)置為較低的1級(jí)。這樣就算定時(shí)1ms定時(shí)器產(chǎn)生刷新事件也不會(huì)先進(jìn)入中斷,而是等待脈沖產(chǎn)生完成后才進(jìn)入中斷給CCR值更新,從而保證了脈沖的連續(xù)性和脈沖數(shù)的準(zhǔn)確性。

        6 結(jié)語(yǔ)

        上述基于定時(shí)器的步進(jìn)電機(jī)控制的程序設(shè)計(jì),已經(jīng)運(yùn)用在了針對(duì)直角坐標(biāo)機(jī)器人開發(fā)的運(yùn)動(dòng)控制器中,實(shí)現(xiàn)了對(duì)多軸直角坐標(biāo)機(jī)器人的控制[6-7]。該控制器的硬件部分結(jié)構(gòu)簡(jiǎn)單,成本低,軟件部分可以對(duì)步進(jìn)電機(jī)實(shí)現(xiàn)精確的位置和速度控制,應(yīng)用行業(yè)領(lǐng)域廣泛,在實(shí)際的工程項(xiàng)目中已經(jīng)得到了檢驗(yàn)。

        猜你喜歡
        脈沖數(shù)管腳寄存器
        某型組合導(dǎo)航系統(tǒng)故障分析及預(yù)防
        高精度電子體溫計(jì)設(shè)計(jì)與實(shí)現(xiàn)
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        檢定電能表的圈數(shù)設(shè)定問(wèn)題探討
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        基于圖像處理的異型電子元器件管腳偏移誤差檢測(cè)方法研究
        CMOS數(shù)字IC管腳電容的估算與測(cè)量
        HC08芯片JVT測(cè)試方法的探究
        增量型編碼器使用功能擴(kuò)展
        高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
        亚洲24小时在线免费视频网站| 亚洲人成人网站在线观看| 国产96在线 | 欧美| 国产在线视欧美亚综合| av免费网站不卡观看| 久草青青91在线播放| 中文字幕亚洲乱码熟女在线 | 亚洲AV无码资源在线观看| 久草视频在线视频手机在线观看| 国产内射视频在线免费观看| 无遮挡h肉动漫在线观看| 亚洲人成网站在线播放观看| 国产91熟女高潮一曲区| 国产av综合网站不卡| 人妻av鲁丝一区二区三区| 亚洲毛片在线播放| 亚洲一区二区三区新视频| 又硬又粗进去好爽免费| 午夜成人精品福利网站在线观看 | 免费观看成人稀缺视频在线播放| 喷水白浆视频在线观看| 亚洲日韩一区精品射精| 亚洲无码一二专区| 国产自拍伦理在线观看| 狠狠躁日日躁夜夜躁2022麻豆| 熟妇的荡欲色综合亚洲| 久久精品亚洲精品毛片| 国产亚洲精品一区二区在线观看| 成在线人av免费无码高潮喷水| 精品久久久久久国产| 日本黄色一区二区三区视频| 日本av在线一区二区| 日本爽快片18禁免费看| 国产精品欧美韩国日本久久| 日本本土精品午夜视频| 丰满岳乱妇一区二区三区| 99ri国产在线观看| 中文字幕专区一区二区| 在线亚洲高清揄拍自拍一品区| 亚洲爆乳无码专区| 富婆叫鸭一区二区三区|