徐 磊
(江西科技師范大學(xué) 江西 南昌 330100)
智慧移動(dòng)實(shí)驗(yàn)室設(shè)計(jì)
徐 磊
(江西科技師范大學(xué) 江西 南昌 330100)
隨著科技的快速發(fā)展,電子產(chǎn)品日新月異,智能,便利,綠色,環(huán)保等早已成為當(dāng)今初會(huì)的焦點(diǎn),對(duì)于智能化產(chǎn)品的研究也一直向前。于是,我們緊跟時(shí)代腳步,設(shè)計(jì)了本次產(chǎn)品智慧移動(dòng)實(shí)驗(yàn)室系統(tǒng),本系統(tǒng)由硬件和軟件組成,主要用于學(xué)校教學(xué)微型移動(dòng)實(shí)驗(yàn)室,也適用于需要測(cè)量的工程師和普通人,本產(chǎn)品使用簡(jiǎn)單,便利攜帶,性能好,智慧移動(dòng)實(shí)驗(yàn)室就像一個(gè)移動(dòng)的小型實(shí)驗(yàn)室,可以進(jìn)行各種教學(xué)實(shí)驗(yàn)測(cè)量,不再需要再跑去實(shí)驗(yàn)室用特定的產(chǎn)品,你可以使用本產(chǎn)品,隨時(shí)隨地的進(jìn)行實(shí)驗(yàn),再也不會(huì)因?yàn)橄氲揭粋€(gè)好思路而沒(méi)有好的工具而煩惱了。本次產(chǎn)品主要可作小型示波器和信號(hào)發(fā)生器使用。
互聯(lián)網(wǎng)+;示波器;信號(hào)發(fā)生器;STM32;采樣;便攜
在目前的實(shí)驗(yàn)教學(xué)儀器中,大部分一起往往過(guò)于笨重,不方便攜帶。而且大多只能存放于實(shí)驗(yàn)室等固定場(chǎng)所。這就給學(xué)生調(diào)試電路帶來(lái)很多局限性,現(xiàn)在的一些測(cè)試儀器雖然具備上位機(jī)軟件調(diào)試功能,但不具備聯(lián)網(wǎng)功能,還是采用傳統(tǒng)的單機(jī)操作模式,而現(xiàn)行的測(cè)試波形拷貝功能也不能完成實(shí)時(shí)性的要求。綜合上面兩種不足,我們可以知道現(xiàn)在的一些測(cè)試儀器不能滿足現(xiàn)在的時(shí)代發(fā)展需要。所以設(shè)計(jì)并研發(fā)出一款具有網(wǎng)絡(luò)互連功能和數(shù)據(jù)實(shí)時(shí)上傳功能的便攜性一起具有十分重要的意義。這樣即可既能實(shí)現(xiàn)所測(cè)數(shù)據(jù)的實(shí)時(shí)上傳,方便指導(dǎo)老師遠(yuǎn)程指導(dǎo)外,還可以讓此測(cè)試儀器走進(jìn)學(xué)生宿舍,讓學(xué)生在寢室即可完成實(shí)驗(yàn)數(shù)據(jù)的測(cè)試。這在一定程度上解決了學(xué)生宿舍無(wú)儀器的現(xiàn)狀,從而提高學(xué)生的學(xué)習(xí)積極性。
智慧移動(dòng)實(shí)驗(yàn)室是由STM32F407ZGT6核心,3.5寸TFT觸摸屏以及外圍電路(穩(wěn)壓電路,采集電路)等輔助部件組成,具備7M的采樣率和可調(diào)節(jié)的信號(hào)發(fā)生器功能??梢詫?shí)驗(yàn)室里大型的儀器,并且多合一。
首先又輸入電路把輸入電壓轉(zhuǎn)換成0-3.3V的AD采樣范圍內(nèi),經(jīng)過(guò)高速AD,示波器的最大采樣速度由單位時(shí)間內(nèi)AD轉(zhuǎn)換的最高次數(shù)決定,簡(jiǎn)稱Fmax,最大采樣率越高,儀器捕捉信號(hào)的能力越強(qiáng),數(shù)字式示波器在某測(cè)量時(shí)刻的實(shí)際取樣速率可根據(jù)示波器當(dāng)時(shí)設(shè)定的掃描因素(t/div)推算,根據(jù)采樣定理,如果取樣速率大于或者等于信號(hào)最高頻率分量的的兩倍,便可以重現(xiàn)原信號(hào)波形。實(shí)際上,為了保證信號(hào)分辨率,往往要求增加更多的采樣點(diǎn),一般一個(gè)周期取4-10個(gè)點(diǎn)。
智慧移動(dòng)實(shí)驗(yàn)室是由外圍電路將待測(cè)信號(hào),轉(zhuǎn)成單片機(jī)AD采集能采集的0-3.3V信號(hào),然后由單片機(jī)采集顯示,軟件部分包括ucosiii實(shí)時(shí)內(nèi)核,STemwin嵌入式GUI界面,外圍電路將待測(cè)信號(hào)轉(zhuǎn)成0-3.3V的電壓之后,由單片機(jī)中的定時(shí)器定時(shí)觸發(fā)ADC采集并由DMA(直接內(nèi)存存取)采集到內(nèi)存中,實(shí)時(shí)內(nèi)核定時(shí)刷新內(nèi)存中的值轉(zhuǎn)換之后顯示到TFT彩屏上。信號(hào)發(fā)生器功能由DMA加ADC加外圍轉(zhuǎn)換電路完成,單片機(jī)自帶的DAC可以實(shí)現(xiàn)0-3.3V的電壓輸出。然后經(jīng)過(guò)外圍電路轉(zhuǎn)換成相應(yīng)波形。
(一)最大采樣速率Fmax
單位時(shí)間內(nèi)完成的完整AD轉(zhuǎn)換的次數(shù),最大采樣率主要由AD轉(zhuǎn)換器的最高速率決定,最高速率越高,儀器的捕獲信號(hào)的能力越強(qiáng)。
(二)儲(chǔ)存帶寬
儲(chǔ)存貸款與采樣速率密切兩相關(guān),根據(jù)采樣定理,如果取樣速率大于或者等于最高信號(hào)頻率分量的兩倍,便可重現(xiàn)原信號(hào)的波形,實(shí)際上,在數(shù)字存儲(chǔ)示波器的設(shè)計(jì)中,為了保證波形的分辨率,往往要求增加更多的取樣點(diǎn),一般一個(gè)周期4-10點(diǎn)。
(三)分辨率
分辨率用于反映儲(chǔ)存信號(hào)波形的細(xì)節(jié)的綜合特性。
分辨率包括垂直分辨率和水平分辨率,垂直分辨率與AD轉(zhuǎn)換的分辨率相對(duì)應(yīng),常以屏幕每格的分級(jí)數(shù)(級(jí)/div)表示。水平分辨率由存儲(chǔ)器的容量決定,常以屏幕每格含有多少個(gè)取樣點(diǎn)來(lái)表示,示波器的屏幕坐標(biāo)刻度一般為8*10 div。若示波器采用8位AD轉(zhuǎn)換器(256級(jí)),則其垂直分辨率為32級(jí)/div,用哪個(gè)百分比表示為1/256≈0.39%。若采用容量為1k的存儲(chǔ)器,則水平分辨率為1024/10點(diǎn)/div,或者用百分?jǐn)?shù)表示為1/1024≈0.1%。
(四)儲(chǔ)存容量
儲(chǔ)存容量又稱記錄長(zhǎng)度,用記錄一幀波形數(shù)據(jù)占有的存儲(chǔ)容量來(lái)表示,常以字(word)為單位。存儲(chǔ)容量與水平分辨率在數(shù)值上互為倒數(shù)關(guān)系。
數(shù)字存儲(chǔ)器的儲(chǔ)存容量通常采用256B,512B,1K,4K等。存儲(chǔ)容量越大,水平分辨率就越高,但是存儲(chǔ)容量并不是越大越好,由于一起最高采樣速率的限制,若存儲(chǔ)容量選取不恰當(dāng),往往會(huì)因?yàn)闀r(shí)間窗口縮短而失去信號(hào)的重要成分,或者因時(shí)間窗口增大而水平分辨率降低。
(五)讀出速度
讀出速度是指將儲(chǔ)存的數(shù)據(jù)從儲(chǔ)存器中讀出的速度,常用(時(shí)間)/div表示。
其中,時(shí)間等于屏幕中每格內(nèi)對(duì)應(yīng)的儲(chǔ)存容量*讀脈沖周期。
使用時(shí),示波器應(yīng)該根據(jù)顯示器,記錄裝置等對(duì)速度的不同要求,選擇不同的讀出速度。
單片機(jī)采用STM32F407ZET6,主頻168M,帶FPU計(jì)算器,體積小巧,1M FLASH 200K RAM和1M的外部擴(kuò)展RAM(SRAM)。屏幕采用ILI9328驅(qū)動(dòng)的TFT。使用單片機(jī)的FSMC總線驅(qū)動(dòng)屏幕顯示,F(xiàn)PS最高可以達(dá)到120HZ,使得波形快速的展現(xiàn)在屏幕上,而不至于丟失。
觸摸屏部分采用的是電阻式觸摸,使用了電阻觸摸屏專用芯片XPT2046。
外部輸入電路采用運(yùn)放等實(shí)現(xiàn)衰減,放大等功能。
硬件框圖:
合衰減電路:
圖1.0 衰減和耦合網(wǎng)絡(luò)
AC/DC耦合通過(guò)C1電容來(lái)實(shí)現(xiàn),衰減方式使用純電阻網(wǎng)絡(luò)。
圖1.1 阻抗匹配
總體框架:為T(mén)FT初始化,觸摸初始化,eeprom初始化用于保存設(shè)置,
示波器的軟件部分:初始化兩個(gè)定時(shí)器Timer6,Timer7,Timer6給GUI系統(tǒng)提供時(shí)基和定時(shí)監(jiān)測(cè)觸摸屏情況,Timer7用于觸發(fā)ADC,調(diào)節(jié)Timer7的頻率可以調(diào)節(jié)示波器的時(shí)間間隔。波形發(fā)生器的軟件部分,使用預(yù)先設(shè)定好的基本波形數(shù)組通過(guò)Timer7不同頻率觸發(fā)輸出到DAC端口。
MainDLG.c //示波器主窗口的創(chuàng)建
/****************************
*
*功能:使用STemwin創(chuàng)建一個(gè)圖表控件,并為控件添加數(shù)據(jù)集。
*/
WM_HWIN CreateMain(void);
WM_HWIN CreateMain(void){
WM_HWIN hWin;
GUI_HWIN hItem,hScaleH;
GRAPH_SCALE_Handle hScaleV;
hWin = GUI_CreateDialogBox(_aDialogCreate,GUI_COUNTOF(_aDialogCreate),_cbDialog,WM_HBKWIN,0,0);
hItem =WM_GetDialogItem(hWin,ID_GRAPH_0);
GRAPH_SetBorder(hItem,20,10,10,15);
GRAPH_SetGridVis(hItem,1);
GRAPH_SetGridFixedX(hItem,1);
GRAPH_SetGridDistY(hItem,10);
hScaleV =GRAPH_SCALE_Create(20,GUI_TA_RIGHT,GRAPH_SCALE_CF_VERTICAL,50);//創(chuàng)建和增加垂直范圍尺度標(biāo)簽
GRAPH_SCALE_SetTextColor(hScaleV,GUI_RED); //設(shè)置標(biāo)簽字體顏色
GRAPH_AttachScale(hItem,hScaleV); //將標(biāo)簽添加到垂直方向
hScaleH =GRAPH_SCALE_Create(180,GUI_TA_HCENTER,GRAPH_SCALE_CF_HORIZONTAL,50);//創(chuàng)建和增加水平范圍尺度標(biāo)簽
GRAPH_SCALE_SetTextColor(hScaleH,GUI_DARKGREEN); //設(shè)置字體顏色
GRAPH_AttachScale(hItem,hScaleH); //添加到水平方向
pdataGRP =GRAPH_DATA_YT_Create(GUI_RED,500/*最大數(shù)據(jù)個(gè)數(shù)*/,0,0);//創(chuàng)建一個(gè)數(shù)據(jù)曲線,可創(chuàng)建多個(gè)曲線
GRAPH_AttachData(hItem,pdataGRP); //為繪圖控件添加數(shù)據(jù)對(duì)象
其中n=0,1,2,…,N-1,N為子脈沖個(gè)數(shù);Na為脈組數(shù),na=1,2,…,Na;fn=f0+nΔf為第n個(gè)子脈沖的載頻;tm為方位向慢時(shí)間;K為散射點(diǎn)個(gè)數(shù);假設(shè)xk、yk分別為第k個(gè)散射點(diǎn)在目標(biāo)參考系中的坐標(biāo),則σk=σ(xk,yk)為第k個(gè)散射點(diǎn)強(qiáng)度;Rk為第k個(gè)散射點(diǎn)與雷達(dá)之間的距離.在成像的時(shí)間內(nèi),Rk可近似表示為:
return hWin;
}
數(shù)據(jù)采集以及轉(zhuǎn)換:
/* USER CODE BEGIN 1 */
extern volatile GUI_TIMER_TIME OS_TimeMS;
extern uint32_t ADC_ConvertedValue;
extern uint8_t j;
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
float v=0;
if(htim->Instance == htim7.Instance && j == 1)
{
v=0.4*(ADC_ConvertedValue&0xFFF)*3.3/40.96;
GRAPH_DATA_YT_AddValue(pdataGRP,(I16)v);
}
}
//定時(shí)器數(shù)據(jù)采集轉(zhuǎn)換后,把數(shù)據(jù)給到圖表控件的數(shù)據(jù)集。GUI刷新時(shí)會(huì)把數(shù)據(jù)更新到屏幕上。
測(cè)試:測(cè)試采用1HZ,10HZ,100HZ,1KHZ,10K,100K,1M,Vp-p=1V的信號(hào)。
進(jìn)行測(cè)試:
測(cè)試結(jié)果如下:
頻率1HZ10HZ100HZ1K10K100K1MVp-p1V1V1V1V1V1V1V測(cè)量Vp-p0.998V1.001V1V1.001V0.999V0.95V0.90V測(cè)量頻率1H10HZ100HZ1KH10K100K1M
結(jié)論:測(cè)量結(jié)果完全可以滿足學(xué)生日常需求。
本次設(shè)計(jì),我們收益良多,也遇到了很多困難。比如說(shuō),如何去架構(gòu)整個(gè)系統(tǒng),如何讓整個(gè)系統(tǒng)即能獨(dú)立實(shí)觀又能雙重實(shí)現(xiàn)。對(duì)于整個(gè)系統(tǒng)如何去更好的兼容等,我們做了大量的工作,從設(shè)計(jì)之初的方案無(wú)到有,一路更改,從簡(jiǎn)單到難,沒(méi)日沒(méi)夜的都在思考如何才能使本次設(shè)計(jì)更加趨于人性化,更加的能讓系統(tǒng)更加穩(wěn)定。在設(shè)計(jì)中,我們查閱了大量資料,其中在設(shè)計(jì)中我們發(fā)現(xiàn)自己所學(xué)不足,而且有很多知識(shí)是我們沒(méi)有接觸過(guò)的,但這并沒(méi)有打擊我們的自信心,更加的讓我們更加努力,從中我們學(xué)會(huì)如何更好的去接受新知識(shí),如何的從發(fā)現(xiàn)問(wèn)題到解決問(wèn)題,如何去發(fā)散性的去思考,這都是學(xué)校不會(huì)教的,唯有在我們真正遇到問(wèn)題到解決問(wèn)題這一過(guò)程中中,我們能發(fā)現(xiàn)自己的不足并去彌補(bǔ),并從中提升自己。在此我也要感謝我的隊(duì)友,不持余力的鼓勵(lì)我,當(dāng)然還要特別感謝那些幫助過(guò)我的老師和同學(xué),正因?yàn)橛兴膸椭凸膭?lì),我才能更加的有自信的去完成這次的設(shè)計(jì)。通過(guò)努力,本次產(chǎn)品實(shí)現(xiàn)所有功能,但本人能力有限,可能產(chǎn)品并不是很完善,歡迎各位的指點(diǎn),我將繼續(xù)努力!
徐磊(1995.07-),男,漢族,江西南昌人,大學(xué)本科,江西科技師范大學(xué)。