【正文】
單片機(jī)的 I/O 端口較少,且系統(tǒng)要用 8 個 LED 數(shù)碼管,若選靜態(tài)顯示則需占用太多 I/O端口。 方案一 : 用固定式三端穩(wěn)壓器 ,例如 7805 系列穩(wěn)壓器輸出固定 的正電壓 5V,輸入端接電容 C1 可以進(jìn)一步濾除紋波 ,輸出端接電容 C2 能改變負(fù)載的瞬態(tài)影響 ,使電路穩(wěn)定工作 CC2 最好采用漏電流小的鉭電容。 另外由于 7805的最大輸出電流為 ,可以通過在 7805 的 1 腳與 VT1的基極相連,7805 的 2 腳與 VT1的集電極相連,這樣就可輸出 ~ 2A 的電流。將發(fā)射紅外線的發(fā)光二極管( LED)和感知紅外線的接受模塊組合在一起就可以實現(xiàn)紅外線通信。 方案一、采用脈沖個數(shù)編碼。 方案二、采用 8位數(shù)字組成的代碼編碼。 其中 ZR為轉(zhuǎn)子齒數(shù), N為運行拍數(shù), f是控制脈沖的頻率 。 此設(shè)計使用的電機(jī)步距角 θ b=,所以 ZRN=360o/θ b=360o/=48。其中單片機(jī)作為主控設(shè)備控制系統(tǒng)的輸入和輸出。該單元電路 采用 兩 級 9014 三極管達(dá)林頓接法,能很好的滿足放大要求。 R23 30 KR43 30 KR33 30 KR 1 01 00R81 00R91 00R 2 2 4 7KR 2 34 7KR 2 44 7KP39 01 4P59 01 4P79 01 4P49 01 4P69 01 4P89 01 4P29 01 4B1C2E3P19 01 4R 2 14 7KR71 00ABCDV S SV T 19 01 3V T 29 01 3V T 39 01 3V T 49 01 3R 3 11 00R 3 21 00R 3 31 00R 3 41 00D1D3D4D2I N 1I N 2I N 3I N 4L1L E DL2L E DL3L E DL4L E DR1 3 30 K 圖 驅(qū)動電路電路圖 四相步進(jìn)電機(jī)控制器 第 9 頁 共 52 頁 顯示電路方案設(shè)計 采用動態(tài)顯示的方法實現(xiàn)狀態(tài) 的顯示: 44— P(雙四正轉(zhuǎn)), 44— N(雙四反轉(zhuǎn)), 48— (單雙八拍正轉(zhuǎn)), 48— N(單雙八拍反轉(zhuǎn)),以及頻率的顯示。 數(shù)碼管在系統(tǒng)中是分時掃描控制的,當(dāng)控制數(shù)碼管顯示時, KBIT1— KBIT7 控制八個數(shù)碼管的位碼, KBIT1— KBIT7 為低電平,三極管 Q0Q7 導(dǎo)通,數(shù)碼管點亮,顯示段碼的數(shù)據(jù)。 C11 能改變負(fù)載的瞬態(tài)影響。發(fā)光二極管顯示紅外發(fā)射管是否發(fā)射出紅外信號。 E A / V P31X119X218R E S E T9RD17WR16I N T 012I N T 113T014T115P 101P 112P 123P 134P 145P 156P 167P 178P 0039P 0138P 0237P 0336P 0435P 0534P 0633P 0732P 2021P 2122P 2223P 2324P 2425P 2526P 2627P 2728P S E N29A L E / P30T X D11R X D10U2A T 89 S 5 1S6K E Y 6S8K E Y 8S7K E Y 7S4K E Y 4S5K E Y 5S1 2MC13 0p FC23 0p FK B 1K B 2K B 3K B 4K B 5X T A L 1X T A L 2K B 6K B 7K B 8K B 1K B 2K B 3K B 4K B 5123456789J1C O N 9K B 1K B 2K B 3K B 4K B 5K B 6K B 7K B 8V C CX T A L 1X T A L 2V C CS3K E Y 3S2K E Y 2S1K E Y 1K B 6K B 7K B 8123456J2S 51 _ I S PM O S IM I S OR E S E TS C KV C CGNDM O S IM I S OS C KR E S E TR18 .2 KR24 .7 KR322V T 19 01 3C41 0u FV C CR E S E TT T 1T T 1S9K E Y 9S 10K E Y 10S 11K E Y 11S 12K E Y 12S 13K E Y 13S 14K E Y 14S 15K E Y 15S 16K E Y 16R 1 14 .7 KR 1 24 .7 KR 1 34 .7 KR 1 44 .7 KV C CR44 .7 KR522V T 29 01 3V C CT T 2T T 2C3 0 .0 1 u+C 1 1 1 00 u12J3C O N 2V C CGNDT1L E DT2L E D 圖 紅外發(fā)射電路圖 編程語言 本設(shè)計中采用匯編語言對單片機(jī)進(jìn)行編程。 軟件實現(xiàn)方法 軟件的設(shè)計主要是通過按鍵查表控制 步進(jìn)電機(jī)的轉(zhuǎn)速,并用按鍵來切換電機(jī)的正反轉(zhuǎn)與運行狀態(tài),同時,用兩個數(shù)碼管分別顯示頻率與電機(jī)運行狀態(tài)。因此首先對該晶振進(jìn)行分頻,得到頻率比較小的脈沖作為電機(jī)的步進(jìn)脈沖信號。 雙四拍正轉(zhuǎn) 雙四拍正轉(zhuǎn)運行方式是 AB→ BC→ CD→ DA→ AB。 表 雙四拍正轉(zhuǎn) 表 雙四拍反轉(zhuǎn) 輸出代碼 通電繞組 P2 口輸出 00001001 AD 09H 00001100 DC 0CH 00000110 CB 06H 00000011 BA 03H 單雙八拍正轉(zhuǎn) 單雙八拍正轉(zhuǎn)運行方式是 A→ AB→ B→ BC→ C→ CD→ D→ DA→ A。 表 單雙八拍正轉(zhuǎn) 表 單雙八拍反轉(zhuǎn) 輸出代碼 通電繞組 P2 口輸出 00000011 AB 03H 00000110 BC 06H 00001100 CD 0CH 00001001 DA 09H 輸出代碼 通電繞組 P2 口輸出 00000001 A 01H 00000011 AB 03H 00000010 B 02H 00000110 BC 03H 00000100 C 06H 00001100 CD 0CH 00001000 D 08H 00001001 DA 09H 輸出代碼 通電繞組 P2 口輸出 00000001 A 01H 00001001 AD 09H 00001000 D 08H 00001100 DC 0CH 00000100 C 04H 00000110 CB 06H 00000010 B 02H 00000011 BA 03H 12MHz 晶振 不同頻率脈沖 控制電機(jī) 的轉(zhuǎn)速 單 片 機(jī) 四相步進(jìn)電機(jī)控制器 第 12 頁 共 52 頁 程序流程圖 ’ 中斷開始 接收并對低電平脈沖計數(shù) 按脈沖個數(shù)至 對應(yīng)程序 中斷返回 低電平脈寬 2ms? 高電平脈寬 3ms? N Y N Y 遙控接收程序流程圖 開始 初始化 遙控 程序 手控鍵掃描 ? 遙控鍵掃描 ? 否 否 是 是 返回 主程序流程圖 手控 程序 四相步進(jìn)電機(jī)控制器 第 13 頁 共 52 頁 換拍鍵掃描 手控開始 換拍標(biāo)志 =0? 正反鍵掃描 正反轉(zhuǎn)標(biāo)志 1=0? 顯示“ 44” 正反轉(zhuǎn)標(biāo)志 1=1? 顯示“ 44P” 顯示“ 44N” 正反轉(zhuǎn)標(biāo)志 1=2? 正反鍵掃描 正反轉(zhuǎn)標(biāo)志 2=0? 顯示“ 48” 正反轉(zhuǎn)標(biāo)志 2=1? 顯示“ 48P” 顯示“ 48N” 正反轉(zhuǎn)標(biāo)志 2=2? Y Y Y Y N N N N Y N Y N