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