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的單片機控制系統的仿真設計
主站蜘蛛池模板: 国产在线麻豆波多野结衣| 东京热高清无码精品| 一级一级一片免费| 99国产精品免费观看视频| 在线观看亚洲人成网站| 国产乱子精品一区二区在线观看| 色偷偷男人的天堂亚洲av| 欧美日韩中文字幕在线| 亚洲毛片一级带毛片基地| 中文字幕在线播放不卡| 欧美一区福利| 午夜一级做a爰片久久毛片| 亚洲欧美另类专区| 精品视频一区二区观看| 欧美a在线| 亚洲午夜久久久精品电影院| 欧美视频二区| 国产成人午夜福利免费无码r| 日韩A∨精品日韩精品无码| 免费看av在线网站网址| 国产精品太粉嫩高中在线观看| 免费在线一区| 久久久无码人妻精品无码| 日韩在线第三页| 日日摸夜夜爽无码| 亚洲成人黄色在线| 美女啪啪无遮挡| 亚洲三级色| 2021亚洲精品不卡a| 国产原创第一页在线观看| 72种姿势欧美久久久大黄蕉| 国产成人一区免费观看 | 波多野结衣在线一区二区| 日本一区二区三区精品视频| 久久女人网| 亚洲a级在线观看| 国产精品人人做人人爽人人添| 国产免费自拍视频| 超碰aⅴ人人做人人爽欧美| 亚洲一级毛片在线观播放| 亚洲 日韩 激情 无码 中出| 伊人查蕉在线观看国产精品| 亚洲 日韩 激情 无码 中出| 爱色欧美亚洲综合图区| 国产精品亚洲日韩AⅤ在线观看| 国产欧美日韩精品第二区| 一本久道久综合久久鬼色| 伊人久久大线影院首页| 久久久久人妻一区精品| 国产精品久久久久久久久| 亚洲精品在线观看91| 久久国产精品国产自线拍| 69国产精品视频免费| 欧美视频在线第一页| 亚洲码一区二区三区| 欧美综合成人| 成年人久久黄色网站| 久久久精品国产亚洲AV日韩| 97国产精品视频自在拍| 国产在线小视频| 久久精品欧美一区二区| 999精品色在线观看| 国产乱子伦精品视频| 国产免费好大好硬视频| 国产精品欧美在线观看| 91亚洲精选| 不卡视频国产| 免费在线a视频| 欧美一级爱操视频| 亚洲中文字幕av无码区| 国产理论一区| www.91在线播放| 欧美成人日韩| 国产精品部在线观看| 欧美日本中文| 欧美 亚洲 日韩 国产| 亚洲国产日韩欧美在线| 国产成人精品男人的天堂| 亚洲视频免| 亚洲水蜜桃久久综合网站 | 欧美第一页在线| 国产一级在线观看www色|