国产欧美日韩精品a在线观看-国产欧美日韩精品一区二区三区-国产欧美日韩精品综合-国产欧美中文字幕-一区二区三区精品国产-一区二区三区精品国产欧美

ACS880-07C
關注中國自動化產(chǎn)業(yè)發(fā)展的先行者!
隨著會計的發(fā)展,追蹤碳足跡
CAIAC 2025
2024
工業(yè)智能邊緣計算2024年會
2023年工業(yè)安全大會
OICT公益講堂
當前位置:首頁 >> 案例 >> 案例首頁

案例頻道

基于DSP的步進電機控制系統(tǒng)和PC的串行通信
  • 企業(yè):控制網(wǎng)     行業(yè):輸配電    
  • 點擊數(shù):2708     發(fā)布時間:2006-08-16 17:58:25
  • 分享到:
介紹基于TMS320LF2407A的步進電機控制系統(tǒng)的工作原理,并討論了與PC機進行串行通信的功能;分析步進電機的工作狀態(tài),及其在通信控制系統(tǒng)和工控中的應用。

 

一.引言

本文設計的基于DSP的步進電機控制系統(tǒng)是一個獨立的系統(tǒng),采用的DSPTI公司的TMS320LF2407A。運動控制系統(tǒng)本身可以實現(xiàn)步進電機的正反轉(zhuǎn)及速度調(diào)節(jié),而且微機可以通過串口通信改變DSP程序中電機的轉(zhuǎn)速和轉(zhuǎn)向,得以精確的控制步進電機的運行。

二.設計方案概述

   本測控系統(tǒng)主要分為兩個模塊:一個是串行通信接口SCI同微機的RS-232接口,另一個就是脈寬調(diào)制電路PWM控制步進電機。在串行通信接口模塊中使用SCITXD/IOPA0SCIRXD/IOPA1引腳,電路由Maxim公司的芯片MAX232A和少量的外圍元件構成。PC的串行通信使用的是VB提供的控件MSComm,通過事件驅(qū)動方式,利用MSComm控件的OnComm事件捕獲并處理通信事件。步進電機的驅(qū)動器為UCN5804B,它提供有方向和輸出使能控制,STEP IN引腳接DSP輸出的PWM信號,按照收到的脈沖頻率和個數(shù)輸出四相電流驅(qū)動步進電機的運行。

三.系統(tǒng)硬件設計

1所示是SCI串行通信總線接口電路,該電路采用了符合RS-232標準的驅(qū)動芯片

MAX232,進行串行通信。MAX232芯片功耗低,集成度高,+5V供電,具有兩個接收和發(fā)送通道。由于TMS320LF2407采用+3.3V供電,所以在MAX232TMS320LF2407之間加了TI公司提供典型電平匹配電路。SCITXD/IOPA0SCIRXD/IOPA1DSP控制器SCI串行通信模塊的輸入輸出,RXDTXD接外部RS-232接口。                               

2所示是DSPUCN5804B的主要接口電路,UCN5804BAllegro公司生產(chǎn)的步進電機專用驅(qū)動芯片,對四相步進電機提供完全的控制和驅(qū)動。其中DSPIOPA5IOPA6被設置成通用I/O口輸出,分別控制UCN5804B的使能和方向。T1PWM/T1CMP/IOPB4被設置為PWM功能,提供脈沖輸入。其中運行模式被強制設置為單-雙相勵磁,無須DSP控制。在用PWM信號控制步進電機時,主要是輸出脈沖的頻率決定電機的運行速度,因此只要能實時改變PWM的脈沖輸出頻率,也就是更改相應計時器的周期寄存器的值,就能實時更改電機的運行速度。

系統(tǒng)所使用DSP芯片內(nèi)部硬件資源包括EVA的通用計時器1SCI接收器和發(fā)送器,以及控制器復位引腳,功率驅(qū)動保護中斷輸入引腳,PLL振蕩器輸入引腳。

因為2407A芯片為3.3V供電,而外圍電路接口為+5V,所以對于多電源工作的DSP應用系統(tǒng),可以采用TI公司的TPS7333Q芯片。這是輸入電壓+5V,輸出電壓3.3V,輸出電流500mADC/DC芯片。由于DSP的外圍器件一般為5V的居多,這就存在一個DSP與外圍器件之間的電平轉(zhuǎn)換問題。74LVC4245芯片的輸入端可承受5.5V信號,輸出信號的電平為3.3V,可以輕松實現(xiàn)2407A與周圍器件的電平轉(zhuǎn)換。

 

                                   1

 

                                     2

四.系統(tǒng)軟件設計

本系統(tǒng)控制程序主要有初始化子程序,通信中斷子程序,主程序以及脈沖輸出中斷子程序。主程序調(diào)用系統(tǒng)初始化子程序,進行通信接口,定時器等部分及必要中間寄存器的初始化,設置中斷標志,讀取定時器1的計數(shù)值。當發(fā)生中斷時,調(diào)用相應中斷程序,并修改或重置標志位。

通信中斷子程序包括接收中斷和發(fā)送中斷,完成數(shù)據(jù)的接收和發(fā)送。由SCI的中斷向量寄存器PIVR的值判斷是接收中斷還是發(fā)送中斷,并調(diào)用相應服務子程序。再計算定時器周期寄存器的值,結果放入中間寄存器,并把計數(shù)器清零。發(fā)送中斷時,系統(tǒng)讀取電機電流,轉(zhuǎn)速和方向等寄存器的值,同時相應寄存器清零,將各結果發(fā)送到PC機。

當定時器中計數(shù)器與周期寄存器匹配時,即發(fā)生輸出中斷,相應標志位置位,脈沖輸出中斷子程序根據(jù)標志位讀取相應中間寄存器的脈沖值和方向標志,并輸出到I/O,隨即計數(shù)器清零,重新開始計數(shù),同時標志位清零。為增強程序容錯性能,系統(tǒng)使能看門狗定時器。另外,為防止干擾影響控制性能,需增加返回中斷服務子程序,此程序只有一條“return”指令,當發(fā)生干擾中斷時,系統(tǒng)直接返回主程序。

   
    在本程序中,使用了眾多的寄存器,現(xiàn)在分別把它們各自的定義說明如下:SCI通信程序部分中,DSP的時鐘頻率為24M HZ,串行通訊的波特率為96008位數(shù)據(jù)、1位停止位、不設奇偶校驗位。SCSR1設置為81FESCICCR000FSCICTL10003SCICTL20002SCIHBAUD0001SCILBAUD0038;產(chǎn)生PWM的寄存器設置中首先不使能看門狗,WDCR0E8IMR0002,再根據(jù)所需的PWM載波周期設置T1PR,設置T1CON寄存器以確定計數(shù)模式和時鐘源并啟動PWM輸出操作,最后將相應于PWM脈沖的在線計算寬度(占空比)的值加載到T1CMPR寄存器中。系統(tǒng)初始化程序包括通用定時器1的初始化程序:

LDP        #DP_EVA            ;指向7400h7480h單元

SPLK       #41H,GPTCONA       ;允許定時器比較輸出

SPLK       #5HT1PR          ;設置周期寄存器

SPLK       #3HT1CMPR        ;設置比較寄存器

SPLK       #0HT1CNT         ;設置計數(shù)寄存器

SPLK       #0F4EHT1CON     

以及串行通信初始化程序:

LDP        #0E1H

LACL       MCRA

OR         #03H

SACL       MCRA               ;設置串行口引腳為特殊功能:TXDRXD

LDP        #DP_PF1

SPLK       #000FHSCICCR     ;地址位喚醒模式,8位數(shù)據(jù)1位停止位

SPLK       #0003HSCICTL1    ;接收,發(fā)送,內(nèi)部時鐘使能

SPLK       #0002HSCICTL2    ;接收中斷使能

SPLK       #0001HSCIHBAUD

SPLK       #0038HSCILBAUD   ;波特率為9600

SPLK       #0027HSCICTL1    ;串口初始化完成

LAR        AR1#SCIRXBUF     ;接收緩沖寄存器地址

LAR        AR2#SCITXBUF     ;發(fā)送緩沖寄存器地址

LAR        AR3#RXD_PTR      ;接收的數(shù)據(jù)指針

LAR        AR4#TXD_PTR      ;發(fā)送的數(shù)據(jù)指針

LDP        #0

SPLK       #0001HIMR        ;允許INT1中斷

SPLK       #0FFFFHIFR       ;清所有中斷標志

CLRC       INTM               ;開中斷

RET

在本程序中,DSPPC接收數(shù)據(jù),接收的數(shù)據(jù)存放到了RXD_PTR,我們就用這個值來改變定時器的周期,從而改變PWM的周期和頻率,也就改變步進電機的運行速度。其中四相步進電機以單極驅(qū)動,是脈沖驅(qū)動方式。從PC機接收數(shù)據(jù)的中斷程序為:

GISR1                                 INT1中斷入口

LDP        #0E0H              ;保護現(xiàn)場

LACC       PIVR1            ;讀取外設中斷向量寄存器

ADD        #PVECTORS          ;加上外設中斷入口地址

BACC                          ;跳到相應的中斷服務子程序

SCI_RX_ISR                            ;接收中斷服務程序

LDP        #DP_PF1

MAR        *AR1

BIT        SCICTL1BIT2

LACC       *AR3             ;讀入數(shù)據(jù)

SACL       *+AR0            ;保存數(shù)據(jù)

LAR        AR0#RXD_PTR

ADRK       #N

MAR        *AR3

CMPR       00

BCND       SCI_RX_ENDNTC    ;判是否接收完

LAR        AR7#RXD_PTR     

SAR        AR7T1PR

LAR        AR3#RXD_PTR      ;恢復數(shù)據(jù)指針

SCI_RX_END

CLRC       INTM               ;中斷返回,恢復現(xiàn)場

RET

五.結束語

    本文所設計的DSP測控系統(tǒng)通過與微機的接口,可以方便的控制四相步進電機的運行。在PC機的接收端,使用Visual Basic編一個簡易的軟件界面,設好通信的波特率,就可以發(fā)送不同的數(shù)據(jù)到DSP,這樣控制就顯得比較簡便。適合于通信距離近的場合,現(xiàn)場控制等。

參考文獻:

[1]  劉和平等TMS320LF240X DSP結構原理及應用[M]。北京:北京航空航天大學出版社

[2]  王曉明。電動機的單片機控制[M]北京:北京航空航天大學出版社

[3]  王福瑞。單片機測控系統(tǒng)設計大全[M]北京:北京航空航天大學出版社                                                              

[4]   劉和平等TMS320LF240X DSP C語言開發(fā)應用[M]。北京:北京航空航天大學出版社

熱點新聞

推薦產(chǎn)品

x
  • 在線反饋
1.我有以下需求:



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 成人精品一区久久久久 | 日本三级11k影院在线 | 黄色不卡视频 | 日韩欧美在 | 国产网站精品 | 免费在线成人 | 亚洲国产人成中文幕一级二级 | 国产成人一区二区三区精品久久 | 在线播放国产真实女同事 | 国产九九免费视频网站 | 黄色a三级免费看 | 国产高清视频免费最新在线 | 欧美成人私人视频88在线观看 | 中文偷拍视频在线观看 | 中日韩美中文字幕 | 另类毛片 | 国产一级特黄一级毛片 | 九九热爱视频精品视频高清 | 欧美日韩视频一区二区三区 | 成人毛片在线 | 成人免费视频一区二区 | 欧美成人免费sss | 国产资源在线免费观看 | 男女上下爽无遮挡午夜免费视频 | 国产一区精品在线观看 | 成年女人免费观看视频 | 国产高清在线精品一区二区三区 | 在线国产一区二区三区 | 国产成人高清亚洲一区久久 | 国产国语对白一级毛片 | 欧美一级在线播放 | 久久久久综合国产 | 亚洲人成网站观看在线播放 | 日本欧美一区二区三区不卡视频 | 亚洲欧美另类自拍第一页 | 国产a自拍 | 亚洲成人免费在线视频 | 日韩欧美一区二区三区在线 | 亚洲欧美在线不卡 | 婷婷久久久五月综合色 | 免费一级特黄 |