• 
    

    
    

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

      404 Not Found


      nginx
      404 Not Found

      404 Not Found


      nginx
      404 Not Found

      404 Not Found


      nginx
      404 Not Found

      404 Not Found


      nginx
      404 Not Found

      404 Not Found


      nginx
      404 Not Found

      404 Not Found


      nginx

      基于STM32步進電機控制器的設(shè)計研究

      2019-12-11 10:12:50周建寅謝超姜婷婷
      現(xiàn)代商貿(mào)工業(yè) 2019年35期
      關(guān)鍵詞:步進電機

      周建寅 謝超 姜婷婷

      摘 要:隨著工業(yè)和科技的發(fā)展,嵌入式控制系統(tǒng)也越來越受到人們生產(chǎn)生活的青睞,其擁有強大的處理、控制的性能的同時還有著低功耗,體積小等特點。本設(shè)計選用基于ARM Cortex-M3內(nèi)核的STM32芯片作為主控芯片,外圍電路包括紅外接收模塊,電機驅(qū)動器;該系統(tǒng)的控制流程是通過紅外遙控模塊發(fā)送指令,STM32接收指令并向步進電機驅(qū)動模塊發(fā)送相應(yīng)的脈沖。驅(qū)動模塊通過細分等操作驅(qū)動步進電機完成所需的動作特性;程序在MDK環(huán)境下進行編程,通過程序?qū)崿F(xiàn)不斷掃描紅外遙控是否發(fā)出指令,發(fā)出什么指令,從而根據(jù)掃描的結(jié)果使步進電機產(chǎn)生相對應(yīng)的動作如正轉(zhuǎn)、反轉(zhuǎn)、加速、加速等動作,再由測試軟件算法估算出電機的速度。實驗結(jié)果表明,該系統(tǒng)的穩(wěn)定性和步進電機各項運動指標均滿足要求。

      關(guān)鍵詞:STM32;步進電機;正反轉(zhuǎn);加減速

      中圖分類號:TB 文獻標識碼:A doi:10.19311/j.cnki.1672-3198.2019.35.116

      STM32系列是由意法半導體(STMicroelectronics)生產(chǎn)的嵌入式控制芯片;32系列包含多款芯片,本設(shè)計采用STM32F103RB芯片,其基于ARM代表性的內(nèi)核Cortex-M3,該內(nèi)核采用市場目前主流的ARMv7架構(gòu)和面向高級語言的Thumb-2指令集的同時擁有很多其他鮮明的優(yōu)勢如更強大性能、位帶操作等,并在代碼密集度、實際應(yīng)用、能耗 、售價等方面均衡的發(fā)展。

      步進電機是將電脈沖轉(zhuǎn)換為線位移或者角位移的驅(qū)動裝置,同時也是脈沖單值對應(yīng)的增量元件,不同的步進電機需要不同的驅(qū)動器去驅(qū)動它們的運動,在實際控制系統(tǒng)中,當控制器輸出脈沖信號先經(jīng)過驅(qū)動器,再由驅(qū)動器驅(qū)動。步進電機按照特定的方向旋轉(zhuǎn)一定角度并且這個角度是固定的是電機的固有屬性被稱為“步距角”,步進電機位移與驅(qū)動器輸入脈沖成正比,并與輸入脈沖同步,因此通過主控芯片來改變脈沖信號的頻率、占空比等,來具體的控制步進電機獲得具體需要的運行特征。

      1 方案設(shè)計

      本設(shè)計方案是以STM32F103RB為主要控制器,步進電機和電機驅(qū)動器為驅(qū)動電路,遙控作為信號的輸入設(shè)備,STM32F103RB主板上紅外模塊接收到遙控發(fā)出的信號,并將接收到的信號轉(zhuǎn)變成脈沖信號和方向信號,為了控制步進電機的速度大小和方向,再通過I/O口發(fā)出變換后的脈沖給匹配的驅(qū)動器,驅(qū)動器驅(qū)動步進電機相應(yīng)的運動,方案設(shè)計如圖1。

      2 硬件設(shè)計

      本次設(shè)計采用開發(fā)板是STM32F103RB作為主控芯片和其他功能的外圍電路構(gòu)成,就性能而言,STM32F103RB是一個32位內(nèi)核,且擁有高達72MHz的時鐘頻率和接近80MIPS的指令速度。同時,32位硬件除法和單周期乘法器等體系增強了其數(shù)據(jù)處理和計算能力。而且STM3F103RB芯片集成了多種功能模塊,包括定時器、串行和通信接口等,可以滿足用戶的應(yīng)用環(huán)境。

      根據(jù)總設(shè)計要求,步進電機選用兩相雙極性步進電機(14HD3809D5)。

      步進電機驅(qū)動器的選型需要高度貼合所應(yīng)用的步進電機,主要需要完成兩個匹配問題,電壓匹配,和電流匹配;本次設(shè)計采用ASD422R步進電機驅(qū)動器,該驅(qū)動器可以完全匹配所應(yīng)用的電機,還可以實現(xiàn)細分功能,實現(xiàn)對步進電機更精確的控制。

      為了避免電路間濾除噪聲和干擾,將輸入、輸出信號之間干擾的控制在不影響結(jié)果的范圍內(nèi),硬件設(shè)計必須要考慮在CPU和驅(qū)動器之間添加了一個隔離電路對輸入/輸出信號進行隔離,本次設(shè)計選用的是光電耦合器,它可以實現(xiàn)由電到光再到電的轉(zhuǎn)換,它在輸入/輸出電信號之間起到良好的隔離作用,大大減少了輸入回路和輸出回路之間的電氣干擾。本設(shè)計選用的光電耦合器為HCPL2631。

      根據(jù)上面的方案設(shè)計和硬件選型,可以知道步進電機的方向和脈沖信號需要控制,所以STM32F103RB開發(fā)板需要引出兩個引腳,在與電機驅(qū)動器連接中,通過光電隔離電路進行對輸入、輸出信號進行隔離,CPU工作可以用USB供電5V,然后通過主板轉(zhuǎn)化成3.3V對CPU進行供電,外接24V電源給電機供電驅(qū)動,以及需要將脈沖、方向的公共端接5V,步進電機與驅(qū)動器按原理圖接口對應(yīng)連接,由以上條件可以畫出相應(yīng)的電路圖,如圖2所示。

      3 系統(tǒng)控制程序設(shè)計

      3.1 軟件方案設(shè)計

      本次設(shè)計的總體思路是通過紅外遙控發(fā)送指令對電機進行控制,當遠程發(fā)出一個指令,單片機STM32通過外圍電路接收到該指令,判斷該指令所對應(yīng)的功能,在將對應(yīng)的功能轉(zhuǎn)化為對應(yīng)的脈沖波形,再由驅(qū)動器對電機進行驅(qū)動,采用C語言編寫程序,按照需求設(shè)置了4個按鍵,分別是加速、減速、停止、正反轉(zhuǎn)4個功能,key1,key2,key3,key4分別對應(yīng)上述功能;圖3表示該過程流程圖。

      程序初始化部分主要包括中斷初始化,I/O口初始化,延時函數(shù)初始化,定時器3初始化,步進電機初始化和串口通信初始化,初始化部分主要目的完成軟件執(zhí)行前的準備工作,當 NVIC中斷初始化時,中斷優(yōu)先級分組設(shè)置為2,通過中斷方式來控制具體實現(xiàn)的功能。

      3.2 速度方向控制方法

      設(shè)定的電機驅(qū)動細分為3200,電機的當前的轉(zhuǎn)動速度為“頻率/細分”。電機無論在加速、減速、停止都是同樣的計算步數(shù),若電機速度從10加速到100需要十步,CPU計算重裝載值表,會把電機動作的步數(shù)分解成由10加速到20,再從20加速到30,直至加速到100,然后啟動定時器,接著進入中斷,判斷是否到達目標速度,如果沒有的話,就不更新,沒有動作,如果是的話就更新重裝載值,發(fā)出動作。同樣減速、停止都是同樣的算法,而換向的分為兩個部分,先減速至零,然后在加速至指定速度,算法跟加速、減速、停止是一樣的,只是過程分成了兩個部分。

      3.3 程序代碼

      代碼使用KEIL MDK5軟件編寫各個模塊,其中主要功能簡單代碼如下:

      int main(void)

      {u8 key;

      u16 printf_Clock;//打印時鐘

      NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置中斷優(yōu)先級分組2

      delay_init();//延時函數(shù)初始化

      RUN_LED_Init();//相關(guān)I/O口初始化

      USART2_Init(115200); //串口2初始化

      TIM3_Init(1000,72-1);/ /定時器3初始化

      Step_Motor_01_Init();//步進電機01初始化

      RS485_Init(115200); //RS485初始化

      Remote_Init();//接收初始化

      printf("系統(tǒng)啟動完畢…");while(1)//紅外自檢模塊

      {ListenDirProcess();

      RS485_Receive_Process();//RS845接收程序進程

      delay_ms(5);if(Remote_Rdy)

      {key=Remote_Process();//接收按鍵值賦給key

      printf("key = %d",key);switch (key)

      {case 194:// 加速

      FastMotorFuc();break;

      case 34:// 減速

      SlowMotorFuc();break;

      case 162:// 停止

      StopMotorFuc();break;

      case 226: //換向

      DirMotorFuc();break;

      Default;break;}}}}

      4 結(jié)論

      通過硬件調(diào)試,實現(xiàn)了預計的目標,通過STM32F103RB控制芯片對步進電機實現(xiàn)正反轉(zhuǎn)、加減速、啟停的控制,通過遙控發(fā)送信號,由STM32F103RB開發(fā)板上的紅外模塊接收信號,STM32F103RB控制器接收指令,步進電機驅(qū)動器接收到的指令必須是通過光電隔離模塊之后的,最后再由驅(qū)動器控制步進電機,達到控制步進電機的目的。該設(shè)計證明了STM32具有非常強大的控制能力,可以實現(xiàn)多種擴展。不僅如此,其能耗相對較低,穩(wěn)定性卓越,具有很好實際使用價值。

      參考文獻

      [1]馮新宇.ARM Cortex-M3體系結(jié)構(gòu)與編程[M].2版.北京:清華大學出版社,2017.

      [2]劉軍,張洋,嚴漢宇.例說STM32[M].3版.北京:北京航空航天大學出版社,2018.

      [3]楊百軍,王學春,黃雅琴.輕松玩轉(zhuǎn)STM32微控制器[M].北京:電子工業(yè)出版社,2016.

      [4]劉一.基于STM32的嵌入式系統(tǒng)設(shè)計[M].北京:中國鐵道出版社,2015.

      [5]楊振江,朱敏波,韋博,等.基于STM32 ARM處理器技的編程技術(shù)[M].西安:西安電子科技大學出版社,2016.

      [6]謝耕,趙恒博,廖明棟.基于STM32的步進電機控制程序設(shè)計 [J].信息通信,2018,(184).

      [7]北京市自動化技術(shù)研究所,一機部電器科學研究院編.步進電機綜述 附專題文獻索引[M].北京:北京市自動化技術(shù)研究所,一機部電器科學研究院,1965.

      [8]王永虹,徐煒,郝立平.STM32系列 ARM Cortex-M3微控制器原理與實踐[M].北京:北京航空航天大學出版社,2008.

      猜你喜歡
      步進電機
      一種可自動伸縮的嵌入式LED燈具設(shè)計
      科學家(2016年3期)2016-12-30 00:32:48
      步進電機智能控制的設(shè)計與實現(xiàn)
      步進電機對提高航標燈器運轉(zhuǎn)穩(wěn)定性的作用
      工礦機車GK1F、GK1C柴油機調(diào)速控制
      科技視界(2016年24期)2016-10-11 12:44:53
      基于單片機的自動化立體車庫控制系統(tǒng)設(shè)計
      科技視界(2016年15期)2016-06-30 16:31:32
      基于單片機的雷達伺服控制系統(tǒng)
      科技視界(2016年7期)2016-04-01 11:38:06
      404 Not Found

      404 Not Found


      nginx
      404 Not Found

      404 Not Found


      nginx
      404 Not Found

      404 Not Found


      nginx
      404 Not Found

      404 Not Found


      nginx
      404 Not Found

      404 Not Found


      nginx
      宜都市| 玉山县| 石棉县| 高青县| 丹棱县| 民县| 田东县| 永康市| 新巴尔虎右旗| 百色市| 菏泽市| 大冶市| 康马县| 宁化县| 鄂托克旗| 静海县| 神池县| 乌拉特后旗| 冀州市| 旺苍县| 德钦县| 澜沧| 榆中县| 晋宁县| 通许县| 汨罗市| 伊金霍洛旗| 抚顺县| 历史| 深圳市| 三门峡市| 格尔木市| 黔西县| 齐齐哈尔市| 屏边| 德令哈市| 清流县| 虹口区| 舒城县| 徐闻县| 金门县|