趙飛麒,馮寧,黃健華
(廣東科杰機械自動化有限公司,廣東江門529000)
基于CAN總線的焊線機自動上下料控制系統(tǒng)的分布式設計與實現(xiàn)
趙飛麒,馮寧,黃健華
(廣東科杰機械自動化有限公司,廣東江門529000)
提出了一種基于CAN總線的焊線機自動上下料控制系統(tǒng)的分布式設計。分析了方案中系統(tǒng)各部分的組成與功能,重點介紹了CAN總線通訊以及步進電機控制的硬件設計與軟件實現(xiàn)。實踐證明:該系統(tǒng)將CAN總線的通訊可靠性和ARM處理器運行速度快等優(yōu)點結合起來,使焊線機的上下料控制系統(tǒng)實現(xiàn)了分布式控制,具有較強的靈活性和通用性。
CAN總線;ARM處理器;上下料控制系統(tǒng)
全自動焊線機是一種用于完成焊線工序的LED封裝設備。目前國內(nèi)焊線機主要以進口為主,價格昂貴,交貨周期長,不利于國內(nèi)半導體行業(yè)發(fā)展和發(fā)展,因此,焊線機國產(chǎn)化是發(fā)展半導體產(chǎn)業(yè)的必然趨勢。全自動焊線機控制系統(tǒng)主要分成了XYZ平臺模塊、視覺系統(tǒng)模塊、超聲焊接模塊、高壓打火模塊以及自動上下料模塊。其中,自動上下料模塊作為焊線機系統(tǒng)的重要組成部分,對整機的工作效率和可靠性有著重要的作用。目前,我公司研發(fā)的焊線機上下料控制系統(tǒng)是運動控制卡和IO卡配合的控制方案,由于接口板、信號中轉板和線材等數(shù)量繁多,布線復雜,成本較高,嚴重影響了整機批量生產(chǎn)和調(diào)試的進度。
CAN總線是一種有效支持分布式控制或實時控制的串行通信網(wǎng)絡[1]。ARM嵌入式系統(tǒng)具有性能高、功耗低以及軟硬件裝卸靈活多變等優(yōu)點,為控制系統(tǒng)的開放性、分布式設計提供了良好的技術基礎。因此,本文結合了ARM處理器和CAN總線的實時性高、傳輸速率高、可靠性高、效率高等特點,提出一種基于CAN總線的焊線機自動上下料控制系統(tǒng)的分布式設計方案,大大簡化了焊線機內(nèi)部布線,節(jié)省成本,也提高了整機的批量生產(chǎn)效率。
系統(tǒng)主要分成了上料、工作臺與下料三個模塊,上位機是根據(jù)自動上下料的原理進行數(shù)字計算,并通過CAN總線把控制指令發(fā)送到各個模塊,使各個模塊的步進電機按指令速度和方向轉動,完成自動上下料的工作。
圖1 控制系統(tǒng)的組成框圖
從圖1中可以看出運動控制系統(tǒng)主要包含CAN總線收發(fā)器CTM1051A,ARM微處理器STM3207 VET6,步進電機驅動芯片THB7128.STM3207VET6.是一款基于ARM Cortex-M3內(nèi)核的32位處理器,具有出色的功耗控制與眾多外設。該芯片內(nèi)置1M FLASH、4K SRAM、3個SPI、3個串口、1個USB、2個CAN、140個可用IO口,是控制系統(tǒng)的核心部件。STM3207VET6微處理器把上位PC從CAN總線發(fā)送下來的控制指令按照給定的參數(shù)轉化成脈沖序列,脈沖序列經(jīng)過步進電機驅動芯片THB7128轉化電機的A、B相的電信號,從而控制步進電機的轉速和轉向。
2.1 CAN通信模塊的設計
STM3207VET6內(nèi)置的can接口支持2.0A和2.0B CAN協(xié)議,位速率高達1 M/s,可以收發(fā)11位標識符的標準幀或者29位標識符的擴展幀。具有3個發(fā)送郵箱和2個接收FIFO,3級28個可調(diào)節(jié)的過濾器,即使只使用一個CAN接口,它們都能被調(diào)用,每個CAN接口分配有256個字節(jié)的SRAM,不跟任何外設共用。它能夠最小化占用的CPU資源來高效處理大量收到的報文,同時可以通過軟件設置可以調(diào)整發(fā)送的優(yōu)先級。CAN硬件設計如圖2所示。
圖2 CAN總線收發(fā)器電路圖
CAN控制器和物理總線之間的接口芯片采用周立功的CAN總線收發(fā)器CTM1051A,它不僅能為控制器提供不同的收發(fā)性能,還具有DC2500V的隔離功能,使系統(tǒng)與外界隔離開來,簡化了CAN外圍的硬件設計,提高了系統(tǒng)的可靠性。電路上設計了一個共模扼流線圈,用于抑制共模干擾和平衡差分信號的傳輸;同時設計采用了撥碼開關對CAN網(wǎng)絡的ID地址進行設置;LED用于顯示通訊的收發(fā)狀態(tài)。
2.2 步進電機驅動模塊設計
步進電機要能正常工作必須要有驅動器和控制器。驅動器的作用是對控制脈沖進行環(huán)形分配、功率放大,使步進電機繞組按一定順序通電,控制電機轉動[2]。本設計采用THB7128數(shù)字式步進電機驅動芯片,驅動電路如圖3,該驅動芯片可以設置通過M1、M2和M3三個端口選擇8檔細分數(shù),通過VREF和OSC引腳在額定電流內(nèi)的任意電流值設置,能夠滿足大多數(shù)場合的應用需要。CLK、CW/CCW和ENABLE分別為脈沖、方向和使能信號的輸入端口,芯片分別有控制電源和電機動力電源,兩個端口分別都設有濾波電路,為芯片提供干凈的電源。電機每相輸出設有防短路的二極管,防止因為接線錯誤而燒壞芯片。
圖3 步進電機驅動芯片電路圖
3.1 CAN收發(fā)軟件實現(xiàn)
要實現(xiàn)STM32的CAN通訊,只需要對處理器內(nèi)部的CAN總線的參數(shù)進行的配置就能達到控制要求,軟件部分主要任務是對CAN總線進行初始化、數(shù)據(jù)發(fā)送和接受[3]。CAN總線初始化最主要的是設置通訊的波特率,本設計中采用AHB1作為CAN時鐘為36 MHz,所以要得到1M/s的波特率,即SJW=tq,BS1=3tq,BS2=5tq,Prescaler=4,所以波特率的計算如下:
CAN總線是以報文為單位進行信息交換,圖4是發(fā)送和接收程序流程圖,其解讀為:
(1)在完成初始化后,有3個發(fā)送緩沖區(qū)用于發(fā)送報文,在發(fā)送數(shù)據(jù)之前首先要設置發(fā)送緩沖區(qū)內(nèi)報文發(fā)送的優(yōu)先級,然后設置標準幀或者擴展幀的標識符,最后查詢發(fā)送緩沖區(qū)的狀態(tài),當發(fā)送緩沖區(qū)空閑時只要數(shù)據(jù)寫入緩沖區(qū)再置位發(fā)送請求位就可以啟動數(shù)據(jù)發(fā)送。
(2)在完成初始化后,有2個接收緩沖區(qū)用于接收報文,報文的接收是通過中斷方式來接收的。中斷在接收緩沖區(qū)接收到符合要求的報文時被觸發(fā)。當數(shù)據(jù)接收完畢后,接收任務就會進入休眠等待狀態(tài),這樣使得數(shù)據(jù)傳輸?shù)捻憫獣r間更快同時避免了由于數(shù)據(jù)超限而引起的數(shù)據(jù)重發(fā)[4]。如圖4所示。
圖4 CAN總線發(fā)送和接收程序流程圖
3.2 步進電機加減速控制軟件實現(xiàn)
為了避免電機在啟動、停止、運行以及換速的過程中產(chǎn)生沖擊、超程、失步和振蕩等一些影響運動精度的現(xiàn)象[5]。電機從啟動到給定的進給速度或從一個速度到另一個不同的速度的過程中需要有一個加減速的過程,使其能夠平滑的過渡,達到較好的定位精度。
S型曲線加減速是比較理想的控制加減速方法,本設計把整個速度規(guī)劃分為7個階段,分別為加加速運動階段、勻加速運動階段、減加速運動階段、勻速運動階段、加減速運動階段、勻減速運動階段、減減速運動階段[6]。其加加速度j、加速度a和速度v的方程如下:
這種方法任何一點的速度變化都是連續(xù)變化的,從而避免了柔性沖擊,速度的平滑性較好,運動控制精度高[7-9]。
本設計以ARM處理器為控制核心設計了一個的基于CAN總線的焊線機上下料控制系統(tǒng)。通過對相關的關鍵技術進行了深入研究,實現(xiàn)CAN總線和ARM的模塊化設計,簡化了設備的布線,增強了系統(tǒng)的可靠性以及通用性,該設計已經(jīng)應用于目前焊線機設備上,運行情況良好。
[1]李真花,崔健.CAN總線輕松入門與實踐[M].北京:北京航空航天大學出版社,2011.
[2]董昊,石九龍,劉錦高.基于STM 32F103的貼片機控制系統(tǒng)的設計與實現(xiàn)[J].電子設計工程,2014(2):158-161.
[3]蔣榮.基于ARM的CAN總線智能節(jié)點的設計[J].電子技術應用,2005(4):24-26.
[4]蔡月明,劉浩.基于CAN總線的工業(yè)控制系統(tǒng)[J].中國儀器儀表,2001(5):78-80.
[5]黃兆斌,黃云龍,余世明.幾種步進電機加減速方法的對比研究及其應用[J].機電工程2011(8):951-954.
[6]儀慧玲,張仁杰.基于STM32的步進電機S曲線加減速算法的優(yōu)化[J].信息技術,2015(3):178-181.
[7]楊雁,王云寬,宋英華.基于FPGA的數(shù)控加減速控制器的設計[J].制造技術與機床,2007(6):31-34.
[8]蓋榮麗,林滸,鄭默,等.高速加工中速度規(guī)劃算法的研究與實現(xiàn)[J].小型微型計算機系統(tǒng),2009(6):1067-1071.
[9]張碧陶,高偉強,沈列,等.S曲線加減速控制新算法的研究[J].機床與液壓,2009(10):27-29.
Distributed Design and Realization of Automatic Control System ofWelding W ire Machine Based on CAN Bus
ZHAO Fei-qi,F(xiàn)ENG Ning,HUANG Jian-hua
(Guangdong Kejie Machinery Automation Corporation,Jiangmen Guangdong 529000,China)
In this paper,amodular design of the automatic control system of welding wire machine based on CAN bus is presented.The composition and function of each part of the system are analyzed,and the hardware design and software implementation of CAN bus communication and the control of stepping motor aremainly introduced. The system combines the advantages of CAN bus communication reliability and ARM processor's running speed,so that the control system of the upper and the lower material of the wire bonding machine can realize the distributed control,which has strong flexibility and versatility.
CAN bus;ARM processor;loading and unloading control system
TP277
A
1672-545X(2016)12-0037-04
2016-09-13
趙飛麒(1982-),男,廣東江門人,碩士,技術員,主要從機電控制系統(tǒng)等方面的開發(fā)。