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

        ?

        采用STM32控制L6470步進(jìn)電機(jī)驅(qū)動(dòng)器

        2012-07-12 05:07:06國(guó)營(yíng)七八五廠第三研究所韓力立
        電子世界 2012年18期
        關(guān)鍵詞:內(nèi)核寄存器命令

        國(guó)營(yíng)七八五廠第三研究所 王 凱 韓力立

        采用STM32控制L6470步進(jìn)電機(jī)驅(qū)動(dòng)器

        國(guó)營(yíng)七八五廠第三研究所 王 凱 韓力立

        常用的步進(jìn)電機(jī)控制器,根據(jù)不同的運(yùn)動(dòng)方式需要由單片機(jī)發(fā)出不同頻率的和數(shù)目的脈沖信號(hào)到專用控制芯片,而ST公司的數(shù)字控制電機(jī)驅(qū)動(dòng)芯片L6470內(nèi)部數(shù)字控制系統(tǒng)可實(shí)現(xiàn)完備的運(yùn)動(dòng)曲線控制方案,只需要使用單片機(jī)發(fā)出命令告訴它要怎樣運(yùn)動(dòng)即可,簡(jiǎn)化了電路和程序。

        數(shù)字控制內(nèi)核;微步;STM32;SPI接口

        步進(jìn)電機(jī)是將電脈沖信號(hào)變?yōu)殡姍C(jī)角位移的或機(jī)電執(zhí)行元件,步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖,電機(jī)旋轉(zhuǎn)一個(gè)固定的角度,非常適合單片機(jī)控制,因此可以用單片機(jī)控制脈沖的數(shù)量來(lái)控制電機(jī)的旋轉(zhuǎn)角度,控制脈沖的頻率來(lái)控制電機(jī)的旋轉(zhuǎn)速度,而改變電機(jī)電流的方向可以改變電機(jī)的旋轉(zhuǎn)方向。

        ST公司的L6470省去了單片機(jī)的這些工作,單片機(jī)只要通過(guò)命令告訴L6470以什么樣的速度運(yùn)行到什么位置停止,電機(jī)就會(huì)在L6470數(shù)字內(nèi)核的控制下按指定方式運(yùn)行,這些只要發(fā)送一個(gè)函數(shù)命令即可,剩下的就交給L6470去完成。

        1.系統(tǒng)原理框圖

        如圖1所示,整個(gè)系統(tǒng)由4部分組成,電源、單片機(jī)(MCU)、L6470、電機(jī),其中電源的24V給L6470的功率驅(qū)動(dòng)電路供電,24V經(jīng)過(guò)DC-DC模塊轉(zhuǎn)換為3.3V分別給單片機(jī)和L6470的數(shù)字控制部分供電。單片機(jī)通過(guò)SPI接口控制L6470,而L6470把各種狀態(tài)位反饋回單片機(jī)。上位機(jī)可以通過(guò)串口命令控制電機(jī)。

        2.驅(qū)動(dòng)芯片L6470簡(jiǎn)介

        L6470是ST公司生產(chǎn)的新一代兩相步進(jìn)電機(jī)驅(qū)動(dòng)芯片,可以在8~45V的寬電壓下工作,峰值電流7A(平均電流最大3A)。內(nèi)部集成兩個(gè)低導(dǎo)通電阻的DMOS全橋電路和數(shù)字控制內(nèi)核,可以高效地驅(qū)動(dòng)步進(jìn)電機(jī),精確的片上電流檢測(cè)電路有完備的電流控制能力和過(guò)電流保護(hù)。獨(dú)特的控制系統(tǒng)可以把單步細(xì)分為最多128微步,使運(yùn)動(dòng)效果更平滑穩(wěn)定。數(shù)字控制內(nèi)核通過(guò)配置制定寄存器能夠按照用戶定義設(shè)置加速、減速、勻速和運(yùn)動(dòng)到目標(biāo)位置等運(yùn)動(dòng)方案。具有完備的過(guò)熱、欠壓、過(guò)流、當(dāng)機(jī)、反電動(dòng)勢(shì)補(bǔ)償?shù)缺Wo(hù)方案。所有的命令和數(shù)據(jù)寄存器都由一個(gè)標(biāo)準(zhǔn)的SPI接口訪問(wèn)和控制。

        2.1 運(yùn)動(dòng)控制命令

        單片機(jī)通過(guò)SPI接口可以向L6470發(fā)送以下4種不同的運(yùn)動(dòng)控制命令。

        恒速命令:讓電機(jī)以設(shè)定的加減速度旋轉(zhuǎn)到恒定的速度。

        絕對(duì)位置命令:設(shè)定電機(jī)以指定路徑或最小路徑旋轉(zhuǎn)到指定位置,然后停止。

        運(yùn)動(dòng)命令:讓電機(jī)按指定的方向運(yùn)動(dòng)指定步進(jìn)數(shù)目

        停止命令:使電機(jī)停轉(zhuǎn)。

        以上4種命令配合加減速控制,可以實(shí)現(xiàn)復(fù)雜的運(yùn)動(dòng)控制方案,不再需要單片機(jī)來(lái)計(jì)算脈沖頻率、脈沖數(shù)目,脈沖時(shí)序等參數(shù)。

        2.2 內(nèi)部寄存器說(shuō)明

        L6470內(nèi)部一共有25個(gè)可用寄存器,每個(gè)寄存器對(duì)應(yīng)某種控制功能或狀態(tài)位,單片機(jī)通過(guò)SPI接口訪問(wèn)或改寫(xiě)這些寄存器地址里面的內(nèi)容。

        有的是用于控制的,主要有:絕對(duì)位置、電氣位置、運(yùn)行速度、最大/最小速度、加/減速度、步進(jìn)單位、過(guò)電流門(mén)檻、保持/運(yùn)行/加速/減速PWM功率周期、振蕩器頻率、PWM頻率。

        有的是用于狀態(tài)檢測(cè)的,比如過(guò)流、過(guò)壓、欠壓、過(guò)熱、失步等警告。

        這些參數(shù)的設(shè)置需要參考《L6470數(shù)據(jù)手冊(cè)》和所用步進(jìn)電機(jī)的參數(shù)值,比如步進(jìn)電機(jī)的轉(zhuǎn)速、扭矩、相位電阻、力矩-頻率特性曲線等。

        2.3 相位電流控制

        通常情況下,步進(jìn)電機(jī)驅(qū)動(dòng)電路是電流式控制設(shè)計(jì),電流控制器監(jiān)測(cè)并控制繞組電流強(qiáng)度,因?yàn)殡娫措妷鹤兓?、停轉(zhuǎn)等會(huì)導(dǎo)致電流有很大變化,而且,隨著轉(zhuǎn)速提高或減小,電機(jī)的反電動(dòng)勢(shì)(BEMF)的變化也會(huì)導(dǎo)致繞組電流的變化。L6470可以通過(guò)在電機(jī)繞組上施加電壓來(lái)控制相電流。雖然不能直接控制相電流的幅度,但是,相電流與相電壓的大小、負(fù)載、轉(zhuǎn)矩、電機(jī)電學(xué)特性和轉(zhuǎn)速密切相關(guān)。有效輸出電壓與電機(jī)電源電壓和補(bǔ)償系數(shù)Kval的積成正比。

        圖1 系統(tǒng)原理框圖

        圖2 補(bǔ)償因子計(jì)算

        圖3 軟件流程

        KVAL=((KVAL_X+BEMF_COMP)×VSCOMP×K_THERM)×microstep

        其中KVAL_X是當(dāng)前Kval值,BEMF_COMP是反電動(dòng)勢(shì)補(bǔ)償因子,VSCOMP是輸入電壓,K_THERM是線圈電阻補(bǔ)償因子,microstep是當(dāng)前設(shè)置的微步數(shù)。

        當(dāng)然可以利用ST公司提供的dSPIN evaluation tool可以方便地求出Kval值,只要你把電機(jī)的各個(gè)參數(shù)代入數(shù)據(jù)框,點(diǎn)擊一下evaluate按鍵就可以求出L6470的各個(gè)補(bǔ)償因子和對(duì)應(yīng)寄存器值。

        3.MCU介紹

        本設(shè)計(jì)所用的MCU為STM32F103C6T6,是ST公司最新的基于ARMv7內(nèi)核的32位處理芯片,ARMv7內(nèi)核有A,R,M這3個(gè)系列,R系列為軍工產(chǎn)品,M為中低端的民用消費(fèi)產(chǎn)品,STM32F103C6T6屬于cortex-M3系列。

        STM32F103C6T6性能:

        這款STM32F103C6T6是TQFP-48封裝,具有32K FLASH ROM,10K SRAM,3個(gè)16位定時(shí)器,USART、I2C、I2S、SPI、USB、CAN等接口一應(yīng)俱全,所有的IO口都可以作中斷使用,內(nèi)核頻率高達(dá)72MHz,比同價(jià)格甚至更貴的51芯片1~2M的內(nèi)核頻率高出幾十倍。

        4.軟件設(shè)計(jì)

        STM32采用KEIL MDK編程環(huán)境進(jìn)行軟件設(shè)計(jì),如果原先掌握了51芯片的編程,STM32很容易上手,而且ST公司為開(kāi)發(fā)者提供了豐富的固件庫(kù),所有的功能開(kāi)發(fā)者不再需要接觸底層的寄存器,直接調(diào)用高級(jí)函數(shù)就可以了,節(jié)省了開(kāi)發(fā)時(shí)間,保證了設(shè)計(jì)質(zhì)量。

        4.1 SPI固件庫(kù)

        L6470通過(guò)SPI接口和STM32F103C6T6通訊,SPI是Motorola公司推出的三線同步接口,同步串行3線方式進(jìn)行通信:一條時(shí)鐘線SCK,一條數(shù)據(jù)輸入線MOSI,一條數(shù)據(jù)輸出線MISO,用于CPU與各種外圍器件進(jìn)行全雙工、同步串行通訊。

        STM32F103C6T6芯片擁有完備的SPI固件庫(kù),使用固件庫(kù)要經(jīng)過(guò)以下幾步設(shè)置:

        ● 使能SPI接口要用到的IO口控制時(shí)鐘和SPI模塊控制時(shí)鐘;

        ● 配置IO口輸入輸出工作方式,這里設(shè)置為復(fù)用推挽模式;

        ● 配置SPI工作模式;

        ● 使能SPI模塊。

        經(jīng)過(guò)配置以后就可以使用SPI庫(kù)函數(shù)控制L6470,下面是典型的L6470控制函數(shù)。

        ● void dSPIN_Peripherals_Init(void)

        ——初始化單片機(jī)和L6470連接的用于SPI通訊的4個(gè)GPIO端口的工作模式,初始化單片機(jī)內(nèi)部SPI模塊的工作模式。

        ● void dSPIN_Regs_Struct_Reset(dSPIN_RegsStruct_TypeDef* dSPIN_RegsStruct)

        ——按照L6470寄存器表的默認(rèn)值初始化L6470相應(yīng)寄存器的參數(shù)值,這些參數(shù)值合并為一個(gè)寄存器結(jié)構(gòu)體的數(shù)據(jù)類型,用指向結(jié)構(gòu)體的指針訪問(wèn)它們。

        ● void dSPIN_Struct_Value(void)

        ——按用戶定義設(shè)置寄存器的各個(gè)參數(shù)。

        ● void dSPIN_Set_Param(dSPIN_Registers_TypeDef param,uint32_t value)

        ——把參數(shù)寫(xiě)入其對(duì)應(yīng)寄存器地址,具體對(duì)應(yīng)寄存器要寫(xiě)什么參數(shù)值要結(jié)合《L6470數(shù)據(jù)手冊(cè)》和所用的步進(jìn)電機(jī)的參數(shù)值。

        ● uint32_t dSPIN_Get_Param(dSPIN_Registers_TypeDef param)

        ——讀取對(duì)應(yīng)寄存器地址內(nèi)的參數(shù)。

        ● void dSPIN_Run(dSPIN_Direction_TypeDef direction,uint32_t speed)

        ——向L6470發(fā)送RUN指令,參數(shù)為方向和速度值

        ● void dSPIN_Move(dSPIN_Direction_TypeDef direction,uint32_t n_step)

        ——向L6470發(fā)送MOVE指令,參數(shù)為方向和步進(jìn)數(shù)目

        ● void dSPIN_Go_To(uint32_t abs_pos)

        ——向L6470發(fā)送GO_TO指令,參數(shù)為運(yùn)動(dòng)到的絕對(duì)位置

        ● void dSPIN_Soft_Stop(void),void dSPIN_Hard_Stop(void),void dSPIN_Soft_HiZ(void),void dSPIN_Hard_HiZ(void)

        ——發(fā)送停止指令,有軟停止,即減速到0,硬停止,即緊急制動(dòng),軟高阻,即減速到0再關(guān)閉MOS橋,硬高阻,即緊急制動(dòng)并關(guān)閉MOS橋。

        ● uint16_t dSPIN_Get_Status(void)

        ——讀取狀態(tài)寄存器狀態(tài)標(biāo)志

        4.2 整體軟件流程

        單片機(jī)初始化完成后,開(kāi)始對(duì)L6470進(jìn)行電機(jī)初始工作參數(shù)設(shè)置,然后就可以發(fā)命令讓電機(jī)執(zhí)行相應(yīng)的動(dòng)作,同時(shí)還可以隨時(shí)接收串口的命令改變電機(jī)狀態(tài)。

        下面的程序是一個(gè)電機(jī)運(yùn)行的例子:

        5.結(jié)論

        本系統(tǒng)主要以高性能的STM32F103C6T6為控制芯片,L6470驅(qū)動(dòng)芯片實(shí)現(xiàn)電機(jī)控制,降低了設(shè)計(jì)難度,節(jié)省了設(shè)計(jì)成本,減小了驅(qū)動(dòng)器的體積,采用微步功能提高了步進(jìn)電機(jī)的運(yùn)行穩(wěn)定性,具有控制簡(jiǎn)單、操作靈活的特點(diǎn),L6470自有的各種電機(jī)檢測(cè)和保護(hù)功能提高了控制系統(tǒng)和電機(jī)的安全性和壽命,可以廣泛用在打印機(jī)、傳真機(jī)、機(jī)器人等精密控制領(lǐng)域。

        [1]劉軍.例說(shuō)STM32[M].北京航空航天大學(xué)出版社,2011,4.

        [2]SPI Block Guide[EB/OL].Motorola Ltd.[2003.5].http://www.motorola.com.

        [3]Jose Yiu,宋巖(譯).Cortex-M3權(quán)威指南[M].北京航空航天大學(xué)出版社,2009,2.

        [4]王永虹.STM32系列ARM Cortex-M3微控制器原理與實(shí)踐[M].北京航空航天大學(xué)出版社,2008,3.

        [5]L6470 datasheet[EB/OL].ST Ltd.[2011.5].http://www.st.com/dspin.

        [6]ST:STM32中文參考手冊(cè).第10版.[EB/OL].STLtd.[2011.5].http://www.st.com.

        王凱(1977—),男,四川成都人,學(xué)士,國(guó)營(yíng)七八五廠第三研究所工程師。

        猜你喜歡
        內(nèi)核寄存器命令
        萬(wàn)物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
        只聽(tīng)主人的命令
        強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
        Linux內(nèi)核mmap保護(hù)機(jī)制研究
        移防命令下達(dá)后
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        這是人民的命令
        藍(lán)色命令
        色小姐在线视频中文字幕| 富婆如狼似虎找黑人老外| 国产人成亚洲第一网站在线播放| 中文字幕亚洲精品高清| 白白发在线视频免费观看2| 国产免费av片无码永久免费| 麻豆国产高清精品国在线| 日本黄色一区二区三区视频 | 狠狠做深爱婷婷久久综合一区| 精品五月天| 色婷婷av一区二区三区不卡| 日本av在线一区二区| 久久久久久国产精品免费免费男同| 伊人22综合| 色视频日本一区二区三区| 人妻少妇中文字幕在线观看| 久久www色情成人免费观看| 无遮挡十八禁在线视频国产制服网站| 三级黄片一区二区三区| 亚洲av福利天堂一区二区三 | 精品久久有码中文字幕| 亚洲av日韩综合一区在线观看| 国产在线无码免费视频2021| 亚洲av成人无网码天堂| 国产精品国产三级国产av剧情| 最近中文字幕mv在线资源| 久久精品国产精品亚洲婷婷| 国产性感午夜天堂av| 久久久国产打桩机| 精品国产福利在线观看网址2022| 亚洲色图少妇熟女偷拍自拍| av无码精品一区二区三区| 97午夜理论片在线影院| 丝袜人妻无码中文字幕综合网 | 国产强伦姧在线观看| 亚洲色图专区在线视频| 久久久精品人妻无码专区不卡 | 久草视频在线手机免费看 | 成熟了的熟妇毛茸茸 | 日本一区二区三区激视频| 人妻精品久久久久中文字幕|