一種多接口手柄控制器的制造方法
【專利摘要】本實用新型一種多接口手柄控制器,包括手柄和與手柄連接的USB?Host?Shield電路板,USB?Host?Shield電路板與Arduino?Mega2560電路板連接,Arduino?Mega2560電路板通過撥碼開關連接有CAN總線接口模塊、RS-485接口模塊和RS-232接口模塊。本實用新型一種多接口手柄控制器,可以通過不同的接口模塊接入到PC機、CANbus、RS-485、RS-232控制系統(tǒng),實現(xiàn)交互操作,解決了現(xiàn)有控制器只能與一種接口進行交互操作的問題,不需要針對上述某個系統(tǒng)做專門的手柄控制器的開發(fā),具有普遍適用性。
【專利說明】一種多接口手柄控制器
【技術領域】
[0001]本實用新型屬于控制器【技術領域】,具體涉及一種多接口手柄控制器。
技術背景
[0002]在自動控制領域,為實現(xiàn)可互操作,手柄控制器隨處可見,但現(xiàn)有的手柄控制器不具備普遍適用性,其原因主要體現(xiàn)在:接口不同,如今的控制設備接口繁多,如PC機采用的USB接口,android采用的USB接口和Bluetooth,現(xiàn)場總線控制系統(tǒng)中的CANbus接口、RS-485接口,串行通信中的RS-232接口、SPI接口。而現(xiàn)有的手柄控制器接口少,難以適用于不同場合,為了適應不同的接口和應用場合,需要針對不同場合做多次重復開發(fā),開發(fā)周期長、成本高。
[0003]因此,現(xiàn)有的手柄控制器在自動控制領域運用中,不能適用于不同的控制體系,多次重復的開發(fā)手柄控制器造成人力和資金的浪費。
實用新型內容
[0004]本實用新型的目的是提供一種多接口手柄控制器,解決了現(xiàn)有控制器只能與一種接口進行交互操作的問題。
[0005]本實用新型所采用的技術方案是:一種多接口手柄控制器,包括手柄和與手柄連接的 USB Host Shield 電路板,USB Host Shield 電路板與 Arduino Mega2560 電路板連接,Arduino Mega2560電路板通過撥碼開關分別連接有CAN總線接口模塊、RS-485接口模塊和RS-232接口模塊。
[0006]本實用新型的特點還在于,
[0007]手柄與USB Host Shield電路板的USB 口相連接。
[0008]手柄為USB HID類設備。
[0009]USB Host Shield 電路板安插在 Arduino Mega2560 電路板上面。
[0010]Arduino Mega2560電路板具有與PC機連接的USB接口。
[0011]CAN總線接口模塊的控制芯片為MCP2515、收發(fā)芯片為TJA1050,收發(fā)芯片TJA1050的TXD、RXD引腳分別與控制芯片MCP2515的TXD、RXD引腳相接。
[0012]RS-485接口模塊的控制芯片為MAX485。
[0013]本實用新型的有益效果:本實用新型一種多接口手柄控制器,可以通過不同的接口模塊接入到PC機、CANbus, RS-485、RS-232控制系統(tǒng),實現(xiàn)交互操作,解決了現(xiàn)有控制器只能與一種接口進行交互操作的問題,不需要針對上述某個系統(tǒng)做專門的手柄控制器的開發(fā),具有普遍適用性,在不同控制系統(tǒng)中均可以用PC機作為上位機查看接收數(shù)據(jù)。
【專利附圖】
【附圖說明】
[0014]圖1是本實用新型多接口手柄控制器的結構圖;
[0015]圖2是本實用新型多接口手柄控制器中控制芯片MCP2515的管腳連接圖;
[0016]圖3是本實用新型多接口手柄控制器中收發(fā)芯片TJA1050的管腳連接圖;
[0017]圖4是本實用新型多接口手柄控制器中Arduino Mega2560電路板的管腳連接圖;
[0018]圖5是本實用新型多接口手柄控制器中RS-232接口模塊的管腳連接圖;
[0019]圖6是本實用新型多接口手柄控制器中控制芯片MAX485的管腳連接圖;
[0020]圖7是本實用新型多接口手柄控制器中USB Host Shield電路板主控制流程圖。
[0021]圖中,1.Arduino Mega2560 電路板,2.USB Host Shield 電路板,3.手柄,4.CAN 總線接口模塊,5.RS-485接口模塊,6.RS-232接口模塊。
【具體實施方式】
[0022]下面結合【具體實施方式】和附圖對本實用新型作詳細說明。
[0023]本實用新型一種多接口手柄控制器的結構如圖1所示,包括手柄3,手柄3為USBHID類設備,手柄3與USB Host Shield電路板2的USB 口相連接,USB Host Shield電路板2與 Arduino Mega2560 電路板 I 連接且 USB Host Shield 電路板 2 安插在 Arduino Mega2560電路板I上面,Arduino Mega2560電路板I具有與PC機連接的USB接口,Arduino Mega2560電路板I通過撥碼開關分別連接有CAN總線接口模塊4、RS-485接口模塊5和RS-232接口模塊6,CAN總線接口模塊4的控制芯片為MCP2515、收發(fā)芯片為TJA1050,收發(fā)芯片TJA1050的TXD、RXD引腳分別與控制芯片MCP2515的TXD、RXD引腳相接,RS-485接口模塊5的控制芯片為MAX485。
[0024]本實用新型中各個部件的功能:
[0025](I) CAN總線接口模塊
[0026]CAN總線接口模塊4由控制芯片MCP2515和收發(fā)芯片TJA1050構成。
[0027]Microchip的MCP2515是一款獨立CAN控制芯片,全支持CAN V2.0B技術規(guī)范。該器件能發(fā)送和接收標準和擴展數(shù)據(jù)幀以及遠程幀。MCP2515控制芯片自帶的兩個驗收屏蔽寄存器和六個驗收濾波寄存器可以過濾掉不想要的報文,因此減少了主單片機(MCU)的開銷。控制芯片MCP2515與MCU的連接是通過業(yè)界標準串行外設接口(SearialPeripheralInterface, SPI)來實現(xiàn)的。其管腳連接圖如圖 2 所示,RXOBF、RXlBF、TXORTS, TXIRTS,TX2RTS、CLK0UT/S0F腳,均不用接,0SC2、OSCl腳接外部晶振,RESET接MCU復位腳。
[0028]TJA1050收發(fā)芯片是控制器區(qū)域網(wǎng)絡(CAN)協(xié)議控制器和物理總線之間的接口。收發(fā)芯片TJA1050可以為總線提供差動發(fā)送性能,為CAN總線接口模塊4提供差動接收性能。與“IS011898”標準完全兼容;高速度(最高可達IM波特);極低的電磁輻射(EME);具帶有寬共模范圍的差動接收器,抗電磁干擾(EMI)能力極強;沒有供電的節(jié)點不會對總線造成干擾;發(fā)送數(shù)據(jù)(TXD)控制超時功能;發(fā)送禁止時的靜音模式;輸入電平與3.3V和5V器件兼容;熱保護;對電源和地的短路保護功能;可以連接至少110個節(jié)點。
[0029]如圖3所示,收發(fā)芯片TJA1050的CANH、CANL管腳經(jīng)過一個120歐姆的匹配電阻后,作為一個節(jié)點接到CANbus控制系統(tǒng)中,TXD, RXD引腳分別與控制芯片MCP2515的TXD、RXD引腳相接??刂菩酒琈CP2515和收發(fā)芯片TJA1050的電源采用分開供電。選取MCU的PDO為CAN總線接口模塊4通信的中斷引腳,將其連接到控制芯片MCP2515的INTO上。
[0030](2) RS-232 接口 模塊
[0031]根據(jù)圖4所不的Arduino Mega2560電路板I的管腳連接圖,ATmegal28 (Arduino核心MCU)的RX和TX引腳一方面直接接到了數(shù)字I/O端口,另一方面又通過電平轉換電路接到了串口的母頭上。因此當我們需要用Arduino Mega2560電路板I做RS-232通信時,RX TX可直接使用不需要加外圍電路。Arduino Mega2560電路板I有4路串口信號:串口OPEO (RX)和 PEl (TX);串口 IPD2 (RX)和 PD3 (TX);串口 2PHO (RX)和 PHl (TX);串口 3PJO(RX)和 PJl (TX)。其中串口與內部 ATmega8U2USB-to-TTL 芯片相連,提供 TTL 電壓水平的串口接收信號。如圖5所示,本實用新型可提供3組獨立的RS-232接口。
[0032](3) RS-485 接口 模塊
[0033]RS485是由電子工業(yè)協(xié)會(EIA)制定并發(fā)布的,RS485是為彌補RS232通信距離短,速率低的不足而產生的。RS485總線網(wǎng)絡技術成熟,結構簡單,可靠性高,抗干擾能力強,其主要功能包括:①實現(xiàn)了由多至32個驅動器和32個接收器構成的真正多點總線;②擴展處于三態(tài)驅動器和接收器的共模范圍,并可關掉;③驅動器可經(jīng)受總線爭用和總線故障,由于其在長線傳輸?shù)目垢蓴_能力及傳輸速率的優(yōu)勢,RS485總線在小系統(tǒng)網(wǎng)絡中還是有著廣泛的成熟應用。
[0034]本實用新型采用MAX485作為RS-485接口模塊5的控制芯片,MAX485控制芯片是用于RS-485通信的低功耗收發(fā)器,每個器件中都具有一個驅動器和一個接收器。MAX485控制芯片的驅動器擺率不受限制,可以實現(xiàn)最高2.5Mbps的傳輸速率。如圖6所示,Pl的D+/B、D+/A是MAX485控制芯片的兩根差分信號線。
[0035](4) Arduino Mega256O 電路板
[0036]米用Arduino Mega2560電路板I作為主控模塊,Arduino Mega2560電路板I是以ATMEL公司的AVR單片機為核心的單片機控制板,板上除了 ATmegal68最小系統(tǒng)電路外,還包含了穩(wěn)壓電路,USB轉串口電路,以及一些擴展用的電路插座。
[0037]本實用新型使用Arduino主要體現(xiàn)在:①開放性:Arduino Mega2560電路板I的硬件電路的開發(fā)環(huán)境都是完全開源的,這樣不但可以使用戶更好的理解Arduino Mega2560電路板I的電路原理,更可以根據(jù)自己的需要而去修改它易用性=Arduino Mega2560電路板I與PC的連接采用了當下最主流的USB連接,Arduino Mega2560電路板I能夠與電腦直接連接?、劢涣餍?Arduino Mega2560電路板I已經(jīng)劃定了一個比較統(tǒng)一的框架,一些底層的初始化采用了統(tǒng)一的方法,對數(shù)字信號和模擬信號使用的端口也做了自己的標定;④豐富的第三方資源:可以深入的了解到底層的全部機理,也預留了非常友好的第三方庫開發(fā)接口,秉承了開源社區(qū)一貫的開放性和分享性。正是基于以上的原因,用戶可非常方便的直接使用電腦的USB連接Arduino Mega2560電路板,做第二次開發(fā)。
[0038]Arduino Mega2560電路板I在初始化完成后,撥碼開關選擇不同的通信模式,Arduino Mega2560電路板I讀取撥碼開關的狀態(tài),從而使Arduino Mega2560電路板I跳轉到不同模式下工作,管腳連接如圖4所示。
[0039](5) USB Host Shield 電路板
[0040]采用USB Host Shield電路板2作為手柄3輸入模塊,USB Host Shield電路板2是一款廉價的拓展板,主要適用于嵌入式領域中需要USB Host功能的場合,可與任何具有SPI接口的微處理器連接,完美支持USB2.0,如Google ADK、人體輸入設備(HID)。它的使用簡單,只需參照它的管腳順序將USB Host Shield電路板2直接安插在Arduino Mega2560電路板I上,通過SPI進行通信,電源由Arduino Mega2560電路板I提供。
[0041]使用時,USB Host Shield電路板2主控制流程圖如圖7所示,具體工作過程為:Arduino Mega2560電路板I首先進入初始化,完成各通信模塊和手柄3配置的初始化工作,然后Arduino Mega2560電路板I開始循環(huán)檢測PAO、PAl、PA2、PA3管腳狀態(tài):當檢測到管腳PAO為高電平時,手柄控制器進入到CAN通信模式;當檢測到管腳PAl為高電平時,手柄控制器進入到RS-232通信模式;當檢測到管腳PA2為高電平時,手柄控制器進入到RS-485通信模式;當檢測到管腳PA3為高電平時,手柄控制器只與PC機通信;如果想切換手柄控制器當前模式,需要按下Arduino Mega2560電路板I上的RESET鍵,無論手柄控制器在哪種工作模式,均能與PC機串口通信。
[0042]現(xiàn)以用手柄控制器控制水下有纜機器人(ROV)為例具體說明:用4個電機推進,通信方式采用CANbus,采用11位ID標示符,CAN報文幀采用標準數(shù)據(jù)幀,CAN總線接口模塊4的控制芯片MCP2515工作在正常模式下,系統(tǒng)共有4個節(jié)點,上位機包括一個基于ARM的主控器,一個待連接的手柄控制器,下位機包括一個擁有溫度、深度、方位傳感器的節(jié)點,一個電機控制節(jié)點。水下機器人的工作過程為:上位機主控器發(fā)出控制命令給電機控制節(jié)點,同時收集處理傳感器傳來的數(shù)據(jù),實現(xiàn)閉環(huán)控制。手柄控制器收數(shù)據(jù)ID號為0X007H,發(fā)數(shù)據(jù)ID號為0X003H,通信速率為500kbps。由于接入的CANbus不同,ID標示符及通信速率會不同,所以需要修正ID號和通信速率。
[0043]把手柄控制器CAN總線接口模塊4的CANH和CANL弓I腳分別與水下機器人的CANH和CANL引腳相連,不用加120歐姆的匹配電阻。手柄控制器的撥碼開關PAO合上,用USB線將Arduino Mega2560電路板I與電腦USB 口相連,用來顯示當前手柄控制器發(fā)出的按鍵數(shù)據(jù),以便檢查數(shù)據(jù)發(fā)送是否正確。
[0044]開啟所有節(jié)點后,數(shù)據(jù)通過CAN總線接口模塊4發(fā)送到下位機的電機控制節(jié)點。手柄右邊的上下鍵表示電機做加減速,當?shù)谖鍌€字節(jié)由255變?yōu)镺時,電機則由全速減為0,通過 PC 的串口調試助手可以看到 “DOWN:255”、“DOWN:254”、、、、、、“DOWN:0”。
[0045]對于接入通信方式采用RS-485、RS_232的系統(tǒng)操作與上述CANbus基本一致,只需針對不同的系統(tǒng)修改通信參數(shù)配置。
[0046]本實用新型一種多接口手柄控制器,經(jīng)過在不同控制系統(tǒng)CAN、RS-232、RS_485、PC機上使用,效果均達到預期,可以實現(xiàn)適應不同接口,解決了現(xiàn)有控制器只能與一種接口進行交互操作的問題,不需要針對上述某個系統(tǒng)做專門的手柄控制器的開發(fā),具有普遍適用性,使用簡單方便,可用來做教具,也具有良好的市場推廣價值。
【權利要求】
1.一種多接口手柄控制器,其特征在于,包括手柄(3)和與所述手柄(3)連接的USBHost Shield 電路板(2),所述 USB Host Shield 電路板(2)與 Arduino Mega2560 電路板(I)連接,所述Arduino Mega2560電路板(I)通過撥碼開關分別連接有CAN總線接口模塊(4)、RS-485接口模塊(5)和RS-232接口模塊(6)。
2.如權利要求1所述的多接口手柄控制器,其特征在于,所述手柄(3)與所述USBHostShield電路板(2)的USB 口相連接。
3.如權利要求1所述的多接口手柄控制器,其特征在于,所述手柄(3)為USBHID類設備。
4.如權利要求1所述的多接口手柄控制器,其特征在于,所述USBHostShield電路板(2)安插在所述Arduino Mega2560電路板(I)上面。
5.如權利要求1所述的多接口手柄控制器,其特征在于,所述ArduinoMega2560電路板⑴具有與PC機連接的USB接口。
6.如權利要求1所述的多接口手柄控制器,其特征在于,所述CAN總線接口模塊(4)的控制芯片為MCP2515、收發(fā)芯片為TJA1050,收發(fā)芯片TJA1050的TXD、RXD引腳分別與控制芯片MCP2515的TXD、RXD引腳相接。
7.如權利要求1所述的多接口手柄控制器,其特征在于,所述RS-485接口模塊(5)的控制芯片為MAX485。
【文檔編號】G05B19/042GK203838511SQ201420231124
【公開日】2014年9月17日 申請日期:2014年5月7日 優(yōu)先權日:2014年5月7日
【發(fā)明者】胡爽祿 申請人:胡爽祿