西藏宰位餐饮管理有限公司

登錄  |  注冊
河北華利機械配件有限公司

基于nRF24L01的無線手輪設計

2014/9/3 10:25:06
        手輪,即手搖脈沖發(fā)生器。在數(shù)控系統(tǒng)中,刀具微動、工件對刀、工作臺的隨動、機床原點的修正等這些功能通常是通過手輪操作來實現(xiàn)的[1]。手輪主要由光電編碼器、坐標軸選擇開關(guān)和增量倍率選擇開關(guān)組成,用于手搖方式控制數(shù)控機床相應坐標軸的移動。但傳統(tǒng)的有線手輪的連接線的接頭處容易斷裂,使用時間長了容易出現(xiàn)連接不可靠的問題,同時因為受到連接線的影響,用戶無法圍繞機床自由移動。如今無線通信技術(shù)越來越成熟,無線產(chǎn)品也越來越多,由此可見,可以基于無線技術(shù)研發(fā)一種新型無線手輪來改善現(xiàn)有手輪的性能。本次設計了一種基于工業(yè)級內(nèi)置硬件鏈路層協(xié)議的低成本無線芯片nRF24L01的無線手輪。手輪使用無線傳輸后,杜絕了連線斷裂的問題,能提高手輪的使用壽命。擺脫有線連接的束縛,使用者可以移動自由,操作方便,能提高工作效率。
1    設計原理
        本次設計的無線手輪,由手持發(fā)射端和機床接收端兩部分構(gòu)成。發(fā)射端由單片機控制器采集手輪產(chǎn)生的差分信號和按鍵產(chǎn)生的控制信號,經(jīng)過編碼后通過無線方式發(fā)送出去。接收端則由單片機控制nRF24L01接收由手持發(fā)送端發(fā)過來的信號。經(jīng)過解碼后還原成差分脈沖信號和按鍵控制信號并輸出用于控制機床移動。
2    硬件設計
2.1    控制信號的采集信號的采集由Atmel公司的Atmega16單片機來完成。ATmega16單片機采用Harvard結(jié)構(gòu),內(nèi)置WDT,具有高速、低功耗,可直接驅(qū)動LED、SSR或繼電器等特點[2],具有很高的性價比,故選用該單片機。發(fā)送端需要采集的信號有4路差分脈沖信號和按鍵控制信號。當手輪上的光電編碼器轉(zhuǎn)動時,將會產(chǎn)生4路脈沖信號(A+,A-,B+,B-),其中A+和A-、B+和B-分別是極性相反兩路信號。在手持端,使用四重差分線接收器AM26C32將這四路脈沖信號轉(zhuǎn)變成兩路差分脈沖信號(A,B),從而方便MCU對信號進行處理。脈沖A和脈沖B不僅能反映光電編碼器轉(zhuǎn)動的格數(shù),同時還能反映光電編碼器轉(zhuǎn)動的方向[3]。當光電編碼器正轉(zhuǎn)時,A相超前B相90°,反轉(zhuǎn)時,B相超前A相90°。
2.2    nRF24L01無線收發(fā)無線收發(fā)部分的核心芯片采用nRF24L01芯片。nRF24L01是一款工作在2.4~2.5GHz世界通用ISM頻段的單片無線收發(fā)器芯片。輸出功率、頻道選擇和協(xié)議的設置可以通過SPI接口進行設置。具有極低的電流消耗。該芯片支持多點間通信,最高傳輸速率達2Mb/s。該器件采用GFSK調(diào)制,128個頻點可供選擇,片內(nèi)自己生成報頭和CRC校驗碼,具有出錯自動重發(fā)功能[4]。這些特性使得由nRF24L01構(gòu)建的無線設備具有成本低、速率高、傳輸可靠等優(yōu)點。由于nRF24L01工作在2.4GHz這個國際規(guī)定的免費頻段,不需要向國際相關(guān)組織繳納任何費用,這就為2.4GHz技術(shù)可發(fā)展性提供了有利條件[5]。
        nRF24L01支持多點間通信,最高傳輸速率達2Mb/s。嵌入的鏈路層控制減少了MCU的復雜性和成本,并且提高了數(shù)據(jù)傳輸?shù)目煽啃?,它采用SOC方法設計只需要少量的外圍元件便可組成射頻收發(fā)[6]。
        通過SPI接口,MCU可以很方便地控制nRF24L01無線模塊。SPI接口是一種同步串行通信接口,CSN是芯片選擇管腳,當該管腳為低電平時,SPI接口可以通信,反之不能通信。MOSI和MISO為數(shù)據(jù)傳輸管腳,MOSI用于數(shù)據(jù)輸入,MISO用于數(shù)據(jù)輸出。SCK為同步時鐘,在時鐘的上升沿或下降沿數(shù)字數(shù)據(jù)被寫入或讀出[7?8]。ATmega16內(nèi)部有一個可工作于主機/從機模式的硬件SPI串行接口[9],但由于ATmega16的工作電壓為5V,而nRF24L01的工作電壓為1.9~3.6V,因此ATmega16的SPI接口與nRF24L01的SPI接口間應串接一個2kΩ左右的限流電阻,以免燒毀芯片。
2.3    控制信號的還原機床接收端收到由手持端發(fā)送過來的信號后,需要將其還原成相應的控制信號。接收到的兩路差分脈沖信號只需要經(jīng)過差分信號輸出器AM26C31便可還原成4路脈沖信號。而坐標軸選擇信號和增量倍率選擇信號的邏輯高電平為24V,因此需要將控制信號的電平進行轉(zhuǎn)換,本次設計中通過光耦來實現(xiàn)。為了增強驅(qū)動能力,將控制信號經(jīng)過大功率達林頓管后再輸出。
3    軟件設計
3.1    手持發(fā)送端軟件設計
        發(fā)送端控制器完成初始化后,把nRF24L01配置成PTX工作模式。然后不斷檢測按鍵是否按下,若有按鍵按下,則執(zhí)行相應的操作。同時啟動定時器,每隔一段時間讀取一次差分信號狀態(tài)并向機床接收端發(fā)送一次數(shù)據(jù),將手持端的狀態(tài)發(fā)送給接收端。
        nRF24L01的數(shù)據(jù)傳輸模式有ShockBurst和EnhancedShockBurst兩種數(shù)據(jù)包。后者比前者多了一個確認數(shù)據(jù)傳輸?shù)男盘?,保證數(shù)據(jù)傳輸?shù)目煽啃浴,F(xiàn)按后一種模式初始化,nRF24L01發(fā)送數(shù)據(jù)包后,自動切換到接收模式以接收返回的確認信號,當收到確認信號后,IRQ引腳產(chǎn)生中斷信號,如果沒收到返回信號,則自動重新發(fā)送,如果重新發(fā)送的次數(shù)超過在設定值時,也會在IRQ引腳產(chǎn)生中斷信號,MCU通過查詢STATUS寄存器的值,即可判斷是發(fā)送完成中斷,還是重發(fā)次數(shù)超限中斷。
3.2    機床接收端軟件設計
        機床接收端控制器完成初始化后,把nRF24L01配置成PRX工作模式。接收到數(shù)據(jù)包后,由硬件解析地址數(shù)據(jù)和信息數(shù)據(jù),當接收到有效信息數(shù)據(jù)后,在IRQ引腳產(chǎn)生中斷通知處理器讀取數(shù)據(jù)[10]??刂破魇紫群藢?shù)據(jù)中識別碼部分是否有效,若有效則將控制信號還原。否則,丟棄該數(shù)據(jù)包。4設備對碼由于2.4GHz頻段沒有使用授權(quán)限制,目前家用電器、手機、無線網(wǎng)絡都集中在此頻段,干擾問題難以避免。為了避開干擾,采用了設備對碼技術(shù)。在發(fā)送端和接收端同時按下對碼鍵后,發(fā)送端隨機生成一個8位的識別碼發(fā)送給接收端,機床接收端收到后發(fā)送確認對碼成功信號給手持發(fā)送端,并將該識別碼保存在E2PROM中。在正常工作狀態(tài)下,發(fā)送端在發(fā)送數(shù)據(jù)時將識別碼作為數(shù)據(jù)的一部分,一起發(fā)送。接收端在接收到信號時核對識別碼,若相同則進行相應處理,否則不作出響應。這樣做可以在很大程度上減少干擾。
5    結(jié)語
        本文介紹了基于nRF24L01的數(shù)控機床無線手輪的硬軟件設計要點。由于考慮到工控場合的特殊性,在設計時著重考慮了系統(tǒng)的穩(wěn)定性。本次設計的無線手輪在其正常工作距離內(nèi)能夠穩(wěn)定的將手持端產(chǎn)生的差分脈沖信號和按鍵控制信號發(fā)送給接收端,從而正常控制機床的移動。在信號傳輸不穩(wěn)定時也不會造成機床誤操作。手輪的最大工作距離主要取決于天線在選擇。經(jīng)測試,使用PCB板載天線,空曠直線傳播距離在15m左右,而在有障礙物的環(huán)境下,其傳輸距離也可達5~10m。如果使用功放和外置天線,傳輸距離可達幾百米。
華利膠木手輪
松阳县| 勃利县| 行唐县| 衡阳市| 湘乡市| 伊宁市| 博白县| 增城市| 依安县| 绥阳县| 青神县| 常山县| 芦溪县| 仁怀市| 昔阳县| 怀仁县| 应城市| 丹棱县| 柳州市| 开鲁县| 宁津县| 庆城县| 福泉市| 调兵山市| 南江县| 浮山县| 根河市| 平和县| 武陟县| 商洛市| 巴林左旗| 屏东县| 吉木乃县| 牡丹江市| 临高县| 西峡县| 万州区| 拉孜县| 进贤县| 东安县| 临泽县|