《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于STM32在噴繪機(jī)噴頭控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于STM32在噴繪機(jī)噴頭控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
2015年微型機(jī)與應(yīng)用第1期
劉 晉,蘇 臣
(遼寧師范大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院,遼寧 大連 116081)
摘要: 選取STM32系列STM32F103RBT6作為噴頭的主控制系統(tǒng),將24c16EEPROM作為外部存儲(chǔ)器,,通過I2C通信機(jī)制傳送噴頭T-V數(shù)據(jù)和配置數(shù)據(jù),借助UART或128x64LCD達(dá)到人機(jī)交互,。經(jīng)過理論分析和軟硬件結(jié)合測(cè)試,,驗(yàn)證了該噴頭控制系統(tǒng)的可行性和方便性。
Abstract:
Key words :

  摘  要: 選取STM32系列STM32F103RBT6作為噴頭的主控制系統(tǒng),,將24c16EEPROM作為外部存儲(chǔ)器,,通過I2C通信機(jī)制傳送噴頭T-V數(shù)據(jù)和配置數(shù)據(jù),借助UART或128x64LCD達(dá)到人機(jī)交互,。經(jīng)過理論分析和軟硬件結(jié)合測(cè)試,,驗(yàn)證了該噴頭控制系統(tǒng)的可行性和方便性。

  關(guān)鍵詞: STM32,;24c16EEPROM,;I2C;T-V數(shù)據(jù),;噴繪機(jī)

0 引言

  由于噴繪機(jī)噴繪過程中采用的是壓電噴頭[1]工作原理,,為保證噴繪出圖像清晰細(xì)膩,噴繪機(jī)需要在同一溫度下提供穩(wěn)定的驅(qū)動(dòng)電壓對(duì)壓電晶體進(jìn)行控制,。如何在精準(zhǔn)的條件下根據(jù)室內(nèi)溫度實(shí)時(shí),、快速、方便地更改驅(qū)動(dòng)電壓和配置數(shù)據(jù)值得研究,。

1 系統(tǒng)設(shè)計(jì)理念

  噴頭的驅(qū)動(dòng)電壓VDD2(t)取決于噴頭容積電壓Vrank,、基于不同廠家不同顏色的油墨粘滯度而提供每色油墨與標(biāo)準(zhǔn)油墨的修正值Voffset電壓、不同顏色的油墨在不同溫度下需要的驅(qū)動(dòng)電壓補(bǔ)償值Vdiff(t),,即VDD2(t)=Vrank+Voffset+Vdiff(t),。不同顏色的油墨在不同的溫度下驅(qū)動(dòng)電壓的補(bǔ)償值Vdiff(t),稱之為T-V數(shù)據(jù),。

  不同廠家油墨溫壓數(shù)據(jù)不同,,廠家會(huì)根據(jù)每種墨水的種類和顏色在出廠前給出一組關(guān)于墨水在不同溫度下的電壓補(bǔ)償值,根據(jù)噴頭墨腔內(nèi)部墨水溫度變化動(dòng)態(tài)地調(diào)整每個(gè)噴頭的驅(qū)動(dòng)電壓以保證噴射出的墨水點(diǎn)滴大小一致,、視覺效果更清晰,。為防止在掉電的情況下數(shù)據(jù)丟失和避免不小心更改,數(shù)據(jù)通常存儲(chǔ)在只讀存儲(chǔ)器中,。EEPROM存儲(chǔ)量有限又需存儲(chǔ)不同種類的T—V數(shù)據(jù)時(shí),,可以將數(shù)據(jù)通過算法[2]進(jìn)行壓縮后存儲(chǔ)在ROM中,。當(dāng)今市場(chǎng)噴繪機(jī)數(shù)量越來越多,出于對(duì)噴繪機(jī)性能考略,,本設(shè)計(jì)在溫壓數(shù)據(jù)讀取時(shí)避免使用算法降低速度,,借助嵌入式經(jīng)典的“空間換時(shí)間”理論,以日本精工集團(tuán)的IRH1513D噴頭為研究對(duì)象,,在24C16EEPROM中存儲(chǔ)配置數(shù)據(jù),。每次初始化后通過I2C通信機(jī)制讀數(shù)據(jù),工作時(shí)噴頭需要更新電壓時(shí)通過DMA方式快速傳送溫度數(shù)值(A/D轉(zhuǎn)化值),,迅速更新噴頭所需驅(qū)動(dòng)電壓,。過程中發(fā)現(xiàn)噴頭工作有誤差時(shí)借助顯示工具設(shè)置按鍵對(duì)其校驗(yàn),過程中適當(dāng)改進(jìn)運(yùn)算形式來提高噴頭控制系統(tǒng)效率,。

2 基于系統(tǒng)的硬件設(shè)計(jì)

001.jpg


  圖1為控制系統(tǒng)硬件結(jié)構(gòu)建構(gòu),。從圖可看出設(shè)計(jì)中以STM32為主控,選取支持I2C通信機(jī)制,、2 KB存儲(chǔ)量的24C16EEPROM作為外部存儲(chǔ)器,,主控中集成的I2C 2的時(shí)鐘線SCL(PB10引腳)和SDA線(PB11引腳)與EEPROM的SCL和SDA分別通過外接一個(gè)上拉4.7 k?贅電阻連接。設(shè)計(jì)中主控集成I2C 2作為外部數(shù)據(jù)存儲(chǔ)器的時(shí)鐘和數(shù)據(jù)的發(fā)送,,24c16EEPROM作為從設(shè)備,,選取200 kHz的讀取速度。通過主控中的I/O口讀取溫度模擬量,,顯示調(diào)整數(shù)據(jù)時(shí)采用UART或128x64LCD,,采用128x64的靜態(tài)LCD主要方便客戶使用,研發(fā)者主要使用UART進(jìn)行校正,,外擴(kuò)按鍵為了校驗(yàn)誤差或測(cè)試噴頭狀態(tài)等,。上電開始和結(jié)束時(shí)需給噴頭發(fā)送開關(guān)波形數(shù)據(jù)、命令,,工作時(shí)讀取噴頭的狀態(tài)需要實(shí)時(shí)更改主控PWM即補(bǔ)償電壓,。系統(tǒng)中硬件按鍵消抖在主控中延時(shí)實(shí)現(xiàn),通過按鍵可進(jìn)入校驗(yàn),、T-V數(shù)據(jù)輸入,、噴頭測(cè)試狀態(tài)。為快速處理數(shù)據(jù),,主控內(nèi)A/D轉(zhuǎn)化值借助DMA傳輸方式,。

  控制系統(tǒng)采用一個(gè)主控STM32控制一個(gè)噴頭形式,所以外存儲(chǔ)上不需存儲(chǔ)墨水的顏色和控制噴頭型號(hào)等數(shù)據(jù),,噴頭采用日本精工集團(tuán)的IRH1513D,。系統(tǒng)上電初始化后,主控通過I2C通信機(jī)制把24C16EEPROM作為從設(shè)備讀取噴頭Vrank容積電壓、溫壓曲線,、開關(guān)波形等數(shù)據(jù),。而且此程序中使用容積電壓Vrank、Voffset和ADCValOff以十倍進(jìn)行存儲(chǔ)運(yùn)算,,每個(gè)數(shù)據(jù)定義2 B即16 bit,。綜合考略24C16EEPROM外存儲(chǔ)單元,地址分配設(shè)計(jì)為:地址0x00~0x166共358 B存儲(chǔ)溫壓偏移曲線數(shù)據(jù),;地址0x200~0x201存儲(chǔ)16 B墨水的容積電壓Vrank,;地址0x202~0x203存儲(chǔ)此種油墨修正電壓Voffset,;地址0x204~0x205存儲(chǔ)噴頭25℃時(shí)需要校準(zhǔn)參數(shù)本底偏移值A(chǔ)dcValBOff,;地址0x206~0x207存儲(chǔ)當(dāng)PWM OCR1為高點(diǎn)電壓比較值時(shí)所對(duì)應(yīng)十倍電壓Hm;地址0x208~0x209存儲(chǔ)當(dāng)PWM OCR1為低點(diǎn)電壓比較值時(shí)所對(duì)應(yīng)十倍電壓Lm,;0x210~0x221共12個(gè)地址空間存儲(chǔ)噴頭必要的配置數(shù)據(jù),;地址0x300~0x33c共60 B用于存儲(chǔ)噴頭的開波形數(shù)據(jù);地址0x340~73c共60 B用于存儲(chǔ)噴頭的關(guān)波形數(shù)據(jù),。

3 基于系統(tǒng)的軟件設(shè)計(jì)

  整個(gè)軟件的架構(gòu)中分別對(duì)串行通信,、24c16EEPROM存儲(chǔ)、改進(jìn)運(yùn)算形式,、主控狀態(tài)機(jī)切換等進(jìn)行設(shè)計(jì)與研究,。最后借助PC上串口調(diào)試器或外擴(kuò)128x64LCD顯示人機(jī)交互來校正噴繪機(jī)的噴頭。

  3.1 通信界面的設(shè)計(jì)

002.jpg

  通信界面是為用戶簡(jiǎn)單,、方便地更換墨水的T-V數(shù)據(jù)和校正噴繪機(jī)噴頭而設(shè)置的顯示工具,。圖2為串行通信的流程,從圖中可以看出,,主菜單在調(diào)試過程中,,通過選項(xiàng)來進(jìn)入溫度校準(zhǔn)、電壓校準(zhǔn),、容積電壓Vrank輸入或是配置數(shù)據(jù)的輸入,。借助于串口通信,在需要更新墨水的T—V數(shù)據(jù)時(shí),,無論用戶是否熟練新產(chǎn)品的使用,,都可直觀操作把廠家提供的溫壓數(shù)據(jù)通過選擇不同命令符寫入24c16EEPROM。

  3.2 基于24c16EEPROM存儲(chǔ)設(shè)計(jì)

  根據(jù)I2C的通信機(jī)制,,首先主機(jī)發(fā)送一個(gè)起始條件,,從機(jī)接收到后回發(fā)一個(gè)ACK響應(yīng)信號(hào)。然后主機(jī)發(fā)送地址字節(jié)(地址字節(jié)為7位,,最后一位為讀寫標(biāo)志位),,進(jìn)行數(shù)據(jù)的讀寫傳輸。每次接收方回發(fā)一個(gè)ACK,。最后主機(jī)發(fā)送停止信號(hào)結(jié)束通信,。24c16EEPROM芯片手冊(cè),,在發(fā)送地址7位中前四位必須是1010,此處DEVICE ADDRESS(設(shè)備地址)是通過(0xao|(讀寫地址))發(fā)送,。通信時(shí)調(diào)用函數(shù)E2416_BufWr((u8*)&D0_confOn[0],,ONWAVE_ADDR,NbrOfReg)來進(jìn)行寫操作設(shè)計(jì),,其中函數(shù)的參數(shù)(u8*)&D0_confOn[0]定義為首個(gè)無符號(hào)字節(jié)數(shù)據(jù)地址,,ONWAVE_ADDR參數(shù)是指向?qū)懭氲紼EPROM的地址,參數(shù)NbrOfReg是寫入數(shù)據(jù)的個(gè)數(shù),。

003.jpg

  此處I2C通信模塊的整體設(shè)計(jì)可通過程序圖3進(jìn)行描述,,圖中發(fā)送兩個(gè)EEPROM地址,第一個(gè)EEPRON地址是EEPROM設(shè)備地址,,從第二個(gè)EEPROM是存儲(chǔ)數(shù)據(jù)首地址,。2416EEPROM規(guī)定每一頁為16 B,程序在設(shè)置過程中以E2416_PageWr()對(duì)頁進(jìn)行寫操作,,以E2416_ByteWr()對(duì)字節(jié)進(jìn)行寫操作,,寫入到EEPROM指定的地址,同樣設(shè)置E2416_BufRe(),、E2416_PageRe()進(jìn)行頁讀操作以及E2416_ByteRe()進(jìn)行字節(jié)讀操作,,從指定的地址中讀數(shù)據(jù)。若需更改墨水的數(shù)據(jù)時(shí)借助串口交互的選擇,,把需要數(shù)據(jù)通過I2C通信機(jī)制直接寫入到24c16數(shù)據(jù)存儲(chǔ)EEPROM中,,實(shí)際上寫入到了預(yù)留的同一塊ROM中。而且在噴頭實(shí)際工作過程中可把確定的數(shù)據(jù)在上電初期通過函數(shù)E2416_BufRe()以及E2416_PageRe()來讀取開關(guān)波形及噴頭配置數(shù)據(jù),。

  3.3 改進(jìn)運(yùn)算形式

  根據(jù)以上設(shè)計(jì),,噴頭開始工作前,STM32主控制器從24c16EEPROM的外存儲(chǔ)通過I2C通信機(jī)制讀配置數(shù)據(jù),,其中包括存儲(chǔ)高電壓時(shí)PWM OCR1比較值Hm和存儲(chǔ)低電壓時(shí)PWM OCR1比較值Lm,,程序中定義兩個(gè)比較值,高低電壓Hx,、Lx是對(duì)應(yīng)的實(shí)際高低電壓的10倍,。根據(jù)理論知PWM OCR1的值和對(duì)應(yīng)STM32輸出電壓成正比。當(dāng)PWM OCR1的值高時(shí),,STM32輸出的電壓高,。所以得比例(Hm-Lm)/(Hx-Lx)=(m-Lm)/(x-Lx),其中m代表任意時(shí)刻PWM OCR1的比較值,,x代表任意時(shí)刻當(dāng)PWM OCR1的比較值為m時(shí)所對(duì)應(yīng)輸出電壓的10倍,,化簡(jiǎn)得m=(H_Lm*(x-Lx)+Lm*H_Lx)/H_Lx。讀到一個(gè)溫度,通過查表找到需要補(bǔ)償電壓,,最后把補(bǔ)償電壓,、修正電壓、容積電壓相加算出最后噴頭需要的電壓x,,通過以上化簡(jiǎn)知m=(H_Lm*(x-Lx)+Lm*H_Lx)/H_Lx,,計(jì)算出PWM OCR1中需要值m改變PWM。噴頭工作的電壓是12 V~29 V,,精確到0.1 V,,在設(shè)計(jì)過程中把實(shí)際高低電壓Hx、Lx以及更改的輸出電壓擴(kuò)大10倍,。不難看出運(yùn)算形式及結(jié)果沒有改變,,而存儲(chǔ)上需占更多空間,但是不改則需要浮點(diǎn)型數(shù)的運(yùn)算,。相比較而言,,提高10倍雖增加存儲(chǔ)空間但較少計(jì)算時(shí)間,,提高執(zhí)行效率,。

  3.4 主控狀態(tài)機(jī)切換設(shè)計(jì)

004.jpg

  STM32主控程序設(shè)計(jì)是整個(gè)控制系統(tǒng)核心。為了優(yōu)化系統(tǒng)設(shè)計(jì),,提高主控的處理速度,,此處設(shè)計(jì)采用如圖4主控狀態(tài)切換機(jī)制。從圖中可看出,,系統(tǒng)上電開始后進(jìn)入InitConfig狀態(tài)初始化時(shí)鐘,、I/O口、串口,、DMA,、A/D、定時(shí)器,、I2C,、緩沖區(qū)等。若使能液晶屏,,則液晶屏開始顯示,,然后通過DMA發(fā)送I2C從設(shè)備地址進(jìn)入Send Slave Add狀態(tài)。如果地址匹配,,則進(jìn)入Read Data狀態(tài),,即從EEPROM中讀取噴頭的配置數(shù)據(jù)。若VERIFY_ON=1(PA^8=0),,則按鍵按下進(jìn)入U(xiǎn)ART adjust狀態(tài)(文件的配置),,若Sw1_on==1,即按鍵按下進(jìn)入Nozzle text狀態(tài)即噴頭測(cè)試,否則進(jìn)入ADC狀態(tài),。轉(zhuǎn)化完后通過DMA傳送數(shù)據(jù)進(jìn)入DMA IRQ狀態(tài),,在此狀態(tài)下進(jìn)行16次平滑處理,計(jì)算完后進(jìn)入U(xiǎn)pdate Voltage狀態(tài)然后輸出PWM即電壓提供給噴頭,,使噴頭精確工作,。初始工作讀完數(shù)據(jù)后首次A/D轉(zhuǎn)化由軟件啟動(dòng),工作后A/D轉(zhuǎn)化是在DMA中斷下進(jìn)行,,16次平滑處理后開啟A/D轉(zhuǎn)化使能,。

4 系統(tǒng)測(cè)試

  結(jié)合系統(tǒng)總體架構(gòu)的軟件和硬件平臺(tái)以及過程方法步驟的闡述,最終測(cè)試結(jié)果如圖5,、6所示,。圖5顯示了基于I2C通信機(jī)制EEPROM存儲(chǔ)驗(yàn)證。為驗(yàn)證結(jié)果的正確,,向24C16EEPROM寫入數(shù)據(jù)0x0a,、0x0b并用示波器觀察波形圖,其中通道2為SCL波形,,通道1為SDA波形,,結(jié)合兩個(gè)通道信號(hào)和寫入數(shù)據(jù)驗(yàn)證此系統(tǒng)存儲(chǔ)設(shè)計(jì)可行。圖6是借助串口收發(fā)機(jī)制來更新墨水T-V數(shù)據(jù),、噴頭配置文件以及校驗(yàn)顯示,,從圖可看出UART采用的是并口COM1、波特率為115 200 b/s,,8 bit數(shù)據(jù)位和1 bit停止位,,無奇偶校驗(yàn)收發(fā)機(jī)制下可正確顯示主控的收發(fā)信息與程序設(shè)計(jì)一致。圖6中主校菜單下通過串口向STM32發(fā)送“數(shù)字選項(xiàng)”來進(jìn)入溫度校準(zhǔn),、12 V輸出校準(zhǔn),、29 V輸出校準(zhǔn)、容積電壓Vrank輸出等菜單,。圖中是在選擇“9”下噴頭的配置數(shù)據(jù)輸入時(shí)的顯示,,包括噴頭配置數(shù)據(jù)、開關(guān)波形數(shù)據(jù)以及沒有顯示全的溫壓曲線等數(shù)據(jù),。

5 總結(jié)

  隨著噴繪技術(shù)的發(fā)展,,對(duì)噴頭控制系統(tǒng)的要求越來越高。本設(shè)計(jì)基于簡(jiǎn)單,、方便的考慮,,以STM32作為主控制平臺(tái),以24c16EEPROM作為外部存儲(chǔ),,結(jié)合軟件設(shè)計(jì)出噴頭控制系統(tǒng),。通過實(shí)踐和理論研究證明,,系統(tǒng)不僅簡(jiǎn)捷、方便,,而且更改容易且執(zhí)行過程中在一定程度上提高了系統(tǒng)的效率,,達(dá)到了理想的預(yù)期效果,但此控制設(shè)計(jì)系統(tǒng)沒能面向市場(chǎng),,還存在不少缺陷和不足,,需以后加以彌補(bǔ)和改進(jìn)。也希望將來此設(shè)計(jì)系統(tǒng)可以廣泛應(yīng)用于噴繪機(jī)噴頭控制系統(tǒng)中,。

參考文獻(xiàn)

  [1] 周峰江.壓電式噴頭的基本原理和應(yīng)用[J].印染,,2003,29(4):259-283.

  [2] 劉晉,,顧彬彬,,張秋風(fēng).數(shù)字噴繪機(jī)墨水溫壓曲線的壓縮存儲(chǔ)方案[J].微型機(jī)與應(yīng)用,2012,,31(3):82-84.


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。