<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 電源與新能源 > 設計應用 > 太陽自動跟蹤系統(tǒng)的設計

          太陽自動跟蹤系統(tǒng)的設計

          作者: 時間:2009-11-10 來源:網絡 收藏

          2 硬件電路
          2.1 驅動器接口電路
          中微處理器選用89系列性價比高和功耗低的89C52。74HC14芯片是6非門施密特觸發(fā)器,與P1.1和P1.2口相連,控制方位限位信號。74HC240芯片,八反相三態(tài)緩沖器/線驅動器,用于數(shù)據(jù)緩沖及總線驅動。使用兩片74HC240芯片,通過P0口引腳控制,兩片74HC240的16個輸出引腳作為步進電機驅動電路的輸入控制信號,分別控制步進電機俯仰方向和水平方位的正反轉。系統(tǒng)與上位機的通信選用MAX485接口芯片,由P1.0口控制其收發(fā)狀態(tài)。驅動器接口電路如圖3所示。

          本文引用地址:http://www.ex-cimer.com/article/181189.htm

          2.2 步進電機驅動電路
          步進電動機是一種用電脈沖信號進行控制,并將電脈沖信號轉換成相應角位移的執(zhí)行器。在系統(tǒng)中,以74HC240的16個輸出信號作為步進電機驅動器的輸入控制信號,用以控制步進電機俯仰方向和水平方位的正反轉。圖4所示的是步進電機一路驅動電路圖,系統(tǒng)共有四路驅動電路,分別驅動步進電機俯仰方向和水平方位的正反轉。其中,水平方位電機由D7,D6,D5,D4驅動;俯仰方向電機由D3,D2,D1,D0驅動。跟蹤裝置中步進電機選用42BYG250C型,步矩角1.8°。水平俯仰方向步進電機運行的最大角度是360°,共需運行20 000步。減速器的傳動比為1:100,即電機轉動100°時水平轉臺相應轉動1°。以步進電機1.8°的步距角計算,當鏡面裝置的水平轉臺轉動1°時,步進電機發(fā)出100/1.8個脈沖,由此可以計算平面鏡法向量的方位角為a時步進電機發(fā)出的脈沖數(shù)為100α/1.8個。步進電機動作頻率可手動設置,默認情況下,步進電機每隔15 s動作一次。

          2.3 限位信號采集電路
          采用光電耦合器與電壓比較器電路組成的微機步進電機限位電路,其電路圖如圖5所示。

          限位電路中利用雙三態(tài)門來控制步進電機的脈沖通路。工作原理是:在到達限位位置之前,光耦導通,電壓比較器LM393的反向輸入端有信號,允許步進電機控制脈沖從此通過。當限位桿到達限位位置時,擋住了光耦的光通路,使LM393的反向輸入端無信號,步進電機就停止。


          3 軟件
          跟蹤系統(tǒng)的軟件分為兩部分,一是步進電機控制部分,主要由單片機完成。單片機的軟件采用模塊化設計的方法,主要分為如下幾個軟件模塊:主程序模塊、串行口中斷處理模塊、正常跟蹤處理模塊、串行口中斷復位處理模塊等。單片機主程序流程圖如圖6所示。

          軟件的另一部分為PC機部分,PC機軟件部分主要是負責任意時刻位置的計算并運用軟件計算出當前狀況下俯仰與水平方向步進電機運行的步數(shù),并將數(shù)據(jù)送給跟蹤系統(tǒng)驅動器。與單片機通信的部分使用VC++中的MSComm控件來編譯串口通訊的應用程序,采用MSComm32.OCX控件。使用控件的屬性進行串口設置,使用控件的事件驅動進行串口響應,使用控件的方法完成串行口接收和發(fā)送數(shù)據(jù)。PC機通信流程圖如圖7所示。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();