《電子技術應用》
您所在的位置:首頁 > 電源技術 > 設計應用 > 基于Qt/Embedded的/蓄電池狀態檢測控制軟件設計
基于Qt/Embedded的/蓄電池狀態檢測控制軟件設計
摘要: 為了使蓄電池生產線上的蓄電池性能參數測量更加靈活,本文提出一種基于qt/embedded的便攜式蓄電池狀態檢測系統,實現了對蓄電池的多路數據采集,控制軟件界面友善、檢測儀器輕巧方便。
Abstract:
Key words :

1  引言
              
  蓄電池" title="蓄電池">蓄電池生產過程中的狀態參數檢測是保證蓄電池出場質量的關鍵。然而目前,國內蓄電池的狀態檢測" title="狀態檢測">狀態檢測主要依靠蓄電池電壓巡檢儀、蓄電池電導測試儀和內阻容量測試儀等儀器,這些儀器只是能夠實現單一的檢測蓄電池狀態,而且操作靈活度有限,數據的存儲、傳輸以及實時分析都需要額外的pc的輔助來實現, 已經不能很好的滿足當前許多要求較高的工業現場控制的應用。為了使蓄電池生產線上的蓄電池性能參數測量更加靈活,本文提出一種基于qt" title="qt">qt/embedded" title="embedded">embedded的便攜式蓄電池狀態檢測系統,實現了對蓄電池的多路數據采集,控制軟件" title="控制軟件">控制軟件界面友善、檢測儀器輕巧方便。
           
2  系統總體設計與實現
              
  本檢測系統由數據采集部分、a/d轉換、arm微控制器和數據存儲等幾部分組成,總體架構設計圖如圖1所示。其中,數據采集部分主要完成對蓄電池性能參數的采集,a/d轉換部分主要完成采集信號的模/數轉化,arm微控制器是整個系統的關鍵部分,主要負責與基于qt/embedded的連接,接受第三方用戶的命令信息并進行相應的處理。數據存儲部分主要負責將處理后的數據存放到usb設備中,為以后數據分析提供依據。
           
3  控制軟件的設計
           
  3.1 qt/embedded簡介
              
  qt/embedded是一個和完整的自包含gui和基于linux的嵌入式平臺工具,是qt在嵌入式平臺的版本。它通過qt api與linux i/o以及framebuffer直接交互,擁有較高的運行效率,而且整體采用面向對象編程,擁有良好地體系架構和編程模式。通過qt/embedded可以直接構建工作在嵌入式設備上的控制軟件,為便攜式設備提供良好的人機交互界面,使設備的操作更加靈活。


                                         
圖1 測量系統的組成


  3.2 qt/embedded的移植
              
  本文采用宿主機-目標板的移植方式,先在宿主機上調試通過后,再將調試通過的程序移植到目標板上。
           
  3.2.1宿主機上的移植
              
  qt/embedded直接寫入幀緩沖,在宿主機上則是通過qvfb(vituralframe buffer)來模擬幀緩沖。宿主機上的移植需要的工具及環境變量見表1。其中環境變量的設置可以直接用export來聲明,配置qt-embedded-3.3.2時,/configure–qconfig–qvfb–depths4,8,16,32,就是指定qt/embedded開發包生成虛擬緩沖幀工具qvfb。

1  引言
              
  蓄電池生產過程中的狀態參數檢測是保證蓄電池出場質量的關鍵。然而目前,國內蓄電池的狀態檢測主要依靠蓄電池電壓巡檢儀、蓄電池電導測試儀和內阻容量測試儀等儀器,這些儀器只是能夠實現單一的檢測蓄電池狀態,而且操作靈活度有限,數據的存儲、傳輸以及實時分析都需要額外的pc的輔助來實現, 已經不能很好的滿足當前許多要求較高的工業現場控制的應用。為了使蓄電池生產線上的蓄電池性能參數測量更加靈活,本文提出一種基于qt/embedded的便攜式蓄電池狀態檢測系統,實現了對蓄電池的多路數據采集,控制軟件界面友善、檢測儀器輕巧方便。
           
2  系統總體設計與實現
              
  本檢測系統由數據采集部分、a/d轉換、arm微控制器和數據存儲等幾部分組成,總體架構設計圖如圖1所示。其中,數據采集部分主要完成對蓄電池性能參數的采集,a/d轉換部分主要完成采集信號的模/數轉化,arm微控制器是整個系統的關鍵部分,主要負責與基于qt/embedded的連接,接受第三方用戶的命令信息并進行相應的處理。數據存儲部分主要負責將處理后的數據存放到usb設備中,為以后數據分析提供依據。
           
3  控制軟件的設計
           
  3.1 qt/embedded簡介
              
  qt/embedded是一個和完整的自包含gui和基于linux的嵌入式平臺工具,是qt在嵌入式平臺的版本。它通過qt api與linux i/o以及framebuffer直接交互,擁有較高的運行效率,而且整體采用面向對象編程,擁有良好地體系架構和編程模式。通過qt/embedded可以直接構建工作在嵌入式設備上的控制軟件,為便攜式設備提供良好的人機交互界面,使設備的操作更加靈活。


                                         
圖1 測量系統的組成


  3.2 qt/embedded的移植
              
  本文采用宿主機-目標板的移植方式,先在宿主機上調試通過后,再將調試通過的程序移植到目標板上。
           
  3.2.1宿主機上的移植
              
  qt/embedded直接寫入幀緩沖,在宿主機上則是通過qvfb(vituralframe buffer)來模擬幀緩沖。宿主機上的移植需要的工具及環境變量見表1。其中環境變量的設置可以直接用export來聲明,配置qt-embedded-3.3.2時,/configure–qconfig–qvfb–depths4,8,16,32,就是指定qt/embedded開發包生成虛擬緩沖幀工具qvfb。


           
  3.2.2目標板上的移植
              
  將qt/embeded程序應用到arm開發板,在configure配置時配置linux-arm-g++配置選項[6]。最后將交叉編譯好的應用程序燒寫到開發板的根文件系統的/opt目錄中。
           
  3.3應用程序的框架結構
              
  基于qt/embedded的蓄電池狀態檢測控制軟件包括以下4個主要模塊,如圖2所示。


                                        
圖2 軟件框架結構

  3.3.1用戶界面(user interface)模塊
              
  用戶界面如圖3所示,主要包括工作人員信息(圖3①部分)、蓄電池信息(圖3②部分)、需要顯示的數據(圖3③部分)(理想數據、數據上下限、實際檢測數據及其當前蓄電池的狀態)和數據存儲(圖3④部分)幾部分組成。其中,檢測人員工作前,需要手動的輸入員工信息和設備信息等內容,便于數據分類,最后將這些數據共同存儲。


                                        
圖3 人機界面運行圖


  3.3.2數據處理模塊
              
  采集數據處理模塊的基本結構流程圖如圖4所示。系統啟動之后,首先進行arm微處理器芯片的初始化工作,完成初始化之后,系統啟動qt上位機軟件,然后整個程序進入監聽狀態,不停檢測是否有控制命令事件觸發,一旦觸發則進行a/d轉化,將數據采集模塊采集到的信息進行數/模轉化,最后將完成處理的數據送至顯示模塊顯示。


                                        
 圖4 軟件流程圖


  
  在ad模塊的驅動程序設計中采用中斷采集的方式完成數據采集。ad驅動函數主要代碼如下:
             
  (1)設備初始化,驅動設備的注冊。為防止設備號的沖突,這里設備注冊采用的是自動分配設備號。
           
  devfs_handle=devfs_register(null,device_name,devfs_fl_auto_devnum,0,0,s_ifchr|s_irusr|s_iwusr,&s3c2410_fops,null)。
             
  (2)open函數,用于設置ad通道,并進行比例因子初始化。
          
       init_waitqueue_head (&adcdev.wait);
            //等待隊列,當數據到達的時候,進程被喚醒,并將數據返回調用者。
            adcdev.channel=0;
            adcdev.prescale= 0xff;
            //ad設置,說明對通道0進行采樣。
             
  (3)read函數,關鍵函數之一,在這個函數中需要配置ad器件的控制寄存器,并啟動轉換。使用copy_to_user函數把數據從內核傳遞到用戶空間,功能函數主要代碼如下:

            start_adc_ain(adcdev.channel, adcdev.prescale);
            interruptible_sleep_on(&adcdev.wait);
            copy_to_user (buffer, (char*)&ret, sizeof(ret))。
             
  (4)最后,把所有功能函數寫進file_operations。


                                   
                        表1 宿主機上的移植需要的工具及環境變量


4  總結
              
  在各種檢測系統的研究和設計中,數據采集是必不可少的環節。本系統以s3c2410a微控制器為基礎,利用圖形化編程語言qt設計出可視化、友好的控制界面,能夠顯著提高人機界面的顯示效果。該系統具有較高的穩定性、可靠性,特別適用于便攜式檢測裝置。因此,該系統具有廣闊的市場前景。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲av无码一区二区三区鸳鸯影院| 国产私拍福利精品视频推出| 久久精品无码精品免费专区| 精品视频国产狼友视频| 女人18毛片特级一级免费视频| 亚洲国产香蕉碰碰人人| 直播视频区国产| 国产乱子伦精品无码码专区| 香蕉视频网站在线| 天天狠天天透天干天天怕∴| 久久免费视频网| 欧美性xxxxx极品娇小| 免费人成年激情视频在线观看| china同性基友gay勾外卖| caoporn97在线视频| 欧美日本在线观看| 免费看香港一级毛片| 四虎免费影院ww4164h| 日韩乱码在线观看| 亚洲欧洲日本在线观看| 精品无码人妻一区二区三区不卡 | 中文字幕乱码无码人妻系列蜜桃| 欧美va亚洲va国产综合| 免费**的网址| 日韩视频第二页| 快猫官方网站是多少| 久久免费的精品国产V∧| 涂了媚药的玉势| 免费视频你懂的| 老汉色老汉首页a亚洲| 国产寡妇偷人在线观看视频| **aaaa**毛片在线播放| 最近中文字幕在线中文视频| 亚洲精品第五页中文字幕| 精品久久人人做人人爽综合| 欧美精品在欧美一区二区| 又大又硬又黄的免费视频| 538在线精品| 多人伦精品一区二区三区视频| 久久国产热视频| 欧美激情第1页|