999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

采用STM32控制L6470步進電機驅動器

2012-07-12 05:07:06國營七八五廠第三研究所韓力立
電子世界 2012年18期
關鍵詞:單片機

國營七八五廠第三研究所 王 凱 韓力立

采用STM32控制L6470步進電機驅動器

國營七八五廠第三研究所 王 凱 韓力立

常用的步進電機控制器,根據不同的運動方式需要由單片機發出不同頻率的和數目的脈沖信號到專用控制芯片,而ST公司的數字控制電機驅動芯片L6470內部數字控制系統可實現完備的運動曲線控制方案,只需要使用單片機發出命令告訴它要怎樣運動即可,簡化了電路和程序。

數字控制內核;微步;STM32;SPI接口

步進電機是將電脈沖信號變為電機角位移的或機電執行元件,步進驅動器接收到一個脈沖,電機旋轉一個固定的角度,非常適合單片機控制,因此可以用單片機控制脈沖的數量來控制電機的旋轉角度,控制脈沖的頻率來控制電機的旋轉速度,而改變電機電流的方向可以改變電機的旋轉方向。

ST公司的L6470省去了單片機的這些工作,單片機只要通過命令告訴L6470以什么樣的速度運行到什么位置停止,電機就會在L6470數字內核的控制下按指定方式運行,這些只要發送一個函數命令即可,剩下的就交給L6470去完成。

1.系統原理框圖

如圖1所示,整個系統由4部分組成,電源、單片機(MCU)、L6470、電機,其中電源的24V給L6470的功率驅動電路供電,24V經過DC-DC模塊轉換為3.3V分別給單片機和L6470的數字控制部分供電。單片機通過SPI接口控制L6470,而L6470把各種狀態位反饋回單片機。上位機可以通過串口命令控制電機。

2.驅動芯片L6470簡介

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

2.1 運動控制命令

單片機通過SPI接口可以向L6470發送以下4種不同的運動控制命令。

恒速命令:讓電機以設定的加減速度旋轉到恒定的速度。

絕對位置命令:設定電機以指定路徑或最小路徑旋轉到指定位置,然后停止。

運動命令:讓電機按指定的方向運動指定步進數目

停止命令:使電機停轉。

以上4種命令配合加減速控制,可以實現復雜的運動控制方案,不再需要單片機來計算脈沖頻率、脈沖數目,脈沖時序等參數。

2.2 內部寄存器說明

L6470內部一共有25個可用寄存器,每個寄存器對應某種控制功能或狀態位,單片機通過SPI接口訪問或改寫這些寄存器地址里面的內容。

有的是用于控制的,主要有:絕對位置、電氣位置、運行速度、最大/最小速度、加/減速度、步進單位、過電流門檻、保持/運行/加速/減速PWM功率周期、振蕩器頻率、PWM頻率。

有的是用于狀態檢測的,比如過流、過壓、欠壓、過熱、失步等警告。

這些參數的設置需要參考《L6470數據手冊》和所用步進電機的參數值,比如步進電機的轉速、扭矩、相位電阻、力矩-頻率特性曲線等。

2.3 相位電流控制

通常情況下,步進電機驅動電路是電流式控制設計,電流控制器監測并控制繞組電流強度,因為電源電壓變化、停轉等會導致電流有很大變化,而且,隨著轉速提高或減小,電機的反電動勢(BEMF)的變化也會導致繞組電流的變化。L6470可以通過在電機繞組上施加電壓來控制相電流。雖然不能直接控制相電流的幅度,但是,相電流與相電壓的大小、負載、轉矩、電機電學特性和轉速密切相關。有效輸出電壓與電機電源電壓和補償系數Kval的積成正比。

圖1 系統原理框圖

圖2 補償因子計算

圖3 軟件流程

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

其中KVAL_X是當前Kval值,BEMF_COMP是反電動勢補償因子,VSCOMP是輸入電壓,K_THERM是線圈電阻補償因子,microstep是當前設置的微步數。

當然可以利用ST公司提供的dSPIN evaluation tool可以方便地求出Kval值,只要你把電機的各個參數代入數據框,點擊一下evaluate按鍵就可以求出L6470的各個補償因子和對應寄存器值。

3.MCU介紹

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

STM32F103C6T6性能:

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

4.軟件設計

STM32采用KEIL MDK編程環境進行軟件設計,如果原先掌握了51芯片的編程,STM32很容易上手,而且ST公司為開發者提供了豐富的固件庫,所有的功能開發者不再需要接觸底層的寄存器,直接調用高級函數就可以了,節省了開發時間,保證了設計質量。

4.1 SPI固件庫

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

STM32F103C6T6芯片擁有完備的SPI固件庫,使用固件庫要經過以下幾步設置:

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

● 配置IO口輸入輸出工作方式,這里設置為復用推挽模式;

● 配置SPI工作模式;

● 使能SPI模塊。

經過配置以后就可以使用SPI庫函數控制L6470,下面是典型的L6470控制函數。

● void dSPIN_Peripherals_Init(void)

——初始化單片機和L6470連接的用于SPI通訊的4個GPIO端口的工作模式,初始化單片機內部SPI模塊的工作模式。

● void dSPIN_Regs_Struct_Reset(dSPIN_RegsStruct_TypeDef* dSPIN_RegsStruct)

——按照L6470寄存器表的默認值初始化L6470相應寄存器的參數值,這些參數值合并為一個寄存器結構體的數據類型,用指向結構體的指針訪問它們。

● void dSPIN_Struct_Value(void)

——按用戶定義設置寄存器的各個參數。

● void dSPIN_Set_Param(dSPIN_Registers_TypeDef param,uint32_t value)

——把參數寫入其對應寄存器地址,具體對應寄存器要寫什么參數值要結合《L6470數據手冊》和所用的步進電機的參數值。

● uint32_t dSPIN_Get_Param(dSPIN_Registers_TypeDef param)

——讀取對應寄存器地址內的參數。

● void dSPIN_Run(dSPIN_Direction_TypeDef direction,uint32_t speed)

——向L6470發送RUN指令,參數為方向和速度值

● void dSPIN_Move(dSPIN_Direction_TypeDef direction,uint32_t n_step)

——向L6470發送MOVE指令,參數為方向和步進數目

● void dSPIN_Go_To(uint32_t abs_pos)

——向L6470發送GO_TO指令,參數為運動到的絕對位置

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

——發送停止指令,有軟停止,即減速到0,硬停止,即緊急制動,軟高阻,即減速到0再關閉MOS橋,硬高阻,即緊急制動并關閉MOS橋。

● uint16_t dSPIN_Get_Status(void)

——讀取狀態寄存器狀態標志

4.2 整體軟件流程

單片機初始化完成后,開始對L6470進行電機初始工作參數設置,然后就可以發命令讓電機執行相應的動作,同時還可以隨時接收串口的命令改變電機狀態。

下面的程序是一個電機運行的例子:

5.結論

本系統主要以高性能的STM32F103C6T6為控制芯片,L6470驅動芯片實現電機控制,降低了設計難度,節省了設計成本,減小了驅動器的體積,采用微步功能提高了步進電機的運行穩定性,具有控制簡單、操作靈活的特點,L6470自有的各種電機檢測和保護功能提高了控制系統和電機的安全性和壽命,可以廣泛用在打印機、傳真機、機器人等精密控制領域。

[1]劉軍.例說STM32[M].北京航空航天大學出版社,2011,4.

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

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

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

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

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

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

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統的仿真設計
主站蜘蛛池模板: 午夜一区二区三区| 欧美一级专区免费大片| 国产成人久视频免费| 69av免费视频| 中文字幕在线日本| 色噜噜狠狠狠综合曰曰曰| 国内精品九九久久久精品| 亚洲天堂啪啪| 欧美成人一级| 国产一区成人| 亚洲国产日韩欧美在线| 国产欧美在线观看视频| 国产亚洲欧美在线中文bt天堂| 欧美不卡二区| 国产麻豆精品手机在线观看| 亚洲最新在线| 久久精品人妻中文视频| 亚洲成人在线网| 黄色免费在线网址| 国产亚洲精品yxsp| 欧美亚洲欧美区| 天堂岛国av无码免费无禁网站| 亚洲一区二区三区香蕉| 精品久久久久无码| 亚洲乱亚洲乱妇24p| 久久综合丝袜长腿丝袜| 婷婷色在线视频| 欧美国产综合色视频| 欧美在线精品一区二区三区| 五月天婷婷网亚洲综合在线| 国产精品亚洲一区二区在线观看| AV熟女乱| 91精品国产自产91精品资源| 国产aaaaa一级毛片| 在线永久免费观看的毛片| 在线看片中文字幕| 自拍亚洲欧美精品| 91成人免费观看| 精品一区二区三区波多野结衣 | 欧美亚洲一二三区| 在线亚洲天堂| 亚洲人成影院午夜网站| 在线另类稀缺国产呦| 波多野结衣久久高清免费| 国产毛片片精品天天看视频| 91一级片| 色综合网址| 成·人免费午夜无码视频在线观看| 国产在线欧美| 视频一本大道香蕉久在线播放| 欧美精品一区在线看| 国产本道久久一区二区三区| 国产丝袜无码精品| 国产午夜一级淫片| 国产视频久久久久| 国产成人精品一区二区| 日本a级免费| 国产91在线免费视频| 91久久国产热精品免费| 91年精品国产福利线观看久久 | 黄色国产在线| 国产天天色| 999国产精品永久免费视频精品久久| 亚洲av无码牛牛影视在线二区| 欧美在线精品一区二区三区| 91精品情国产情侣高潮对白蜜| 噜噜噜久久| 免费啪啪网址| 国产午夜福利亚洲第一| 亚洲最大看欧美片网站地址| 人妻无码一区二区视频| 狠狠躁天天躁夜夜躁婷婷| 免费xxxxx在线观看网站| 中文无码精品a∨在线观看| 亚洲视频二| 国内精品小视频在线| 欧美激情视频二区| 日韩第一页在线| 成人精品免费视频| 女人18毛片久久| 久久久亚洲国产美女国产盗摄| 国产在线精品人成导航|