国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

自動(dòng)移液系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2023-12-18 08:58:04杜勝宇趙子愷饒賓期王棟益
現(xiàn)代電子技術(shù) 2023年24期
關(guān)鍵詞:移液主控板安卓

杜勝宇, 趙子愷, 饒賓期, 黃 哲, 王棟益

(中國(guó)計(jì)量大學(xué) 機(jī)電工程學(xué)院, 浙江 杭州 310018)

0 引 言

在現(xiàn)代生物學(xué)實(shí)驗(yàn)、化學(xué)實(shí)驗(yàn)中,液體的處理起著核心作用[1]。實(shí)驗(yàn)室的液體樣品制備步驟非常耗時(shí)、繁瑣且重復(fù),對(duì)通量、精準(zhǔn)度和效率有比較高的要求[2]。精確的液體處理是必不可少的操作。傳統(tǒng)的手動(dòng)移液方式需要操作員用手動(dòng)移液槍把樣本液體從源試管移到目標(biāo)試管中,操作效率較低而且容易引入實(shí)驗(yàn)誤差,造成樣本液體的污染,在需要處理大量樣本液體的場(chǎng)景下無(wú)法滿(mǎn)足快速準(zhǔn)確的要求[1-3]。因此,自動(dòng)移液系統(tǒng)的開(kāi)發(fā)和應(yīng)用成為化學(xué)分析和生物醫(yī)學(xué)實(shí)驗(yàn)的研究熱點(diǎn)。自動(dòng)移液系統(tǒng)可以實(shí)現(xiàn)自動(dòng)化移液操作,不僅可以提高操作效率和準(zhǔn)確性,還可以大大降低實(shí)驗(yàn)操作的難度和復(fù)雜度。李增設(shè)計(jì)了以機(jī)械臂為主要結(jié)構(gòu)的全自動(dòng)移液工作站,集成化程度高,提高了移液效率,但系統(tǒng)較為復(fù)雜,移液精度不夠高[4];魏翱翔設(shè)計(jì)了基于STM32F1系列芯片、步進(jìn)電機(jī)、傳感器和移液泵等的全自動(dòng)移液工作站,移液效率高,同時(shí)還實(shí)現(xiàn)了對(duì)系統(tǒng)壓力的監(jiān)測(cè),但是缺乏對(duì)移液狀態(tài)的監(jiān)測(cè)[5]。李錦赫設(shè)計(jì)了微流量移液工作站,移液精度高,人機(jī)交互性強(qiáng),但目前只針對(duì)銀基催化的高通量移液工作,兼容性不夠好[6]。

本文提出了一種以ESP32 為主控方案,使用步進(jìn)電機(jī)組帶動(dòng)移液槍和掃碼器進(jìn)行移液和掃碼操作,使用安卓上位機(jī)進(jìn)行系統(tǒng)的邏輯控制和人機(jī)交互。對(duì)步進(jìn)電機(jī)控制算法進(jìn)行研究,實(shí)現(xiàn)了步進(jìn)電機(jī)多軸聯(lián)動(dòng)和速度規(guī)劃,提高了系統(tǒng)穩(wěn)定性和移液精度。

1 系統(tǒng)整體框架設(shè)計(jì)

1.1 移液系統(tǒng)設(shè)計(jì)

移液系統(tǒng)架構(gòu)圖如圖1 所示,整個(gè)系統(tǒng)分為嵌入式硬件平臺(tái)、機(jī)械設(shè)備和嵌入式軟件系統(tǒng)三部分。

圖1 移液系統(tǒng)架構(gòu)

1.2 機(jī)械結(jié)構(gòu)設(shè)計(jì)

自動(dòng)移液系統(tǒng)的機(jī)械結(jié)構(gòu)如圖2 所示,整個(gè)系統(tǒng)的機(jī)械結(jié)構(gòu)分為移液部分和掃碼部分,移液部分主要有源試管架、槍頭架、目標(biāo)試管架、廢料盒、xyz三軸步進(jìn)電機(jī)和移液槍等部件;掃碼部分主要有xy兩軸步進(jìn)電機(jī)和掃碼器等部件。

圖2 自動(dòng)移液系統(tǒng)機(jī)械結(jié)構(gòu)

1.3 嵌入式硬件平臺(tái)設(shè)計(jì)

圖3 所示為嵌入式硬件平臺(tái)的結(jié)構(gòu)框圖,移液系統(tǒng)的嵌入式硬件部分主要包括ESP32 主控板、電機(jī)驅(qū)動(dòng)板、繼電器板。ESP32 主控板是嵌入式硬件平臺(tái)的核心,負(fù)責(zé)處理系統(tǒng)中的各種信息;電機(jī)驅(qū)動(dòng)板驅(qū)動(dòng)步進(jìn)電機(jī)轉(zhuǎn)動(dòng),從而帶動(dòng)移液槍和掃碼器移動(dòng)到指定位置進(jìn)行移液和掃碼操作;繼電器板則是用來(lái)控制一些外接設(shè)備的通斷,比如照明燈帶、紫外線燈等設(shè)備。

圖3 嵌入式硬件平臺(tái)結(jié)構(gòu)框圖

2 自動(dòng)移液系統(tǒng)工作流程

自動(dòng)移液系統(tǒng)工作流程如圖4 所示,安卓上位機(jī)創(chuàng)建掃碼工單,通過(guò)超文本傳輸協(xié)議(Hyper Text Transfer Protocol, HTTP)把工單傳輸給負(fù)責(zé)掃碼部分的ESP32主控板,其解析工單數(shù)據(jù)得到需要掃碼的源試管的位置,驅(qū)動(dòng)步進(jìn)電機(jī)把掃碼器帶到指定位置進(jìn)行二維碼掃描操作,待所有二維碼掃描完畢,把二維碼信息和坐標(biāo)信息關(guān)聯(lián)后打包,通過(guò)HTTP 協(xié)議上報(bào)給安卓上位機(jī)。安卓上位機(jī)通過(guò)人機(jī)界面把掃描的二維碼信息展示給用戶(hù),根據(jù)用戶(hù)的選擇來(lái)創(chuàng)建移液工單,并通過(guò)HTTP協(xié)議下發(fā)移液工單給移液部分的ESP32 主控板,其解析工單數(shù)據(jù)得到移液步驟,驅(qū)動(dòng)xyz三軸步進(jìn)電機(jī)和移液槍執(zhí)行相應(yīng)的步驟,每完成一個(gè)步驟給安卓上位機(jī)上報(bào)一組移液的數(shù)據(jù)包。

圖4 自動(dòng)移液系統(tǒng)工作流程

3 自動(dòng)移液系統(tǒng)嵌入式硬件平臺(tái)

3.1 ESP32 主控板

ESP32 主控板主要包括ESP32 核心電路、RS 485 電路、輸入/輸出(Input/Output, I/O)擴(kuò)展電路和限位開(kāi)關(guān)等。圖5 所示為ESP32 主控板原理框圖,ESP32 是一款由樂(lè)鑫科技(Espressif Systems)開(kāi)發(fā)的低功耗、高性能的無(wú)線保真(Wireless Fidelity, WiFi)和藍(lán)牙雙模系統(tǒng)芯片[7]。移液系統(tǒng)選擇ESP32 作為主控核心的主要原因是其內(nèi)置高性能WiFi,便于和安卓上位機(jī)進(jìn)行通信。ESP32 主控板采用了低功耗技術(shù),可以長(zhǎng)時(shí)間穩(wěn)定運(yùn)行,支持多種睡眠模式[8],不足之處是I/O 口較少,用來(lái)作為移液系統(tǒng)的核心控制器I/O 口資源比較緊張,所以該移液系統(tǒng)采用I/O 擴(kuò)展電路實(shí)現(xiàn)ESP32 I/O 口的擴(kuò)展。

圖5 ESP32 主控板原理框圖

圖6 所示為ESP32 控制板的I/O 擴(kuò)展電路圖,采用了74HC595D 芯片實(shí)現(xiàn)I/O 口擴(kuò)展功能。74HC595D 是8 位串行輸入、8 位并行輸出的移位寄存器,它可以將串行輸入的數(shù)據(jù)轉(zhuǎn)換為并行輸出,通過(guò)這種方式實(shí)現(xiàn)擴(kuò)展I/O 口的目的。

圖6 I/O 擴(kuò)展電路圖

RS 485 模塊電路圖如圖7 所示,RS 485 通信硬件設(shè)計(jì)簡(jiǎn)單、應(yīng)用廣泛[9],它是一種串行通信協(xié)議,可以實(shí)現(xiàn)多個(gè)設(shè)備之間的通信,采用半雙工的通信方式,同一時(shí)刻數(shù)據(jù)只能向一個(gè)方向流動(dòng),所以數(shù)據(jù)的發(fā)送和接收不能同時(shí)進(jìn)行。它還可以實(shí)現(xiàn)多點(diǎn)通信,在一條RS 485總線上可以連接多個(gè)地址不同的設(shè)備。由于RS 485 使用兩條相互獨(dú)立的傳輸線,通過(guò)兩條線的電平差來(lái)傳遞數(shù)據(jù),所以具有良好的抗干擾能力。

圖7 RS 485 模塊電路圖

除上述模塊,ESP32 主控板還提供了限位開(kāi)關(guān)接口,作為移液系統(tǒng)的邊界標(biāo)識(shí)點(diǎn)。限位開(kāi)關(guān)可以檢測(cè)步進(jìn)電機(jī)是否到達(dá)預(yù)定位置或者已經(jīng)超過(guò)最大位置,從而保障移液系統(tǒng)的穩(wěn)定運(yùn)行。

3.2 電機(jī)驅(qū)動(dòng)板

電機(jī)驅(qū)動(dòng)板提供兩路步進(jìn)電機(jī)的控制,可以通過(guò)撥碼開(kāi)關(guān)調(diào)節(jié)電流、步進(jìn)電機(jī)細(xì)分等。該電路采用了TMC2160-TA 這款高性能的步進(jìn)電機(jī)驅(qū)動(dòng)芯片,圖8 為該芯片的引腳圖,它支持1 256 步進(jìn)分辨率,可以實(shí)現(xiàn)高精度的步進(jìn)控制。在實(shí)現(xiàn)高精度的基礎(chǔ)上,它可以輸出4 A 的大電流來(lái)驅(qū)動(dòng)更高功率的步進(jìn)電機(jī),具有過(guò)流、過(guò)壓等保護(hù),提高了移液系統(tǒng)的安全性。

圖8 TMC2160-TA 引腳圖

3.3 繼電器板

繼電器板主要實(shí)現(xiàn)了多路的繼電器輸出,可以控制一些外圍開(kāi)關(guān)設(shè)備的通斷,其中一路繼電器電路圖如圖9 所示。

圖9 一路繼電器電路圖

4 自動(dòng)移液系統(tǒng)嵌入式軟件系統(tǒng)

4.1 ESP32 主控板程序

ESP32 主控板移液程序流程如圖10 所示,程序進(jìn)行一系列的初始化后,在主循環(huán)中等待安卓上位機(jī)的下發(fā)指令,根據(jù)指令選擇功能驅(qū)動(dòng)步進(jìn)電機(jī)轉(zhuǎn)動(dòng)。步進(jìn)電機(jī)的控制是ESP32 主控板程序的關(guān)鍵,其中最重要的是步進(jìn)電機(jī)的速度規(guī)劃和多軸聯(lián)動(dòng)。

圖10 移液程序流程

4.1.1 速度規(guī)劃

自動(dòng)移液系統(tǒng)對(duì)步進(jìn)電機(jī)的控制精度和穩(wěn)定性有比較高的要求,它需要步進(jìn)電機(jī)能夠穩(wěn)定、準(zhǔn)確地把移液槍和掃碼器移動(dòng)到指定的位置,從而進(jìn)行掃碼和移液操作。如果步進(jìn)電機(jī)出現(xiàn)失步情況,就會(huì)造成掃碼器讀不到對(duì)應(yīng)的二維碼信息或者移液槍吸液、吐液不準(zhǔn)確的問(wèn)題,甚至?xí)?duì)移液槍和掃碼器產(chǎn)生不可逆的損傷。對(duì)步進(jìn)電機(jī)進(jìn)行速度規(guī)劃可以解決這些問(wèn)題,由于成本和硬件資源的限制,本系統(tǒng)使用開(kāi)環(huán)的方式控制步進(jìn)電機(jī)的速度,主要對(duì)步進(jìn)電機(jī)的加減速過(guò)程進(jìn)行研究。常見(jiàn)的速度規(guī)劃算法有梯形加減速算法、拋物線加減速算法、五段式S 曲線加減速算法和七段式S 曲線加減速算法[10-11]。根據(jù)表1 中速度規(guī)劃算法的對(duì)比以及ESP32 硬件資源的限制,本文系統(tǒng)選擇五段式S 曲線加減速算法來(lái)進(jìn)行速度規(guī)劃。

表1 速度規(guī)劃方法對(duì)比

圖11 所示是五段S 曲線加減速的特性曲線,其中T1為加加速階段,T2為減加速階段,T3為勻速階段,T4為加減速階段,T5為減減速階段。五段S 曲線加減速具有對(duì)稱(chēng)特性,所以可以得到T1=T2,T4=T5。

圖11 五段S 曲線加減速算法特性曲線

在進(jìn)行S 曲線加減速過(guò)程中,起點(diǎn)速度記為vs,加加速度記為J,可以得到加加速度-時(shí)間、速度-時(shí)間、加速度-時(shí)間和路程-時(shí)間的關(guān)系式為:

如式(1)~式(4)所示,只要確定T1、T3、T4的值,上述公式的所有值都可以確定。在自動(dòng)移液系統(tǒng)的步進(jìn)電機(jī)速度控制過(guò)程中,初速度和末速度是相同的,加速過(guò)程和減速過(guò)程互為倒序,所以加速過(guò)程和減速過(guò)程的時(shí)間可以看成是一致的,能夠得到T1=T4。加加速度、最大加速度、最大速度以及距離都是人為設(shè)定的已知量,通過(guò)這些參數(shù)就可以得到T1、T3、T4的值,從而得到整個(gè)五段式S 曲線加減速過(guò)程的速度。距離設(shè)置為20 m,最大速度設(shè)置為10 m/s,最大加速度設(shè)置為20 m/s2,最大加加速度設(shè)置為30 m/s3,采用Matlab 對(duì)五段S 曲線加減速過(guò)程進(jìn)行仿真,得到的距離-時(shí)間、速度-時(shí)間、加速度-時(shí)間和加加速度-時(shí)間曲線如圖12 所示。

圖12 五段式S 曲線加減速算法仿真曲線

4.1.2 多軸聯(lián)動(dòng)

自動(dòng)移液系統(tǒng)涉及到多軸步進(jìn)電機(jī),其中移液部分有xyz三軸步進(jìn)電機(jī),掃碼部分有xy兩軸步進(jìn)電機(jī)。傳統(tǒng)方法往往是把各軸的步進(jìn)電機(jī)進(jìn)行單獨(dú)的控制,先控制x軸電機(jī)轉(zhuǎn)動(dòng),再控制y軸電機(jī)轉(zhuǎn)動(dòng),最后控制z軸電機(jī)轉(zhuǎn)動(dòng)。該方法控制效率低下,不符合自動(dòng)移液系統(tǒng)高效率、高精度的步進(jìn)要求,所以本文提出一種基于布雷森漢姆(Bresenham)直線算法的多軸電機(jī)聯(lián)動(dòng)算法。

在計(jì)算機(jī)圖形學(xué)中,Bresenham 直線算法被廣泛用于位圖圖像中繪制直線[12],由Jack E.Bresenham在1962年發(fā)明。這個(gè)算法相比于其他直線算法,例如數(shù)值微分算法和中點(diǎn)畫(huà)線法,具有更快的速度和更小的計(jì)算成本。該算法的基本思想是從起點(diǎn)開(kāi)始逐個(gè)選擇直線上離目標(biāo)點(diǎn)最近的像素點(diǎn)進(jìn)行繪制。在繪制過(guò)程中,利用差分算法來(lái)計(jì)算直線的路徑,規(guī)避除法運(yùn)算,從而得到精確的結(jié)果[13]。

根據(jù)直線斜率,可以得到以x軸步進(jìn)或y軸步進(jìn)為基準(zhǔn)的初始直線,如圖13 所示。斜率k的絕對(duì)值|k|<1,同時(shí)假設(shè)步長(zhǎng)為1,在畫(huà)直線時(shí),當(dāng)前的點(diǎn)是(xi,y)i,第i+1 個(gè)位置可能是(xi+ 1,y)i或(xi+ 1,yi+ 1),這取決于yi和yi+ 1 與實(shí)際y坐標(biāo)的距離,選取近的作為第i+1 個(gè)位置[14]。

圖13 初始直線示意圖

首先設(shè)直線的方程為y=kx+b,yi和實(shí)際y的距離為d1:式中k是不確定的變量,它可能引入浮點(diǎn)數(shù)從而增加計(jì)算難度。直線的起始坐標(biāo)和終點(diǎn)坐標(biāo)值已知,所以通過(guò)起始坐標(biāo)和終點(diǎn)坐標(biāo)值可以得k=dy dx。

為了消除浮點(diǎn)數(shù)的影響,將式(7)左右兩邊同乘以dx可以構(gòu)建一個(gè)pi,公式如下:

基于式(10),可以用循環(huán)迭代來(lái)計(jì)算pi的值,代入起始坐標(biāo)點(diǎn)可以得到p1= 2dy-dx,最終得出:

把式(11)和式(12)結(jié)論應(yīng)用到步進(jìn)電機(jī)組上就可以達(dá)到多軸聯(lián)動(dòng)的目的。Bresenham 算法程序流程如圖14 所示。

圖14 Bresenham 算法程序流程

用移液部分的xyz三軸來(lái)舉例,假設(shè)初始位置為(1,2,3),目標(biāo)位置是(20,8,9),此時(shí)步長(zhǎng)最大的軸為x軸電機(jī),所以運(yùn)用上述Bresenham 算法x軸步進(jìn)1 步,y軸和z軸電機(jī)不步進(jìn)或者步進(jìn)1 步。圖15 為Matlab 對(duì)該過(guò)程的仿真軌跡,其中實(shí)線為使用Bresenham 算法插補(bǔ)后的軌跡,虛線則為未進(jìn)行插補(bǔ)的初始直線軌跡。

圖15 Bresenham 算法直線插補(bǔ)軌跡

4.2 安卓上位機(jī)

安卓上位機(jī)使用Java 語(yǔ)言和XML 語(yǔ)言進(jìn)行開(kāi)發(fā),開(kāi)發(fā)環(huán)境是Idea 搭建的安卓開(kāi)發(fā)環(huán)境。

上位機(jī)主要有主界面、工單界面、移液槍調(diào)試界面和系統(tǒng)調(diào)試界面,如圖16 所示,主要實(shí)現(xiàn)一對(duì)一移液模式、多對(duì)多移液模式、空跑、單步調(diào)試和工單導(dǎo)出等功能。使用HTTP 協(xié)議和ESP32 控制板進(jìn)行通信,是自動(dòng)移液系統(tǒng)的控制核心。

圖16 安卓上位機(jī)界面

5 自動(dòng)移液系統(tǒng)實(shí)驗(yàn)研究

自動(dòng)移液系統(tǒng)使用的移液槍為ADP1000,它是一款高精度的微量移液模塊。為驗(yàn)證本文設(shè)計(jì)系統(tǒng)的合理性,使用自動(dòng)移液系統(tǒng)進(jìn)行移液實(shí)驗(yàn),測(cè)試條件為:在室溫下使用純凈水作為待測(cè)溶液,選擇200 μL 的槍頭,分別進(jìn)行50 μL 和100 μL 的移液實(shí)驗(yàn)各10 組,其中每種容量分別使用底部吸液模式和液面探測(cè)、液面跟隨吸液模式,每次實(shí)驗(yàn)后更換槍頭。采用如下步驟來(lái)進(jìn)行測(cè)試:

1) 移液槍初始化;

2) 一次回吸空氣;

3) 吸液;

4) 二次回吸空氣;

5) 吐液;

6) 退槍頭。

使用圖17 所示的TP-214 高精度電子天平來(lái)測(cè)試吐液量,每次測(cè)試前先對(duì)深孔板進(jìn)行稱(chēng)重,使用此重量作為標(biāo)準(zhǔn),完成實(shí)驗(yàn)后再進(jìn)行稱(chēng)重得到實(shí)際的吐液量。表2 所示為移液實(shí)驗(yàn)所測(cè)得的數(shù)據(jù)。

表2 移液實(shí)驗(yàn)數(shù)據(jù)

圖17 電子天平測(cè)量圖

使用這4 組數(shù)據(jù)分別計(jì)算準(zhǔn)確性A和精密度CV,準(zhǔn)確度和精密度的公式如下:

式中:Cavg表示每組10 個(gè)數(shù)據(jù)的平均值;Cmax表示每組數(shù)據(jù)的最大偏差值;SD 表示標(biāo)準(zhǔn)差。

計(jì)算數(shù)據(jù)如表3 所示。實(shí)測(cè)發(fā)現(xiàn)4 組測(cè)試結(jié)果的準(zhǔn)確性都小于2.00%,精密度均滿(mǎn)足0.75%的要求;使用液面探測(cè)、液面跟隨測(cè)試的數(shù)據(jù)組的準(zhǔn)確性和精密度都好于底部吸液數(shù)據(jù)組,這是由于底部吸液槍頭側(cè)壁容易掛液,所以吐液容量相比正常設(shè)置的吐液量會(huì)偏大。

表3 計(jì)算數(shù)據(jù)

6 結(jié) 語(yǔ)

本文從機(jī)械設(shè)備、嵌入式硬件平臺(tái)和嵌入式軟件系統(tǒng)這三部分介紹了自動(dòng)移液系統(tǒng)的設(shè)計(jì)。嵌入式硬件平臺(tái)主要是ESP32 主控板、電機(jī)驅(qū)動(dòng)板和繼電器板,嵌入式軟件系統(tǒng)主要是安卓上位機(jī)和ESP32 主控板程序。本文使用Bresenham 直線算法和五段S 曲線加減速算法來(lái)控制步進(jìn)電機(jī)組,實(shí)現(xiàn)了步進(jìn)電機(jī)多軸聯(lián)動(dòng)和平滑加減速,提高了系統(tǒng)移液的效率和精度。最后通過(guò)移液實(shí)驗(yàn)驗(yàn)證了本文系統(tǒng)的可行性。

后續(xù)主要從兩個(gè)方面對(duì)本文系統(tǒng)進(jìn)行研究:一方面進(jìn)行更多的移液實(shí)驗(yàn),根據(jù)結(jié)果對(duì)移液系統(tǒng)進(jìn)行更深入的研究,進(jìn)一步提高移液精度;另一方面,完善人機(jī)交互的細(xì)節(jié),添加自動(dòng)移液過(guò)程中出現(xiàn)異常情況的報(bào)警機(jī)制。

注:本文通訊作者為趙子愷。

猜你喜歡
移液主控板安卓
超聲移液及微量移液技術(shù)進(jìn)展和展望
一種自動(dòng)稱(chēng)重移液設(shè)備設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2022年13期)2022-08-02 10:11:16
一種快速可靠的主控冗余及切換機(jī)制的設(shè)計(jì)與實(shí)現(xiàn)
文物表情包
你一直想知道的移液知識(shí)
升級(jí)雙主控板交換機(jī)ISO
一種基于安卓系統(tǒng)的手機(jī)側(cè)抓包分析方法
變頻器檢測(cè)臺(tái)的設(shè)計(jì)、制作及主控板的維修
電子制作(2016年11期)2016-11-07 08:43:30
有關(guān)移液槍使用方法對(duì)移液準(zhǔn)確性影響的討論
安卓L未至安卓M來(lái)了!安卓首泄漏M系統(tǒng)
桂东县| 潜江市| 西昌市| 阳原县| 唐山市| 大厂| 扎囊县| 边坝县| 安陆市| 井陉县| 巴东县| 育儿| 阿拉善右旗| 永宁县| 镇平县| 塔河县| 田阳县| 肥乡县| 福州市| 红桥区| 濮阳市| 措美县| 白银市| 黄山市| 依安县| 象山县| 柏乡县| 林西县| 莎车县| 从化市| 澎湖县| 莱州市| 牙克石市| 丹凤县| 万载县| 扶余县| 乐业县| 基隆市| 永定县| 思南县| 西吉县|