• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于STM32的直流電機(jī)調(diào)速新方法

      2018-05-05 08:18:24司開波呂林濤
      宇航計(jì)測(cè)技術(shù) 2018年2期
      關(guān)鍵詞:直流電機(jī)電路設(shè)計(jì)設(shè)定值

      司開波 黃 健 呂林濤

      (西京學(xué)院,西安 710123)

      1 引 言

      直流電機(jī)因其效率高、壽命長(zhǎng)、低噪聲、力矩大等優(yōu)點(diǎn),在工業(yè)生產(chǎn)和家用電器等方面得到了廣泛的應(yīng)用。人們經(jīng)常用PWM波來(lái)調(diào)整直流電機(jī)的轉(zhuǎn)速,但在實(shí)際應(yīng)用中常常會(huì)發(fā)現(xiàn),即使是一個(gè)固定的PWM值,也不能得到一個(gè)恒定不變的轉(zhuǎn)速。因此,人們常常用PID算法來(lái)調(diào)整電機(jī)的轉(zhuǎn)速。這種算法在使用時(shí),要根據(jù)不同的電機(jī)建立不同的模型,然后分別得到P、I、D的系數(shù),根據(jù)系數(shù)調(diào)整電機(jī)的轉(zhuǎn)速。但該方法受客觀因素影響較大,不能克服非線性摩擦力以及電機(jī)力矩波動(dòng)對(duì)轉(zhuǎn)速的影響,而且相應(yīng)速度不夠快[1~3]。

      為了克服以上缺點(diǎn),本文提出采用基于Cortex-M3的高性能微處理器STM32,應(yīng)用其內(nèi)部定時(shí)器Timer,每間隔10ms對(duì)PWM波中的正脈寬寬度作出調(diào)整,以控制電機(jī)的轉(zhuǎn)速。對(duì)電機(jī)的轉(zhuǎn)速采用編碼器測(cè)速,精度高、響應(yīng)速度快。將設(shè)定的速度值與編碼器測(cè)得的速度進(jìn)行比較,若其值為正,說(shuō)明實(shí)際速度值偏小,在定時(shí)器中將正脈寬的寬度加大,以提高驅(qū)動(dòng)能力,達(dá)到提升速度的目的;若其值為負(fù),說(shuō)明實(shí)際速度值偏大,在定時(shí)器中將正脈寬的寬度減小,以減小驅(qū)動(dòng)能力,達(dá)到降低速度的目的;若兩值相等,則當(dāng)前的正脈寬值保持不變。采用這種方法,調(diào)節(jié)時(shí)間間隔短、響應(yīng)快,能夠較好的控制電機(jī)的轉(zhuǎn)速。

      2 系統(tǒng)設(shè)計(jì)框圖

      系統(tǒng)設(shè)計(jì)框圖如圖1所示。圖中主控采用STM32F103ZET6,在STM32F1系列中屬于高端產(chǎn)品,功能強(qiáng)大,資源豐富。基于Cortex M3的32位微處理器,有3個(gè)硬件SPI接口、8個(gè)定時(shí)器、3個(gè)串口、144個(gè)引腳[4,5]。圖1中首先用按鍵電路設(shè)置電機(jī)轉(zhuǎn)速,用TB6612驅(qū)動(dòng)直流微型電機(jī),該微型電機(jī)自帶編碼器,可用于測(cè)速。測(cè)速時(shí),將編碼器的A、B相分別連接到STM32定時(shí)器T2的PA2和PA3引腳上,就可測(cè)得電機(jī)的轉(zhuǎn)速。將測(cè)得的轉(zhuǎn)速值與設(shè)置的轉(zhuǎn)速值進(jìn)行比較,就可得到誤差值,根據(jù)誤差值調(diào)節(jié)PWM中的正脈寬寬度。若測(cè)量值小于設(shè)定值,則增大正脈寬的寬度;若測(cè)量值大于設(shè)定值,則減小正脈寬的寬度;若相等,則維持原來(lái)正脈寬的值不變。

      圖2 4*1按鍵設(shè)計(jì)電路Fig.2 4*1 Button design circuit

      3 硬件電路設(shè)計(jì)

      3.1 按鍵電路設(shè)計(jì)

      按鍵設(shè)計(jì)電路如圖2所示。采用4*1按鍵,用于設(shè)置電機(jī)轉(zhuǎn)速。

      3.2 直流電機(jī)驅(qū)動(dòng)電路設(shè)計(jì)

      TB6612是日本東芝公式出品的一款直流電機(jī)驅(qū)動(dòng)器,性能優(yōu)于L298,可同時(shí)驅(qū)動(dòng)2路直流電機(jī)。最大電流可達(dá)1.5A,TB6612與STM32的連接圖如圖3所示。

      圖3 TB6612與STM32的連接圖Fig.3 Connection graph between TB6612 and STM32

      圖3中AIN1、AIN2、PWMA分別控制1路電機(jī),對(duì)應(yīng)電機(jī)連接端是AO1和AO2; BIN1、BIN2、PWMB分別控制1路電機(jī),對(duì)應(yīng)電機(jī)連接端是BO1和BO2; 可將AIN1、AIN2、PWMA連接到對(duì)應(yīng)的STM32的IO口。PWMA和PWMB分別連接到STM32的PA0、PA1,這兩個(gè)引腳對(duì)應(yīng)的是定時(shí)器T5的通道1和通道2,能夠產(chǎn)生對(duì)應(yīng)的PWM波形,用于電機(jī)的調(diào)速。對(duì)應(yīng)的真值表如表1所示。

      表1 TB6612真值表

      Tab.1 Truth table of TB6612

      表1中H代表高電平,L代表低電平。當(dāng)電機(jī)全速運(yùn)行時(shí),PWMA輸出高電平,要調(diào)整速度時(shí),PWMA輸出不同占空比的方波。另一路電機(jī)BIN1、BIN2、PWMB、 BO1、BO2的控制邏輯與表1類似。

      3.3 12V直流電機(jī)接口

      12V直流電機(jī)連接圖如圖4所示。電機(jī)驅(qū)動(dòng) PWM 頻率是10kHZ。電機(jī)尾部自帶了13線的磁(霍爾)編碼器,電機(jī)減速比30:1,故車輪轉(zhuǎn)一圈,電機(jī)可以輸出 390個(gè)脈沖。編碼器的額定工作電壓是3.3V,集成了上拉電阻和比較整形功能,可以直接輸出方波。將編碼器的輸出A相、B相分別接到定時(shí)器T2的PA2和PA3,用定時(shí)器T2的計(jì)數(shù)功能測(cè)速[6~8]。圖4中的“電機(jī)線+”和“電機(jī)線-”分別接圖3中TB6612的輸出端AO1和A02。

      圖4 12V直流電機(jī)連接圖Fig.4 Connection diagram of 12V DC motor

      3.4 OLED顯示單元電路設(shè)計(jì)

      顯示單元采用1.44寸SPI接口真彩屏,顯示電路設(shè)計(jì)如圖5所示。圖中采用0.96寸的OLED做顯示屏,分辨率為128×64。接口非常簡(jiǎn)單,采用模擬IIC接口,帶有2個(gè)10K上拉電阻,分別連接到STM32的PE0、PE1引腳。采用3.3V電壓供電。性能優(yōu)于普通的液晶顯示器LCD1602,引腳數(shù)比1602少很多。按鍵設(shè)定的速度值和編碼器測(cè)量的速度值都將在OLED顯示屏上顯示,還可以顯示時(shí)間等其它信息。

      圖5 OLED顯示電路原理圖Fig.5 Schematic diagram of OLED display circuit

      4 軟件設(shè)計(jì)

      4.1 軟件設(shè)計(jì)流程圖

      軟件設(shè)計(jì)流程圖如圖6所示。首先對(duì)IIC、定時(shí)器等進(jìn)行初始化,然后用按鍵設(shè)置電機(jī)轉(zhuǎn)速。按照表1送出對(duì)應(yīng)信號(hào),啟動(dòng)電機(jī)旋轉(zhuǎn)。在旋轉(zhuǎn)過(guò)程中,利用定時(shí)器T1每隔10ms測(cè)試一次電機(jī)轉(zhuǎn)速[9]。根據(jù)公式(1)得到速度差e。若設(shè)定值大于測(cè)量值,則PWM的正脈寬加e;若設(shè)定值小于測(cè)量值,則PWM的正脈寬減e;若相等,則PWM的值不變。一直循環(huán),流程圖如圖6所示。

      圖6 軟件流程圖Fig.6 Software flow chart

      公式(1)中,vs為設(shè)定的速度值,vc為測(cè)量的速度值。兩者相減得到速度的誤差值Er

      Er=vs-vc

      (1)

      4.2 部分代碼

      以下是定時(shí)器T1的初始化程序,調(diào)用形式是Timer1_Init(99,7199);根據(jù)公式(2)計(jì)算,定時(shí)時(shí)間恰好是10ms。

      Tout=(arr+1)×(psc+1)/Fclk

      (2)

      式中:Tout——定時(shí)時(shí)間;Fclk——時(shí)鐘頻率,STM32F103的時(shí)鐘頻率是72MHz;arr——定時(shí)器的自動(dòng)重裝值;psc——時(shí)鐘預(yù)分頻系數(shù),分別做為函數(shù)Timer1_Init的兩個(gè)參數(shù)。

      void Timer1_Init(u16 arr,u16 psc)

      {

      RCC->APB2ENR|=1<<11;

      TIM1->ARR=arr;

      TIM1->PSC=psc;

      TIM1->DIER|=1<<0;

      TIM1->DIER|=1<<6;

      TIM1->CR1|=0x01;

      MY_NVIC_Init(0,0,TIM1_UP_IRQn,2);

      }

      以下代碼是定時(shí)器1的中斷代碼,每隔10ms中斷一次。程序中Read_Encoder(2)為讀取編碼器值的函數(shù),并將其賦給Encoder_Left。程序中Set_value為按鍵設(shè)定電機(jī)轉(zhuǎn)速。若測(cè)量值大于設(shè)定值,則pwm值減1,并調(diào)用TIM5_PWM_Set函數(shù)重新設(shè)定pwm脈寬,降低電機(jī)轉(zhuǎn)速;若測(cè)量值小于設(shè)定值,則pwm值加1,并調(diào)用TIM5_PWM_Set函數(shù)重新設(shè)定pwm脈寬,提高電機(jī)轉(zhuǎn)速。利用此函數(shù),能夠快速調(diào)節(jié)電機(jī)的轉(zhuǎn)速。

      int TIM1_UP_IRQHandler(void)

      {

      if(TIM1->SR&0X0001)

      {

      Encoder_Left=Read_Encoder(2);

      if(Encoder_Left>Set_value)

      {pwm-= Vs-Vc;

      TIM5_PWM_Set(35999,0,3,3,pwm);

      }

      Else if(Encoder_Left

      {pwm+= Vs-Vc;

      TIM5_PWM_Set(35999,0,3,3,pwm);

      }

      }

      }

      5 測(cè)試結(jié)果

      測(cè)試時(shí),根據(jù)上述硬件原理圖進(jìn)行連接。在KEIL下用C語(yǔ)言編寫程序,調(diào)試好后下載到STM32F103中,就可進(jìn)行測(cè)試。實(shí)物如圖7所示。

      測(cè)試時(shí),將編碼器輸出值用串口輸出,每隔10ms記錄一次,并將結(jié)果保存在一個(gè)表格中,如表2所示。由于篇幅有限,表2中只給出了部分?jǐn)?shù)據(jù)。根據(jù)更多個(gè)數(shù)據(jù),得到時(shí)間與測(cè)量速度值之間的曲線如圖8所示。測(cè)試時(shí)按鍵設(shè)定的速度值是240cm/ms。

      圖8 時(shí)間與測(cè)量速度值之間對(duì)應(yīng)關(guān)系圖Fig.8 Corresponding graph between time and measured velocity value

      從表格2和圖8中可以看出,從0到60ms,PWM值不斷增大,電機(jī)轉(zhuǎn)速不斷提高;從70ms到110ms,由于慣性左右,電機(jī)轉(zhuǎn)速還在增大,但此時(shí)定時(shí)器已經(jīng)開始調(diào)節(jié)速度,調(diào)節(jié)過(guò)程中電機(jī)轉(zhuǎn)速有適當(dāng)?shù)牟▌?dòng),但是到120ms后趨于穩(wěn)定。速度穩(wěn)定在240cm/ms,也就是設(shè)定值,達(dá)到了調(diào)速的目的。

      表2 編碼器測(cè)量值與時(shí)間之間的對(duì)應(yīng)關(guān)系

      Tab.2 Relationship between encoder measurement value and time

      6 結(jié)束語(yǔ)

      本文提出了一種直流電機(jī)的調(diào)速新方法,繪制了硬件原理圖,編寫了軟件程序,制作出了實(shí)物,并對(duì)該方法進(jìn)行了驗(yàn)證[10]。測(cè)試結(jié)果表明:該方法具有簡(jiǎn)單、實(shí)用、響應(yīng)快等優(yōu)點(diǎn),能夠快速調(diào)節(jié)電機(jī)的轉(zhuǎn)速,取得了較好的效果。

      [1] 余熾業(yè), 宋 躍, 雷瑞庭.基于STC12C5A60S2 的智能循跡小車[J]. 實(shí)驗(yàn)室研究與探索,2014,33(11):46~49.

      [2] 徐坤,徐坤,吳定允.基于DSP直流無(wú)刷電機(jī)控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].信陽(yáng)師范學(xué)院學(xué)報(bào)( 自然科學(xué)版),2016,29(2):249~252.

      [3] 張厚升,董 碩,姜吉順,邢雪寧.基于Matlab_Simulimk的直流調(diào)速系統(tǒng)虛擬實(shí)驗(yàn)教學(xué)[J].實(shí)驗(yàn)室研究與探索,2016,35(6) : 66~70.

      [4] 敬光紅. 基于FPGA的無(wú)刷直流電機(jī)數(shù)字控制方法研究[J].電子器件,2016,39(1) : 111~117.

      [5] 莫太平,楊宏光,劉冬梅. 面向多路線的智能循跡小車的設(shè)計(jì)與實(shí)現(xiàn)[J].自動(dòng)化與儀表,2014,(4):6~9.

      [6] 賀桂芳. 一種新型智能金屬探測(cè)儀的設(shè)計(jì)[J]. 儀表技術(shù)與傳感器,2016,1:13~15.

      [7] 師樹恒,趙斌,郭朋彥,鄒棟. 基于MK60N512的智能循跡小車設(shè)計(jì)[J].機(jī)床與液壓,2014,42(2):91~96.

      [8] 王茹茹,宋開宏,明軍,潘煜天,吳振飛. 基于開放線圈系統(tǒng)金屬探測(cè)儀傳感器的特性分析[J].合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,38(3):354~357.

      [9] 宋永獻(xiàn),馬娟麗,賀乃寶,張先進(jìn). 基于TMS320F2812的智能循跡小車控制系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2011,19(9):2 128~2 130.

      [10] 張從鵬,邢慶輝. 基于ARMCortex_M4的永磁無(wú)刷直流調(diào)速系統(tǒng)設(shè)計(jì)[J].微特電機(jī),2016,44(1):90~92.

      猜你喜歡
      直流電機(jī)電路設(shè)計(jì)設(shè)定值
      基于模糊PID的無(wú)刷直流電機(jī)速度控制系統(tǒng)的設(shè)計(jì)與仿真
      冷軋鍍鋅光整機(jī)延伸率控制模式的解析與優(yōu)化
      Altium Designer在電路設(shè)計(jì)中的應(yīng)用
      電子制作(2019年16期)2019-09-27 09:34:58
      負(fù)反饋放大電路設(shè)計(jì)
      電子制作(2019年23期)2019-02-23 13:21:36
      基于FPGA的雙繞組無(wú)刷直流電機(jī)軟件設(shè)計(jì)
      電子制作(2017年1期)2017-05-17 03:54:12
      基于UC3843的60W升壓電路設(shè)計(jì)
      西氣東輸二線人機(jī)交互界面的防呆系統(tǒng)
      目標(biāo)設(shè)定值傳感器的原理與檢修
      對(duì)工頻耐壓試驗(yàn)跳閘電流設(shè)定值問(wèn)題的探討
      基于模糊神經(jīng)網(wǎng)絡(luò)PID的無(wú)刷直流電機(jī)控制系統(tǒng)研究
      宣汉县| 广州市| 如皋市| 波密县| 宁海县| 德庆县| 离岛区| 葫芦岛市| 颍上县| 息烽县| 藁城市| 万载县| 衡阳市| 弥勒县| 大兴区| 文成县| 新蔡县| 中西区| 石渠县| 永平县| 南康市| 霍邱县| 商河县| 临朐县| 瑞昌市| 凤阳县| 嘉峪关市| 富宁县| 那坡县| 全南县| 黑山县| 买车| 和田县| 贡觉县| 恩施市| 高淳县| 陇南市| 盐津县| 金寨县| 兴海县| 安阳市|