霍亮生 李岳峰 趙 雄 劉 輝
(北京工商大學(xué) 材料與機(jī)械工程學(xué)院, 北京 100048)
基于STM32的自動(dòng)進(jìn)樣器研制
霍亮生 李岳峰 趙 雄 劉 輝
(北京工商大學(xué) 材料與機(jī)械工程學(xué)院, 北京 100048)
根據(jù)模塊化技術(shù)設(shè)計(jì)了可用于多種分析儀器的自動(dòng)進(jìn)樣器,該系統(tǒng)使用STM32F411RET6的SPI接口控制4個(gè)步進(jìn)電機(jī)按照可編程的路徑移動(dòng),實(shí)現(xiàn)進(jìn)樣自動(dòng)化,增加了攝像頭接口和圖像處理技術(shù),可矯正零點(diǎn)偏移和軸線傾斜導(dǎo)致的定位誤差。具備設(shè)備運(yùn)行過(guò)程中的自動(dòng)故障診斷功能。
步進(jìn)電機(jī) 自動(dòng)進(jìn)樣器 分析儀器 模塊化設(shè)計(jì)
當(dāng)前,隨著科學(xué)技術(shù)的不斷發(fā)展,人們對(duì)實(shí)驗(yàn)設(shè)備的功能提出更高的要求,很多分析儀器都要求配備自動(dòng)進(jìn)樣裝置。采用自動(dòng)進(jìn)樣器替代傳統(tǒng)的由實(shí)驗(yàn)員完成的手工操作,既能減小人為因素對(duì)實(shí)驗(yàn)數(shù)據(jù)造成的影響,提高分析實(shí)驗(yàn)的準(zhǔn)確性;又可以避免一些危險(xiǎn)藥品對(duì)實(shí)驗(yàn)員身體造成不良影響[1]。通過(guò)自動(dòng)進(jìn)樣器替代實(shí)驗(yàn)員進(jìn)行繁瑣的具有重復(fù)性的實(shí)驗(yàn)操作,減輕實(shí)驗(yàn)員的工作量,可以提高實(shí)驗(yàn)效率,因此設(shè)計(jì)一款用于多平臺(tái)的自動(dòng)進(jìn)樣器就顯得十分重要。
目前,市面上流行的自動(dòng)進(jìn)樣器多數(shù)是和專用分析儀器配套使用的,不能滿足多平臺(tái)使用的要求。傳統(tǒng)的進(jìn)樣器控制系統(tǒng)中,驅(qū)動(dòng)器和控制器是分開(kāi)的,本設(shè)計(jì)采用的自動(dòng)進(jìn)樣器控制系統(tǒng)將驅(qū)動(dòng)器和控制器集成在一起,減少了布線和設(shè)備所占空間。本文所述自動(dòng)進(jìn)樣器由X、Y、Z、W四軸和持針機(jī)構(gòu)組成。其中X、Y、Z、W四軸由4組步進(jìn)電機(jī)實(shí)現(xiàn)移動(dòng),并安裝有霍爾傳感器,作為零點(diǎn)位置檢測(cè)使用。
許多設(shè)備交付用戶使用后,在運(yùn)行的過(guò)程中,往往會(huì)出現(xiàn)各種故障進(jìn)而影響設(shè)備的正常運(yùn)行,嚴(yán)重者甚至?xí){到生產(chǎn)安全,并伴隨著嚴(yán)重的經(jīng)濟(jì)損失;用戶對(duì)于設(shè)備出現(xiàn)故障后是否能夠及時(shí)維修十分關(guān)心,廠家也會(huì)對(duì)設(shè)備滿足客戶要求的同時(shí),能夠快速且便捷地解決設(shè)備故障問(wèn)題給予高度關(guān)注。這就要求設(shè)備制造企業(yè)能對(duì)其生產(chǎn)的設(shè)備給予快捷的服務(wù)和技術(shù)支持,并對(duì)故障設(shè)備給予及時(shí)、靈活的診斷及維修。因此,本設(shè)計(jì)的自動(dòng)進(jìn)樣器還具有自我故障診斷功能[2]。
該裝置的特點(diǎn)如下:①可在多平臺(tái)分析儀器上使用;②系統(tǒng)結(jié)構(gòu)強(qiáng)度高,穩(wěn)定性好;③系統(tǒng)具有自我故障診斷功能,當(dāng)檢測(cè)到系統(tǒng)中出現(xiàn)故障時(shí),能夠及時(shí)停止系統(tǒng)運(yùn)行,并將故障內(nèi)容上報(bào);④系統(tǒng)通過(guò)圖像識(shí)別技術(shù)實(shí)現(xiàn)精密定位。
2.1 系統(tǒng)總體方案
基于系統(tǒng)模塊化技術(shù)理念設(shè)計(jì)了自動(dòng)進(jìn)樣器的總體方案,系統(tǒng)總體方案如圖1所示。系統(tǒng)控制部分由上位機(jī)、下位機(jī)和控制驅(qū)動(dòng)電路組成。主體機(jī)構(gòu)包含機(jī)體外殼、電源、進(jìn)樣機(jī)構(gòu)、故障診斷和精密定位組成。分析系統(tǒng)進(jìn)樣功能和故障診斷完成的原理,明確了進(jìn)樣機(jī)構(gòu)的運(yùn)行過(guò)程,并對(duì)進(jìn)樣方案進(jìn)行了設(shè)計(jì),進(jìn)而設(shè)計(jì)了系統(tǒng)的總體方案。

圖1 系統(tǒng)總體框圖
儀器劃分為以下幾個(gè)部分:機(jī)體外殼、電源、內(nèi)部硬件結(jié)構(gòu)和控制系統(tǒng)。各部分及其功能特性如下:
①機(jī)體外殼
主要功能是連接其他結(jié)構(gòu),將機(jī)械裝置、傳動(dòng)部分、電器和其他輔助機(jī)構(gòu)連接在一起,作為承載體使用。機(jī)體外殼將整個(gè)儀器包在里面,因此其美
觀性必須好,還需要有良好的防護(hù)性,能夠阻擋塵土進(jìn)入,防止外部環(huán)境影響系統(tǒng)運(yùn)行[3]。
②電源
主控系統(tǒng)核心供電電壓為5V,電機(jī)驅(qū)動(dòng)系統(tǒng)工作電源為24V,由雙路輸出的開(kāi)關(guān)電源完成供電功能。
③核心控制系統(tǒng)
核心控制系統(tǒng)主要由上位機(jī)系統(tǒng)和下位機(jī)系統(tǒng)構(gòu)成,通過(guò)操作上位機(jī)顯示頁(yè)面,經(jīng)由藍(lán)牙傳輸信號(hào)指令到下位機(jī),下位機(jī)做出相應(yīng)判斷,做出相應(yīng)動(dòng)作。
④進(jìn)樣機(jī)構(gòu)
進(jìn)樣機(jī)構(gòu)由4組步進(jìn)電機(jī)和相應(yīng)的執(zhí)行機(jī)構(gòu)組成,其功能是實(shí)現(xiàn)進(jìn)樣針的自動(dòng)進(jìn)給,與機(jī)體外殼和相應(yīng)的執(zhí)行機(jī)構(gòu)共同完成樣品的整個(gè)進(jìn)樣動(dòng)作。
⑤故障診斷模塊
故障診斷模塊主要功能是在系統(tǒng)運(yùn)行過(guò)程中出現(xiàn)故障時(shí)自我診斷,達(dá)到及時(shí)停止系統(tǒng)運(yùn)行,并將故障內(nèi)容上報(bào)。
⑥精密定位模塊
精密定位模塊是在初次安裝儀器時(shí),通過(guò)攝像頭圖像識(shí)別技術(shù)檢測(cè)樣品臺(tái)和分析儀器的擺放位置與理想位置的偏差,待系統(tǒng)正常工作時(shí),進(jìn)樣針能夠精準(zhǔn)定位到樣品臺(tái)、清洗位和分析儀器的進(jìn)針位置。
2.2 進(jìn)樣原理
能夠?qū)崿F(xiàn)樣品的自動(dòng)進(jìn)樣是整個(gè)系統(tǒng)自動(dòng)化的關(guān)鍵,系統(tǒng)進(jìn)樣模塊目的是為了完成實(shí)現(xiàn)多個(gè)不同的樣本進(jìn)樣自動(dòng)化,系統(tǒng)進(jìn)樣擬搭載多通道平行反應(yīng)裝置,其取樣位置為圓盤(pán)9孔式,配有3個(gè)清洗位和1個(gè)送樣位(因分析儀器可三選一),如圖2所示。自動(dòng)進(jìn)樣器的功能是實(shí)現(xiàn)分析樣品的自動(dòng)進(jìn)樣,其關(guān)鍵步驟在于使進(jìn)樣針準(zhǔn)確到達(dá)圖2所示9孔位置(樣品臺(tái)),將樣品通過(guò)進(jìn)樣針吸取一定容量,之后送到進(jìn)樣位(分析儀器)將樣品注入指定容器中,最后到清洗位置執(zhí)行進(jìn)樣針清洗動(dòng)作。

圖2 樣品臺(tái)、分析儀器與清洗位置示意圖
運(yùn)動(dòng)控制是基于模塊化設(shè)計(jì)方法進(jìn)行設(shè)計(jì),模塊化設(shè)計(jì)方法是在20世紀(jì)50年代提出的一種現(xiàn)代化設(shè)計(jì)方法,目前模塊化設(shè)計(jì)思維已經(jīng)應(yīng)用十分廣泛,通過(guò)模塊化設(shè)計(jì),可以將一個(gè)復(fù)雜的系統(tǒng)劃分為若干簡(jiǎn)單系統(tǒng)的組合,這些子系統(tǒng)既相互獨(dú)立又密切聯(lián)系,這樣就大大減少開(kāi)發(fā)難度,并且在測(cè)試階段也可進(jìn)行獨(dú)立測(cè)試,待各部分測(cè)試通過(guò)后,再進(jìn)行整機(jī)測(cè)試,對(duì)產(chǎn)品驗(yàn)收效率也有較大提高[4,5]。為了有效提高產(chǎn)品開(kāi)發(fā)效率,本系統(tǒng)采用模塊化設(shè)計(jì)方法將系統(tǒng)分為:機(jī)械結(jié)構(gòu)與運(yùn)動(dòng)模塊、電氣與驅(qū)動(dòng)模塊、速度位置控制程序模塊和運(yùn)動(dòng)軸故障診斷模塊。
3.1 機(jī)械結(jié)構(gòu)與運(yùn)動(dòng)模塊
進(jìn)樣方式是實(shí)現(xiàn)進(jìn)樣自動(dòng)化的關(guān)鍵,根據(jù)進(jìn)樣原理的不同,其傳動(dòng)方案選擇也不同,通常的進(jìn)樣方案分為轉(zhuǎn)盤(pán)進(jìn)樣和直線運(yùn)動(dòng)進(jìn)樣[6]。由于轉(zhuǎn)盤(pán)式進(jìn)樣不能滿足本系統(tǒng)用于多平臺(tái)使用的功能,因此選擇直線運(yùn)動(dòng)進(jìn)樣。運(yùn)動(dòng)機(jī)械結(jié)構(gòu)采用滾珠絲桿螺母導(dǎo)軌,如圖3所示。

圖3 滾珠絲桿示意圖
系統(tǒng)運(yùn)動(dòng)機(jī)械結(jié)構(gòu)主要由4組步進(jìn)電機(jī)及滾珠絲桿螺母導(dǎo)軌組成,設(shè)計(jì)采用多軸實(shí)現(xiàn)進(jìn)樣自動(dòng)化。絲桿螺母具有良好的自鎖性能,能夠使進(jìn)樣針保持在停機(jī)狀態(tài)位置,而且其傳動(dòng)具有良好的直線性、可控性,能夠達(dá)到進(jìn)樣精度要求[7]。4根導(dǎo)軌按照模塊化思維,結(jié)構(gòu)類似僅在尺寸上有所差異,4導(dǎo)軌之間由連接件互相連接。這樣做縮短了設(shè)計(jì)制造周期,提高設(shè)計(jì)質(zhì)量而且有利于設(shè)備維護(hù)。
3.2 電氣與驅(qū)動(dòng)模塊
4組步進(jìn)電機(jī)驅(qū)動(dòng)器都選用ST公司的L6470智能步進(jìn)電機(jī)1-128細(xì)分驅(qū)動(dòng)芯片。其內(nèi)部集成有兩個(gè)低通電阻的DMOS全橋電路和數(shù)字控制內(nèi)核,精確的片上電流檢測(cè)電路有完備的電流控制能力和電流保護(hù),并實(shí)時(shí)反饋當(dāng)前電流值。數(shù)字控制內(nèi)核通過(guò)配置相應(yīng)寄存器能夠?qū)崿F(xiàn)步進(jìn)電機(jī)的加速、勻速和減速等運(yùn)動(dòng)方案。L6470驅(qū)動(dòng)器所有的命令和數(shù)據(jù)寄存器都由一個(gè)標(biāo)準(zhǔn)的SPI接口訪問(wèn)和控制,也可通過(guò)控制PWM脈沖的頻率對(duì)步進(jìn)電機(jī)的速度進(jìn)行控制[8-10]。4個(gè)驅(qū)動(dòng)器模塊其中之一如圖4所示。

圖4 驅(qū)動(dòng)方案示意圖
驅(qū)動(dòng)器L6470通過(guò)SPI接口與STM32F411-RET6進(jìn)行通訊,SPI(Serial Peripheral Interface)接口是Motorola公司推出的4線同步串行外設(shè)總線接口,同步串行4線方式進(jìn)行通信,單向傳輸時(shí)3線即可,分別為:一條時(shí)鐘線SCLK,一條總機(jī)輸入/從機(jī)輸出線MISO,一條總機(jī)輸出/從機(jī)輸入線MOSI,還有一條用于給從機(jī)設(shè)備使能信號(hào)的線CS。
在數(shù)據(jù)傳輸過(guò)程中,通過(guò)主機(jī)和從機(jī)移位寄存器實(shí)現(xiàn),二者連接成環(huán),主機(jī)通過(guò)MOSI先發(fā)送1位數(shù)據(jù),從機(jī)通過(guò)改線讀取1位數(shù)據(jù),相應(yīng)的從機(jī)通過(guò)MISO線發(fā)送1位數(shù)據(jù),主機(jī)通過(guò)該線讀取1位數(shù)據(jù)。當(dāng)寄存器中的內(nèi)容全部移除時(shí),就完成兩個(gè)寄存器內(nèi)容的交換[11,2]。SPI接口的優(yōu)點(diǎn)主要是:支持全雙工操作,數(shù)據(jù)傳輸效率高,雖然其缺點(diǎn)是只能有1個(gè)主機(jī),但這也正符合本系統(tǒng)的設(shè)計(jì)要求。
由于系統(tǒng)工作時(shí)L6470芯片的工作電壓是5V,步進(jìn)電機(jī)的工作電壓是24V,因此需要進(jìn)行電源轉(zhuǎn)換,系統(tǒng)采用的SKIA-120-2K開(kāi)關(guān)電源輸出24V/5V電壓。所用4個(gè)步進(jìn)電機(jī)工作電壓雖都是24V,但其工作電流卻不盡相同,因此需要控制對(duì)應(yīng)驅(qū)動(dòng)芯片L6470的輸出電流,因此需要采用如圖5所示的分壓電路進(jìn)行電流輸出轉(zhuǎn)換。

圖5 分壓電路圖
圖5所示分壓電路輸出電流需通過(guò)式1計(jì)算公式得出。
(1)
其中VCC為電源電壓,這里為5V;R1R1和R2為分壓電阻;Rs=0.25Ω。
3.3 速度位置控制程序模塊
3.3.1 MCU介紹
控制系統(tǒng)采用ST公司STM32F411RET6 MCU,是LQFP64封裝。擁有100MHz CPU頻率,工作電壓為1.7V~3.6V。STM32F411RET6是低功耗、低價(jià)格、高性能的微控制器。基于ARM Cortex-M4的32位MCU內(nèi)核,單周期訪問(wèn)內(nèi)存。內(nèi)存包括:高達(dá)512KB閃存;高達(dá)128KB SRAM;6個(gè)16位TIM包括和2個(gè)32位;實(shí)時(shí)時(shí)鐘,低功耗定時(shí)器,3個(gè)USART模塊,12位ADC模塊,5個(gè)SPI接口。以STM32F411RET6為核心,通過(guò)IO端口引出控制運(yùn)動(dòng)軸運(yùn)動(dòng)。本設(shè)計(jì)主要用到STM32F411-RET6的TIM、USART、GPIO、A/D和SPI模塊[13]。
3.3.2 速度控制程序設(shè)計(jì)
STM32采用KELL MDK5作為控制程序的編譯環(huán)境,KELL MDK5內(nèi)置有豐富STM32固件庫(kù),可以方便地進(jìn)行程序設(shè)計(jì)[14]。為簡(jiǎn)化程序開(kāi)發(fā)難度,采用模塊化思維進(jìn)行速度控制程序設(shè)計(jì),由于控制對(duì)象都是步進(jìn)電機(jī),故采用PWM調(diào)頻調(diào)寬法控制電機(jī)轉(zhuǎn)速,即所給PWM占空比固定為50%,只改變PWM脈沖周期進(jìn)行調(diào)速,STM32F411RET6通過(guò)SPI接口訪問(wèn)或改寫(xiě)L6470內(nèi)部寄存器對(duì)步進(jìn)電機(jī)加速、減速和停止進(jìn)行控制。
STM32F411RET6芯片具有完備的SPI固件庫(kù),在使用時(shí)只需以下幾步設(shè)置即可:
①使能SPI接口對(duì)應(yīng)的IO口控制時(shí)鐘和SPI模塊控制時(shí)鐘;
②配置IO口輸入輸出工作方式,本程序設(shè)置為IO口復(fù)用方式;
③配置SPI工作模式;
④使能SPI模塊。
由于4組步進(jìn)電機(jī)控制方法相同,因此可以將程序集成為一個(gè)模塊,以STM32F411RET6通過(guò)SPI1接口控制X軸運(yùn)動(dòng)舉例,配置程序如下:
先進(jìn)行配置SPI對(duì)應(yīng)的GPIO口,并對(duì)GPIO口和SPI1接口使能,
GPIO_InitTypeDef GPIO_InitStructure;
SPI_InitTypeDef SPI_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_
AHB1Periph_GPIOA, ENABLE);//使能GPIOA時(shí)鐘
RCC_APB2PeriphClockCmd(RCC_
APB2Periph_SPI1, ENABLE);//使能SPI1時(shí)鐘
/* 配置 SPI1引腳: SCK, MISO and MOSI ----------*/
/* 配置 SCK and MOSI 引腳作為推挽上拉輸出 */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6; //PA5~6復(fù)用功能輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; //100MHz
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//復(fù)用功能
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽輸出
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉
GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化
/* 配置 MISO 引腳作為輸入 */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; //PA7復(fù)用功能輸出
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//復(fù)用輸入
GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化
再配置SPI工作模式
SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; //設(shè)置SPI單向或者雙向的數(shù)據(jù)模式:SPI設(shè)置為雙線雙向全雙工
SPI_InitStructure.SPI_Mode = SPI_Mode_Master; //設(shè)置SPI工作模式:設(shè)置為主SPI
SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; //設(shè)置SPI的數(shù)據(jù)大小:SPI發(fā)送接收8位幀結(jié)構(gòu)
SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; //串行同步時(shí)鐘的空閑狀態(tài)為高電平
SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; //串行同步時(shí)鐘的第二個(gè)跳變沿(上升或下降)數(shù)據(jù)被采樣
SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; //NSS信號(hào)由硬件(NSS管腳)還是軟件(使用SSI位)管理:內(nèi)部NSS信號(hào)有SSI位控制
SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_8; //定義波特率預(yù)分頻的值:波特率預(yù)分頻值為8
SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; //指定數(shù)據(jù)傳輸從MSB位還是LSB位開(kāi)始:數(shù)據(jù)傳輸從MSB位開(kāi)始
SPI_InitStructure.SPI_CRCPolynomial = 7; //CRC值計(jì)算的多項(xiàng)式
SPI_Init(SPI1, &SPI_InitStructure); //根據(jù)SPI_InitStruct中指定的參數(shù)初始化外設(shè)SPI1寄存器
最后使能SPI1外設(shè)并啟動(dòng)傳輸
SPI_Cmd(SPI1, ENABLE); //使能SPI外設(shè)
SPI1_ReadWriteByte(0xff);//啟動(dòng)傳輸
此程序?yàn)閱屋S舉例程序,其他軸SPI配置與此軸類似,這樣的模塊化程序設(shè)計(jì),將本來(lái)需要設(shè)計(jì)4根軸對(duì)應(yīng)的程序簡(jiǎn)化到設(shè)計(jì)1個(gè)模塊程序,大大減少程序員的工作量,提高程序運(yùn)行效率。
3.4 運(yùn)動(dòng)軸故障診斷模塊
運(yùn)動(dòng)軸所用步進(jìn)電機(jī)全是兩相四線步進(jìn)電機(jī),工作原理相同。系統(tǒng)根據(jù)L6470驅(qū)動(dòng)器精準(zhǔn)的片上電流檢測(cè)功能,可以根據(jù)反饋的電流值對(duì)系統(tǒng)進(jìn)行實(shí)時(shí)的故障診斷,一旦電流值出現(xiàn)異常,則視情況進(jìn)行分析故障原因,進(jìn)而做出相應(yīng)動(dòng)作維護(hù)系統(tǒng)安全。
預(yù)先在上位機(jī)系統(tǒng)中設(shè)想出因出現(xiàn)故障后電流值所發(fā)生的變化,通過(guò)L6470片上電流檢測(cè)功能將電流值反饋到上位機(jī)與預(yù)設(shè)值進(jìn)行對(duì)比,判斷設(shè)備是否出現(xiàn)異常。常見(jiàn)的步進(jìn)電機(jī)故障有以下幾種:①驅(qū)動(dòng)電源出現(xiàn)問(wèn)題;②負(fù)載過(guò)重造成步進(jìn)電機(jī)失步或停轉(zhuǎn);③驅(qū)動(dòng)步進(jìn)電機(jī)的脈沖頻率過(guò)高,點(diǎn)擊不能及時(shí)相應(yīng);④驅(qū)動(dòng)控制電路產(chǎn)生問(wèn)題;⑤步進(jìn)電機(jī)自身繞組燒壞等問(wèn)題[15]。
由于系統(tǒng)是與多通道平行反應(yīng)裝置和氣相色譜儀配套使用,在儀器安裝時(shí)會(huì)產(chǎn)生零點(diǎn)偏移和軸線傾斜問(wèn)題,為了實(shí)現(xiàn)進(jìn)樣針能夠準(zhǔn)確到達(dá)樣品擺放位置和分析儀器進(jìn)行取樣和進(jìn)樣,就需要一個(gè)精準(zhǔn)的定位方案。
4.1 攝像頭定位原理
攝像頭定位技術(shù)是以機(jī)器視覺(jué)為基礎(chǔ),綜合運(yùn)用光學(xué)傳感、數(shù)字圖像處理、模式識(shí)別、人工智能等技術(shù)的非接觸式定位方法;其定位原理是攝像頭采集二維圖像標(biāo)記,通過(guò)圖像處理、分析和解釋,用以指導(dǎo)機(jī)械運(yùn)動(dòng)到指定位置[16]。
系統(tǒng)選用Aptina(前身為 Micron 半導(dǎo)體的 CMOS Sensor 部門(mén))公司生產(chǎn)的 1/3 英寸面陣 CMOS 傳感器 MT9V032。通過(guò)MT9V032識(shí)別定位標(biāo)記,采集模擬信號(hào),再通過(guò)A/D轉(zhuǎn)換成為數(shù)字圖像。數(shù)字圖像被分割為若干網(wǎng)格,也稱之為像素,每個(gè)數(shù)據(jù)表示給定點(diǎn)的光強(qiáng)度,系統(tǒng)將所獲得的數(shù)字圖像信號(hào)與實(shí)現(xiàn)輸入的標(biāo)準(zhǔn)圖像信號(hào)進(jìn)行對(duì)比,將得出的偏差發(fā)送到控制器,進(jìn)行位置識(shí)別[17]。
4.2 定位標(biāo)記
為了有利于攝像頭進(jìn)行識(shí)別對(duì)準(zhǔn),需要在樣品臺(tái)和分析儀器上面做定位標(biāo)記,常用的定位標(biāo)記有圓環(huán)形、直角形、十字形、三角形等,如圖6所示。一般這些標(biāo)記會(huì)進(jìn)行組合使用,以便測(cè)出平面內(nèi)XY兩個(gè)方向的偏差。本設(shè)計(jì)選用圓環(huán)形和直角形兩種標(biāo)記組合使用,通過(guò)圓環(huán)形檢測(cè)零點(diǎn)偏移位置,直角形檢測(cè)XY平面上軸線傾斜位置。

圖6 定位標(biāo)記
4.3 圖像識(shí)別流程
通過(guò)攝像頭圖像處理技術(shù),首先在樣品臺(tái)和分析儀器上面做定位標(biāo)記,將攝像頭安放在進(jìn)樣針位置,通過(guò)攝像頭識(shí)別定位標(biāo)記,計(jì)算出攝像頭所走坐標(biāo),再與理想定位標(biāo)記位置坐標(biāo)值進(jìn)行比較得出偏差,經(jīng)由上位機(jī)程序計(jì)算偏差,得到新的進(jìn)樣坐標(biāo),實(shí)現(xiàn)進(jìn)樣過(guò)程的精密定位[18]。
在攝像頭圖像處理過(guò)程中,因攝像頭識(shí)別的位置坐標(biāo)和世界坐標(biāo)系之間存在差異,因此要將世界坐標(biāo)系Ow-XwYwZw中的三維空間特征點(diǎn)P(xwywzw)變換到攝像頭坐標(biāo)系O-XYZ中。攝像頭坐標(biāo)系與世界坐標(biāo)系之間存在下式的關(guān)系。
(2)
式中: (x,y,z)為特征點(diǎn)在攝像頭坐標(biāo)系中的坐標(biāo);

在檢測(cè)到安裝位置和理想位置有偏差后,可通過(guò)圖形變換技術(shù)得到新的坐標(biāo),因設(shè)備識(shí)別是在二維平面上,且僅產(chǎn)生零點(diǎn)偏移和軸線傾斜問(wèn)題,因此用到圖形變化技術(shù)中的平移變換和旋轉(zhuǎn)變換[19],其變換矩陣如下所示:
平移變換:

式中M為X方向的平移量,N為Y方向的平移量。
旋轉(zhuǎn)變換:

式中θ為旋轉(zhuǎn)角,逆時(shí)針為正,順時(shí)針為負(fù)。
通過(guò)圖形變換技術(shù),可以將理想坐標(biāo)通過(guò)變換矩陣得到新的坐標(biāo),在經(jīng)由上位機(jī)計(jì)算新坐標(biāo),完成進(jìn)樣動(dòng)作。
自動(dòng)進(jìn)樣器能夠正常工作后,通過(guò)與氣相色譜儀聯(lián)機(jī)試驗(yàn)證明本系統(tǒng)的穩(wěn)定性和實(shí)用性。將自動(dòng)進(jìn)樣器與氣相色譜儀連接后,自動(dòng)進(jìn)樣器開(kāi)始工作,待自動(dòng)進(jìn)樣器將樣品送入氣相色譜儀后,自動(dòng)進(jìn)樣器發(fā)送觸發(fā)信號(hào)給氣相色譜儀,氣相色譜儀接收到外部觸發(fā)信號(hào)后開(kāi)始進(jìn)行分析。表1為實(shí)驗(yàn)數(shù)據(jù),圖7是聯(lián)機(jī)試驗(yàn)后分析某樣品的分析結(jié)果圖。

表1 實(shí)驗(yàn)數(shù)據(jù)

圖7 分析結(jié)果圖
通過(guò)圖7的分析結(jié)果,經(jīng)由實(shí)驗(yàn)員試用后,證明本系統(tǒng)在分析過(guò)程中不會(huì)對(duì)測(cè)試數(shù)據(jù)產(chǎn)生影響,能夠滿足氣相色譜儀分析時(shí)自動(dòng)進(jìn)樣要求。
本文所述自動(dòng)進(jìn)樣器以STM32F411RET6為核心,通過(guò)模塊化設(shè)計(jì)方法,實(shí)現(xiàn)了機(jī)械結(jié)構(gòu)、運(yùn)動(dòng)控制程序及故障診斷的集成,能夠矯正設(shè)備聯(lián)機(jī)過(guò)程中造成的零點(diǎn)偏移和軸線傾斜,實(shí)現(xiàn)進(jìn)樣針的精密定位。通過(guò)與多通道平行反應(yīng)裝置和氣相色譜儀聯(lián)機(jī)試驗(yàn),證明本設(shè)計(jì)研制的自動(dòng)進(jìn)樣器能夠準(zhǔn)確地實(shí)現(xiàn)自動(dòng)進(jìn)樣功能,能夠?qū)崿F(xiàn)故障診斷功能,穩(wěn)定性良好。
[1]Kong F, Zheng Y F, Chen W. Automatic liquid handling for life sciences-A critical review of the current state-of-the-art[C]// IEEE International Conference on Robotics and Biomimetics. IEEE Computer Society, 2009:169-185.
[2] 楊俊. 探究電氣控制系統(tǒng)存在的故障及其保護(hù)措施[J]. 電工技術(shù),理論與實(shí)踐, 2015(6):12-12.
[3] 林家瑞. 微機(jī)式醫(yī)學(xué)儀器設(shè)計(jì)[M]. 武漢:華中科技大學(xué)出版社, 2004:4-6.
[4] Yoo J W, Kumara S R T, Simpson T W. Modular Product Design Using Cyberinfrastructure for Global Manufacturing[J]. Journal of Computing & Information Science in Engineering, 2009, 12(3):101-110.
[5] Kreng V B, Lee T P. Modular product design with grouping genetic algorithm—a case study [J]. Computers & Industrial Engineering, 2004, 46(3):443-460.
[6]李文濤. 多平臺(tái)自動(dòng)進(jìn)樣檢測(cè)系統(tǒng)的設(shè)計(jì)[D]. 中國(guó)地質(zhì)大學(xué)(北京), 2013.
[7]萬(wàn)庚.重型數(shù)控立車橫梁中傳動(dòng)部件和液壓系統(tǒng)設(shè)計(jì)研究[D].湖南大學(xué),2014.
[8]王凱, 韓力立. 采用STM32控制L6470步進(jìn)電機(jī)驅(qū)動(dòng)器[J]. 電子世界, 2012(18):51-52.
[9]L6470 datasheet[EB/OL].ST Ltd.[2011.5].http://www.st.com/dspin.
[10]Fuller B. STMicroelectronics L6470 dSpin motor controllers[J].J.am.chem.soc, 2011, 9(3):99-102.
[11]楊美剛, 李小文. SPI接口及其在數(shù)據(jù)交換中的應(yīng)用[J]. 通信技術(shù), 2007, 40(11):385-387.
[12]http://baike.baidu.com/link?url=d_iNri_D0IwAGEHERofWe88dgAikmVRA7jcBk-PmjGdDbvGtlAHDYUGHI3MSqA_IhLwto8qzao6Ah1RSJ078Za.
[13]ST:STM32F411xC STM32F411xE. http://www. st. com.
[14]張明華. 基于固件庫(kù)的STM32F107的程序設(shè)計(jì)方法探討[J]. 數(shù)字技術(shù)與應(yīng)用, 2014(12):171-171.
[15]劉希璐, 李世良. 步進(jìn)電機(jī)常見(jiàn)故障的分析和排查[J]. 黑龍江科技信息, 2012(21):38-38.
[16]李剛. 基于機(jī)器視覺(jué)的密集復(fù)雜物體識(shí)別與定位[D]. 哈爾濱工業(yè)大學(xué), 2013.
[17] Jia X, Cui J, Xue D, et al. Near infrared vein image acquisition system based on image quality assessment[C]// International Conference on Electronics, Communications and Control. 2011:922-925.
[18]霍亮生,顧祖寶,吳垚.機(jī)器視覺(jué)技術(shù)對(duì)紙質(zhì)包裝切割壓痕設(shè)備控制性能的改進(jìn)設(shè)計(jì)[J].食品科學(xué)學(xué)報(bào),2013,(06):72-75.
[19]葛友華. CAD/CAM技術(shù)[M]. 北京:機(jī)械工業(yè)出版社, 2004:56-69.
Development of an automatic sampling device based on STM32.
Huo Liangsheng,Li Yuefeng,Zhao Xiong,Liu Hui
(School of Materials and Mechanical Engineering,Beijing Technology and Business University, Beijing 100048,China)
This paper elaborates a new type of automatic sampleing device, which can be used in many kinds of analytical apparatuses. This system adopts SPI of the Microcontroller STM32F411RET6 to control four stepper motors. The pathways of the four motors are controlled by computer program. The interface of camera model and relevant program are also introduced into this system, by which the positioning deviation resulted from zero offset and axis tilt can also be corrected precisely. In addition, this type of device has the ability of self-diagnosis even during the process of operation.
stepper motor; automatic sampling device; analytical instrument; modular design
霍亮生,博士,教授,北京工商大學(xué)機(jī)械工程學(xué)院,碩士研究生導(dǎo)師,1982年7月畢業(yè)于南京航空航天大學(xué),獲學(xué)士學(xué)位,1985年10月于中北大學(xué)獲碩士學(xué)位,2002年10月于北京理工大學(xué)獲博士學(xué)位。曾在中北大學(xué)、太原理工大學(xué)任教,2003年調(diào)入北京工商大學(xué),主要從事汽車電子工程、計(jì)算機(jī)及數(shù)字控制技術(shù)、智能控制技術(shù)等方面的教學(xué)和科研工作。
10.3936/j.issn.1001-232x.2017.02.002
2016-11-11