1.系統的整體設計
本系統用于測試直流電機控制器的功能和性能。測試內容主要包括測試控制器的電流 值、速度值和PWM 輸出的波形變化等。測試系統采集到這些值后,通過串口發送給PC 方 顯示,能夠方便用戶監看、分析。本系統可以實現測試直流串勵電機控制器和直流他勵電機 控制器的性能和功能。
本測試系統硬件系統部分由主控芯片 MC68HC908GP32 最小系統電路、電源轉換電路、 SCI 通信電路、光電隔離控制電路、A/D 轉換電路和繼電器驅動電路等部分組成。該系統能 對多種模擬量進行采集,通過信號轉換電路轉換為0-5V 的電壓信號,再將電壓信號送入A/D 轉換電路,實現數據的采集。為了節約I/O 口,本系統的A/D 轉換芯片采用2 片TLC2543 , 第I 片用于模擬量輸入,負責采集各傳感器的值,第II 片用于采集各開關的狀態;本測試系 統經常要讀取電機的當前速度,且精度要求比較高,所以采用輸入捕捉的方式采集測功機的 轉速;同時系統需要采集24V 開關的狀態,而負責采集的MCU 子系統的工作電壓是SV,為 了保障MCU 的正常工作,所以需要采用光電隔離電路來實現24V 到5V 的轉換。
2.系統的硬件設計
本系統選擇了 Freescale Semiconductor 公司的MC68HC908GP32 處理器作為整個測試系 統的主控芯片,它是Motorola 的新型08 系列單片機中的一種通用芯片。具有一速度快、功 能強和價格低等優點,并且向下兼容原有的M68HC05 系列單片機,極大地維護了用戶的利 益,而目‘新一代的M68HC08 系列機種按各種型號帶有小同大小的片內閃速(FLASH)存儲 器,具有非常高的性價比。根據小同的應用,08 系列單片機分出很多型號,而本設計采用 的MC68HC908GP32 單片機在標準08 單片機核心的基礎上,增加了增強型的串行通訊接口 SCI 和串行外圍接口SPI。
2.1 串行通信SCI 電路
串行通信是計算機系統中常用的通信機制之一,在MCU 中,若用RS-232C 總線進行串行通信,則需外接電路實現電平轉換。在發送端需要用驅動電路將TTL 電平轉換成RS-232C 電平,在接收端需要用接收電路將RS-232C 電平轉換為TTL 電平。電平轉換器小僅可以由 品體管分立元件構成,也可以直接使用集成電路,本系統中使用MAX232 芯片來實現。 MAX232 芯片簡單易用,單+5V 電源供電,僅需外接幾個電容即可完成從TTL 電平到RS-232 電平的轉換, PC 通過設置不同的協議同時與本系統和電機控制器進行串行通信。PC 發出 的數據,通過 MAX232 進行電平轉換,本系統和電機控制器同時收到,然后根據幀頭決定 是否對這些數據進行處理。本系統和電機控制器發出的數據由PC 接收。SCI 通信電路原理 圖如圖2 所示。
數據發送過程:MCU 的TxD ( TTL 電平)經過MAX232 的11 ( T1IN)送到MAX232 內部, 在內部TTL 電平被“提升”為232 電平,通過14 CTIOUT)發送出去。接收過程:內音下, 在內部狗RxD,進入外部232 電平經過MAX232 的13 (R1IN)進入到MAX232 的232 電平 被“降低”為TTL 電平,經過12 CR10UT)送到MCUMCU 內部。
2.2 A/D 轉換電路
模擬量采集是測控系統的一個重要組成部分,本系統采用2 片TLC2543,第I 片用于模 擬量輸入,負責采集各傳感器的值,第II 片用于采集各開關的狀態。圖3 給出了利用SPI 及MCU 的PTC 口的PTCO-PTC 1 擴展兩片TLC2543 的電路原理圖。其中第I 片TLC2543 的片選接MCU 的PTCO、第II 片TLC2543 的片選接MCU 的PTC l。每片TLC2543 可接 11 路模擬量輸入,這樣本系統中的A/D 轉換電路可外接22 路模擬量。當有更多路數模擬量 需要輸入時,可以按此方法繼續擴展。該電路適用于模擬量路數較多、且對實時性要求不是 太高的數據采集系統。
由于 TLC2543 對采樣的模擬數據的分辨率為12 位,包括TLC2543 及其他IC 的電源端 必須用一個0.1 uF 的陶瓷電容連接到地,用作去耦電容。在噪聲影響較大的環境中,也可 以在0.1 uF 的陶瓷電容端再并聯一個lOuF 的鈕電容,以減小噪聲對器件的影響,其電路設 計圖如圖3 所示。
圖3 基于SPI 的A/D 轉換擴展電路
2.3 電源轉換電路
本系統是 24V 直流電壓供電,而MC68HC908GP32 是5V 供電,使用的光電編碼器需 12V 工作電壓,所以需要設計將24V 轉換為5V 和12V 的電壓轉換電路。系統使用的是 LM2575 系列開關穩壓集成電路,LM2575 是美國國家半導體公司生產的1A 集成穩壓電路, 其原理圖如圖4 所示。
3.電機控制系統軟件設計
系統的軟件采用模塊化設計,實現功能細分,一方面可提高軟件的移植性和升級性,另 一方面增強軟件的易測試性。軟件的總體架構包括二部分:主程序、相關子程序和輔助文件, 全部采用08C 語言編程。軟件結構是以主程序為主,通過函數調用和全局變量與子程序進 行參數傳遞。主控MCU 方軟件主程序是一個死循環結構,MCU 方軟件主程序的流程圖見 前面章節中的圖5,每一次控制過程的銜接通過定時器中斷來完成。子程序包括了芯片初始 化程序、A/D 轉換程序、輸入捕捉程序、PWM 輸出程序、串行通信程序、開關驅動程序和 中斷處理程序。
3.1 芯片初始化子程序
芯片初始化子程序_C08Setup.c 主要是完成內部總線頻率Fbus 的設置、I/O 口初始化、 串行口初始化、A/D 轉換初始化、中斷控制和狀態寄存器初始化、定時器初始化的工作。由 于MC68HC908GP32 外部晶振f=32.768kHz , 則系統產生內部總線時鐘頻率為 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 轉換子程序
模擬量采集是測試系統的一個重要組成部分。系統要求底層軟件能夠對模擬量和開關量信號進行監控,同時也要求能夠對部分信號進行高速數據采集。每當運行A/D 轉換程序 ADC11P.c 時,MC68HC908GP32 通過SPI 模塊控制A/D 轉換器的工作。首先, MC68HC908GP32 將A/D 轉換通道號放入控制字的高字節,并定義輸出數據的格式為16 位, 以MSB 方式送出二進制數據;接著將控制字寫到SPI 的數據寄存器,發送給TLC2543,在控 制字傳送過程中,MC68HC908GP32 保持等待狀態,直到其發送完畢,至此發送過程結束。 隨后等待接收TLC2543 發送過來的數據,當判斷接收標志位為1 時,從SPI 的數據寄存器 接收數據,并將該數據存放到預先分配好的內存空間。由十每次從TLC2543 取出的數據是 上一周期的數據,所以上述過程中NE64 所取得的數據僅僅是上次轉換結果的高字節。接下 來,MC68HC908GP32 只要通過向SPI 的數據寄存器中寫入任意的字節,并重復上述發送等 待和接收等待的過程,即可取得上次轉換結果的低字節,將其存入緊接高字節之后的地址空 間,其流程如圖5 所示。
3.3 串行通信子程序
串行通信子程序 SCL.c 主要完成SCI 初始化,波特率設置、通信格式設置、發送接收 數據方式的設置等,由SCI 初始化、接收1 字節、發送1 字節、接收n 字節和發送n 字節 函數組成。在上下位機通過RS232 進行串行通訊之前,需要對串口工作方式以及所采用的 波特率進行設置:
(1)串行口工作方式設定:將串行口設置為工作方式即10 位為一幀的異步串行方式。共包 括1 個起始位,8 個數據位和1 個停止位,允許SCI、正常碼輸出、8 位數據、無校驗,即 設SCC1=Ob01000000; 同時設置允許發送、允許接收, 查詢方式收發, 即設 SCC2=0b00001100。
(2)波特率設定:本控制器采用的波特率為9600,經過計算有SCBR=0b00000010。
結論
本文創新點:本文在MCU MC68HC908GP32 的基礎上設計并實現了平臺及外圍電路的 設計,并給出MCU 方軟件實現的總體原則,接著對各個子程序功能進行了分析與設計,最 后給出數據采集與數據傳送過程中的串行通信協議設計的思想。鑒于目前國內外各科研單位 所研制的主要是電機自動測試系統,它僅用于電機的某特定試驗,功能比較單一,本系統在 該領域有一定獨創性。
-
直流電機
+關注
關注
36文章
1708瀏覽量
70080 -
GP32
+關注
關注
0文章
3瀏覽量
7867 -
直流電機控制器
+關注
關注
0文章
9瀏覽量
3635
發布評論請先 登錄
相關推薦
評論