基于AT89C51單片機的電動車無線遙控系統(tǒng)
1. 1 遙控發(fā)射器及編碼
當發(fā)射器按鍵按下后, 即有遙控碼發(fā)出, 所按的鍵不同遙控編碼也不同。這種遙控碼具有以下特征:
采用脈寬調(diào)制的串行碼, 以脈寬為0. 565 ms、間隔0. 56 ms、周期為1. 125 ms 的組合表示二進制的"0"; 以脈寬為0. 565 ms、間隔1. 685 ms、周期為2. 25 ms 的組合表示二進制的" 1" , 其波形如圖4 所示:
圖4 遙控編碼的"0"和"1"
上述" 0"和"1"組成的32 位二進制碼經(jīng)38 kH 的載頻進行二次調(diào)制以提高發(fā)射效率, 達到降低電源功耗的目的。然后再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射。
1. 2 接收器及解碼
解碼的關(guān)鍵是如何識別"0"和"1" , 從位的定義我們可以發(fā)現(xiàn)" 0" 、"1"均以0. 56 ms 的低電平開始, 不同的是高電平的寬度不同,"0"為0. 56 ms, "1"為1. 68 ms, 所以必須根據(jù)高電平的寬度區(qū)別"0"和" 1" .如果從0. 56 ms 低電平過后, 開始延時, 0. 56 ms 以后, 若讀到的電平為低, 說明該位為"0" , 反之則為"1" , 為了可靠起見, 延時必須比0. 56 ms 長些, 但又不能超過1. 12 ms, 否則如果該位為"0" , 讀到的已是下一位的高電平, 因此?。?1. 12 ms+ 0. 56 ms) / 2= 0. 84 ms 最為可靠, 一般取0. 84 ms 左右均可。
根據(jù)碼的格式, 應(yīng)該等待9 ms 的起始碼和4. 5 ms 的結(jié)果碼完成后才能讀碼。
2 單片機雙機通信
AT89C51 是一種帶4K 字節(jié)閃爍可編程可擦除只讀存儲器的低電壓、高性能CMOS8 位微處理器, 俗稱單片機。
多個MCS- 51 單片機可利用串行口進行多機通信。在多機通信中, 要保證主機與所選擇的從機實現(xiàn)可靠的通信, 必須保證串行口具有識別功能。串行口控制寄存器SCON 中的SM2 就是為滿足這一要求而設(shè)置的多機通信控制位。其多機控制原理是在串行口以方式2( 或方式3) 接收時, 若SM2= 1, 表示置多機通信功能, 這時出現(xiàn)可能情況: ( 1) 接收到的第9 位數(shù)據(jù)為1 時, 數(shù)據(jù)才裝入SBU F, 并置中斷標志RI= 1 向CPU 發(fā)送中斷請求; ( 2) 接收到的第9 位數(shù)據(jù)為0 時, 則不產(chǎn)生中斷標志, 信息將被拋棄。
若SM2= 0, 則接收的第9 位數(shù)據(jù)不論是0 還是1, 都產(chǎn)生中斷標志, 接收到的數(shù)據(jù)裝入SBUF 中。
雙機通信的工作過程如下: ( 1) U2 初始化程序允許串行口中斷, 將串行口變成為方式2 或方式3接收, 即9 位異步通信方式, 且置SM2 和REN 位為1, 使U2 只處于雙機通信且接收地址幀的狀態(tài); ( 2)在U1 和U2 通信時, U1 發(fā)送地址信息的第9 位為1, 數(shù)據(jù)( 包括命令) 信息的第9 位為0.U 2 的串行口接收到的第9 位信息RB8 為1, 且由于SM2= 1, 則置1 中斷標志位RI, U2 響應(yīng)中斷, 執(zhí)行中斷服務(wù)程序; ( 3)接著U 1 發(fā)送數(shù)據(jù)幀, U 2 接收數(shù)據(jù)幀, 然后進行處理。
3 電動機的驅(qū)動
L298N 是一款較常用的高電壓大電流全橋雙路電機驅(qū)動芯片, 用T TL 電平輸入控制信號即可實現(xiàn)對伺服電機、直流電機及步進電機等多種電機的控制。一片L298N 中包含了兩路控制放大電路,用它可以構(gòu)成兩個同類型的控制電路。
取其中的一路構(gòu)成的電機控制電路如圖5 所示。其中, 13、14 腳為電機控制輸出端, 直接接在電機的兩個輸入端; 10、11、12 腳為邏輯電路輸入端, 可以直接與單片機、PLC 等控制芯片相連; 9 腳VSS 接+ 5V 的邏輯電路電源, 4腳VS 接電機的電源, 電壓大小即電機額定輸入電壓; 8 腳接地。
只要通過控制電路對C、D 兩個輸入端輸入T TL 電平的0 或1 即可控制電機的正轉(zhuǎn)、反轉(zhuǎn)及停止。
當向C、D 兩端輸入同樣電平時, 可實現(xiàn)電機的快速停止。另外將使能端V en 置零也可以使電機停止。
紅外遙控器相關(guān)文章:紅外遙控器原理
評論