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

          新聞中心

          EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 基于STM32F103VCT6的微位移控制系統(tǒng)設(shè)計(jì)

          基于STM32F103VCT6的微位移控制系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2012-05-31 來(lái)源:網(wǎng)絡(luò) 收藏

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

          c.jpg


          2.3 串口通信協(xié)議的編寫
          上位機(jī)與下位機(jī)通信采用串口通信,波特率為9 600 b/s、8位數(shù)據(jù)、一個(gè)停止位、無(wú)校驗(yàn)、無(wú)流量控制、接收發(fā)使能。
          f.jpg
          上位機(jī)與下位機(jī)之間的控制命令采用9個(gè)字節(jié)每幀,包括電機(jī)選擇、命令、數(shù)據(jù)、校驗(yàn)等。

          3 實(shí)驗(yàn)
          在微系統(tǒng)測(cè)量實(shí)驗(yàn)過(guò)程中,采用步進(jìn)電機(jī)步進(jìn)角為1.8°;步進(jìn)電機(jī)驅(qū)動(dòng)器為8細(xì)分;定位機(jī)構(gòu)滾珠絲杠導(dǎo)程為4 mm;光柵傳感器分辨率為1μm。理論上每發(fā)一個(gè)脈沖絲杠移動(dòng)2.5μm。發(fā)送為20 000個(gè)脈沖,脈沖頻率2 000 Hz。理論上光柵傳感器產(chǎn)生50 000個(gè)脈沖。對(duì)反饋信號(hào)進(jìn)行計(jì)數(shù),并發(fā)送偏差命令進(jìn)行實(shí)時(shí)修正直到最后達(dá)到預(yù)定位置。同時(shí)也進(jìn)行了速度調(diào)節(jié)實(shí)驗(yàn),步進(jìn)電機(jī)運(yùn)行平穩(wěn),驗(yàn)證了系統(tǒng)的可靠性。

          4 結(jié)論
          單片機(jī)的微實(shí)現(xiàn)了對(duì)上位機(jī)命令的響應(yīng)、處理及數(shù)據(jù)交互。通過(guò)接收上位機(jī)發(fā)送的各種命令,STM32F 103VCT6單片機(jī)產(chǎn)生相應(yīng)的控制信號(hào),并通過(guò)步進(jìn)電機(jī)帶動(dòng)滾珠絲杠完成規(guī)定的動(dòng)作。同時(shí)通過(guò)處理位置反饋信號(hào)來(lái)判斷運(yùn)動(dòng)是否到位,使三維微系統(tǒng)的運(yùn)動(dòng)精度大大提高。而且步進(jìn)電機(jī)采用升、降速控制,避免了步進(jìn)電機(jī)的直接啟動(dòng)與急停,大大地改善了步進(jìn)電機(jī)運(yùn)動(dòng)的平穩(wěn)性,而且輸出脈沖頻率可以在20 kHz以內(nèi)調(diào)節(jié),具有很寬的速度范圍,具有很強(qiáng)的適應(yīng)性。整體上滿足了微位移控制系統(tǒng)的要求。


          上一頁(yè) 1 2 3 4 下一頁(yè)

          評(píng)論


          相關(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); })();