本發(fā)明涉及自動測試領(lǐng)域。
背景技術(shù):
在自動測試領(lǐng)域,十字目標模擬器和轉(zhuǎn)臺等是自動測試系統(tǒng)重要的組成部分,而十字目標模擬器和轉(zhuǎn)臺等的核心部件就是直流電機控制器,在自動測試系統(tǒng)中往往使用外部的直流電機控制器通過專用電纜連接信號以實現(xiàn)對其進行控制,使得自動測試系統(tǒng)的構(gòu)建繁瑣,由于電纜傳輸信號存在噪聲,也導(dǎo)致控制效果不佳。因此需要一種直流電機控制器,能夠集成到十字目標模擬器和轉(zhuǎn)臺等內(nèi)部,實現(xiàn)自動測試系統(tǒng)直接通過串行通訊指令直接控制十字目標模擬器和轉(zhuǎn)臺等,從而降低自動測試系統(tǒng)構(gòu)建的復(fù)雜度,避免信號傳輸噪聲,提高控制精度。
技術(shù)實現(xiàn)要素:
本發(fā)明是為了解決利用外部直流電機控制器控制十字目標模擬器和轉(zhuǎn)臺等設(shè)備時,使得構(gòu)建自動測試系統(tǒng)繁瑣及控制精度低的問題。本發(fā)明提供了一種直流電機控制器。
一種直流電機控制器,該電機控制器集成在外部設(shè)備內(nèi)部,且所述電機控制器包括DSP控制器、第一隔離電路、多個驅(qū)動電路、第二隔離電路、多個觸發(fā)電路、電源電路、電壓轉(zhuǎn)換電路、存儲電路、第三隔離電路、第三隔離電路和電平轉(zhuǎn)換電路;
電源電路,用于給第一隔離電路、驅(qū)動電路、第二隔離電路、觸發(fā)電路、電壓轉(zhuǎn)換電路、存儲電路和第三隔離電路供電;
DSP控制器,用于與外部主控計算機進行通訊及根據(jù)接收的外設(shè)電機碼盤信號發(fā)出控制信號,對外設(shè)電機進行控制;
第一隔離電路,用于對DSP控制器與驅(qū)動電路間的控制信號進行光電隔離,
驅(qū)動電路,用于根據(jù)接收的控制信號對與其對應(yīng)的外設(shè)電機進行驅(qū)動;
第二隔離電路,用于對發(fā)送至DSP控制器的外設(shè)電機碼盤信號進行光電隔離;
觸發(fā)電路,用于對與其對應(yīng)的外設(shè)電機碼盤信號進行識別;
電壓轉(zhuǎn)換電路,用于對電源電路輸出的電壓進行轉(zhuǎn)換,且轉(zhuǎn)換后的電壓用于給外設(shè)電機碼盤進行供電;
存儲電路,用于對外設(shè)電機控制參數(shù)進行存儲;
第三隔離電路,用于實現(xiàn)外部主控計算機與DSP控制器間的串行信號進行光電隔離,
電平轉(zhuǎn)換電路,用于實現(xiàn)RS422電平信號與TTL電平信號的相互轉(zhuǎn)換。
所述的DSP控制器內(nèi)部主程序包括初始化步驟、命令標識判別步驟、執(zhí)行命令步驟、返回執(zhí)行結(jié)果狀態(tài)的步驟;
初始化步驟,用于實現(xiàn)DSP控制器的寄存器的配置,保證DSP控制器在設(shè)定模式下工作,以及DSP控制器內(nèi)程序變量的初始化;
命令標識判別步驟,用于實現(xiàn)對DSP控制器中,RS422中斷程序中標識的判別,判斷是否接收到外部主控計算機指令,判斷結(jié)果為否,則進行循環(huán)查詢等待,判斷結(jié)果為是,則進入執(zhí)行命令步驟;
執(zhí)行命令步驟,用于實現(xiàn)根據(jù)外部主控計算機設(shè)定電機控制參數(shù)、電機絕對正轉(zhuǎn)位置、電機絕對反轉(zhuǎn)位置、電機相對正傳位置、電機相對反轉(zhuǎn)位置、電機歸零、電機鎖和電機解鎖指令,執(zhí)行相應(yīng)的指令操作;
返回執(zhí)行結(jié)果狀態(tài)的步驟,用于實現(xiàn)將各種命令執(zhí)行的正常或異常狀態(tài),通過RS422接口傳送到外部主控計算機。
所述的RS422中斷程序包括用于實現(xiàn)對外部主控計算機發(fā)送的RS422數(shù)據(jù)讀取的步驟、數(shù)據(jù)完整判別的步驟、命令解析步驟和置命令標識步驟;
所述的RS422數(shù)據(jù)讀取的步驟,用于通過DSP控制器的串行接口,讀取外部主控計算機發(fā)送的RS422數(shù)據(jù);
數(shù)據(jù)完整判別的步驟,用于對接收到的RS422數(shù)據(jù)的完整性的進行判別,判斷結(jié)果為否,則繼續(xù)接收RS422數(shù)據(jù),判斷結(jié)果為是,則識別數(shù)據(jù)幀的幀頭,然后從數(shù)據(jù)幀中解析出指令,根據(jù)解析出的指令確定參數(shù)個數(shù);
置命令標識步驟,用于對每一幀RS422數(shù)據(jù)解析后,確定的指令和參數(shù)進行信息標識,使得主程序可查詢到此標識,并按照接收到的指令進行處理。
所述的DSP控制器中定時器中斷程序,用于以固定的控制周期對外設(shè)電機的當(dāng)前位置進行控制,且每個固定的控制周期內(nèi)對外設(shè)電機的當(dāng)前位置進行控制的具體過程包括如下步驟:
首先,判斷位置偏差是否小于500,所述的位置偏差為電機設(shè)定位置與電機當(dāng)前位置的偏差,
判斷結(jié)果為是,通過位置PID算法對外設(shè)電機的轉(zhuǎn)動位置進行控制,使位置偏差趨近于0,
判斷結(jié)果為否,通過速度PID算法對外設(shè)電機的轉(zhuǎn)動速度進行控制,使位置偏差趨近于0。
所述的DSP控制器內(nèi)的外部中斷程序,用于對外設(shè)電機的碼盤位置進行識別,且對外設(shè)電機的碼盤位置進行識別包括如下步驟:
讀取電平值的步驟,通過觸發(fā)電路對外設(shè)電機碼盤信號進行讀取,對讀取后的外設(shè)電機碼盤信號通過第二隔離電路進行光耦隔離,獲得電平值,其中,高電平為外設(shè)電機正轉(zhuǎn),低電平為外設(shè)電機反轉(zhuǎn);
判斷電平值是否為高的步驟,判斷結(jié)果為是,則外設(shè)電機正轉(zhuǎn),每運動一個碼位,當(dāng)前碼盤位置加1;判斷結(jié)果為否,則外設(shè)電機反轉(zhuǎn),當(dāng)前碼盤位置減1,根據(jù)當(dāng)前計數(shù)結(jié)果確定外設(shè)電機的碼盤位置,從而完成對外設(shè)電機的碼盤位置的識別。
本發(fā)明帶來的有益效果是,本發(fā)明所述的一種直流電機控制器集成在十字目標模擬器、轉(zhuǎn)臺等外部設(shè)備內(nèi)部,實現(xiàn)自動測試系統(tǒng)直接通過串行通訊指令直接控制十字目標模擬器和轉(zhuǎn)臺等外部設(shè)備內(nèi)部,從而降低自動測試系統(tǒng)構(gòu)建的復(fù)雜度,避免信號傳輸噪聲,提高控制精度。
本發(fā)明技術(shù)指標如下:
●最大輸出控制電流:3A;
●電機定位精度:±1碼位;
●驅(qū)動功率P=80W;
應(yīng)用表明,本發(fā)明所述的一種直流電機控制器體積小,可直接集成到十字目標模擬器和轉(zhuǎn)臺等外部設(shè)備的內(nèi)部,不需要電纜傳輸信號,外部計算機通過RS422接口直接實現(xiàn)對十字目標模擬器和轉(zhuǎn)臺等的控制,提高了測試精度,測試精度提高了20%以上。
附圖說明
圖1為本發(fā)明所述的一種直流電機控制器的原理示意圖;
圖2為DSP控制器內(nèi)部主程序流程圖。
圖3為RS422中斷程序流程圖。
圖4為定時器中斷程序流程圖。
圖5為外部中斷程序流程圖。
具體實施方式
具體實施方式一:參見圖1說明本實施方式,本實施方式所述的一種直流電機控制器,該電機控制器集成在外部設(shè)備內(nèi)部,且所述電機控制器包括DSP控制器1、第一隔離電路2、多個驅(qū)動電路3、第二隔離電路4、多個觸發(fā)電路5、電源電路6、電壓轉(zhuǎn)換電路7、存儲電路8、第三隔離電路9、第三隔離電路9和電平轉(zhuǎn)換電路10;
電源電路6,用于給第一隔離電路2、驅(qū)動電路3、第二隔離電路4、觸發(fā)電路5、電壓轉(zhuǎn)換電路7、存儲電路8和第三隔離電路9供電;
DSP控制器1,用于與外部主控計算機進行通訊及根據(jù)接收的外設(shè)電機碼盤信號發(fā)出控制信號,對外設(shè)電機進行控制;
第一隔離電路2,用于對DSP控制器1與驅(qū)動電路3間的控制信號進行光電隔離,
驅(qū)動電路3,用于根據(jù)接收的控制信號對與其對應(yīng)的外設(shè)電機進行驅(qū)動;
第二隔離電路4,用于對發(fā)送至DSP控制器1的外設(shè)電機碼盤信號進行光電隔離;
觸發(fā)電路5,用于對與其對應(yīng)的外設(shè)電機碼盤信號進行識別;
電壓轉(zhuǎn)換電路7,用于對電源電路6輸出的電壓進行轉(zhuǎn)換,且轉(zhuǎn)換后的電壓用于給外設(shè)電機碼盤進行供電;
存儲電路8,用于對外設(shè)電機控制參數(shù)進行存儲;
第三隔離電路9,用于實現(xiàn)外部主控計算機與DSP控制器1間的串行信號進行光電隔離,
電平轉(zhuǎn)換電路10,用于實現(xiàn)RS422電平信號與TTL電平信號的相互轉(zhuǎn)換。
本實施方式中,本發(fā)明所述的一種直流電機控制器集成在十字目標模擬器、轉(zhuǎn)臺等外部設(shè)備內(nèi)部,實現(xiàn)自動測試系統(tǒng)直接通過串行通訊指令直接控制十字目標模擬器和轉(zhuǎn)臺等外部設(shè)備內(nèi)部,從而降低自動測試系統(tǒng)構(gòu)建的復(fù)雜度,避免信號傳輸噪聲,提高控制精度。
具體實施方式二:參見圖2說明本實施方式,本實施方式與具體實施方式一所述的一種直流電機控制器的區(qū)別在于,所述的DSP控制器1內(nèi)部主程序包括初始化步驟、命令標識判別步驟、執(zhí)行命令步驟、返回執(zhí)行結(jié)果狀態(tài)的步驟;
初始化步驟,用于實現(xiàn)DSP控制器1的寄存器的配置,保證DSP控制器1在設(shè)定模式下工作,以及DSP控制器1內(nèi)程序變量的初始化;
命令標識判別步驟,用于實現(xiàn)對DSP控制器1中,RS422中斷程序中標識的判別,判斷是否接收到外部主控計算機指令,判斷結(jié)果為否,則進行循環(huán)查詢等待,判斷結(jié)果為是,則進入執(zhí)行命令步驟;
執(zhí)行命令步驟,用于實現(xiàn)根據(jù)外部主控計算機設(shè)定電機控制參數(shù)、電機絕對正轉(zhuǎn)位置、電機絕對反轉(zhuǎn)位置、電機相對正傳位置、電機相對反轉(zhuǎn)位置、電機歸零、電機鎖和電機解鎖指令,執(zhí)行相應(yīng)的指令操作;
返回執(zhí)行結(jié)果狀態(tài)的步驟,用于實現(xiàn)將各種命令執(zhí)行的正常或異常狀態(tài),通過RS422接口傳送到外部主控計算機。
具體實施方式三:參見圖3說明本實施方式,本實施方式與具體實施方式二所述的一種直流電機控制器的區(qū)別在于,所述的RS422中斷程序包括用于實現(xiàn)對外部主控計算機發(fā)送的RS422數(shù)據(jù)讀取的步驟、數(shù)據(jù)完整判別的步驟、命令解析步驟和置命令標識步驟;
所述的RS422數(shù)據(jù)讀取的步驟,用于通過DSP控制器1的串行接口,讀取外部主控計算機發(fā)送的RS422數(shù)據(jù);
數(shù)據(jù)完整判別的步驟,用于對接收到的RS422數(shù)據(jù)的完整性的進行判別,判斷結(jié)果為否,則繼續(xù)接收RS422數(shù)據(jù),判斷結(jié)果為是,則識別數(shù)據(jù)幀的幀頭,然后從數(shù)據(jù)幀中解析出指令,根據(jù)解析出的指令確定參數(shù)個數(shù);
置命令標識步驟,用于對每一幀RS422數(shù)據(jù)解析后,確定的指令和參數(shù)進行信息標識,使得主程序可查詢到此標識,并按照接收到的指令進行處理。
具體實施方式四:參見圖4說明本實施方式,本實施方式與具體實施方式一或二所述的一種直流電機控制器的區(qū)別在于,所述的DSP控制器1中定時器中斷程序,用于以固定的控制周期對外設(shè)電機的當(dāng)前位置進行控制,且每個固定的控制周期內(nèi)對外設(shè)電機的當(dāng)前位置進行控制的具體過程包括如下步驟:
首先,判斷位置偏差是否小于500,所述的位置偏差為電機設(shè)定位置與電機當(dāng)前位置的偏差,
判斷結(jié)果為是,通過位置PID算法對外設(shè)電機的轉(zhuǎn)動位置進行控制,使位置偏差趨近于0,
判斷結(jié)果為否,通過速度PID算法對外設(shè)電機的轉(zhuǎn)動速度進行控制,使位置偏差趨近于0。
本實施方式中,所述的偏差小于500,實現(xiàn)計算電機控制器對設(shè)定位置與電機當(dāng)前位置的偏差,根據(jù)偏差進行不同控制算法的操作。
所述的速度PID算法,實現(xiàn)由DSP程序?qū)崿F(xiàn)的標準PID算法,當(dāng)電機距離設(shè)定位置較遠時,對電機轉(zhuǎn)動速度進行控制。
所述的位置PID算法,實現(xiàn)由DSP程序?qū)崿F(xiàn)的標準PID算法,當(dāng)電機距離設(shè)定位置較近時,未避免超差,實現(xiàn)對電機轉(zhuǎn)動位置的控制。
通過速度PID算法與位置PID算法,實現(xiàn)對電機雙閉環(huán)PID的控制。
具體實施方式五:參見圖5說明本實施方式,本實施方式與具體實施方式一或二所述的一種直流電機控制器的區(qū)別在于,所述的DSP控制器1內(nèi)的外部中斷程序,用于對外設(shè)電機的碼盤位置進行識別,且對外設(shè)電機的碼盤位置進行識別包括如下步驟:
讀取電平值的步驟,通過觸發(fā)電路5對外設(shè)電機碼盤信號進行讀取,對讀取后的外設(shè)電機碼盤信號通過第二隔離電路4進行光耦隔離,獲得電平值,其中,高電平為外設(shè)電機正轉(zhuǎn),低電平為外設(shè)電機反轉(zhuǎn);
判斷電平值是否為高的步驟,判斷結(jié)果為是,則外設(shè)電機正轉(zhuǎn),每運動一個碼位,當(dāng)前碼盤位置加1;判斷結(jié)果為否,則外設(shè)電機反轉(zhuǎn),當(dāng)前碼盤位置減1,根據(jù)當(dāng)前計數(shù)結(jié)果確定外設(shè)電機的碼盤位置,從而完成對外設(shè)電機的碼盤位置的識別。