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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于單片機C8051F020 的數(shù)字多電機控制平臺的設(shè)計

          基于單片機C8051F020 的數(shù)字多電機控制平臺的設(shè)計

          作者: 時間:2013-05-06 來源:網(wǎng)絡(luò) 收藏

          2. 4 直流橋式驅(qū)動電路

          直流是可以直接采用電源直接驅(qū)動的,直流驅(qū)動電路的主要目的就是對電機的轉(zhuǎn)速和轉(zhuǎn)向進行。在本系統(tǒng)中采用了橋式電路,如圖4 所示。

          橋式電路

          這種橋式電路非常適合用來做,只需按照一定的邏輯和時序開關(guān)管的開通關(guān)斷,就能實現(xiàn)直流電機的正反轉(zhuǎn),也能調(diào)節(jié)電機繞組通電的占空比,從而達到改變電機轉(zhuǎn)速的目的。

          2. 5 場效應(yīng)管選擇

          本系統(tǒng)中選用的功率元件為IR 公司生產(chǎn)的IRF840 功率MOSFET,其工作電壓可達500 V,工作電流最高8 A,IRF840 MOSFET 功率管的驅(qū)動功率小,工作速度高,開關(guān)時間短,熱穩(wěn)定性好,抗干擾能力強,完全滿足系統(tǒng)的要求。

          2. 6 電源設(shè)計

          電源設(shè)計過程中為防止各種電源之間互相干擾,尤其是模擬大電源對電路部分產(chǎn)生噪聲影響,充分考慮了電源濾波的需求。在電路設(shè)計時,對供電電源做濾波處理,對控制信號做光電隔離處理。

          對輸入電源使用單獨接插件和單獨電源濾波器。對信號的輸入和大功率的輸出,也要分別使用接插件進行物理隔離。電機運轉(zhuǎn)時最大瞬時電流可高達2A.為減少大功率輸出對電路產(chǎn)生影響,在設(shè)計時,采取有效的抗干擾措施,如將大功率輸出信號與數(shù)字信號采取有效光電隔離。

          3 軟件設(shè)計

          系統(tǒng)的軟件設(shè)計采用模塊化程序設(shè)計。主程序主要完成的內(nèi)容: 系統(tǒng)參數(shù)初始化、通訊指令解析、開啟中斷、進入子程序模塊輸出控制信號等。每個電機的不同動作均采用不同的子程序模塊,維護方便。系統(tǒng)主程序流程圖如圖5 所示。

          系統(tǒng)主程序流程圖

          上電后,程序初始化芯片的端口設(shè)置及變量初始賦值。當串口中斷發(fā)生,接收上位機發(fā)來的命令消息和發(fā)送反饋消息給上位機。然后解析本次命令,按具體內(nèi)容進入不同的運程序,來控制不同的電機動作。

          4 結(jié)語

          本文所述的控制方案,在一個系統(tǒng)中集成了四個電機的驅(qū)動控制電路,所有功率放大單元均采用場效應(yīng)管自行搭建,在小功率步進電動機及直流電機驅(qū)動控制中有較強的通用性,最大驅(qū)動電流可達6A.可以不作任何的硬件改動,僅通過重寫軟件,就可以直接應(yīng)用在其它系統(tǒng)中驅(qū)動直流或步進電動機


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();