張文明,許 健
(沈陽大學機械工程學院,遼寧沈陽110044)
焊接機器人參數(shù)的采集及顯示
張文明,許健
(沈陽大學機械工程學院,遼寧沈陽110044)
介紹了一種新的焊接機器人溫度信息采集和顯示方法。利用PIC18F4520單片機處理溫度傳感器的采樣值,并通過信息通道即通信系統(tǒng)將這些數(shù)據(jù)實時顯示在PC機上,一旦出現(xiàn)溫度過高的情況,立即通過伺服系統(tǒng)進行調(diào)整,防止焊槍因溫度過高而出現(xiàn)損壞,從而實現(xiàn)對溫度的實時監(jiān)測。
溫度傳感器;PIC18F4520單片機;PC機;焊槍
隨著工業(yè)的發(fā)展,許多現(xiàn)代化系統(tǒng)需要對現(xiàn)場數(shù)據(jù)進行統(tǒng)計、分析、打印和報警。單片機以其較小的體積、低廉的價格和較強的適應(yīng)性廣泛應(yīng)用于各領(lǐng)域。然而,單片機的計算能力有限,難以進行復(fù)雜的數(shù)據(jù)處理,因此,在復(fù)雜的自動控制系統(tǒng)中通常以工控機為上位機,單片機為下位機。單片機完成對數(shù)據(jù)的采集和對設(shè)備的控制,上位機完成對各復(fù)雜數(shù)據(jù)的處理和單片機的控制[1]。
PIC18F4520單片機憑借強大的模塊功能為其廣泛應(yīng)用奠定了基礎(chǔ)。溫度傳感器模塊與通信模塊(即UART模塊)的結(jié)合使溫度數(shù)據(jù)的實時采集得以實現(xiàn)。因而,利用PIC18F4520單片機完成對溫度數(shù)據(jù)的采集和顯示成為本實驗要解決的問題。
PIC18F4520單片機是Microchip公司開發(fā)的一款采用10位A/D和納瓦技術(shù)的增強型閃存單片機,它是K-16型單片機的升級型號,在功能的實現(xiàn)上又有自身的特性。它可以實現(xiàn)液晶LCD1602的顯示、8×8 LED點陣的動態(tài)流動、8位數(shù)碼管的顯示、步進電機的演示、A/D轉(zhuǎn)換、通信等功能[2]。
PIC18F4520單片機上集成了MAX232芯片和串口座用于數(shù)據(jù)通信,并通過USB轉(zhuǎn)串口線與PC機相連,最后完成數(shù)據(jù)的傳輸[3]。
MAX232芯片是RS232串口與單片機之間的接口電路,它的作用是轉(zhuǎn)換RS232信號電平和單片機串口信號電平,使其一致。
1.1異步方式的串行通信
通信是指通過某種媒體將信息從一地傳到另一地。計算機通信是將計算機技術(shù)與通信技術(shù)相結(jié)合,完成計算機與外部設(shè)備或計算機與計算機之間的信息交換。本研究中PC機與單片機通信中采用異步方式的串行通信。
串行通信是指數(shù)據(jù)字節(jié)的各位用一條數(shù)據(jù)線逐個進行傳送。異步通信的收發(fā)設(shè)備使用各自的時鐘,并且在發(fā)送字符時,所發(fā)送的字符之間的時間間隔可以是任意的。接收端時刻做好接收的準備,發(fā)送端可以在任意時刻開始發(fā)送字符。為了保證接收設(shè)備和發(fā)送設(shè)備的同步性,每個字符在開始處和結(jié)束處必須添加標志位,即添加起始位和停止位,使得接收端接收到的數(shù)據(jù)不是8位,而是10位,從而保證接收端能夠正確地接收每個字符。此種通信方式的優(yōu)點為:不要求接收設(shè)備和發(fā)送設(shè)備的時鐘嚴格一致,容易實現(xiàn);通信設(shè)備簡單、便宜。缺點是為了保證收發(fā)雙方的同步性,每個字符均需要附加起始位和停止位,傳輸效率不高。
1.2數(shù)據(jù)傳輸流程
當數(shù)據(jù)發(fā)送時,單片機的應(yīng)用程序需要通過數(shù)據(jù)I/O口來驅(qū)動其上的串口模塊,然后單片機串口模塊通過TX數(shù)據(jù)口向MAX232芯片發(fā)送數(shù)據(jù),而存儲在MAX232芯片中的數(shù)據(jù)通過與開發(fā)板串口座相連的RS232串行通信電纜傳輸?shù)絇C機中,完成數(shù)據(jù)的發(fā)送。當接收數(shù)據(jù)時,來自PC機的數(shù)據(jù)會通過PC機串口座和開發(fā)板串口座之間的RS232串行通信電纜進入到MAX232芯片,然后MAX232芯片通過RX數(shù)據(jù)口將數(shù)據(jù)送入單片機串口模塊,繼而進入單片機中執(zhí)行程序,其原理示意如圖1所示。
圖1 串行通信原理示意Fig.1Serial Communication Principle Diagram
2.1溫度采樣程序流程
溫度傳感器采用DS18B20溫度傳感器。
首先利用復(fù)位函數(shù)reset()初始化單片機,然后通過子函數(shù)write_byte(0XCC)和write_byte(0X44)進行溫度轉(zhuǎn)換,即將模擬量轉(zhuǎn)化為數(shù)字量,并以二進制的形式分別存儲于兩個八位寄存器tem1和tem2中,其中,tem2存儲數(shù)據(jù)的高八位,tem1存儲數(shù)據(jù)的低八位,最后利用十六位寄存器aaa和語句aaa=(tem2*256+tem1)*6.25將二進制數(shù)整合成十進制溫度值,并最終以0.062 5的精度將溫度值顯示在顯示設(shè)備上。程序框圖如圖2所示。
圖2 DS18B20溫度傳感器程序框圖Fig.2DS18B20 temperature sensor program diagram
2.2串口通信的主函數(shù)流程
(1)定義變量及其類型,并初始化開發(fā)板,此時TRISC<6〉<7〉將會被系統(tǒng)自動置1。
(2)將SPEN位置1,使能串口模塊;清零SYNC位,設(shè)置為異步模式;將TXEN位置1,使能發(fā)送;設(shè)置波特率值,并將波特率通道設(shè)置為高速。
(3)將數(shù)據(jù)送入TXREG寄存器,等待中斷。
(4)設(shè)置中斷,等待中斷的響應(yīng)。
(5)中斷響應(yīng)后,通過發(fā)送函數(shù)將返回的溫度值逐個字符發(fā)送到PC機中,并顯示在串口助手軟件中。
在數(shù)據(jù)傳輸過程中,多位十進制數(shù)據(jù)不能同時傳輸,而是要將各個位置上的數(shù)據(jù)或符號逐一提取后分別傳輸,即語句TXREG=get_tem()或temp= get_tem();TXREG=temp無法實現(xiàn)數(shù)據(jù)在單片機與PC機之間的數(shù)據(jù)傳輸,而需要進一步利用子函數(shù)CK_wrlval(unsigned long num,unsigned char bits,unsigned char dp)將溫度值的各個位置上的數(shù)據(jù)或符號逐一取出,然后分別進行傳送,最后在PC機上再完成數(shù)據(jù)的整合,從而顯示完整的溫度值。子函數(shù)CK_wrlval(unsigned long num,unsigned char bits,unsigned char dp)中第一個量為進入主函數(shù)的采樣值;第二個量為要顯示的數(shù)據(jù)的位數(shù)(包含小數(shù)點);第三個量為小數(shù)點后的位數(shù),它的大小直接反映出溫度傳感器的精度。程序框圖如圖3所示。
圖3 串口通信主程序框圖Fig.3Serial communication main program diagram
實驗驗證,以PIC18F4520單片機為中心的處理系統(tǒng)將溫度傳感器的采樣值通過信息通道在PC機上顯示的方法能夠?qū)崿F(xiàn)。PIC18F4520單片機通過紐帶TXREG寄存器接收來自溫度傳感器的采樣值,并采用傳輸橋梁RS232串口和PC機通過程序的運行實現(xiàn)了數(shù)據(jù)的傳遞,并將溫度數(shù)值在PC機上實時顯示,達到了實時監(jiān)測和保護焊槍的目的。這樣既體現(xiàn)出單片機靈活的控制功能,又能發(fā)揮PC機強大的計算和顯示功能,有利于對現(xiàn)場信號的實時采集、處理和監(jiān)控[4]。但是仍然存在著諸多的不足,例如溫度采集速度與顯示速度不同步、顯示的速度不易控制等,這些問題還有待進一步解決和完善。
[1]潘方.RS232串口通信在PC機與單片機通信中的應(yīng)用[J].現(xiàn)代電子技術(shù),2012,35(13):69-71.
[2]Microchip.PIC18F2420/2520/4420/4520數(shù)據(jù)手冊—采用10位A/D和納瓦技術(shù)的28/40/44引腳增強型閃存單片機[M].Microchip Technology Inc,2006.
[3]關(guān)君,張大明.用PC機與單片機通信及點陣數(shù)據(jù)轉(zhuǎn)換實現(xiàn)LED顯示漢字[J].新鄉(xiāng)學院學報,2011(6):528-530.
[4]劉軍,朱順樂,王萍.基于Windows的PC機與單片機通信程序設(shè)計[J].農(nóng)機化研究,2005(1):245-247.
Collection and display of welding robot parameters
ZHANG Wenming,XU Jian
(School of Mechanical Engineering,Shenyang University,Shenyang 110044,China)
This paper introduces a new way of collection and display of welding robot temperature.This way uses the PIC18F4520 to process the temperature from the sensors,then the temperature displays on the PC by information channel(communication system).Once the temperature is higher,immediately adjust by servo system,prevent damage of welding gun,to realize the real-time monitoring of temperature.
temperature sensor;PIC18F4520 MCU;PC;welding gun
TG409
A
1001-2303(2016)04-0042-03
10.7512/j.issn.1001-2303.2016.04.09
2014-12-31;
2015-07-21
張文明(1959—),男,遼寧沈陽人,教授,主要從事焊接自動化及其裝備的研究工作。