基于GP32的直流電機(jī)控制器測試系統(tǒng)
2.2 A/D 轉(zhuǎn)換電路
模擬量采集是測控系統(tǒng)的一個重要組成部分,本系統(tǒng)采用2 片TLC2543,第I 片用于模 擬量輸入,負(fù)責(zé)采集各傳感器的值,第II 片用于采集各開關(guān)的狀態(tài)。圖3 給出了利用SPI 及MCU 的PTC 口的PTCO-PTC 1 擴(kuò)展兩片TLC2543 的電路原理圖。其中第I 片TLC2543 的片選接MCU 的PTCO、第II 片TLC2543 的片選接MCU 的PTC l。每片TLC2543 可接 11 路模擬量輸入,這樣本系統(tǒng)中的A/D 轉(zhuǎn)換電路可外接22 路模擬量。當(dāng)有更多路數(shù)模擬量 需要輸入時,可以按此方法繼續(xù)擴(kuò)展。該電路適用于模擬量路數(shù)較多、且對實時性要求不是 太高的數(shù)據(jù)采集系統(tǒng)。
由于 TLC2543 對采樣的模擬數(shù)據(jù)的分辨率為12 位,包括TLC2543 及其他IC 的電源端 必須用一個0.1 uF 的陶瓷電容連接到地,用作去耦電容。在噪聲影響較大的環(huán)境中,也可以在0.1 uF 的陶瓷電容端再并聯(lián)一個lOuF 的鈕電容,以減小噪聲對器件的影響,其電路設(shè)計圖如圖3 所示。
圖3 基于SPI 的A/D 轉(zhuǎn)換擴(kuò)展電路
2.3 電源轉(zhuǎn)換電路
本系統(tǒng)是 24V 直流電壓供電,而MC68HC908GP32 是5V 供電,使用的光電編碼器需 12V 工作電壓,所以需要設(shè)計將24V 轉(zhuǎn)換為5V 和12V 的電壓轉(zhuǎn)換電路。系統(tǒng)使用的是 LM2575 系列開關(guān)穩(wěn)壓集成電路,LM2575 是美國國家半導(dǎo)體公司生產(chǎn)的1A 集成穩(wěn)壓電路, 其原理圖如圖4 所示。
3.電機(jī)控制系統(tǒng)軟件設(shè)計
系統(tǒng)的軟件采用模塊化設(shè)計,實現(xiàn)功能細(xì)分,一方面可提高軟件的移植性和升級性,另 一方面增強(qiáng)軟件的易測試性。軟件的總體架構(gòu)包括二部分:主程序、相關(guān)子程序和輔助文件, 全部采用08C 語言編程。軟件結(jié)構(gòu)是以主程序為主,通過函數(shù)調(diào)用和全局變量與子程序進(jìn)行參數(shù)傳遞。主控MCU 方軟件主程序是一個死循環(huán)結(jié)構(gòu),MCU 方軟件主程序的流程圖見前面章節(jié)中的圖5,每一次控制過程的銜接通過定時器中斷來完成。子程序包括了芯片初始 化程序、A/D 轉(zhuǎn)換程序、輸入捕捉程序、PWM 輸出程序、串行通信程序、開關(guān)驅(qū)動程序和中斷處理程序。
3.1 芯片初始化子程序
芯片初始化子程序_C08Setup.c 主要是完成內(nèi)部總線頻率Fbus 的設(shè)置、I/O 口初始化、 串行口初始化、A/D 轉(zhuǎn)換初始化、中斷控制和狀態(tài)寄存器初始化、定時器初始化的工作。由于MC68HC908GP32 外部晶振f=32.768kHz , 則系統(tǒng)產(chǎn)生內(nèi)部總線時鐘頻率為 fbus=2.4576MHz。程序首先設(shè)置CONFIG2=Ob00000001,CONFIGI=Ob00111101 接下來進(jìn) 行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
評論