如圖1所示,此方案是以STC89C52RC單片機作為主控芯片,采用霍爾測速傳感器磁場頻率測速法測量電機轉速、采集電機參數,向單片機輸入脈沖信號。選取LCD1602液晶顯示屏顯示電機每分鐘轉速及占空比。采取獨立按鍵作為按鍵模塊,為單片機提供按鍵信息,實現電機啟動/停止、正轉、反轉、加速、減速功能。選擇雙極PWM控制配合H型橋式驅動電路實現電機驅動,利用USB-TTL轉串口模塊完成系統供電以及燒錄程序。整體硬件需求較小,硬件成本較低。
3.8總體方案框圖
 
四、電路設計 4.1總體電路設計原理圖     
     
圖2 系統電路設計原理圖
系統電路構成:由STC89C52RC單片機最小系統作為運算處理和控制的核心,采用USB-TTL轉串口實現電路5V供電,選擇3144測速傳感器(P3.3)作為輸入模塊,LCD1602液晶顯示模塊(P0.0—P0.7,P2.7:RS,P2.6:RW,P2.7:EN)作為顯示電路,并配合按鍵電路控制直流電機、設定占空比,最后通過由三級管及開關二極管組成的H橋電路(P3.4,P3.7)驅動5V直流電機,共六個部分組成,如圖2所示。 4.2供電電路 
圖3 供電模塊接線電路圖 在PCB板子的一側焊上四個排針,外接USB-TTL轉串口的5V,RXD,TXD,GND端口,實現對電路的5V供電以及對STC89C52RC單片機程序的燒錄,具體電路如圖3所示。 4.3直流電機驅動電路 
圖4 電機驅動模塊電路圖 直流電機驅動電路由四個三極管組成H橋驅動電路,H橋的輸入受STC89C52RC單片機輸出的PWM信號控制,在實現轉速控制的同時,也可以實現正反轉控制,具體電路如圖4所示。 4.4霍爾傳感器測速模塊電路 
圖5 霍爾傳感器測速模塊實物圖 霍爾傳感器測速模塊電路應用霍爾效應原理,是由電壓調整器、霍爾電壓發生器、差分放大器、施密特觸發器,溫度補償電路和集電極開路的輸出級組成的磁敏傳感電路。使用3144E開關型霍爾傳感器,其輸入為磁感應強度,輸出是一個數字電壓信號。當傳感器感應到磁場時,數字輸出低電平,信號燈亮;如果沒有感應到磁場,則數字輸出高電平,信號燈不亮,準確度、可靠性高。 
圖6 霍爾傳感器測速模塊接線電路圖 霍爾傳感器測速模塊的數字信號輸出端口通過10K的上拉電阻與STC89C52RC的P3.3端口相連,使其輸出信號更穩定,如圖6所示。 4.5按鍵電路 
圖7 按鍵電路圖 按鍵電路由5個普通的自復位式四腳按鍵組成,將它們同一側的引腳縱向連在一起接到GND,另一端分別接入STC89C52RC單片機的P1.0—P1.4引腳,主要實現電機啟動/停止、正轉、反轉、加速、減速,如圖7所示。 4.6單片機及顯示電路 
圖8 單片機最小系統圖 
圖9 LCD1602液晶顯示圖 單片機及顯示電路包括單片機最小系統、LCD1602液晶顯示,如圖8、圖9所示,LCD1602液晶顯示通過并行通信接口(D0—D7,P2.7:RS,P2.6:RW,P2.7:EN)與單片機相連,在電路中主要實現電機轉速及占空比的顯示。 單片機通過P3.4、P3.7端口向直流電機驅動電路輸出PWM信號,控制電機轉速。霍爾傳感器測速模塊電路輸出的方波信號送入單片機的P3.3端口。 4.7元器件清單 表1 元器件清單表
元器件的選擇,根據可靠性、可行性、穩定性、價格以及最終方案,選擇元器件均為直插式,選擇STC89C52RC單片機為主控芯片,使用IC插座集成塊,方便單片機的更換,利用排母使LCD1206實現外接模式,方便顯示屏安裝與拆卸。 五、軟件設計 程序設計部分主要包括主程序、初始化子程序、鍵盤掃描子程序、LCD1602顯示子程序、中斷子程序、信息處理子程序及PWM生成程序七個部分組成,大致通過LCD1602顯示信息,通過按鍵輸入信息,對LCD1602顯示的轉速和占空比等信息進行操作。 5.1主程序
主程序中主程序中包含了初始化程序,鍵盤掃描程序,主程序代碼如下: void main() { flag_1=0; m=100; zhuansu=0; flag=0; zheng=1; fan=0; init(); while(1) { keyscan(); } }

5.2中斷子程序 1.外部中斷 (1)工作過程:每來一個電機脈沖信號,產生中斷計數。 (2)流程圖:如圖11所示。 (3)程序: void int1()interrupt 2 { zhuansu++; } 2.定時器中斷 (1)工作過程:TT0 定時器每2秒定時中斷一次,讀取記錄的脈沖個數,顯示轉速。 (2)流程圖:如圖12所示。 (3)程序: void int2()interrupt 3 {
TH0=0xdc; TL0=0x00; flag++; if(flag==200) { display(); zhuansu=0; flag=0; } } 
5.3鍵盤掃描子程序
(1)工作過程:按鍵1按下時占空比加一,按鍵2按下時占空比減一,按鍵3按下時電機正轉,按鍵4按下時電機反轉,按鍵5按下時電機啟動/停止。 (2)流程圖:如圖13所示。 (3)程序: void keyscan() { if(num1==0) { delay(20); if(num1==0) { if(m<=199) m++; displaym(); } } if(num2==0) { delay(20); if(num2==0) { if(m>=1) m--; displaym();
} } if(num3==0) { delay(20); if(num3==0) { zheng=1; fan=0; } } if(num4==0) { delay(20); if(num4==0) { zheng=0; fan=1; } } if(num5==0) { delay(20); if(num5==0) { while(num5==0); kai=1-kai; } } }
5.4信息處理子程序
 1.占空比顯示 (1)工作過程:在LCD1602上顯示占空比,若轉速百位為零則百位顯示空格、其余正常顯示,反之百位也正常顯示;若轉速十位為零則只顯示個位,反之十位也正常顯示、百位顯示空格。 (2)流程圖:如圖14所示。 (3)程序: void displaym() { write_com(0xcb); if(m/200%10!=0) write_data(m/200%10+0x30); else write_data(' ');
if(m/200%10==0&&m/20%10==0) write_data(' '); else write_data(m/20%10+0x30); write_data(m/2%10+0x30); }
2.轉速顯示: (1)工作過程:在LCD1602上顯示轉速,若轉速萬位為零則萬位顯示空格、其余正常顯示,反之都正常顯示;若轉速千位為零則萬位、千位顯示空格、其余正常顯示,反之千位也正常顯示;若轉速百位為零則萬位、千位、百位顯示空格、其余正常顯示,反之百位也正常顯示;若轉速十位為零則只顯示個位,反之十位也正常顯示、其余顯示空格。 (2)流程圖:如圖15所示。 (3)程序: void display() { write_com(0x82); zhuansu=zhuansu*30;
if(zhuansu/10000!=0) write_data(zhuansu/10000+0x30); else write_data(' ');
if(zhuansu/1000==0) write_data(' '); else write_data(zhuansu%10000/1000+0x30);
if(zhuansu/100==0) write_data(' '); else write_data(zhuansu%10000%1000/100+0x30);
if(zhuansu/10==0) write_data(' '); else write_data(zhuansu%10000%1000%100/10+0x30); write_data(zhuansu%10000%1000%100%10+0x30); write_com(0xd0);} 
5.5PWM生成子程序 
(1)工作過程:電機正轉時,若0<flag_1<m,向電機輸出高電平;若m<flag_1<199,向電機輸出低電平。電機反轉時,若0<flag_1<m,向電機輸出低電平;若m<flag_1<199,向電機輸出高電平。 (2)流程圖:如圖15所示。 (3)程序: void int3()interrupt 1 { TH1=0xff; TL1=0x00; flag_1++; if(flag_1>199) flag_1=1; if(kai==1) { if(zheng==1) { if(flag_1<m) { out=0; out1=1; } else { out=1; out1=1; } } if(fan==1) { if(flag_1<m) { out=1; out1=0; } else { out=1; out1=1; } } } if(kai==0) { out=1; out1=1; } }
六、制作、調試過程。 6.1制作 
圖17 萬用板元件分布圖 將電路原理圖繪制完成,然后根據原理圖準備相應的元件,再根據要求改變各元件的屬性并把各個元件按原理圖焊接于萬用板之上。焊接完成后,用萬用表檢測電路的通斷情況,檢查無誤后,向IC插座集成塊中插入芯片,下載測試程序,觀察LCD1602顯示模塊、電機、霍爾傳感器測速模塊以及按鍵是否按程序正常運行。 
圖18 PCB照片預覽及3D仿真 
圖19 PCB實物圖 
圖20 萬用板實物圖 6.2調試 利用制作的實物進行運行調試,通過按不同的按鍵,觀察LCD1602顯示情況,判斷是否存在邏輯錯誤的情況。調試過程中,肯定會出現因邏輯錯誤而顯示不正常,需要配合仿真調試進行排查。發現出錯原因后,及時想辦法解決問題。 
圖21 實物調試圖
九、附錄 
圖 22 系統電路原理圖
圖 2 實物正面電路 
圖 3 實物反面電路走線

圖 4 實物調試 單片機系統程序:
完整的Word格式文檔51黑下載地址:
基于霍爾元件電機轉速測量系統設計.docx
(5.7 MB, 下載次數: 85)
2020-12-2 21:02 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|