張偉霞,廖 清
(廣州廣電運通金融電子股份有限公司,廣東 廣州 510663)
電機,俗稱馬達,在電路中用字母“M”表示,是機電一體化的典型產品,它將電能轉換為機械能,可作為各類機械產品、電器或自動控制系統的動力源。電機主要分為直流電機、交流電機和其他的特種電機。其中,直流電機包含直流有刷電機、直流無刷電機和步進電機等。本文討論的是最常用的直流有刷電機,簡稱直流電機,其由定子和轉子兩大部分組成。定子上有磁極(繞組式或永磁式),轉子鐵心槽內嵌有繞組,通電時,繞組導體中通過電流、在磁場中因受力而轉動,從而帶動整個轉子旋轉。
直流電機最大的特點是控制簡單,在有控制信號時,電機就轉動,除去控制信號后,電機就立即停止轉動。但是由于靜電干擾或其他異常因素,會出現MCU程序死掉、程序進入死循環、程序跑飛等異常情況,致使電機異常轉動或電機失控一直轉動停不下來,這樣會損壞電機傳動部分,同時對電機也造成一定的傷害。為了避免這些問題的出現,本文在硬件電路部分增加了用單穩態觸發器控制直流電機控制芯片的電源端和增加外部看門狗兩種保護措施,并對這兩種保護措施進行了詳細描述,相應給出了實驗波形。
1.1.1 單穩態觸發器芯片74HC123D
74HC123D為雙可重觸發的單穩態觸發器,如圖1所示。其中1CEXT、2CEXT為外接電容端,1Q、2Q為正脈沖輸出端,1、2為負脈沖輸出端為直接清除端 (低電平有效),1A、2A為負觸發輸入端,1B、2B為正觸發輸入端。
74HC123D的輸出脈沖寬度T可由三種方法控制:(1)通過選擇外定時元件C和R值來確定脈沖寬度;(2)通過正觸發輸入端或負觸發輸入端的重觸發延長T;(3)通過清除端的清除使T縮小。74HC123D功能表如表1所示。
表1 74HC123D功能表
TA8428K為直流有刷電機控制芯片,如圖2所示。其中,IN1和IN2為輸入端,OUTA和OUTA為輸出端,VCC和GND為電源和地。TA8428K有四種工作模式,正轉、反轉、剎車和停止,并具有熱保護和過流保護功能。
圖2 TA8428K邏輯圖
TA8428K功能表如表 2所示。其中,H-高電平,L-低電平。
表2 TA8428K功能表
1.2.1 單穩態觸發器部分
單穩態觸發器外圍電路原理圖如圖3所示。其中,MotPow_Ctr(單片機輸出引腳)為74HC123D的輸入 (接1B),MOTPOWCRL 為 輸 出 (接 1Q);MotPow_Ctr 為 一 系 列固定頻率的脈沖,在上升沿時,1Q輸出一高電平脈沖,脈沖寬度T的大小由R50和C38的值來計算,如式(1)所示。如果在1Q為高電平消失前再次觸發單穩態觸發器,則可延長輸出脈沖的寬度,但是不能無限制地再次觸發。有一個參數為可重觸發最小時間Tr,其與R50和C38的值相關,可按式(2)計算。如果兩次觸發的時間小于Tr,則再次觸發無效。同時還有一個可重復觸發間隔最大時間,該值可以通過測試來得到,如果大于這個時間1B沒有上升沿出現,則輸出端1Q為低電平;
圖3 單穩態觸發器外圍電路
其中,K為 0.4;C單位為 pF,R單位為 kΩ。
其中,C單位為 pF,R單位為 kΩ。
電路圖中V19、R49和C31為上電和掉電時的一些保護措施,本文不再詳述,請讀者查閱74HC123D技術資料。
1.2.2 電機電源部分
電機電源部分原理圖如圖4所示。其中,MOTPOWCRL為74HC123D的輸出端,在74HC123D觸發時,MOTPOWCRL為高電平3.3V,V21和V22導通,MoPower為高電平+24 V。
圖4 電機電源電路
1.2.3 電機驅動部分
電機驅動部分原理圖如圖5所示。其中,MoPower為電機控制芯片8428的電源端;MT1和MT2為輸入端,M+和 M-為輸出端,M+接直流電機正極,M-接直流電機負極。
(1)定時器產生固定頻率的脈沖。
如圖 3 所示,R=10 kΩ,C=105 pF;根據式(1)和式(2)可以計算輸出脈沖寬度T=4.1 ms,可重觸發最小時間Tr=0.47ms,根據測試得出可重觸發間隔最大時間為4.1ms?,F在只要輸入端1B可重觸發時間小于4.1 ms即可滿足輸出端1Q恒為高電平。但是,由于電阻電容有個體誤差,且使用一段時間后電阻電容會老化,因此必須留有余量。本文采用了0.5 ms定時,在中斷內進行取反操作,每1ms就觸發一次,這樣輸出端1Q恒為高電平,電機控制芯片電源端為+24 V。
圖5 電機驅動電路
(2)電機控制函數。
在電機正轉或反轉函數里,打開定時器,輸出方波到74HC123D的1B端,使電機控制芯片電源端為正常工作電壓+24 V;在釋放電機函數里,關定時器,停止輸出方波到74HC123D,使其輸出低電平,從而關閉電機控制芯片的電源。
實驗波形如圖6所示。
目前,有些MCU沒有看門狗功能,需增加外部看門狗;有些MCU自帶看門狗,由于集成在芯片內,靜電實驗時或者干燥季節靜電很強時很容易受到靜電的干擾,因此,最好使用外部看門狗。本文使用了美信公司的MAX706TESA。
圖7 MAX706TESA
圖8 看門狗電路
(1)喂狗函數 FeedWD()。
本文采用MAX706TESA看門狗芯片,喂狗時只需滿足FeedWD引腳在1.6 s內有狀態變化即可。故FeedWD()函數的處理是將FeedWD引腳狀態取反。其他看門狗芯片或MCU自帶看門狗,喂狗函數如何處理請參考各自的技術資料。
(2)主函數 main()。
在 main()主循環體內,調用喂狗函數 FeedWD();在一些執行時間比較長的命令函數里,也需要調用喂狗函數,也就是說必須滿足1.6 s內喂狗一次,否則就是程序設計問題導致MCU復位。
當單片機正常工作時,FeedWD引腳狀態不斷變化,RESET引腳為高電平;如果程序跑飛或CPU死掉,FeedWD沒有狀態變化,1.6 s后RESET為低電平,單片機復位,關掉電機。
圖9 直流電機控制系統
本文在直流電機原來控制系統基礎上,增加了兩種保護措施并進行了詳細描述。圖9為改進后的直流電機控制系統。采用該系統,可以很好地解決一些由于異常因素導致的電機異常轉動或者電機轉動后停不下來的情況。該改進措施實用性強,可以很方便地移植到其他MCU控制系統中去。
[1]Maxim Integrated Products.MAX706TESA Datasheet[Z].1995.
[2]PHILIPS Semiconaluctors.74HC123D Datasheet[Z].2006.
[3]TOSHIBA.TA8428K Datasheet[Z].2000.