氣浮球控制實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)與應(yīng)用
當(dāng)前自動(dòng)化類專業(yè)的自動(dòng)控制原理實(shí)驗(yàn)一般基于Matlab仿真平臺(tái)實(shí)現(xiàn),未能很好地和控制對(duì)象結(jié)合起來,學(xué)生很難從頭到尾參與到整個(gè)實(shí)驗(yàn)環(huán)節(jié)中來,不利于對(duì)控制原理的理解與掌握,實(shí)驗(yàn)效果并不理想。
本文設(shè)計(jì)了一個(gè)符合教學(xué)需求的創(chuàng)新型實(shí)驗(yàn)系統(tǒng)。該系統(tǒng)綜合多門專業(yè)課程知識(shí),為學(xué)生學(xué)習(xí)自動(dòng)控制原理、單片機(jī)、嵌入式系統(tǒng)等課程提供了一個(gè)綜合性實(shí)驗(yàn)平臺(tái)。同時(shí),該系統(tǒng)不太復(fù)雜,在學(xué)生應(yīng)用所學(xué)知識(shí)可以駕馭的范圍內(nèi),具有一定的趣味性,簡單直觀,有利于提高學(xué)生參與其中的積極性。
1、系統(tǒng)架構(gòu)
本文設(shè)計(jì)的實(shí)驗(yàn)系統(tǒng)如圖1所示,研究內(nèi)容可以劃分為超聲測(cè)距模塊設(shè)計(jì)與實(shí)現(xiàn),控制驅(qū)動(dòng)模塊設(shè)計(jì)與實(shí)現(xiàn)和上位機(jī)軟件設(shè)計(jì)開發(fā)三個(gè)部分。

圖1氣浮球控制實(shí)驗(yàn)系統(tǒng)示意圖
超聲測(cè)距模塊實(shí)現(xiàn)的功能是通過發(fā)射超聲波,計(jì)算從發(fā)射時(shí)間到接收到反射波時(shí)間來確定當(dāng)前小球的位置,將此位置信息反饋給控制驅(qū)動(dòng)模塊用于其控制。
控制驅(qū)動(dòng)模塊接收來自超聲測(cè)距模塊的浮球位置信息,與來自上位機(jī)或本地設(shè)定的目標(biāo)位置進(jìn)行比較,采用一定的控制算法,計(jì)算出當(dāng)前的風(fēng)機(jī)驅(qū)動(dòng)量,去調(diào)節(jié)風(fēng)機(jī)風(fēng)力,最終實(shí)現(xiàn)將浮球控制到目標(biāo)位置,同時(shí)將浮球的運(yùn)動(dòng)軌跡等信息傳送到上位機(jī)用于顯示、分析、處理。上位機(jī)軟件可以設(shè)定浮球的目標(biāo)位置或運(yùn)動(dòng)軌跡發(fā)送給控制驅(qū)動(dòng)模塊,同時(shí)接收浮球軌跡信息,可以進(jìn)行其運(yùn)行軌跡的顯示、分析、處理。
2、硬件設(shè)計(jì)
系統(tǒng)總體硬件電路框圖如圖2所示,主要包括系統(tǒng)控制、按鍵控制、串口通信、風(fēng)扇驅(qū)動(dòng)、超聲測(cè)距等電路。

圖2硬件電路框圖
(1)系統(tǒng)控制電路。該系統(tǒng)采用基于32位的ARMCortex-M3處理器STM32F103VBT6作為主控芯片,它具有非常豐富的片內(nèi)資源,例如實(shí)時(shí)時(shí)鐘(RTC)、定時(shí)器(TIM)、通用I/O接口(GPIO)、DMA控制器、A/D轉(zhuǎn)換器、USART接口、I2C接口、SPI接口和CAN總線接口還包括20KB的片內(nèi)SRAM,128KB的片內(nèi)Flash以及一個(gè)支持USB2.O規(guī)范的全速USB外圍設(shè)備等,它是整個(gè)系統(tǒng)的主控單元,協(xié)調(diào)其他模塊完成數(shù)據(jù)采集、存儲(chǔ)、處理、控制、傳輸?shù)榷囗?xiàng)功能。
(2)按鍵控制電路。按鍵控制電路如圖3所示,單片機(jī)通過檢測(cè)4個(gè)GPIO口(PC0、PC2、PA0、PC1)的高低電平變化來判斷哪個(gè)按鍵按下。當(dāng)按鍵按下后,GPIO口會(huì)從低電平變?yōu)楦唠娖剑来丝梢耘卸ò存I是否按下。電路中每個(gè)電容起到硬件消抖動(dòng)的作用,電阻則是防止過流。

圖3按鍵控制電路
按鍵是用于初期程序的調(diào)試,最終歸結(jié)到上位機(jī)控制,用上位機(jī)直接傳輸高度、PID系數(shù)等數(shù)據(jù),也包括開始和結(jié)束系統(tǒng)的控制。所以按鍵只是作為輔助調(diào)試電路方便進(jìn)行初期調(diào)試。
(3)串口通信電路。單片機(jī)和上位機(jī)的通信是使用串口通信方式,電路圖如圖4所示。串口通信是一種可以將接受來自CPU的并行數(shù)據(jù)字符轉(zhuǎn)換為連續(xù)的串行數(shù)據(jù)流發(fā)送出去,同時(shí)可將接受的串行數(shù)據(jù)流轉(zhuǎn)換為并行的數(shù)據(jù)字符供給CPU的通信協(xié)議。在本實(shí)驗(yàn)系統(tǒng)中利用了USB轉(zhuǎn)串口模塊,即實(shí)現(xiàn)計(jì)算機(jī)USB接口到通用串口之間的轉(zhuǎn)換。

圖4串口通信電路
CH341是一個(gè)USB總線的轉(zhuǎn)接芯片,通過USB總線提供異步串口、打印口、并口以及常用的2線和4線等同步串行接口。在異步串口方式下,CH341提供串口發(fā)送使能、串口接收就緒等交互式的速率控制信號(hào)以及常用的MODEM聯(lián)絡(luò)信號(hào),用于為計(jì)算機(jī)擴(kuò)展異步串口,或者將普通的串口設(shè)備直接升級(jí)到USB總線。
(4)風(fēng)扇驅(qū)動(dòng)電路。控制氣浮球運(yùn)動(dòng)的風(fēng)扇的驅(qū)動(dòng)電路如圖5所示。風(fēng)扇采用PWM波控制,通過控制PWM波的占空比來控制風(fēng)速。此系統(tǒng)使用單片機(jī)的PA6口發(fā)送PWM波,PWM使用單片機(jī)的TIM1定時(shí)器實(shí)現(xiàn)輸出。TIM1高級(jí)控制定時(shí)器可以實(shí)現(xiàn)輸入捕捉、輸出比較、產(chǎn)生PWM和反相PWM。系統(tǒng)就是使用定時(shí)器的PWM產(chǎn)生功能,通過設(shè)置輸出頻率、占空比、輸出模式等輸出可控的PWM,然后通過隔離,放大后驅(qū)動(dòng)MOS管的開關(guān),進(jìn)而控制風(fēng)扇電機(jī)的轉(zhuǎn)速,最終達(dá)到控制小球運(yùn)動(dòng)的目的。

圖5風(fēng)扇驅(qū)動(dòng)電路
(5)超聲波測(cè)距模塊。測(cè)量小球運(yùn)動(dòng)軌跡使用HC-SR04超聲波測(cè)距模塊,該模塊測(cè)量精度高,可以達(dá)到0.4mm;測(cè)量距離遠(yuǎn),可以達(dá)到30cm左右。硬件電路簡單,只需要占用4個(gè)GPIO口,包括超聲波輸出控制、信號(hào)接收反應(yīng)管腳、VCC和接地管腳。程序控制也很簡單,占用一個(gè)定時(shí)器計(jì)(TIM2),程序開始給定時(shí)器賦予初值,然后控制模塊發(fā)出超聲波,超聲波碰到障礙物后會(huì)反射回來,模塊接受到反射回來的超聲波會(huì)給一個(gè)管腳脈沖,這樣就可以判定收到,關(guān)閉定時(shí)器,此時(shí)讀出TIM2的值,這樣經(jīng)過計(jì)算后便可以得到模塊與障礙物之間的距離。
3、軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)總體流程如圖6所示,主要包括系統(tǒng)初始化、風(fēng)扇驅(qū)動(dòng)、超聲測(cè)距、串口通信等子程序,同時(shí)還包括了上位機(jī)軟件設(shè)計(jì)。

圖6軟件流程圖
(1)系統(tǒng)初始化。程序的初始化,包括系統(tǒng)時(shí)鐘的初始化,GPIO口的初始化,串口通信初始化,定時(shí)器初始化等。對(duì)芯片進(jìn)行初始化后,才可以使芯片正常工作。
系統(tǒng)時(shí)鐘初始化主要是設(shè)置系統(tǒng)的時(shí)鐘頻率,包括設(shè)置時(shí)鐘的預(yù)分頻和使用的芯片功能的時(shí)鐘使能;GPIO口初始化包括使用的GPIO口打開使能、輸出頻率、模式選擇和管腳復(fù)用使能;串口通信初始化包括串口的波特率、字長、停止位、奇偶校驗(yàn)位等設(shè)置;定時(shí)器設(shè)置包括定時(shí)器的分頻、計(jì)數(shù)方式、打開允許計(jì)數(shù)等設(shè)置。
(2)風(fēng)扇驅(qū)動(dòng)程序。風(fēng)扇使用PWM波驅(qū)動(dòng),STM32單片機(jī)有專門的PWM輸出功能,可以設(shè)置其輸出的頻率、占空比等。
程序的PWM輸出使用單片機(jī)高級(jí)控制定時(shí)器TIM1輸出,設(shè)置定時(shí)器可以實(shí)現(xiàn)輸入捕獲、輸出比較、產(chǎn)生PWM等功能。只需要通過改變PWM波的占空比,就可以控制氣浮球的位置。程序中設(shè)置一個(gè)全局變量,通過不斷重新設(shè)置PWM輸出的占空比寄存器來改變風(fēng)速大小,而該設(shè)定值便是由上位機(jī)發(fā)送的數(shù)據(jù)和PID不斷調(diào)節(jié)的數(shù)據(jù)決定。
(3)超聲波測(cè)距程序。超聲波測(cè)距使用芯片的定時(shí)器TIM2實(shí)現(xiàn)。功能實(shí)現(xiàn)過程:首先單片機(jī)控制超聲波模塊發(fā)送超聲波,同時(shí)單片機(jī)定時(shí)器打開,開始計(jì)數(shù),在超聲波碰到障礙物后返回給模塊,單片機(jī)檢測(cè)到電平變化后,關(guān)閉定時(shí)器,讀取此時(shí)定時(shí)器寄存器的值,設(shè)定好TIM2的計(jì)數(shù)時(shí)間和計(jì)數(shù)方式,通過固定算法便可以計(jì)算出模塊距離氣浮球的長度。
(4)串口通信程序。串口通信使用STM32單片機(jī)內(nèi)部的USART功能。該程序包括串口通信的波特率、字長、停止位、奇偶校驗(yàn)等的初始化。程序設(shè)定的波特率為9.600KB/s,一次發(fā)送8位數(shù)據(jù),有奇偶校驗(yàn)位,1位的停止位。上位機(jī)采用特定的通信方式將管理者的命令發(fā)送給單片機(jī),實(shí)現(xiàn)PC機(jī)遠(yuǎn)程控制的目的,同時(shí)也是將數(shù)據(jù)返回給單片機(jī)處理和顯示。
(5)上位機(jī)程序。上位機(jī)使用C#語言編寫,包括基本的操作界面,按鈕處理,輸入輸出,圖形界面顯示等功能。此程序?qū)⒉僮髡咻斎氲母叨刃畔⑼ㄟ^處理發(fā)送給單片機(jī),并將單片機(jī)發(fā)送回的數(shù)據(jù)和氣浮球運(yùn)動(dòng)軌跡在圖形界面顯示出來,便于使用者操作和處理。
4、系統(tǒng)通信
由于發(fā)送數(shù)據(jù)時(shí),需要發(fā)送的數(shù)據(jù)范圍是0~5000,而發(fā)送數(shù)據(jù)函數(shù)在發(fā)送時(shí)一次只能發(fā)送8位數(shù)據(jù),即允許發(fā)送范圍為0~0xFF(0~255),所以需要對(duì)發(fā)送數(shù)據(jù)進(jìn)行處理,然后再發(fā)送。處理方式是,發(fā)送數(shù)據(jù)除以256,得到的商和余數(shù)(符合發(fā)送范圍)通過串口相互發(fā)送,接收端將收到的數(shù)據(jù)按對(duì)應(yīng)關(guān)系乘以256再加余數(shù),便可以得到想要的值。這種發(fā)送方式簡單易懂,而且數(shù)據(jù)量處理也不是很大,很適合系統(tǒng)使用。
(1)上位機(jī)對(duì)單片機(jī)的通信協(xié)議。上位機(jī)發(fā)送系統(tǒng)啟動(dòng)和關(guān)閉命令時(shí),發(fā)送4個(gè)8位的數(shù)據(jù),其中前3個(gè)是命令,后1個(gè)是判斷位,判斷是否為開關(guān)機(jī)命令。
單片機(jī)通過最后一位的命令判斷位判斷接受的是數(shù)據(jù)還是命令,然后通過前三位判定是打開還是關(guān)閉系統(tǒng)。
上位機(jī)給單片機(jī)發(fā)送數(shù)據(jù)命令,包括設(shè)定高度、比例、積分、微分值。發(fā)送11個(gè)8位的數(shù)據(jù),其中第1個(gè)始終發(fā)送0,表示發(fā)送開始;2~9個(gè)分別是PID參數(shù)和高度經(jīng)過計(jì)算處理后的數(shù)據(jù),最后2個(gè)8位數(shù)據(jù)是停止位標(biāo)志。接收端也是按照這種方式進(jìn)行接收處理,然后在控制中體現(xiàn)出來。
(2)單片機(jī)對(duì)上位機(jī)的通信協(xié)議。單片機(jī)對(duì)上位機(jī)發(fā)送的數(shù)據(jù)包括實(shí)時(shí)的高度測(cè)量值,接收到的設(shè)定高度值和PID參數(shù)會(huì)重新發(fā)送給上位機(jī)以便實(shí)時(shí)監(jiān)控。發(fā)送時(shí),發(fā)送12個(gè)8位數(shù)據(jù),其中前2個(gè)為0,代表數(shù)據(jù)發(fā)送開始,第3~12個(gè)分別是測(cè)量高度值、設(shè)定高度值和PID值,其中數(shù)據(jù)也是經(jīng)過處理,符合發(fā)送的數(shù)據(jù)大小,發(fā)送給上位機(jī)。上位機(jī)將接受的數(shù)據(jù)經(jīng)過處理后顯示出來。
5、結(jié)語
針對(duì)當(dāng)前自動(dòng)化專業(yè)的相關(guān)實(shí)驗(yàn)未能很好地和控制對(duì)象結(jié)合起來的現(xiàn)狀,設(shè)計(jì)了一套氣浮球控制實(shí)驗(yàn)系統(tǒng),完成了超聲測(cè)距模塊設(shè)計(jì)與實(shí)現(xiàn)、控制驅(qū)動(dòng)模塊設(shè)計(jì)與實(shí)現(xiàn)、上位機(jī)軟件設(shè)計(jì)開發(fā)。整體系統(tǒng)結(jié)構(gòu)簡單,可擴(kuò)展性強(qiáng),該實(shí)驗(yàn)系統(tǒng)已成功應(yīng)用于實(shí)際教學(xué),幫助學(xué)生完成了自動(dòng)控制原理、單片機(jī)、軟件設(shè)計(jì)等課程的相關(guān)實(shí)驗(yàn),且實(shí)驗(yàn)結(jié)果具有直觀、實(shí)時(shí)等優(yōu)點(diǎn),教學(xué)效果反應(yīng)良好。
友情提示:
您只要致電:021-60766769 (0)15216837090(張經(jīng)理)
我們可以解答
氣浮實(shí)驗(yàn)裝置,
圓型氣浮實(shí)驗(yàn)裝置,
平流式加壓氣浮實(shí)驗(yàn)設(shè)備相關(guān)疑問!
我們可以幫您推薦符合您要求的
氣浮實(shí)驗(yàn)裝置,
圓型氣浮實(shí)驗(yàn)裝置,
平流式加壓氣浮實(shí)驗(yàn)設(shè)備相關(guān)產(chǎn)品!