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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用單片機(jī)控制直流電機(jī)

          用單片機(jī)控制直流電機(jī)

          作者: 時(shí)間:2011-05-01 來源:網(wǎng)絡(luò) 收藏

          系統(tǒng)主函數(shù)流程如圖三:

          ①PWM脈寬:本設(shè)計(jì)中采用軟件延時(shí)方式對脈沖寬度進(jìn)行,延時(shí)程序函數(shù)如下:
          void delay(unsigned char dlylevel){
          int i=50*dlylevel;
          while(--i);}
          此函數(shù)為帶參數(shù)DLYLEVEL,約產(chǎn)生DLYLEVEL*400us的延時(shí),因此一個(gè)脈沖周期可以由高電平持續(xù)時(shí)間系數(shù)hlt和低電平持續(xù)時(shí)間系數(shù)llt組成,本設(shè)計(jì)中采用的脈沖頻率為25Hz,可得hlt+llt=100,占空比為hlt/(hlt+llt),因此要實(shí)現(xiàn)定頻調(diào)寬的調(diào)速方式,只需通過程序改變?nèi)肿兞縣lt,llt的值,該子程序流程圖如圖四。
          ②鍵盤中斷處理子程序:采用中斷方式,按下鍵,P3.2腳產(chǎn)生一負(fù)跳沿,響應(yīng)該中斷處理程序,完成延時(shí)去抖動、鍵碼識別、按鍵功能執(zhí)行。


          調(diào)速檔、持續(xù)加/減速:調(diào)速檔通過(0-6)共七檔固定占空比,即相應(yīng)檔位相應(yīng)改變hlt,llt的值,以實(shí)現(xiàn)調(diào)速檔位的實(shí)現(xiàn)。而要實(shí)現(xiàn)按住加/減速鍵不放時(shí)恒加或恒減速直到放開停止,就需在判斷是否松開該按鍵時(shí),每進(jìn)行一次增加/減少1%占空比(即hlt++/--;llt--/++),其程序流程圖如圖五。
          ③顯示子程序:利用數(shù)組方式定義顯示緩存區(qū),緩存區(qū)有8位,分別存放各個(gè)LED管要顯示的值。顯示子程序?yàn)橐粠⒆映绦?,參?shù)為顯示緩存的數(shù)組名,通過for(i=0;i8;i++)方式對每位加上位選碼,送到P0口并進(jìn)行一兩毫秒延時(shí)。
          該顯示子程序只對各個(gè)LED管分別點(diǎn)亮一次,因此在運(yùn)行過程中,每秒執(zhí)行的次數(shù)不應(yīng)低于每秒24次。
          ④定時(shí)中斷處理程序:采用定時(shí)方式1,因?yàn)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/單片機(jī)">單片機(jī)使用12M晶振,可產(chǎn)生最高約為65.5ms的延時(shí)。對定時(shí)器置初值3CB0H可定時(shí)50ms,即系統(tǒng)時(shí)鐘精度可達(dá)0.05s。當(dāng)50ms定時(shí)時(shí)間到,定時(shí)器溢出則響應(yīng)該定時(shí)中斷處理程序,完成對定時(shí)器的再次賦值,并對全局變量time加1,這樣,通過變量time可計(jì)算出系統(tǒng)的運(yùn)行時(shí)間。
          對于一個(gè)數(shù)的顯示,先應(yīng)轉(zhuǎn)成BCD碼,即取出每一個(gè)位,分別送入顯示緩存區(qū),對于轉(zhuǎn)BCD的算法,應(yīng)對一個(gè)數(shù)循環(huán)除10取模,直至為0,程序如下:
          do{dispbuff[bcd_p]=bechange%10;//dispbuff為顯示緩沖區(qū)數(shù)組
          bcd_p++;}while(bechange/=10) //disp_p為數(shù)組指針
          軟件設(shè)計(jì)中的特點(diǎn):
          1、對于的啟停,在PWM上使用漸變的脈寬調(diào)整,即開啟后由停止勻加速到默認(rèn)速度,停止則由于當(dāng)前速度逐漸降至零。這樣有利于保護(hù),如運(yùn)用于小車上,在啟動上采用此方式也可加大啟動速度,防止打滑。
          2、對于運(yùn)行時(shí)間的計(jì)算、顯示。配合傳感器技術(shù)可用于計(jì)算距離,速度等重要的運(yùn)行數(shù)據(jù)。
          3、鍵盤處理上采用中斷方式,不必使程序?qū)︽I盤反復(fù)掃描,提高了程序的效率。

          三、測試結(jié)果與分析:

          結(jié)束語
          本設(shè)計(jì)在硬件上采用了基于PWM技術(shù)的H型橋式驅(qū)動電路,解決了電機(jī)馬驅(qū)動的效率問題,在軟件上也采用較為合理的系統(tǒng)結(jié)構(gòu)及算法,提高了的使用效率,且具有一定的防飛能力。但該設(shè)計(jì)也有不足之處,主要是在關(guān)于速度的反饋上,無法提供較為直觀的速度表示方式,因此,有必要引入傳感器技術(shù)對速度進(jìn)行反饋,以rpm或rps表達(dá)當(dāng)前的轉(zhuǎn)速進(jìn)行顯示。


          上一頁 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); })();