【摘? 要】小型直流電機作為一種響應快、控制方便的執(zhí)行器,目前已廣泛應用于汽車儀表、空調、動力轉向、玻璃升降、電動座椅等汽車控制系統(tǒng)中。本文采用宏晶科技的51單片機STC89C52RC作為主控芯片,選擇ULN2003作為電機的驅動芯片,設計具有獨立按鍵的按鍵電路來控制電機的加速、減速,設計8位數(shù)碼管電路來顯示電機速度的擋位,并利用Keil 5集成開發(fā)環(huán)境進行C語言軟件編程設計,通過脈寬調制(PWM)信號來實現(xiàn)電機速度1~18擋的控制。驗證結果表明,本設計能夠有效實現(xiàn)汽車小型直流電機的多擋調速,達到設計預期。
【關鍵詞】51單片機;小型直流電機;PWM;調速系統(tǒng);Keil軟件
中圖分類號:U463.6? ? 文獻標志碼:A? ? 文章編號:1003-8639( 2023 )09-0052-04
Design of Speed Control System for Small DC Motor for Automobile Based on 51 SCM
HUA Jianxin
(Branch of Suzhou Construction & Communications,Jiangsu Union Technical Institute,Suzhou 215000,China)
【Abstract】As an actuator with fast response and convenient control,small DC motor has been widely used in automobile control systems such as automobile instrument,air conditioner,power steering,glass lifter,electric seat,etc. In this paper,STC89C52RC,a 51 SCM of STC Company,is used as the main control chip,ULN2003 is selected as the motor drive chip,and a key circuit with independent keys is designed to control the acceleration and deceleration of the motor,and an 8-bit LED circuit is designed to display the speed gear of the motor. The C language software is programmed using Keil 5 integrated development environment,and the motor speed is controlled from 1 to 18 gears through PWM signal. The verification results show that the design can effectively achieve multi speed regulation of small DC motor,and achieve the design expectations.
【Key words】51 SCM;small DC motor;PWM;speed regulation system;Keil software
作者簡介
花建新(1979—),男,講師,碩士,主要從事汽車智能技術專業(yè)教育研究工作。
隨著計算機、電子、通信、人工智能、自動控制等高新技術的飛速發(fā)展,各種自動化智能設備在生產(chǎn)生活中不斷涌現(xiàn)。直流電機因具有調速范圍廣、響應快、控制方便和啟動轉矩大等諸多優(yōu)點,在眾多智能化、自動化產(chǎn)品中被廣泛應用為執(zhí)行器[1-2],尤其是在汽車領域,小型直流電機已廣泛應用于儀表指示、空調、動力轉向、玻璃升降、后視鏡、雨刮器、電動座椅等控制系統(tǒng)中[3-4]。近些年來,隨著單片機、數(shù)字信號處理器等微處理器技術的不斷成熟,制造成本不斷下降,以微處理器為主控的電機調速數(shù)字控制系統(tǒng),是汽車控制系統(tǒng)的研究方向之一。
本文基于國產(chǎn)公司宏晶科技的51單片機STC89C52RC設計一款針對汽車小型直流電機的調速系統(tǒng)。首先進行汽車小型直流電機調速系統(tǒng)的硬件電路設計,包括單片機最小系統(tǒng)、獨立按鍵電路、數(shù)碼管顯示電路、電機驅動電路以及下載電路,接著應用C語言在Keil 5軟件上進行編程設計和調試,最后通過STC-ISP軟件將編譯生成的hex文件下載到設計電路板中進行實際驗證。
1? 硬件電路設計
本設計采用的主控芯片STC89C52RC是宏晶科技的一種高性能、高可靠、低功耗的8位51單片機,目前已經(jīng)廣泛應用于眾多嵌入式控制應用系統(tǒng)中[5-6]。
單片機是可以正常工作的由最少部件組成的基本應用系統(tǒng),稱之為單片機最小系統(tǒng)。51單片機的最小系統(tǒng)通常包括復位電路、時鐘電路與電源電路。本設計通過51單片機提供PWM信號,采用ULN2003專用驅動芯片將PWM信號放大,驅動小型直流電機運轉;通過2個獨立按鍵來控制電機1~18擋的加速、減速,通過數(shù)碼管顯示電路來顯示電機的速度擋位。另外,程序編寫調試完成后,還需要將目標程序下載到單片機中進行驗證。因此本設計的硬件電路主要包括單片機最小系統(tǒng)、獨立按鍵電路、數(shù)碼管顯示電路、電機驅動電路和下載電路5個部分。系統(tǒng)整體硬件框架如圖1所示。
1.1 單片機最小系統(tǒng)
本設計基于STC89C52RC的單片機最小系統(tǒng),包括復位電路、時鐘電路和電源電路[6],如圖2所示。
1.1.1? 復位電路
復位電路的主要作用是當單片機系統(tǒng)上電或者出現(xiàn)程序跑飛等異常情況時,讓單片機系統(tǒng)恢復初始狀態(tài),確保單片機穩(wěn)定可靠地工作。復位電路觸發(fā)的方式主要有:一是手動復位,設置專門的按鍵,通過手動按下進行復位;二是軟件復位,通過程序編程實現(xiàn)復位;三是上電復位,電路一通電就立即復位。
本設計采用的是一種非常簡單、常用的基本復位電路,電路包括1個電阻、1個電容和1個復位按鍵,電阻和電容串聯(lián)在一起,手動復位按鍵與電容并聯(lián),具體如圖2a所示。該復位電路具有上電復位和手動按鍵復位的功能。當上電的瞬間,電容與電阻構成充電電路,單片機RST引腳出線高電平,單片機復位;當手動按下復位按鍵時,電源VCC直接接于單片機RST引腳,單片機復位。
1.1.2? 時鐘電路
時鐘電路主要是產(chǎn)生指定頻率和振幅的時間信號,為單片機提供工作時的“時間參考”,以協(xié)調單片機各模塊之間邏輯操作的順序執(zhí)行。單片機的時鐘電路通常由晶振和電容組成。晶振是利用石英晶體的壓電效應制成的一種諧振器件,可產(chǎn)生頻率和峰值皆穩(wěn)定的正弦信號,分為無源晶振和有源晶振。本設計的時鐘電路采用了1個11.0592 MHz的無源晶振,接于單片機的2個時鐘輸入端口(18號端口和19號端口)間,同時采用2個20pF的電容分別接于2個時鐘輸入端口,具體如圖2a所示。
1.1.3? 電源電路
任何電路都需要接通電源才能工作,單片機電路一般需要低壓直流電進行供電,但不同的單片機需要的供電電壓范圍是不一樣的,具體可以查閱相關單片機的使用手冊。本設計使用的是STC89C52RC單片機,通過查閱該單片機的使用手冊可知,STC89C52RC需要5V的直流電壓進行供電,而且設計電路中的一些其它元器件需要3.3V直流電壓進行供電,因此本設計通過USB接口電路來獲得5V直流電壓,通過增加一個穩(wěn)壓芯片AMS1117來獲得3.3V直流電壓,具體如圖2b所示。
1.2 獨立按鍵電路
本設計需要對小型直流電機的加速和減速運行進行控制,因此需要2個獨立按鍵K1和K2,其中K1一端搭鐵,另一端接單片機的P3.4接口,用來控制電機的加速,K2一端搭鐵,另一端接單片機的P3.5接口,用來控制電機的減速,另外還冗余設計了2個獨立按鍵K3和K4,用于功能拓展。獨立按鍵電路如圖3所示。
1.3 數(shù)碼管顯示電路
本設計要求將按鍵設置的電機速度1~18擋位顯示出來,因此設計了LED數(shù)碼管顯示電路,電路包含8位LED數(shù)碼管和2個數(shù)據(jù)鎖存器MC74HC573。數(shù)碼管顯示電路如圖4所示。
每位LED數(shù)碼管由7個條形LED和1個小圓點LED組成,共8段。其中,7個條形LED用于顯示數(shù)字或英文字符,通常用字母段a、b、c、d、e、f、g來表示;第8個小圓點LED用來顯示小數(shù)點,用字母段h或dp來表示。本設計的8位LED數(shù)碼管采用共陰極連接,當字段LED的陽極為高電平“1”時,該字段LED導通發(fā)光,為低電平“0”時,該字段LED截止熄滅。由于本設計中的電機速度擋位最高為18擋,實際僅需2位LED數(shù)碼管,其余6位數(shù)碼管作為備用冗余設計。
MC74HC573為8路3態(tài)輸出的非反轉透明鎖存器,當鎖存使能端為高電平“1”時,輸出與輸入同步,當鎖存使能端變?yōu)榈碗娖健?”時,輸出端的數(shù)據(jù)會被鎖存。圖4中的2個MC74HC573,其中1個是作為段選鎖存器,用于儲存數(shù)碼管顯示的具體數(shù)據(jù),其使能端接單片機的P2.6口;另外1個MC74HC573作為位選鎖存器,用于選擇8位LED數(shù)碼管的某一位進行顯示,其使能端接單片機的P2.7口。2個鎖存器的8位輸入數(shù)據(jù)接口均使用單片機的P0口。
1.4 電機驅動電路
單片機通常是不能直接驅動直流電機的,因為直流電機的驅動電流比較大,本設計采用了一片ULN2003達林頓陣列集成芯片來驅動電機。小型直流電機驅動電路如圖5所示,其中,ULN2003是一種高耐壓、大電流的雙列直插式16腳封裝達林頓陣列芯片,最大驅動電壓為50V,最大驅動電流為500mA,輸入電壓為5V。ULN2003的端口4,即IN4口接單片機的P1.3口,用于將單片機產(chǎn)生的PWM信號引入驅動電路,端口13,即OUT4口接于直流電機接口J2的輸入端IN口,用于輸出放大的PWM信號,來驅動小型直流電機運轉。
1.5 下載電路
在上位機上將軟件程序編制調試好后,需要通過下載電路將編譯好的目標程序燒寫到單片機的存儲器中,然后由單片機執(zhí)行。STC單片機采用串口燒寫方式,即通過單片機的UART口(RXD口和TXD口)實現(xiàn)程序燒寫功能。而現(xiàn)在常用的計算機沒有UART口,無法和單片機串口直接進行通信,但是可以通過USB串口轉換芯片,將USB通信協(xié)議和標準UART串行通信協(xié)議進行轉換,從而實現(xiàn)單片機與計算機的通信。本設計的下載電路使用了一片USB轉串口的轉換芯片CH340G,并配合一些電阻、電容、穩(wěn)壓二極管和晶振等其它輔助元器件,具體下載電路如圖6所示[6]。
2? 軟件設計
Keil軟件是一款非常強大的單片機嵌入式開發(fā)工具,它將編譯器、連接器、仿真器、調試器等組合在一個集成開發(fā)環(huán)境里,幫助開發(fā)者快速、高效地進行單片機開發(fā)。本文利用Keil 5集成開發(fā)環(huán)境進行汽車小型直流電機調速控制系統(tǒng)的C語言軟件編程設計。
本設計軟件程序主要通過單片機的中斷技術來實現(xiàn)鍵盤讀取和處理、電機運轉控制、數(shù)碼管動態(tài)顯示控制等任務,軟件設計流程圖如圖7所示,具體程序包括主函數(shù)模塊、定時器模塊和數(shù)碼管顯示模塊3個部分。
2.1 主函數(shù)模塊
本設計軟件程序的主函數(shù)模塊首先對整個系統(tǒng)進行初始化,包括單片機各端口的定義,相關參數(shù)的定義和初始化,延時函數(shù)和按鍵釋放函數(shù)的定義,以及單片機定時器T0的初始化等,然后采用查詢方式掃描鍵盤K1和K2對應的端口,檢測2個鍵盤有沒有按鍵動作,如果檢測到有按鍵動作,立即進行按鍵操作處理,即根據(jù)按鍵動作對應的值實時修改電機的速度擋位值,并實時更新速度擋位值顯示的十位和個位。具體程序如圖8~圖10所示。
2.2 定時器模塊
本設計軟件程序是采用定時器中斷的方式來控制小型直流電機的速度,在定時器模塊首先對單片機的定時器0進行初始化,然后調用相應的中斷服務子程序,依據(jù)掃描鍵盤得到的電機速度擋位來控制輸出PWM信號的占空比,從而實現(xiàn)電機調速。定時器初始化和中斷服務子程序如圖11所示。
2.3 數(shù)碼管顯示模塊
本設計要求將獨立鍵盤設置的直流電機1~18擋的速度擋位通過數(shù)碼管動態(tài)顯示出來,因此在軟件程序的數(shù)碼管顯示模塊,通過段鎖存端口設置來控制顯示的擋位數(shù)據(jù),通過位鎖存端口設置來控制對應的數(shù)碼管顯示,具體程序如圖12所示。
3? 調試和驗證
應用Keil 5軟件編制、調試程序,通過編譯生成hex文件,然后應用STC-ISP下載軟件將hex文件燒寫到設計的電路板中進行驗證,如圖13所示。燒寫完成后,將小型直流電機接于圖5所示的直流電機接口J2,電路板上電,按下鍵盤K1或K2,電機轉速會相應增大或減小,且數(shù)碼管能夠正確顯示設置的速度擋位。另需注意的是,使用STC-ISP軟件下載時,需要對單片機型號、對應的串口號、波特率等進行正確配置。
4? 結論
本文以宏晶科技的51單片機STC89C52RC為主控芯片,設計一款汽車小型直流電機調速系統(tǒng)的硬件電路和軟件程序,應用Keil 5軟件進行C語言程序編制調試,應用STC-ISP下載軟件將目標程序燒寫到設計的電路板中進行驗證。結果表明,本設計可實現(xiàn)汽車小型直流電機的調速。另外,在獨立按鍵和數(shù)碼管顯示硬件電路中進行冗余設計,可以通過修改程序代碼,進一步拓展按鍵及顯示功能,使其擁有更加豐富的應用。
參考文獻:
[1] 呂中正,張?zhí)m紅,曹克強. 電動汽車增程器用無刷直流電機控制系統(tǒng)設計與研究[J]. 電子器件,2021,44(5):1149-1154.
[2] 趙雅,李洋,袁靜蘭. 新型航空無刷直流電機調速系統(tǒng)建模與仿真[J]. 電工技術,2021(14):37-40,54.
[3] 令狐昌偉. 基于STM32的汽車外后視鏡控制模塊設計[J]. 汽車電器,2021(7):69-71.
[4] 朱丹,朱熀秋. 汽車前照燈自適應系統(tǒng)的控制研究設計[J]. 電子設計工程,2020,28(21):125-129,135.
[5] 彭泉,秦旺,楊尚春,等. 基于STC89C52RC的立柱式新能源汽車樁優(yōu)化設計研究[J].電子元器件與信息技術,2021,5(8):106-108.
[6] 李蔣. 基于51單片機的汽車用LED流水燈仿真設計[J]. 汽車電器,2023(1):28-31,35.
(編輯? 凌? 波)