新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于MCU的直流電機測試系統(tǒng)設計

        基于MCU的直流電機測試系統(tǒng)設計

        作者: 時間:2016-11-19 來源:網(wǎng)絡 收藏
          1.系統(tǒng)的整體設計

          本系統(tǒng)用于測試直流電機控制器的功能和性能。測試內(nèi)容主要包括測試控制器的電流 值、速度值和PWM 輸出的波形變化等。測試系統(tǒng)采集到這些值后,通過串口發(fā)送給PC 方顯示,能夠方便用戶監(jiān)看、分析。本系統(tǒng)可以實現(xiàn)測試直流串勵電機控制器和直流他勵電機控制器的性能和功能。

        本文引用地址:http://www.104case.com/article/201611/318114.htm

          本測試系統(tǒng)硬件系統(tǒng)部分由主控芯片 MC68HC908GP32 最小系統(tǒng)電路、電源轉(zhuǎn)換電路、 SCI 通信電路、光電隔離控制電路、A/D 轉(zhuǎn)換電路和繼電器驅(qū)動電路等部分組成。該系統(tǒng)能對多種模擬量進行采集,通過信號轉(zhuǎn)換電路轉(zhuǎn)換為0-5V 的電壓信號,再將電壓信號送入A/D 轉(zhuǎn)換電路,實現(xiàn)數(shù)據(jù)的采集。為了節(jié)約I/O 口,本系統(tǒng)的A/D 轉(zhuǎn)換芯片采用2 片TLC2543 , 第I 片用于模擬量輸入,負責采集各傳感器的值,第II 片用于采集各開關的狀態(tài);本測試系統(tǒng)經(jīng)常要讀取電機的當前速度,且精度要求比較高,所以采用輸入捕捉的方式采集測功機的 轉(zhuǎn)速;同時系統(tǒng)需要采集24V 開關的狀態(tài),而負責采集的MCU 子系統(tǒng)的工作電壓是SV,為 了保障MCU 的正常工作,所以需要采用光電隔離電路來實現(xiàn)24V 到5V 的轉(zhuǎn)換。

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

          本系統(tǒng)選擇了 Freescale Semiconductor 公司的MC68HC908GP32 處理器作為整個測試系統(tǒng)的主控芯片,它是Motorola 的新型08 系列單片機中的一種通用芯片。具有一速度快、功能強和價格低等優(yōu)點,并且向下兼容原有的M68HC05 系列單片機,極大地維護了用戶的利 益,而目‘新一代的M68HC08 系列機種按各種型號帶有小同大小的片內(nèi)閃速(FLASH)存儲器,具有非常高的性價比。根據(jù)小同的應用,08 系列單片機分出很多型號,而本設計采用 的MC68HC908GP32 單片機在標準08 單片機核心的基礎上,增加了增強型的串行通訊接口 SCI 和串行外圍接口SPI。

          2.1 串行通信SCI 電路

          串行通信是計算機系統(tǒng)中常用的通信機制之一,在MCU 中,若用RS-232C 總線進行串行通信,則需外接電路實現(xiàn)電平轉(zhuǎn)換。在發(fā)送端需要用驅(qū)動電路將TTL 電平轉(zhuǎn)換成RS-232C 電平,在接收端需要用接收電路將RS-232C 電平轉(zhuǎn)換為TTL 電平。電平轉(zhuǎn)換器小僅可以由品體管分立元件構(gòu)成,也可以直接使用集成電路,本系統(tǒng)中使用MAX232 芯片來實現(xiàn)。 MAX232 芯片簡單易用,單+5V 電源供電,僅需外接幾個電容即可完成從TTL 電平到RS-232 電平的轉(zhuǎn)換, PC 通過設置不同的協(xié)議同時與本系統(tǒng)和電機控制器進行串行通信。PC 發(fā)出 的數(shù)據(jù),通過 MAX232 進行電平轉(zhuǎn)換,本系統(tǒng)和電機控制器同時收到,然后根據(jù)幀頭決定是否對這些數(shù)據(jù)進行處理。本系統(tǒng)和電機控制器發(fā)出的數(shù)據(jù)由PC 接收。SCI 通信電路原理圖如圖2 所示。

          

          數(shù)據(jù)發(fā)送過程:MCU 的TxD ( TTL 電平)經(jīng)過MAX232 的11 ( T1IN)送到MAX232 內(nèi)部,在內(nèi)部TTL 電平被“提升”為232 電平,通過14 CTIOUT)發(fā)送出去。接收過程:內(nèi)音下, 在內(nèi)部狗RxD,進入外部232 電平經(jīng)過MAX232 的13 (R1IN)進入到MAX232 的232 電平 被“降低”為TTL 電平,經(jīng)過12 CR10UT)送到MCUMCU 內(nèi)部。

          2.2 A/D 轉(zhuǎn)換電路

          模擬量采集是測控系統(tǒng)的一個重要組成部分,本系統(tǒng)采用2 片TLC2543,第I 片用于模擬量輸入,負責采集各傳感器的值,第II 片用于采集各開關的狀態(tài)。圖3 給出了利用SPI 及MCU 的PTC 口的PTCO-PTC 1 擴展兩片TLC2543 的電路原理圖。其中第I 片TLC2543 的片選接MCU 的PTCO、第II 片TLC2543 的片選接MCU 的PTC l。每片TLC2543 可接 11 路模擬量輸入,這樣本系統(tǒng)中的A/D 轉(zhuǎn)換電路可外接22 路模擬量。當有更多路數(shù)模擬量需要輸入時,可以按此方法繼續(xù)擴展。該電路適用于模擬量路數(shù)較多、且對實時性要求不是 太高的數(shù)據(jù)采集系統(tǒng)

          由于 TLC2543 對采樣的模擬數(shù)據(jù)的分辨率為12 位,包括TLC2543 及其他IC 的電源端 必須用一個0.1 uF 的陶瓷電容連接到地,用作去耦電容。在噪聲影響較大的環(huán)境中,也可以在0.1 uF 的陶瓷電容端再并聯(lián)一個lOuF 的鈕電容,以減小噪聲對器件的影響,其電路設計圖如圖3 所示。

          

          圖3 基于SPI 的A/D 轉(zhuǎn)換擴展電路

          2.3 電源轉(zhuǎn)換電路

          本系統(tǒng)是 24V 直流電壓供電,而MC68HC908GP32 是5V 供電,使用的光電編碼器需 12V 工作電壓,所以需要設計將24V 轉(zhuǎn)換為5V 和12V 的電壓轉(zhuǎn)換電路。系統(tǒng)使用的是 LM2575 系列開關穩(wěn)壓集成電路,LM2575 是美國國家半導體公司生產(chǎn)的1A 集成穩(wěn)壓電路, 其原理圖如圖4 所示。

          

          3.電機控制系統(tǒng)軟件設計

          系統(tǒng)的軟件采用模塊化設計,實現(xiàn)功能細分,一方面可提高軟件的移植性和升級性,另一方面增強軟件的易測試性。軟件的總體架構(gòu)包括二部分:主程序、相關子程序和輔助文件, 全部采用08C 語言編程。軟件結(jié)構(gòu)是以主程序為主,通過函數(shù)調(diào)用和全局變量與子程序進行參數(shù)傳遞。主控MCU 方軟件主程序是一個死循環(huán)結(jié)構(gòu),MCU 方軟件主程序的流程圖見前面章節(jié)中的圖5,每一次控制過程的銜接通過定時器中斷來完成。子程序包括了芯片初始 化程序、A/D 轉(zhuǎn)換程序、輸入捕捉程序、PWM 輸出程序、串行通信程序、開關驅(qū)動程序和中斷處理程序。

          3.1 芯片初始化子程序

          芯片初始化子程序_C08Setup.c 主要是完成內(nèi)部總線頻率Fbus 的設置、I/O 口初始化、 串行口初始化、A/D 轉(zhuǎn)換初始化、中斷控制和狀態(tài)寄存器初始化、定時器初始化的工作。由于MC68HC908GP32 外部晶振f=32.768kHz ,則系統(tǒng)產(chǎn)生內(nèi)部總線時鐘頻率為 fbus=2.4576MHz。程序首先設置CONFIG2=Ob00000001,CONFIGI=Ob00111101 接下來進行PLL 的編程,過程如下:

          ① 禁止 PLL:清零PLL 控制寄存器PCTL

          ② 將 P, E 寫入PCTL

          ③ 將 N 寫入PMSH, PMSL

          ④ 將 L 寫入PVRS

          ⑤ 將 R 寫入PRDS

          ⑥ 置 PCTL.PLLON=1,啟動PLL 電路并激活VCO 時鐘CGMVCLK

          ⑦ 置 PBWC. AUTO=1 (即:自動帶寬控制位),自動方式

          ⑧ 置 PCTL.BCS=1,選擇PLL 為時鐘源,CGMOUT=CGMV CLK/2

          3.2 A/D 轉(zhuǎn)換子程序

          模擬量采集是測試系統(tǒng)的一個重要組成部分。系統(tǒng)要求底層軟件能夠?qū)δM量和開關量信號進行監(jiān)控,同時也要求能夠?qū)Σ糠中盘栠M行高速數(shù)據(jù)采集。每當運行A/D 轉(zhuǎn)換程序 ADC11P.c 時,MC68HC908GP32 通過SPI 模塊控制A/D 轉(zhuǎn)換器的工作。首先, MC68HC908GP32 將A/D 轉(zhuǎn)換通道號放入控制字的高字節(jié),并定義輸出數(shù)據(jù)的格式為16 位, 以MSB 方式送出二進制數(shù)據(jù);接著將控制字寫到SPI 的數(shù)據(jù)寄存器,發(fā)送給TLC2543,在控 制字傳送過程中,MC68HC908GP32 保持等待狀態(tài),直到其發(fā)送完畢,至此發(fā)送過程結(jié)束。 隨后等待接收TLC2543 發(fā)送過來的數(shù)據(jù),當判斷接收標志位為1 時,從SPI 的數(shù)據(jù)寄存器 接收數(shù)據(jù),并將該數(shù)據(jù)存放到預先分配好的內(nèi)存空間。由十每次從TLC2543 取出的數(shù)據(jù)是上一周期的數(shù)據(jù),所以上述過程中NE64 所取得的數(shù)據(jù)僅僅是上次轉(zhuǎn)換結(jié)果的高字節(jié)。接下 來,MC68HC908GP32 只要通過向SPI 的數(shù)據(jù)寄存器中寫入任意的字節(jié),并重復上述發(fā)送等待和接收等待的過程,即可取得上次轉(zhuǎn)換結(jié)果的低字節(jié),將其存入緊接高字節(jié)之后的地址空間,其流程如圖5 所示。

          

          3.3 串行通信子程序

          串行通信子程序 SCL.c 主要完成SCI 初始化,波特率設置、通信格式設置、發(fā)送接收數(shù)據(jù)方式的設置等,由SCI 初始化、接收1 字節(jié)、發(fā)送1 字節(jié)、接收n 字節(jié)和發(fā)送n 字節(jié)函數(shù)組成。在上下位機通過RS232 進行串行通訊之前,需要對串口工作方式以及所采用的波特率進行設置:

          (1)串行口工作方式設定:將串行口設置為工作方式即10 位為一幀的異步串行方式。共包 括1 個起始位,8 個數(shù)據(jù)位和1 個停止位,允許SCI、正常碼輸出、8 位數(shù)據(jù)、無校驗,即 設SCC1=Ob01000000; 同時設置允許發(fā)送、允許接收,查詢方式收發(fā), 即設 SCC2=0b00001100。

          (2)波特率設定:本控制器采用的波特率為9600,經(jīng)過計算有SCBR=0b00000010。

          4.結(jié)論

          本文創(chuàng)新點:本文在MCU MC68HC908GP32 的基礎上設計并實現(xiàn)了平臺及外圍電路的設計,并給出MCU 方軟件實現(xiàn)的總體原則,接著對各個子程序功能進行了分析與設計,最后給出數(shù)據(jù)采集與數(shù)據(jù)傳送過程中的串行通信協(xié)議設計的思想。鑒于目前國內(nèi)外各科研單位所研制的主要是電機自動測試系統(tǒng),它僅用于電機的某特定試驗,功能比較單一,本系統(tǒng)在該領域有一定獨創(chuàng)性。



        評論


        技術專區(qū)

        關閉
        主站蜘蛛池模板: 遂溪县| 辽源市| 若尔盖县| 永靖县| 溧水县| 正阳县| 奈曼旗| 同德县| 宿松县| 阜康市| 穆棱市| 马尔康县| 建昌县| 海口市| 肃北| 嘉峪关市| 墨竹工卡县| 筠连县| 红河县| 沽源县| 东乌| 吴旗县| 从化市| 融水| 亚东县| 宝清县| 临泽县| 江门市| 宣城市| 昭苏县| 桓台县| 南江县| 桦川县| 淳化县| 灵石县| 金华市| 无为县| 湛江市| 普安县| 香港| 汪清县|