《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于STM32單片機的兩軸圖書錄入系統(tǒng)
基于STM32單片機的兩軸圖書錄入系統(tǒng)
來源:微型機與應用2014年第4期
盧仁智,劉海濤,劉炎南
(武漢科技大學 信息科學與工程學院,湖北 武漢430081)
摘要: 介紹了一種基于單片機的兩軸圖書錄入系統(tǒng)的設計。最終實現(xiàn)的錄入系統(tǒng)能夠按照編寫的流程對圖書進行翻頁、壓平、拍照等動作。基于此機械可實現(xiàn)圖書館、檔案館藏書、資料的自動電子化轉(zhuǎn)檔。本機械全部由單片機自動控制,避免了人工完成這些機械的重復勞動。
Abstract:
Key words :

 摘  要: 介紹了一種基于單片機的兩軸圖書錄入系統(tǒng)的設計。最終實現(xiàn)的錄入系統(tǒng)能夠按照編寫的流程對圖書進行翻頁、壓平、拍照等動作?;诖藱C械可實現(xiàn)圖書館、檔案館藏書、資料的自動電子化轉(zhuǎn)檔。本機械全部由單片機自動控制,避免了人工完成這些機械的重復勞動。
 關鍵詞: 圖書錄入;單片機;自動化;步進電機;氣路

 紙質(zhì)檔案、書籍的電子化轉(zhuǎn)檔一直是比較機械繁瑣的工作,本文介紹了一種圖書錄入系統(tǒng)的設計。該設計能夠?qū)⒐潭ㄔ阡浫胛恢蒙系膱D書逐頁翻頁并拍照。目前具有類似功能的機械在全球并不多見,本設計在實際中有較高的應用價值。本設計使用STM32[1]單片機作為控制核心控制機械的兩大系統(tǒng):運動控制系統(tǒng)和氣路控制系統(tǒng)。最終兩部分系統(tǒng)相互配合完成書頁的翻頁、壓平動作。
1 圖書錄入系統(tǒng)框圖
    如圖1所示,整個系統(tǒng)以STM32F103ZET6單片機為控制核心,它負責輸出系統(tǒng)的運動控制信號和電磁閥控制信號。單片機的信號經(jīng)放大電路放大、穩(wěn)壓后輸出到步進電機驅(qū)動器和電磁閥上。步進電機驅(qū)動器接收單片機的控制信號來操作步進電機運動。


    系統(tǒng)的執(zhí)行端為4個步進電機和3個電磁閥。4個步進電機分為兩組分別執(zhí)行水平方向和豎直方向的運動。步進電機驅(qū)動接收單片機的信號,控制步進電機運行的具體方向和距離。電磁閥按照單片機的信號控制由氣泵產(chǎn)生的高壓氣流運動,參與圖書的翻頁動作。
2 機械部分
    機械部分作為整個系統(tǒng)的支撐,是控制的最終執(zhí)行端。除了固定框架,功能性的機械有兩個部分:運動機械和氣路。
2.1 運動機械
    運動機械由步進電機、傳動皮帶和運動框架組成,在水平方向和豎直方向分別設置了一對步進電機用來操作水平方向和豎直方向的運動。
    給定豎直方向和水平方向步進電機的方向和脈沖數(shù)以后,吸盤可以運動到機械限制允許的任意坐標。機械運動的控制通過對步進電機驅(qū)動器設置對應的運動方向以及運動脈沖數(shù)實現(xiàn)。
2.2 氣路
    氣路由氣泵、電磁閥、真空閥、吸盤及其升降缸組成。氣泵產(chǎn)生的高壓氣流通過電磁閥、真空閥配合在吸盤處產(chǎn)生吹氣、吸氣氣流,以及通過升降氣缸控制吸盤的升降。
    與吸盤相關的有4個動作:吸盤上升、吸盤下降、吸盤吸氣和吸盤吹氣。吸盤的上升與下降通過向氣缸的對應口吹入高壓氣流來完成,這兩個動作由同一個閥控制。吸盤吹氣動作由吸盤氣流控制閥直接將高壓氣流接入吸盤氣口即可完成。氣路示意圖如圖2所示。

    比較復雜的是吸盤的吸氣。由于氣泵產(chǎn)生的是高壓氣流,而吸氣需要吸盤處氣壓低于大氣壓,即需要產(chǎn)生負壓。因此氣路里面用到了真空閥,在真空閥入口吹入高壓氣流則其出口處就能產(chǎn)生低于大氣壓的負壓。在執(zhí)行其他動作時,負壓是不必要的,所以在真空閥之前加裝了氣流控制閥控制真空閥入口氣流的通斷。只有在需要吸盤吸氣時氣流控制閥才打開。
2.3 系統(tǒng)相關電氣設備的原理
    機械部分的電氣設備主要為步進電機和電磁閥,它們是控制信號的最終執(zhí)行端。通過它們對電信號的執(zhí)行來完成單片機中存儲的動作。步進電機的動作有水平運動和豎直運動,分別由對應方向上的一對步進電機來完成。電磁閥控制的氣路動作有4種,由氣缸控制閥、真空閥氣流控制閥、吸盤氣流控制閥3個電磁閥配合完成。
2.3.1 步進電機的電氣原理
    步進電機是一種按照固定步進角轉(zhuǎn)動的無刷式同步電機。其轉(zhuǎn)角即使沒有反饋也能精確控制,所以常用于開環(huán)系統(tǒng)中進行精確的位置控制。步進電機不像有刷直流電機,給以工作電壓就會轉(zhuǎn)動。它有多組齒狀磁極圍繞轉(zhuǎn)子排列。磁極由外部控制電路(如微控制器)控制供電。當步進電機工作時,第一組磁極通電,定子齒輪的齒被磁極吸引。齒輪的齒與第一組磁極對齊后,它們會與下一組磁極有一個較小的角度偏差。所以,當下一組磁極通電且第一組磁極斷開后,定子齒輪又轉(zhuǎn)動一個微小的角度與當前通電的磁極對齊。步進電機轉(zhuǎn)動的過程就是不斷地重復這個動作。每個微小轉(zhuǎn)動被稱為“步級角”,整數(shù)倍的步級角構(gòu)成一圈完整的旋轉(zhuǎn)。因此步進電機可以按照精確的角度旋轉(zhuǎn)。
2.3.2 電磁閥的電氣原理
    本設計中有3個電磁閥,分別是:氣缸控制閥、真空閥氣流控制閥和吸盤氣流控制閥。它們通過接收24 V的0/1信號來控制接入其內(nèi)的氣流的通斷以及方向。
    氣缸控制閥有一個氣流輸入口和兩個氣流輸出口,氣流輸入口輸入的是來自氣泵的高壓氣流,氣流輸出口分別接升降氣缸的上升氣流口和下降氣流口。該閥響應0/1信號,當信號為1時,輸入口的氣流被導入下降氣流口,則氣缸上部的高壓氣流推動活塞下降;反之,氣流被導入上升氣流口,氣缸下部累積高壓氣體推動活塞上升。
    真空閥氣流控制閥只有一個氣流輸入口和一個氣流輸出口,它的作用是控制入口到出口的氣流的通斷,進而控制與其氣流出口相連接的真空產(chǎn)生閥是否產(chǎn)生負壓。當真空閥氣流控制閥信號為1時,出口與入口導通,高壓氣流進入真空產(chǎn)生閥,產(chǎn)生負壓。當真空閥氣流控制閥信號為0時,出口與入口斷開,真空產(chǎn)生閥沒有高速氣流通過,無法產(chǎn)生負壓。
    吸盤氣流控制閥有兩個氣流輸入口一個氣流輸出口,兩個氣流輸入分別為來自氣泵的高壓氣流和來自真空閥的負壓氣流(只有當真空閥氣流控制閥的信號為1時這個口才有負壓氣流)。氣流輸出口接到吸盤的氣孔上。由此,吸盤氣流閥可根據(jù)電信號控制吸盤的氣流為吸氣還是吹氣。當信號為1時,氣流輸出口被連接到高壓氣流輸入口上,吸盤處產(chǎn)生吹氣氣流。當信號為0,且真空產(chǎn)生信號為1時,氣流輸出口被連接到負壓氣流輸入口上,吸盤處產(chǎn)生吸氣氣流。
3 放大電路
    由于單片機的驅(qū)動能力有限,為了驅(qū)動步進電機集成控制器的光耦合和電磁閥的24 V信號,設計了以ULN2003A和TIP127組成的放大電路。放大電路主要分為兩個部分:光耦合驅(qū)動和電磁閥驅(qū)動。
3.1 步進電機驅(qū)動器光耦合驅(qū)動電路
    圖3所示為光耦合驅(qū)動電路,電路的輸入為左邊的P5和P6接口,連接到單片機的對應管腳,管腳分別提供如下信號:4個集成控制器的使能信號E、4個集成控制器的方向信號D和每個方向上步進電機的運動脈沖信號PUL,經(jīng)過2003A芯片內(nèi)部的達林頓管穩(wěn)壓后變換為可驅(qū)動光耦合的信號,通過P1、P2、P3、P4 4個四腳接頭分別接到4個步進電機集成控制器。

3.2 電磁閥驅(qū)動放大電路
    本設計采用的所有電磁閥工作在24 V,以24 V為1信號,0 V為0信號。電磁閥驅(qū)動電路中以24 V穩(wěn)壓源作為電磁閥信號源,使用TIP127[2]作為電子開關,使用ULN2003A將單片機的5 V信號放大到24 V驅(qū)動TIP127開關。
    通過2.3.2節(jié)可知本設計中有3個接收電子信號的電磁閥,分別是氣缸控制閥、真空閥氣流控制閥和吸盤氣流控制閥。每個電磁閥都有一根信號線與地線。實際電路中,每個閥的信號和地分別與各自TIP127的集電極與公共地相接。整個電磁閥驅(qū)動放大電路圖如圖4所示。

 

 

4 控制核心與軟件設計
    本設計的控制核心為STM32F103ZET6[3-4]單片機?;诖藛纹瑱C運行機械、電磁閥的控制程序以實現(xiàn)各種不同的運動,最終實現(xiàn)翻書動作。
4.1 底層函數(shù)
    編寫軟件時,先將底層的功能封裝成函數(shù),如電機使能、電機方向。最初設計時步進電機脈沖輸出函數(shù)可以用普通I/O輸出,也可以使用PWM模塊直接產(chǎn)生步進脈沖。但是PWM口輸出的脈沖個數(shù)無法精確控制,最終方案使用I/O口完成步進脈沖輸出。
    步進脈沖輸出的最底層函數(shù)是void xShift(int delay)函數(shù)[5],該函數(shù)用來在指定方向上輸出一個脈沖,x為H或V分指定水平方向和豎直方向(下同),入口參數(shù)delay決定了脈沖的周期為2×delay×100 ?滋s。
    將這個函數(shù)封裝可得到運動算法函數(shù):void xPul(long nPul,unsigned char dr),該函數(shù)用來執(zhí)行在dr指定的方向上運動nPul個脈沖的運動算法。為了避免急起急停,本函數(shù)通過修改每個Shift( )的周期來實現(xiàn)速度曲線按梯形變化:保持一定斜率從最低速上升到最高速,維持最高速,按一定斜率從最高速降到最低速。
    3個宏量決定了速度曲線的相關數(shù)據(jù):x_HSDLY最高速度延時、x_LSDLY最低速度延時、x_ACCER速度升降速率倒數(shù)。這3個宏與xPul函數(shù)配合產(chǎn)生周期變動的脈沖來控制步進電機按照期望的速度運行。
    最終會使用到的函數(shù)是void xMove(long wFrom,long wTo)函數(shù),該函數(shù)的兩個參數(shù)指定了運動的起止點相對于坐標原點的脈沖數(shù)。通過起止點各自相對于原點的脈沖數(shù)可以計算出兩個信息:從起點運動到終點需要產(chǎn)生多少個脈沖,以及從起點運動到終點的運動方向。這兩個參數(shù)傳入xPul函數(shù),xPul函數(shù)最終調(diào)用xShift產(chǎn)生具體的脈沖來實現(xiàn)運動。xPul函數(shù)產(chǎn)生的速度曲線如圖5所示。

4.2 動作控制主程序
    按照設計的功能,機械在上電后依次完成如下動作:
    (1)提升玻璃板,運動到封面上方;
    (2)壓下玻璃板,為封面拍照;
    (3)提升玻璃板;
    (4)運動到吸取頁面位置,吸取頁面;
    (5)運動到放下頁面位置,吹下頁面;
    (6)運動到拍照位置,壓下玻璃板,兩個攝像頭同時為左右兩頁拍照;
    (7)重復步驟(3)~步驟(5),直到整本書翻完。
    該系統(tǒng)運動控制由單片機輸出使能、方向以及脈沖信號控制步進電機驅(qū)動器從而控制步進電機的啟停、方向以及速度,氣路控制通過單片機輸出開關信號控制氣閥打開或閉合,從而實現(xiàn)吸盤升/降以及氣流吹氣或吸氣。通過步進電機與電磁閥的動作配合實現(xiàn)各種實際的動作,如翻書、壓平等,從而很好地代替了人工的重復勞動。
參考文獻
[1] 李寧.基于MDK的STM32處理器開發(fā)應用[M].北京:北京航空航天大學出版社,2008.
[2] 程琤.單片機原理與應用系統(tǒng)開發(fā)[M].北京:機械工業(yè)出版社,2011:1-9.
[3] 王景景.單片機原理及應用[M].北京:機械工業(yè)出版社,2010.
[4] 肖看,李群芳.單片機原理、接口及應用:嵌入式系統(tǒng)技術基礎(第2版)[M].北京:清華大學出版社,2010.
[5] 譚浩強.C程序設計[M].北京:清華大學出版社,2005.

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