雷琳 李克儉 蔡啟仲 潘紹明
摘 要:針對醫(yī)用的微量注射需定時(shí)、定量,流量速度范圍可調(diào)節(jié)等控制問題,提出一種基于FPGA的微量注射泵設(shè)計(jì)方法:以FPGA為控制核心,以壓力傳感器和光電編碼器作為檢測裝置的微量注射泵,采用步進(jìn)電機(jī)驅(qū)動(dòng)器2MD320控制步進(jìn)電機(jī)帶動(dòng)絲桿旋轉(zhuǎn),絲桿旋轉(zhuǎn)一圈推動(dòng)滑塊移動(dòng)1 mm.分析研究了驅(qū)動(dòng)脈沖個(gè)數(shù)、注射容量、檢測計(jì)數(shù)值之間的關(guān)系,給出了脈沖補(bǔ)償?shù)姆椒ǎ瑢?shí)現(xiàn)對微量藥液的智能精密注射.經(jīng)驗(yàn)證,該微量泵能按需設(shè)定注射時(shí)間,控制設(shè)定注射流量速度范圍為0.001 mL/min~0.999 mL/min,可匹配不同容量的注射器.
關(guān)鍵詞:微量注射泵;FPGA;步進(jìn)電機(jī);光電編碼器
中圖分類號(hào):TP332;R197.39 文獻(xiàn)標(biāo)志碼:A
0 引言
微量注射泵是應(yīng)用于工業(yè)生產(chǎn)、實(shí)驗(yàn)室以及醫(yī)院的一種微流量供給裝置,主要用于精密流體傳輸,可避免人為操作的誤差和不確定性[1].微量注射泵操作便捷、定時(shí)、定量,可準(zhǔn)確、安全、有效地配合醫(yī)生搶救,亦可用于獸藥注射;因此,注射泵的市場前景廣闊[2].
國內(nèi)外微量注射泵,面臨的難點(diǎn)是精度不夠和成本比較高.市面上微量泵的基本功能有:快速推注功能,總量查詢功能,報(bào)警提示功能,流速選擇功能[3-4].技術(shù)指標(biāo)為:以容量為10 mL注射器為例,最大流速為200 mL/h,注射速率為0.1 mL/h~199.9 mL/h,流速精確度1%以內(nèi).本文應(yīng)用FPGA研究與開發(fā)的微量注射泵的技術(shù)指標(biāo):以10 mL注射器為例,最大流速為642.85 mL/h,可設(shè)定的注射速率為0.001 mL/min~0.999 mL/min(0.06 mL/h~59.94 mL/h),誤差小于1%.本文設(shè)計(jì)的微量注射泵滿足市面上微量泵的基本功能,并且增加了定時(shí)注射功能,通過定時(shí)可方便了解注射時(shí)間,定時(shí)定速可有效控制注射總量,是一種具有操作簡單,流速穩(wěn)定,定時(shí)定量精度高,速度可調(diào)節(jié)等特點(diǎn)的新型醫(yī)療儀器.
1 系統(tǒng)總體設(shè)計(jì)
設(shè)計(jì)的微量注射泵由輸入鍵盤,傳感器,F(xiàn)PGA控制模塊,步進(jìn)電機(jī)驅(qū)動(dòng)及步進(jìn)電機(jī),液晶顯示,聲光報(bào)警狀態(tài)顯示,存儲(chǔ)模塊和USB通信接口等組成,其整體連接如圖1所示.
圖1中,4×4鍵盤、液晶顯示和聲光報(bào)警狀態(tài)顯示模塊構(gòu)成人機(jī)界面.4×4鍵盤主要用于設(shè)定注射時(shí)長與注射流速v,選定注射器型號(hào)與時(shí)間單位,運(yùn)行控制與暫停注射.暫停注射時(shí)可以更改設(shè)定速度值.可自定義10組常用的注射設(shè)定值通過鍵盤選擇快捷操作.
設(shè)定參數(shù)過程中通過液晶顯示和led燈觀測當(dāng)前的設(shè)定值與系統(tǒng)的運(yùn)行狀態(tài),電機(jī)運(yùn)行過程中,液晶顯示已注射總量和剩余時(shí)間.注射完成后led燈亮和蜂鳴器發(fā)出蜂鳴聲予以提醒.
FPGA內(nèi)部設(shè)計(jì)一個(gè)存儲(chǔ)模塊,用于存儲(chǔ)設(shè)定的速度值和時(shí)間值.USB通信接口可以與計(jì)算機(jī)通信[5-7],用于傳輸設(shè)定的值與注射總量.
傳感器模塊包括光電編碼器[8-13]和壓力傳感器.光電編碼器與步進(jìn)電機(jī)構(gòu)成閉環(huán)系統(tǒng),采用OMRON公司的E6A2-CWZ6C編碼器,光電編碼器精度為1 000脈沖/轉(zhuǎn).
壓力傳感器采用電阻應(yīng)變式壓力傳感器,應(yīng)用LM358放大調(diào)理,再經(jīng)過ADS1242進(jìn)行AD采樣傳輸給FPGA主控芯片.根據(jù)不同的注射器容量設(shè)定不同的閾值,當(dāng)壓力值超過閾值時(shí)觸發(fā)堵塞保護(hù)的功能,蜂鳴器報(bào)警,電機(jī)停轉(zhuǎn).
采用2MD320步進(jìn)電機(jī)驅(qū)動(dòng)器控制步進(jìn)電機(jī)的運(yùn)轉(zhuǎn),絲桿旋轉(zhuǎn)推動(dòng)滑塊和壓力傳感器模塊移動(dòng).
2 FPGA控制模塊設(shè)計(jì)
2.1 注射精度控制
注射過程中要求電機(jī)勻速運(yùn)轉(zhuǎn),流速穩(wěn)定,對不同容量的注射器其注射的流量速度應(yīng)與設(shè)定速度一致.
設(shè)計(jì)選用的絲桿導(dǎo)程為1 mm,步進(jìn)電機(jī)轉(zhuǎn)動(dòng)一圈推動(dòng)滑塊水平移動(dòng)1 mm. 2MD320步進(jìn)電機(jī)驅(qū)動(dòng)器能夠?qū)崿F(xiàn)1/128細(xì)分,步進(jìn)電機(jī)每轉(zhuǎn)一圈需要25 600脈沖,一個(gè)脈沖轉(zhuǎn)動(dòng)1.8°/128.
不同容量注射器長度與容量對應(yīng)關(guān)系如表1所示.根據(jù)設(shè)定的注射速度值(即流量速度)與注射器容量確定控制步進(jìn)電機(jī)的期望脈沖數(shù).由于不同容量的注射器橫截面積不同,所以對于設(shè)定的流量速度v(v=橫截面積×單位時(shí)間的水平位移)對應(yīng)的單位時(shí)間脈沖數(shù)pul也不同.v的取值范圍為0~999,單位為μL/min.設(shè)定步進(jìn)電機(jī)驅(qū)動(dòng)模塊的基準(zhǔn)時(shí)鐘為25.6 kHz,則對應(yīng)基準(zhǔn)時(shí)鐘,驅(qū)動(dòng)模塊每min可輸出25 600×60個(gè)脈沖,步進(jìn)電機(jī)每min轉(zhuǎn)60圈,對應(yīng)的滑塊移動(dòng)的水平距離為60 mm, 即滑塊移動(dòng)的速度為60 mm/min, 對容量為1mL注射器,其流量速度v=(1 mL/58 mm)×60 mm/min, 即: 對應(yīng)基準(zhǔn)時(shí)鐘的流量速度最大且vmax=60/58(mL/min), 同理, 對容量為2 mL,5 mL,10 mL注射器流量速度最大值vmax分別為60/16,60/8.4,60/5.6(mL/min),流量速度最大值即快速推注時(shí)的系統(tǒng)最大速度.在流速選擇功能下要求注射泵按照設(shè)定速度值v注射,因此需要對輸出的脈沖進(jìn)行處理,每s需要的脈沖數(shù)應(yīng)該為基準(zhǔn)時(shí)鐘的v/vmax倍,即對應(yīng)速度值v,電機(jī)驅(qū)動(dòng)每秒輸出的脈沖數(shù)pul應(yīng)為:
為了保證注射流速穩(wěn)定,將 pul/s個(gè)脈沖分為25.6個(gè)周期輸出,參照基準(zhǔn)時(shí)鐘每1 000個(gè)脈沖輸出v個(gè)脈沖.據(jù)此,設(shè)定速度值計(jì)數(shù)器cnt1,計(jì)數(shù)范圍為0~1 000,當(dāng)cnt1
由于步進(jìn)電動(dòng)機(jī)自身及所帶負(fù)載存在慣性,電機(jī)有可能在起動(dòng)時(shí)出現(xiàn)丟步,在停止時(shí)發(fā)生越步.為了監(jiān)測電機(jī)運(yùn)轉(zhuǎn)情況并進(jìn)行注射總量統(tǒng)計(jì),利用光電編碼器記錄電機(jī)運(yùn)轉(zhuǎn)圈數(shù),計(jì)算實(shí)際的水平位移,用來統(tǒng)計(jì)注射總量.光電編碼器精度為1 000脈沖/轉(zhuǎn),然而步進(jìn)電機(jī)每轉(zhuǎn)一圈需要25 600個(gè)脈沖,有10次2 560個(gè)脈沖,根據(jù)設(shè)定的速度值v,pul每發(fā)出2 560個(gè)脈沖讀取一次編碼器的計(jì)數(shù)值y,即電機(jī)運(yùn)轉(zhuǎn)1/10圈讀取一次編碼器的計(jì)數(shù)值y,理想值y=100,若讀入的值y≠100,則電機(jī)可能出現(xiàn)失步,待下一次讀入y值時(shí)判斷是否補(bǔ)脈沖或發(fā)出異常報(bào)警.判斷流程圖如圖2所示.
若連續(xù)2個(gè)周期采到的計(jì)數(shù)值均小于設(shè)定值,且誤差增大,則電機(jī)運(yùn)轉(zhuǎn)異常,有堵轉(zhuǎn)的可能,應(yīng)發(fā)出報(bào)警;若采集的計(jì)數(shù)值不等于設(shè)定值,且誤差不大于1%,即光電編碼器計(jì)數(shù)器計(jì)數(shù)值范圍為99~101,對應(yīng)的步進(jìn)電機(jī)驅(qū)動(dòng)輸出脈沖誤差為±25.6個(gè)脈沖.判斷是否進(jìn)行補(bǔ)脈沖,若下一個(gè)采樣周期累計(jì)恢復(fù)正常,則不需要補(bǔ)脈沖,若兩周期均值仍不等于設(shè)定值,進(jìn)行補(bǔ)脈沖操作, 從第3個(gè)周期開始補(bǔ)脈沖, 因此采樣得到誤差個(gè)數(shù)的累計(jì)值應(yīng)小于3.需要補(bǔ)脈沖時(shí)每個(gè)采樣周期補(bǔ)±12.8個(gè)脈沖,約為±pul/200, 即:改變脈沖控制量v, 當(dāng)v>200時(shí),令u(k)=v±v/200,當(dāng)v<200時(shí),對每個(gè)采樣周期只在采樣周期的前1/4時(shí)間補(bǔ)u(k)=v±v/50,采樣周期后3/4時(shí)間內(nèi)u(k)=v.補(bǔ)脈沖時(shí)電機(jī)的脈沖信號(hào)pul為:
由于光電編碼器可識(shí)別的角度為0.36°,因此系統(tǒng)容許的最大累計(jì)誤差為±0.36°,補(bǔ)脈沖前步進(jìn)電機(jī)驅(qū)動(dòng)脈沖誤差為±(1~25.6)個(gè)脈沖.補(bǔ)脈沖之后,步進(jìn)電機(jī)驅(qū)動(dòng)脈沖誤差為±(1~12.8)個(gè)脈沖,對應(yīng)絲桿上的水平位移為3.9×10-5 mm~5×10-4 mm.對應(yīng)不同容量的注射器,最大誤差如表2所示.
步進(jìn)電機(jī)驅(qū)動(dòng)信號(hào)有pul,dir,en.根據(jù)控制模塊輸出的stop信號(hào)控制,en可控制電機(jī)的起停,當(dāng)狀態(tài)機(jī)處于run狀態(tài)時(shí),en置0,低電平使能,接收相應(yīng)脈沖即可運(yùn)轉(zhuǎn).狀態(tài)為pause或idle時(shí)en置1,電機(jī)停止運(yùn)行.利用按鍵選擇電機(jī)正轉(zhuǎn)或反轉(zhuǎn)實(shí)現(xiàn)注射泵的注射或抽取功能.
2.2 狀態(tài)機(jī)設(shè)計(jì)
FPGA控制模塊[14-17]是微量注射泵的控制核心,為強(qiáng)化系統(tǒng)穩(wěn)定性、構(gòu)成性能良好的同步時(shí)序邏輯模塊,設(shè)計(jì)狀態(tài)機(jī)控制整個(gè)系統(tǒng)的運(yùn)行,根據(jù)鍵盤輸入的譯碼值設(shè)定狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)移,由狀態(tài)機(jī)的狀態(tài)決定輸出的信號(hào)指示燈及電機(jī)運(yùn)行的起停.狀態(tài)轉(zhuǎn)移圖如圖3所示.
狀態(tài)轉(zhuǎn)移敏感信號(hào)含義如下:
1)set_t_pro:時(shí)間設(shè)置過程標(biāo)志. set_t_pro為1時(shí)進(jìn)入設(shè)置時(shí)間值與時(shí)間單位的過程,為0時(shí)跳出時(shí)間設(shè)置過程;
2)set_v_pro:設(shè)置速度過程標(biāo)志,set_v_pro為1時(shí)進(jìn)入設(shè)置速度值與選擇注射器容量的過程,為0時(shí)跳出速度設(shè)置過程;
3)set_time:設(shè)置時(shí)間完成標(biāo)志位.當(dāng)時(shí)間設(shè)置完成時(shí)set_time置1,當(dāng)運(yùn)行結(jié)束時(shí)set_time清0;
4)set_v:設(shè)置速度完成標(biāo)志位.意義與set_time相同;
5)complete:運(yùn)行完成標(biāo)志位.當(dāng)?shù)褂?jì)時(shí)結(jié)束時(shí)complete標(biāo)志位置1,維持1 s后清0;
6)pressure:壓力報(bào)警標(biāo)志.壓力傳感器檢測到壓力過大時(shí)pressure置1,按下報(bào)警清除鍵pressure清0;
7)pause_ flag:暫停標(biāo)志.按下暫停鍵,pause_ flag取反.
開機(jī)復(fù)位時(shí)默認(rèn)狀態(tài)為idle,當(dāng)按下設(shè)定時(shí)間或設(shè)定速度鍵時(shí),狀態(tài)轉(zhuǎn)移為pause,進(jìn)入設(shè)定狀態(tài),時(shí)間與速度設(shè)定完成后,狀態(tài)轉(zhuǎn)移為run,電機(jī)開始運(yùn)行,運(yùn)行過程中按下暫?;蛴袎毫?bào)警時(shí),狀態(tài)轉(zhuǎn)移為pause,待處理完壓力報(bào)警問題或更改運(yùn)行速度后,再按下暫停鍵,注射泵繼續(xù)按照剩余注射時(shí)間運(yùn)行,運(yùn)行完成時(shí)狀態(tài)轉(zhuǎn)移為默認(rèn)狀態(tài)idle.
狀態(tài)機(jī)的pause狀態(tài)為設(shè)定狀態(tài),設(shè)定過程流程圖如圖4所示.
控制模塊根據(jù)鍵盤譯碼的鍵值做出相應(yīng)的控制,判斷鍵值為設(shè)置時(shí)間或速度,若是設(shè)置時(shí)間,set_t_ pro置1,進(jìn)入時(shí)間設(shè)置過程,根據(jù)鍵值進(jìn)行設(shè)置:按鍵為設(shè)定時(shí)間功能鍵時(shí)設(shè)定時(shí)間單位,時(shí)間單位可選s,min,h,按鍵為數(shù)字鍵時(shí)設(shè)定時(shí)間數(shù)值,時(shí)間值范圍為0~999,時(shí)間設(shè)定完成時(shí)按下確定鍵set_time置1;設(shè)置速度過程與設(shè)置時(shí)間相同.當(dāng)set_time與set_v都為1時(shí),進(jìn)入run狀態(tài).
在pause狀態(tài)中可進(jìn)行時(shí)間單位與注射器容量的選擇.用戶可選時(shí)間單位為s,min,h,由信號(hào)燈t_st觀測. 市場上常見的注射器容量為1 mL,2 mL,5 mL,10 mL,據(jù)此,設(shè)定了4個(gè)注射器容量匹配檔位,所選注射器容量由led燈v_st觀測,t_st和v_st的含義如表3所示.
只需選定注射器容量設(shè)定注射速度與時(shí)間,微量注射泵就能按照設(shè)定的流量速度值與運(yùn)行時(shí)間勻速輸出藥劑.
3 功能實(shí)現(xiàn)與驗(yàn)證
采用Verilog HDL語言完成硬件描述,編寫testbench.v模擬外部輸入信號(hào),使用ModelSim軟件進(jìn)行綜合后功能仿真,觀測狀態(tài)機(jī)的變化及各個(gè)控制信號(hào)的輸出.控制模塊狀態(tài)機(jī)狀態(tài)轉(zhuǎn)移過程仿真圖如圖5所示.各端口含義如下:
set_t_pro,set_v_pro,set_time,set_v,complete,pressure,pause_ flag見2.2節(jié).
clk:系統(tǒng)時(shí)鐘,采用100 Hz,周期為10 ms;
n_rst——系統(tǒng)復(fù)位;
scan_key——鍵盤輸入的譯碼值;
c_state——狀態(tài)機(jī)狀態(tài),001:idle;010:pause;100:run;
clk_1hz——頻率為1 Hz的時(shí)鐘;
rest——剩余運(yùn)行時(shí)間,用于倒計(jì)時(shí);
stop——電機(jī)起停信號(hào),stop=1時(shí)電機(jī)停止;
t——設(shè)置的時(shí)間值;
v——設(shè)定的注射速度值,即流量速度值.
開機(jī)狀態(tài)為idle,無按鍵按下時(shí)鍵盤譯碼值為15,采集到譯碼值為10表示當(dāng)前按鍵為設(shè)置速度,進(jìn)入速度設(shè)置狀態(tài),set_v_pro置1,在下個(gè)clk上升沿狀態(tài)轉(zhuǎn)移為pause.
在速度設(shè)置過程中,v_st為2b01,所選注射器容量為2 mL,鍵盤譯碼值1,3,13,將數(shù)字鍵1,3暫存到速度數(shù)值寄存器,鍵盤譯碼值13表示按鍵為確定,set_v置1,set_ v_pro清0,速度設(shè)置完成,跳出速度設(shè)置狀態(tài).鍵盤譯碼值為11表示按鍵為設(shè)置時(shí)間,進(jìn)入時(shí)間設(shè)置狀態(tài),set_ t _ pro置1,在時(shí)間設(shè)置過程中,時(shí)間單位t_st為2b01,設(shè)定的時(shí)間單位為s,鍵盤譯碼值為5,13,將數(shù)字鍵5存入時(shí)間數(shù)值寄存器,鍵值13表示確定,set_t_pro清0,set_time置1,時(shí)間設(shè)置完成,此時(shí)set_v與set_time均為1,狀態(tài)轉(zhuǎn)移為run.
當(dāng)狀態(tài)機(jī)進(jìn)入run狀態(tài),速度數(shù)值寄存器將暫存的3個(gè)速度數(shù)字0,1,3(未滿3位時(shí)默認(rèn)高位為0)計(jì)算為三位十進(jìn)制數(shù)存入速度寄存器v用來控制電機(jī)運(yùn)轉(zhuǎn)速度,圖中v=13;時(shí)間數(shù)值寄存器將3個(gè)時(shí)間數(shù)字0,0,5計(jì)算為三位十進(jìn)制數(shù)存入t,進(jìn)入倒計(jì)時(shí)和電機(jī)運(yùn)行階段.t賦值完成后在clk_1hz上升沿將t賦值給rest,rest開始按設(shè)定的時(shí)間單位自減,當(dāng)前設(shè)定時(shí)間單位為s,當(dāng)rest減到1時(shí),下一個(gè)clk_1hz的上升沿complete置1,信號(hào)維持1 s,狀態(tài)機(jī)檢測到運(yùn)行完成,狀態(tài)轉(zhuǎn)移為idle,狀態(tài)轉(zhuǎn)移過程正常,但電機(jī)運(yùn)行的時(shí)間比設(shè)定的時(shí)間長.
時(shí)間誤差分析:c_state控制stop,complete控制c_state,rest控制complete,所以狀態(tài)轉(zhuǎn)移到run時(shí),stop清0先于rest賦值,時(shí)間誤差為0~99個(gè)clk周期.狀態(tài)由run轉(zhuǎn)移為idle時(shí),stop置1比complete晚1個(gè)~2個(gè)clk周期,即電機(jī)在倒計(jì)時(shí)開始前啟動(dòng),倒計(jì)時(shí)結(jié)束后停止.運(yùn)行時(shí)間比設(shè)定時(shí)間多2個(gè)~101個(gè)clk周期,多運(yùn)行20 ms~1 010 ms.為了嚴(yán)格控制電機(jī)運(yùn)行的時(shí)間,減小不同時(shí)鐘時(shí)序延時(shí)引起的時(shí)間誤差,提出改進(jìn)方案:將電機(jī)運(yùn)行的起停信號(hào)stop與rest用相同的時(shí)鐘clk_1hz控制.改進(jìn)之后的控制模塊如圖6所示.
由圖6可知,待rest信號(hào)賦值后的一個(gè)clk_1hz周期,stop信號(hào)清0,電機(jī)開始運(yùn)行;待complete置1后延時(shí)一個(gè)clk_1hz周期stop信號(hào)再置1.改進(jìn)后stop為0的時(shí)長與倒計(jì)時(shí)rest時(shí)長一致,有效降低了時(shí)間誤差.
4 結(jié)論
以FPGA為核心開發(fā)的微量注射泵,整機(jī)主要技術(shù)參數(shù)為:線性速度范圍0~60 mm/min;1 mL,2 mL,5 mL,10 mL注射器快速推注速度1.03 mL/min,3.75 mL/min,7.14 mL/min,10.714 mL/min;可設(shè)定的流量速度為0.001 mL/min~0.999 mL/min,誤差小于1%.本設(shè)計(jì)充分利用了FPGA并行處理的特點(diǎn),實(shí)現(xiàn)了旋轉(zhuǎn)檢測、步進(jìn)電機(jī)脈沖產(chǎn)生、與時(shí)間倒計(jì)時(shí)并行處理,有效提高了采集數(shù)據(jù)的準(zhǔn)確度.通過脈沖補(bǔ)償,實(shí)現(xiàn)了注射泵的精密注射.
參考文獻(xiàn)
[1] 劉輝,李佾正,胡強(qiáng).多通道微量注射泵的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2011,34(7):167-169.
[2] 龍燕君.便攜式自動(dòng)擠壓輸液器設(shè)計(jì)研究[D].成都:西南交通大學(xué),2014.
[3] 沈亞斌,張晨東,趙濤.多通道微量注射泵控制系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)測量與控制,2014,22(10):3220-3222.
[4] 陳曦,王清,蔡姍姍.寬范圍注射流量的微量注射泵的設(shè)計(jì)與開發(fā)[J].自動(dòng)化技術(shù)與應(yīng)用,2014, 33(6):77-81.
[5] 裴向東,陳簫,譚秋林,等.基于USB-FIFO的FPGA與上位機(jī)通信的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測量與控制,2012,20(4):1073-1075.
[6] 呂駿,王仁波,湯彬,等. 基于USB總線的多點(diǎn)數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].電子測量技術(shù),2015, 38 (11):88-91.
[7] 李霞,蔡啟仲,陳文輝.基于CAN的嵌入式PLC和監(jiān)控系統(tǒng)通信設(shè)計(jì)[J].儀表技術(shù)與傳感器,2011(10):41-43.
[8] 陳燕,劉守山.基于CPLD的光電編碼器四倍頻電路的設(shè)計(jì)[J].國外電子測量技術(shù),2015,34(1):45-48.
[9] 何可人.醫(yī)用微量注射泵設(shè)計(jì)和仿真研究[D].上海:華東理工大學(xué),2014.
[10] 張劍霜.輸液泵/注射泵檢測系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2014.
[11] 周良杰,趙治國.方向盤轉(zhuǎn)角傳感器誤差成因與補(bǔ)償?shù)难芯縖J].儀表技術(shù)與傳感器,2013(11):7-10.
[12] 李靜,蔡啟仲,張煒,等.基于FPGA的PLC輸入存儲(chǔ)與讀取控制器的設(shè)計(jì)[J].儀表技術(shù)與傳感器,2014(6):33-36.
[13] 馮英翹,萬秋華.小型光電編碼器細(xì)分誤差校正方法[J].儀器儀表學(xué)報(bào),2013,34(6):1374-1379.
[14] 張松,李筠.FPGA的模塊化設(shè)計(jì)方法[J].電子測量與儀器學(xué)報(bào),2014,28(5):560-565.
[15] 李克儉, 付杰, 蔡啟仲, 等. 基于FPGA的串行定時(shí)器設(shè)計(jì)[J].廣西工學(xué)院學(xué)報(bào),2012,23(3):61-65.
[16] 周曙光,李克儉,蔡啟仲, 等.基于FPGA的PLC并行數(shù)據(jù)輸出控制器設(shè)計(jì)[J].廣西工學(xué)院學(xué)報(bào),2013,24(1):14-18.
[17] 任杰,李克儉,潘紹明, 等.雙口RAM讀寫正確性自動(dòng)測試的有限狀態(tài)機(jī)控制器設(shè)計(jì)方法[J].廣西科技大學(xué)學(xué)報(bào),2015,26(4):36-41.
Abstract:Aiming at the problems of micro-injection pump on timing, quantity and flow speed range and so on, a micro-injection pump design method based on FPGA is put forward. The design uses FPGA as the control core, pressure sensor and photoelectric encoder as detection devices, and stepping motor to drive screw rotation. When screw rotates a single revolution, slider moves 1 mm. Pulse compensation method is provided by analyzing and research on the relationship among the number of pulses, the injection capacity and the value of the detector, which realizes intelligent precision of trace liquid injection. It is verified that the trace pump can set the injection time and control flow speed with the range of 0.001 mL/min~0.999 mL/min according to the need, and the trace pump can match different capacity of the syringe.
Key words: micro-injection pump; FPGA; stepping motor; photoelectric encoder
(學(xué)科編輯:黎 婭)