王景輝
(中興利聯(lián)國際貿(mào)易(上海)有限公司,上海 201611)
單片機ATMEGA16應用案例
王景輝
(中興利聯(lián)國際貿(mào)易(上海)有限公司,上海 201611)
本文介紹AVR單片機ATmega16設備改造中的一個應用案例。根據(jù)客戶要求,描述設計過程和原理,涉及到外部中斷INT0、INT1、INT2以及中斷定時器time0的應用。利用外部中斷引腳監(jiān)測打印信號、編碼器信號以及剔除工位的瓶觸發(fā)信號等,應用移位指令對運動中的產(chǎn)品進行跟蹤控制。軟件采用ICCV7 for AVR,對程序中主要控制語句進行說明。
ATmega16 外部中斷 定時中斷 移位指令
CVC302貼標機上,原有的剔除方式是把剔除裝置與前端貼標裝置進行分別計數(shù)。機器運行之前,先要把輸送帶上的產(chǎn)品清空,然后在操作界面上執(zhí)行產(chǎn)品平衡計數(shù)清零,使得兩個計數(shù)器都從零開始計數(shù)。貼標裝置部分有一個計數(shù)器,剔除部分有一個計數(shù)器。每當有一個產(chǎn)品過來時,在貼標裝置計數(shù)器加1計數(shù)。如果這個被貼標產(chǎn)品需剔除,程序會把這個數(shù)值標記為剔除。經(jīng)過剔除位置的產(chǎn)品也會被剔除計數(shù)器進行加1計數(shù)。當其數(shù)值與之前標記的數(shù)相等時,對此產(chǎn)品執(zhí)行剔除。不過,當其中一個計數(shù)器產(chǎn)生計數(shù)錯誤時,會出現(xiàn)剔除錯位,且不易被操作人員發(fā)覺。比如,中間被人為拿走一個產(chǎn)品、計數(shù)傳感器信號不穩(wěn)定等,都可能導致計數(shù)出現(xiàn)問題。一旦錯位,如果不處理,它會一直錯位下去,直到停機清空產(chǎn)品,重新平衡計數(shù)再啟動機器,才能恢復正常,這對生產(chǎn)廠商來說不可接受。印有問題的產(chǎn)品進入下游生產(chǎn)線,是嚴重的質(zhì)量問題。因此,改造該設備,刻不容緩。
1.1 項目要求
項目名稱是《CVC302貼標機CCD像機印字檢測不合格及漏貼標產(chǎn)品剔除》。客戶要求:對標簽上的印字進行照像檢測;對于缺字、印字偏斜過大、偏移過大進行檢測;檢測不合格,要可靠剔除。另外,對瓶表面進行標簽檢測,沒有帖上標簽的產(chǎn)品剔除。
1.2 貼標機相關(guān)部分介紹
直線式圓瓶貼標機CVC302,對不合格品的剔除不如星輪轉(zhuǎn)接方式的貼標機實現(xiàn)剔除那么可靠。因為星輪轉(zhuǎn)接的貼標機把產(chǎn)品限位在星輪齒槽里,通過專門的計數(shù)方式容易跟蹤。而直線式貼標機對一個產(chǎn)品進行貼標時,出完標簽,瓶子在輸送帶上運送時,產(chǎn)品沒有被限位,在滾貼過程中或輸送過程中都存在一定的偏移或滑動,難以進行準確定位。
2.1 相機安裝與控制(電路圖參見圖1-1)
圖1為其電路圖。做可調(diào)三維固定架,把像機固定于打印機左測,用像機對印字進行檢測。對于文字偏移過大、文字重疊、缺字、斷字等情況進行檢測。像機照在距出標剝離板的第五張標簽上,像機觸發(fā)由CVC302貼標機PLC的打印輸出點上升沿信號給出(如電路圖到J14插座),經(jīng)過控制電路的光耦,把信號傳到單片機的PD2引腳。通過中斷引腳由單片機中斷程序進行處理后,由PC0引腳把觸發(fā)信號經(jīng)光耦傳到J13-3即CCD-TRIG端發(fā)給像機。像機拍照后,把不合格信號發(fā)到J13-4即CCD1(合格品信號為0,不合品信號為24V),進入單片機的PD6引腳,讓單片機程序處理信號。
圖1 電路圖
2.2 控制邏輯
通過軟件形成兩個軟件隊列:一個是標簽隊列,另一個是輸送隊列。標簽隊列:貼標機每送出一張標簽打印一次,標簽隊列每送出一張標簽(電路中取的打印信號)移動一位,同時像機拍照一次,并存儲像機拍照結(jié)果(結(jié)果為1是不合格品,為0是合格品)。這個結(jié)果在移送到出標工位時,會傳送到輸送隊列。輸送隊列:輸送帶主軸上有一個1000P/R編碼器,編碼器每過67個脈沖產(chǎn)生一次移位。通過編碼進行位置控制,當不合格品移送到達剔除位時,會由電磁閥產(chǎn)生準確的剔除動作。
2.3 硬件選型
(1)像機選用邦納BANNAR A4 130萬像素相機,光源選紅光,鏡頭焦距16mm,做可調(diào)固定支架,國產(chǎn)工業(yè)平板電腦。
(2)標簽有熒光,漏標檢測傳感器選兩只SICK SU620熒光檢測傳感器,測瓶傳感器選SENSERDATA的FB20小光點激光,根據(jù)剔除位置做傳感器固定支架,剔除出料口。
(3)剔除吹氣嘴定做,做固定支架。
(4)控制電路采用AVR單片機控制,型號ATMEGA16,繪制線路圖,生成PCB板,接口部分的部分電路如圖1所示。
(5)電磁閥:二位五通電磁閥SMC SY5120-5g-01。(6)電磁閥采且NPN三極管C1815驅(qū)動,輸出端并接二極管保護。
(7)CCD像機接口J13:本例只用了DC24V電源信號,觸發(fā)信號CCD-TRIG及結(jié)果輸出信號CCD1。像機的觸發(fā)信號由單片機經(jīng)光耦與PNP晶體管結(jié)合產(chǎn)生PNP信號觸發(fā)像機拍照。
3.1 中斷程序INT0(參見圖2-2移位說明)
中斷程序INT0,見圖2移位說明。
圖2 中斷程序INT0的移位說明
標簽隊列:用一個無符號型字符變量,程序里定義為label_queue,有八個位,對應實物貼標頭上剝離板前的六張標簽。當CCD檢測位有不合格品時,就把第七位置1,每貼一張標簽(電路里取的是打印信號)變量中的8位會右移一次。第4位對應馬上要往瓶上貼的那張標簽。從檢測到不合格標簽開始,要移5個位才貼到瓶子上。
對應程序段說明:
打印信號觸發(fā)進入中斷INT0
3.3 外部中斷程序INT2
輸送帶隊列:用一個無符號長整型變量,程序中定義為convey_queue,共有32個位。對實物輸送帶的32塊鏈板,它會跟隨輸送帶軸編碼器脈沖移動。67個脈沖會移動一次,可以設想它是間歇式移動,實物每移過一個鏈板,變量右移一次。
當貼標隊列的出標位label_queue第四位為1時,向瓶上貼標簽時會把數(shù)值0x3E存入到輸送帶隊列的第三字節(jié)。如圖2的當前狀態(tài),它同時置位了5個工位,給了被剔除產(chǎn)品足夠的冗余量,即在這五塊鏈板上的瓶子都會被剔除,這樣能可靠地把不合格的一瓶剔除出來。當生產(chǎn)速度很快時,瓶間距很密集的情況下可能會有兩到三瓶被剔除。這一點客戶也認可,因為這個剔除量概率比較小,剔除品會由人工進行再檢查。
程序說明:
編碼器:
3.4 外部中斷程序INT1
圖3為外部中斷程序INT1示意圖。
剔除工位:在變量第byte0的第三個位為1時,對于這個鏈板上的西林瓶施行剔除。當漏標檢測傳感器檢測瓶到位,測到瓶到時進入中斷程序,通過剔除電磁閥對吹氣嘴產(chǎn)生動作。只要這個工位為1,只要過來一個瓶子就會檢測瓶子執(zhí)行剔除,這是CCD檢測不合格產(chǎn)生的剔除。另外,它還通過兩個熒光傳感器對瓶身進行照射檢測。瓶到位時,采樣兩個熒光傳感器的狀態(tài),當兩個熒光傳感器此刻都沒檢測到熒光,說明標簽沒有貼在瓶上,剔除電磁閥執(zhí)行剔除動作,把瓶子吹掉。
圖3 外部中斷程序INT1示意圖
當瓶到達瓶觸發(fā)傳感器時,觸發(fā)INT1中斷:
3.5 關(guān)于程序的其他部分
關(guān)于程序的其他部分:初始化及變量定義,中斷初使化等。
本文主要介紹項目過程的控制原理及程序分析,本例已在客戶現(xiàn)場使用兩年,反饋一切正常,客戶很滿意。從應用角度來說,不論是采用單片機還是采用PLC,在機電設備控制中用移位方式處理一些實際問題都比較方便,尤其與編碼器結(jié)合后,能夠?qū)崿F(xiàn)較為復雜的應用。采用單片機處理問題,便于定制,PCB板體積小,接線集成方便,速度快功能專一,安裝靈活,非常適合一些對于空間有限的場合。
MCU ATMEGA16 Application Case
WANG Jinghui
(Zhongxing Lilian International Trading (Shanghai) Co., Ltd., Shanghai 201611)
This paper introduces the ATmega16 microcontroller AVR used in a modification of a CVC302 labeller, According to customer requirements, describes the design process and principles; related to the external interrupt INT1, INT2, INT0, and the application of interrupt timer time0. Using external interrupt pin to monitor the print signal, encoder signal and bottle trigger signal in rejection station, the application of the shift instruction on the motion of the product tracking control. Software using for AVR ICCV7, the statement of the main program instructions.
ATmega16, external interrupt, timing interrupt, shift instruction